ca39bbfc74d0595c5501559aa87ccf4575f4aed5
[gnulib.git] / ChangeLog
1 2007-03-02  Bruno Haible  <bruno@clisp.org>
2
3         * modules/avltreehash-list-tests (Depends-on): Add progname.
4         * tests/test-avltreehash_list.c: Include progname.h.
5         (main): Call set_program_name.
6
7         * modules/avltree-oset-tests (Depends-on): Add progname.
8         * tests/test-avltree_oset.c: Include progname.h.
9         (main): Call set_program_name.
10
11         * modules/avltree-list-tests (Depends-on): Add progname.
12         * tests/test-avltree_list.c: Include progname.h.
13         (main): Call set_program_name.
14
15         * modules/array-oset-tests (Depends-on): Add progname.
16         * tests/test-array_oset.c: Include progname.h.
17         (main): Call set_program_name.
18
19         * modules/array-list-tests (Depends-on): Add progname.
20         * tests/test-array_list.c: Include progname.h.
21         (main): Call set_program_name.
22
23         * modules/argp-tests (Depends-on): Add progname.
24         * tests/test-argp.c: Include argp.h first. Include progname.h.
25         (main): Call set_program_name.
26
27 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
28
29         * doc/gnulib-tool.texi (Initial import): Reword description of
30         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
31         limited effect even if defined after the first system include.
32
33 2007-03-01  Bruno Haible  <bruno@clisp.org>
34
35         * build-aux/config.libpath: Update to libtool-1.5.22.
36         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37
38 2007-03-01  Bruno Haible  <bruno@clisp.org>
39
40         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
41         foo_CFLAGS.
42         Reported by Ralf Wildenhues.
43
44 2007-03-01  Bruno Haible  <bruno@clisp.org>
45
46         * build-aux/install-reloc: Remove object files left over by some
47         compilers.
48         Reported by Ralf Wildenhues.
49
50 2007-03-01  Bruno Haible  <bruno@clisp.org>
51
52         * build-aux/install-reloc: Break long lines.
53
54 2007-03-01  Bruno Haible  <bruno@clisp.org>
55
56         * doc/relocatable.texi: Document that it may not work on OpenBSD.
57         Reported by Ralf Wildenhues.
58
59 2007-03-01  Bruno Haible  <bruno@clisp.org>
60
61         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
62         include ordering constraints.
63
64 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
65
66         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
67         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
68         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
69         as another example.
70         * lib/time_.h: Fix misspelling.
71         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72         Require gl_HEADER_TIME_H_DEFAULTS.
73         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
74         * m4/time_r.m4 (gl_TIME_R): Likewise.
75         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
76
77 2007-03-01  Bruno Haible  <bruno@clisp.org>
78
79         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
80         * m4/utimens.m4 (gl_UTIMENS): Likewise.
81
82 2007-03-01  Jim Meyering  <jim@meyering.net>
83
84         * modules/xreadlink (Maintainer): Add my name.
85         * modules/xreadlink-with-size (Depends-on): Alphabetize.
86
87 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
88             Bruno Haible  <bruno@clisp.org>
89
90         * build-aux/install-reloc: Compile also c-ctype.c.
91         * build-aux/relocatable.sh.in: New file.
92         * doc/relocatable.texi: New file.
93         * doc/relocatable-maint.texi: New file.
94         * doc/gnulib.texi: Include relocatable-maint.texi.
95         * lib/progreloc.c: Include unistd.h unconditionally.
96         * lib/relocwrapper.c: Include unistd.h unconditionally.
97         Include c-ctype.h.
98         (add_dotbin): Use c_tolower.
99         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
100         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
101         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
102         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
103         to m4/relocatable-lib.m4.
104         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
105         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
106         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
107         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
108         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
109         * modules/relocatable: New file.
110         * modules/relocatable-lib: New file.
111         * modules/relocatable-script: New file.
112
113 2007-02-28  Bruno Haible  <bruno@clisp.org>
114
115         Import --enable-relocatable infrastructure.
116         * build-aux/config.libpath: New file, from GNU gettext.
117         * build-aux/install-reloc: New file, from GNU gettext.
118         * build-aux/reloc-ldflags: New file, from GNU gettext.
119         * lib/relocatable.h: New file, from GNU gettext.
120         * lib/relocatable.c: New file, from GNU gettext.
121         * lib/relocwrapper.c: New file, from GNU gettext.
122         * m4/relocatable.m4: New file, from GNU gettext.
123
124 2007-02-28  Bruno Haible  <bruno@clisp.org>
125
126         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
127
128         * modules/xreadlink: New file, from GNU gettext with modifications.
129         * lib/xreadlink.c: New file, from GNU gettext.
130         * lib/xreadlink.h: Add comments.
131         (xreadlink): New declaration.
132
133         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
134         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
135         lib/xreadlink-with-size.c.
136         (configure.ac): Remove gl_XREADLINK invocation.
137         (Makefile.am): Augment lib_SOURCES.
138         * m4/xreadlink.m4: Remove file.
139         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
140         (xreadlink_with_size): Renamed from xreadink.
141         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
142         * modules/canonicalize (Depends-on): Replace xreadlink with
143         xreadlink-with-size.
144         * lib/canonicalize.c (canonicalize_filename_mode): Update.
145
146 2007-02-25  Jim Meyering  <jim@meyering.net>
147
148         * build-aux/announce-gen: When complaining about excess arguments,
149         list them.
150
151 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
152
153         * README: Document signed integer overflow situation more
154         accurately.
155
156 2007-02-25  Bruno Haible  <bruno@clisp.org>
157
158         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
159         'a' or 'A' conversion.
160
161 2007-02-25  Bruno Haible  <bruno@clisp.org>
162
163         * modules/filename: Renamed from modules/pathname.
164         (Files): Replace lib/pathname.h with lib/filename.h. Replace
165         lib/concatpath.c with lib/concat-filename.c.
166         (Makefile.am): Update.
167         (Include): Replace pathname.h with filename.h.
168         * lib/filename.h: Renamed from lib/pathname.h.
169         (concatenated_filename): Renamed from concatenated_pathname.
170         * lib/concat-filename.c: Renamed from lib/concatpath.c.
171         (concatenated_filename): Renamed from concatenated_pathname.
172         * lib/findprog.c: Include filename.h instead of pathname.h.
173         (find_in_path): Update.
174         * lib/javacomp.c: Include filename.h instead of pathname.h.
175         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
176         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
177         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
178         is_oldgcj_14_13_usable, is_javac_usable): Update.
179         * lib/javaexec.c: Include filename.h instead of pathname.h.
180         (execute_java_class): Update.
181         * modules/findprog: Update.
182         * modules/javacomp: Update.
183         * modules/javaexec: Update.
184         * MODULES.html.sh (File system functions): Add 'filename', remove
185         'pathname'.
186
187 2007-02-25  Bruno Haible  <bruno@clisp.org>
188
189         * modules/printf-frexpl-tests: New file.
190         * tests/test-printf-frexpl.c: New file.
191
192         * modules/printf-frexpl: New file.
193         * lib/printf-frexpl.h: New file.
194         * lib/printf-frexpl.c: New file.
195         * m4/printf-frexpl.m4: New file.
196
197 2007-02-25  Bruno Haible  <bruno@clisp.org>
198
199         * modules/printf-frexp-tests: New file.
200         * tests/test-printf-frexp.c: New file.
201
202         * modules/printf-frexp: New file.
203         * lib/printf-frexp.h: New file.
204         * lib/printf-frexp.c: New file.
205         * m4/printf-frexp.m4: New file.
206
207 2007-02-25  Bruno Haible  <bruno@clisp.org>
208
209         Assume automake >= 1.10 for the tests.
210         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
211         * modules/arctwo-tests: Likewise.
212         * modules/argp-tests: Likewise.
213         * modules/avltree-list-tests: Likewise.
214         * modules/avltree-oset-tests: Likewise.
215         * modules/avltreehash-list-tests: Likewise.
216         * modules/carray-list-tests: Likewise.
217         * modules/crc-tests: Likewise.
218         * modules/des-tests: Likewise.
219         * modules/gc-arcfour-tests: Likewise.
220         * modules/gc-arctwo-tests: Likewise.
221         * modules/gc-des-tests: Likewise.
222         * modules/gc-hmac-md5-tests: Likewise.
223         * modules/gc-hmac-sha1-tests: Likewise.
224         * modules/gc-md2-tests: Likewise.
225         * modules/gc-md4-tests: Likewise.
226         * modules/gc-md5-tests: Likewise.
227         * modules/gc-pbkdf2-sha1-tests: Likewise.
228         * modules/gc-rijndael-tests: Likewise.
229         * modules/gc-sha1-tests: Likewise.
230         * modules/gc-tests: Likewise.
231         * modules/getaddrinfo-tests: Likewise.
232         * modules/hmac-md5-tests: Likewise.
233         * modules/hmac-sha1-tests: Likewise.
234         * modules/linked-list-tests: Likewise.
235         * modules/linkedhash-list-tests: Likewise.
236         * modules/lock-tests: Likewise.
237         * modules/md2-tests: Likewise.
238         * modules/md4-tests: Likewise.
239         * modules/md5-tests: Likewise.
240         * modules/rbtree-list-tests: Likewise.
241         * modules/rbtree-oset-tests: Likewise.
242         * modules/rbtreehash-list-tests: Likewise.
243         * modules/read-file-tests: Likewise.
244         * modules/rijndael-tests: Likewise.
245         * modules/stdint-tests: Likewise.
246         * modules/tls-tests: Likewise.
247
248 2007-02-24  Bruno Haible  <bruno@clisp.org>
249
250         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
251         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
252         function; instead check whether isnan with a double argument links.
253         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
254         function; instead check whether isnan with a 'long double' argument
255         links.
256         Reported by Eric Blake <ebb9@byu.net>.
257
258 2007-02-24  Bruno Haible  <bruno@clisp.org>
259
260         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
261         defined.
262         * lib/isnanl.c: Remove all code. Just include isnan.c.
263         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
264
265 2007-02-25  Jim Meyering  <jim@meyering.net>
266
267         Avoid conflicting types for 'unsetenv' on FreeBSD.
268         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
269         conflicting with FreeBSD's (5.0 and 6.1) function declaration
270         in stdlib.h.
271
272 2007-02-24  Bruno Haible  <bruno@clisp.org>
273
274         * modules/isnanl-nolibm-tests: New file.
275         * tests/test-isnanl.c: New file.
276
277         * modules/isnanl-nolibm: New file.
278         * lib/isnanl.h: New file.
279         * lib/isnanl.c: New file.
280         * m4/isnanl.m4: New file.
281
282 2007-02-24  Bruno Haible  <bruno@clisp.org>
283
284         * modules/isnan-nolibm-tests: New file.
285         * tests/test-isnan.c: New file.
286
287         * modules/isnan-nolibm: New file.
288         * lib/isnan.h: New file.
289         * lib/isnan.c: New file.
290         * m4/isnan.m4: New file.
291
292 2007-02-24  Bruno Haible  <bruno@clisp.org>
293
294         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
295         assume that an exponent fits in 20 bits.
296
297 2007-02-24  Jim Meyering  <jim@meyering.net>
298
299         * m4/regex.m4: Update the description of the configure-time option,
300         --without-included-regex, to state accurately what the defaults are,
301         and perhaps to give people an idea why using this option is risky.
302
303 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
304
305         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
306         loops on small arguments.  This attempts to avoid the problem
307         Bruno Haible reported for AIX 4.3.2 in
308         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
309
310 2007-02-23  Bruno Haible  <bruno@clisp.org>
311
312         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
313         Needed for help2man.
314
315 2007-02-23  Karl Berry  <karl@gnu.org>
316
317         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
318         exists, foo.h should be cvs-ignored, not committed.
319
320 2007-02-23  Eric Blake  <ebb9@byu.net>
321
322         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
323         * lib/stat-time.h (includes): Likewise.
324         * lib/utimecmp.c (includes): Likewise.
325         * lib/utimens.h (includes): Likewise.
326         * lib/getdate.y (includes): Also include "timespec.h" for use
327         internal to the module.
328         * modules/utimens (Depends-on): Revert yesterday's patch.
329         * modules/nanosleep (Depends-on): Add missing dependency.
330
331 2007-02-22  Bruno Haible  <bruno@clisp.org>
332
333         * lib/glob.c: Don't include getlogin_r.h.
334
335 2007-02-22  Jim Meyering  <jim@meyering.net>
336
337         * modules/utimens (Depends-on): Add timespec, required for
338         utimens.h's inclusion of timespec.h.
339
340 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
341
342         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
343         long unreadable paths in GNU/Linux.  Problem reported by Andreas
344         Schwab in
345         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
346         I'll try to think of a better way to fix the Solaris problem.
347
348         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
349         like glibc; on Solaris 10, it fails with errno == EINVAL.
350         POSIX says the behavior is unspecified if the first argument is NULL,
351         so play it safe and never pass NULL to the system getcwd.
352
353 2007-02-21  Jim Meyering  <jim@meyering.net>
354
355         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
356         of gettimeofday.  It would conflict with the one now always
357         provided via sys_time_.h.  Reported by Matthew Woehlke, as
358         an IRIX 6.5 build failure.
359
360 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
361
362         Minor fixups to port to Solaris 10 with Sun C 5.8.
363         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
364         * modules/getcwd (Depends-on): Add dirfd.
365         * lib/putenv.c (putenv): #undef it.
366         (rpl_putenv): New decl.
367         (malloc, free): Include <stdlib.h> rather than prototyping separately.
368
369 2007-02-20  Bruno Haible  <bruno@clisp.org>
370
371         * modules/stdio-tests: New file.
372         * tests/test-stdio.c: New file.
373
374         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
375         (Depends-on): Add stdio.
376         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
377         (Include): Use <stdio.h> instead of vsnprintf.h.
378         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
379         HAVE_DECL_VSNPRINTF.
380         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
381
382         * modules/snprintf (Files): Remove lib/snprintf.h.
383         (Depends-on): Add stdio.
384         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
385         (Include): Use <stdio.h> instead of snprintf.h.
386         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
387         HAVE_DECL_SNPRINTF.
388         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
389         * lib/getaddrinfo.c: Likewise.
390
391         * modules/stdio: New file.
392         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
393         * lib/snprintf.h: Remove file.
394         * lib/vsnprintf.h: Remove file.
395         * lib/.cppi-disable: Remove snprintf.h.
396         * m4/stdio_h.m4: New file.
397         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
398
399 2007-02-20  Jim Meyering  <jim@meyering.net>
400
401         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
402         used by e.g., mingw.  From Bruno Haible.
403
404 2007-02-19  Bruno Haible  <bruno@clisp.org>
405
406         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
407         warnings.
408         Reported by Ben Pfaff <blp@cs.stanford.edu>.
409
410 2007-02-19  Bruno Haible  <bruno@clisp.org>
411
412         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
413         from mingw users.
414
415 2007-02-19  Bruno Haible  <bruno@clisp.org>
416
417         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
418         warnings.
419         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
420
421 2007-02-19  Jim Meyering  <jim@meyering.net>
422
423         Don't use FD after a successful "fdopendir (fd)".
424         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
425         Reset it by calling dirfd on the just-obtained DIR*.
426
427         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
428         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
429
430 2007-02-18  Bruno Haible  <bruno@clisp.org>
431
432         * lib/readlink.c: Include <unistd.h>.
433         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
434         HAVE_READLINK.
435         * modules/readlink (Depends-on): Add unistd.
436         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
437         (Include): Add <unistd.h>.
438
439         * lib/getlogin_r.h: Remove file.
440         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
441         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
442         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
443         HAVE_DECL_GETLOGIN_R.
444         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
445         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
446         (Include): Use <unistd.h> instead of getlogin_r.h.
447
448         * lib/getcwd.h: Remove file.
449         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
450         * lib/xgetcwd.c: Likewise.
451         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
452         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
453         * modules/getcwd (Files): Remove lib/getcwd.h.
454         (Depends-on): Add unistd.
455         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
456         (Include): Use <unistd.h> instad of getcwd.h.
457
458         * lib/ftruncate.c: Include <unistd.h> first.
459         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
460         Set HAVE_FTRUNCATE.
461         * modules/ftruncate (Depends-on): Add unistd.
462         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
463
464         * lib/fchdir.c: Include <unistd.h> first.
465         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
466         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
467         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
468         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
469         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
470
471         * lib/dup2.c: Include <unistd.h> first.
472         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
473         HAVE_DUP2.
474         * modules/dup2 (Depends-on): Add unistd.
475         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
476
477         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
478         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
479         REPLACE_CHOWN. Don't define chown as a macro here.
480         * modules/chown (Depends-on): Add unistd.
481         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
482
483         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
484         Add definition for GL_LINK_WARNING.
485         (chown, dup2): New declarations.
486         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
487         link warning.
488         (ftruncate): New declaration.
489         (getcwd): New declaration, taken from old getcwd.h.
490         (getlogin_r): New declaration, taken from old getlogin_r.h.
491         (readlink): New declaration.
492         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
493         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
494         (gl_PREREQ_UNISTD): Remove macro.
495         (gl_UNISTD_MODULE_INDICATOR): New macro.
496         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
497         many new variables. Don't set UNISTD_H.
498         * modules/unistd (Description): Change.
499         (Depends-on): Add link-warning.
500         (configure.ac): Update.
501         (Makefile.am): Create unistd.h always. Substitute many new variables
502         into it.
503
504 2007-02-18  Bruno Haible  <bruno@clisp.org>
505
506         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
507         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
508         HAVE_GETSUBOPT.
509         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
510         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
511         * lib/getsubopt.h: Remove file.
512         * modules/getsubopt (Files): Remove lib/getsubopt.h.
513         (Depends-on): Add stdlib.
514         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
515         (Includes): Use <stdlib.h> instead of getsubopt.h.
516         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
517         Set HAVE_GETSUBOPT.
518         * lib/getsubopt.c: Don't include getsubopt.h.
519
520 2007-02-18  Bruno Haible  <bruno@clisp.org>
521
522         * modules/fchdir (Depends-on): Add dup2.
523
524 2007-02-18  Bruno Haible  <bruno@clisp.org>
525
526         * lib/stdlib_.h: Handle glibc's special invocation convention
527         specially.
528
529 2007-02-18  Bruno Haible  <bruno@clisp.org>
530
531         * modules/stdlib-tests: New file.
532         * tests/test-stdlib.c: New file.
533
534         * modules/mkstemp (Files): Remove lib/mkstemp.h.
535         (Depends-on): Add stdlib.
536         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
537         (Includes): Use <stdlib.h> instead of mkstemp.h.
538         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
539         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
540         * lib/mkstemp.c: Don't include mkstemp.h.
541         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
542         * lib/stdlib--.h: Don't include mkstemp.h.
543
544         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
545         (Depends-on): Add stdlib.
546         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
547         (Includes): Use <stdlib.h> instead of mkdtemp.h.
548         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
549         HAVE_MKDTEMP.
550         * lib/mkdtemp.c: Don't include mkdtemp.h.
551         * lib/clean-temp.c: Don't include mkdtemp.h.
552
553         * modules/exit (Files): Remove lib/exit.h.
554         (Depends-on): Add stdlib.
555         (Makefile.am): Remove lib_SOURCES.
556         (Include): Use <stdlib.h> instead of exit.h.
557         * lib/argmatch.c: Don't include exit.h.
558         * lib/execute.c: Likewise.
559         * lib/pagealign_alloc.c: Likewise.
560         * lib/pipe.c: Likewise.
561         * lib/wait-process.c: Likewise.
562         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
563         * lib/exitfail.c: Likewise.
564         * lib/savewd.c: Likewise.
565         * lib/xsetenv.c: Likewise.
566
567         * modules/stdlib: New file.
568         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
569         and extra comments about mkstemp().
570         * lib/exit.h: Remove file.
571         * lib/mkdtemp.h: Remove file.
572         * lib/mkstemp.h: Remove file.
573         * m4/stdlib_h.m4: New file.
574         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
575
576 2007-02-18  Bruno Haible  <bruno@clisp.org>
577
578         * modules/math-tests: New file.
579         * tests/test-math.c: New file.
580
581         * modules/math: New file.
582         * modules/mathl (Files): Remove lib/mathl.h.
583         (Depends-on): Add math.
584         (Makefile.am): Don't mention mathl.h.
585         (Include): Use <math.h> instead of mathl.h.
586         * lib/math_.h: New file.
587         * lib/mathl.h: Remove file.
588         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
589         mathl.h.
590         * lib/asinl.c: Likewise.
591         * lib/atanl.c: Likewise.
592         * lib/ceill.c: Likewise.
593         * lib/cosl.c: Likewise.
594         * lib/expl.c: Likewise.
595         * lib/floorl.c: Likewise.
596         * lib/frexpl.c: Likewise.
597         * lib/ldexpl.c: Likewise.
598         * lib/logl.c: Likewise.
599         * lib/sincosl.c: Likewise.
600         * lib/sinl.c: Likewise.
601         * lib/sqrtl.c: Likewise.
602         * lib/tanl.c: Likewise.
603         * lib/trigl.c: Likewise.
604         * m4/math_h.m4: New file.
605         * MODULES.html.sh (Mathematics): Add math.
606
607 2007-02-17  Bruno Haible  <bruno@clisp.org>
608
609         * modules/wctype-tests: New file.
610         * tests/test-wctype.c: New file.
611
612         * modules/wchar-tests: New file.
613         * tests/test-wchar.c: New file.
614
615         * modules/unistd-tests: New file.
616         * tests/test-unistd.c: New file.
617
618         * modules/time-tests: New file.
619         * tests/test-time.c: New file.
620
621         * modules/sysexits-tests: New file.
622         * tests/test-sysexits.c: New file.
623
624         * modules/sys_time-tests: New file.
625         * tests/test-sys_time.c: New file.
626
627         * modules/sys_stat-tests: New file.
628         * tests/test-sys_stat.c: New file.
629
630         * modules/sys_socket-tests: New file.
631         * tests/test-sys_socket.c: New file.
632
633         * modules/sys_select-tests: New file.
634         * tests/test-sys_select.c: New file.
635
636         * modules/string-tests: New file.
637         * tests/test-string.c: New file.
638
639         * modules/stdbool-tests: New file.
640         * tests/test-stdbool.c: New file.
641
642         * modules/netinet_in-tests: New file.
643         * tests/test-netinet_in.c: New file.
644
645         * modules/inttypes-tests: New file.
646         * tests/test-inttypes.c: New file.
647
648         * modules/fcntl-tests: New file.
649         * tests/test-fcntl.c: New file.
650
651         * modules/byteswap-tests: New file.
652         * tests/test-byteswap.c: New file.
653
654         * modules/arpa_inet-tests: New file.
655         * tests/test-arpa_inet.c: New file.
656
657 2007-02-17  Bruno Haible  <bruno@clisp.org>
658
659         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
660         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
661         if the corresponding module is not enabled. Emit link warnings if
662         the function is used nevertheless.
663         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
664         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
665         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
666         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
667         * modules/inttypes (Depends-on): Add link-warning.
668         (Makefile.am): Copy the contents of build-aux/link-warning.h into
669         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
670         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
671         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
672         * modules/imaxdiv (configure.ac): Likewise.
673         * modules/strtoimax (configure.ac): Likewise.
674         * modules/strtoumax (configure.ac): Likewise.
675
676 2007-02-17  Bruno Haible  <bruno@clisp.org>
677
678         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
679         gl_STRING_MODULE_INDICATOR_DEFAULTS.
680         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
681         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
682
683 2007-02-17  Bruno Haible  <bruno@clisp.org>
684
685         * modules/link-warning: New file.
686         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
687         * lib/string_.h (GL_LINK_WARNING): Remove definition.
688         * modules/string (Depends-on): Add link-warning.
689         (Makefile.am): Copy the contents of build-aux/link-warning.h into
690         string.h.
691         * MODULES.html.sh (Support for building libraries and executables): Add
692         link-warning.
693
694 2007-02-17  Bruno Haible  <bruno@clisp.org>
695
696         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
697         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
698         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
699         long lines.
700
701 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
702             Bruno Haible  <bruno@clisp.org>
703
704         * modules/tmpfile: New file.
705         * lib/tmpfile.c: New file.
706         * m4/tmpfile.m4: New file.
707         * MODULES.html.sh (func_all_modules): New section "Input/output".
708
709 2007-02-15  Bruno Haible  <bruno@clisp.org>
710
711         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
712         (supports_delete_on_close): New function.
713         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
714
715 2007-02-14  Bruno Haible  <bruno@clisp.org>
716
717         * modules/mbspcasecmp-tests: New file.
718         * tests/test-mbspcasecmp.sh: New file.
719         * tests/test-mbspcasecmp.c: New file.
720
721         New module mbspcasecmp.
722         * modules/mbspcasecmp: New file.
723         * lib/mbspcasecmp.c: New file.
724         * lib/string_.h (strncasecmp): Change warning message.
725         (mbspcasecmp): New declaration.
726         * m4/mbspcasecmp.m4: New file.
727         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
728         GNULIB_MBSPCASECMP.
729         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
730         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
731
732 2007-02-14  Bruno Haible  <bruno@clisp.org>
733
734         * modules/mbsncasecmp-tests: New file.
735         * tests/test-mbsncasecmp.sh: New file.
736         * tests/test-mbsncasecmp.c: New file.
737
738         New module mbsncasecmp.
739         * modules/mbsncasecmp: New file.
740         * lib/mbsncasecmp.c: New file.
741         * lib/string_.h (mbsncasecmp): New declaration.
742         * m4/mbsncasecmp.m4: New file.
743         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
744         GNULIB_MBSNCASECMP.
745         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
746         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
747
748 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
749
750         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
751         Verify that it doesn't overlap with our flags.
752         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
753         do not have the desired effect in multibyte locales; instead, use
754         mbscasecmp.
755         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
756         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
757         we don't require GNU fnmatch ourselves (if our users require it, they
758         should do so explicitly).
759
760         Fix regex code so it doesn't rely on strcasecmp.
761         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
762         Otherwise, include gnulib's langinfo.h.
763         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
764         undesirable behavior in non-C locales.  Instead, rely on localecharset.
765         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
766         * modules/regex (FILES): Remove m4/codeset.m4.
767         (Depends-on): Add localcharset.  Remove strcase.
768
769 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
770
771         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
772         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
773
774 2007-02-13  Bruno Haible  <bruno@clisp.org>
775
776         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
777         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
778
779 2007-02-12  Bruno Haible  <bruno@clisp.org>
780
781         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
782         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
783         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
784         time warning rather than a link error.
785
786 2007-02-12  Bruno Haible  <bruno@clisp.org>
787
788         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
789         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
790         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
791
792 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
793
794         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
795         args, not 2.
796
797 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
798
799         New module 'time', so that apps can include <time.h> as per
800         POSIX and GNU instead of separate include files like time_r.h
801         and timegm.h.  This implementation tries out a simpler approach
802         for replacing decls in standard include files (as compared to
803         the string module), somewhat as an experiment.
804
805         * config/srclist.txt: Comment out mktime.c for now.
806         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
807         since it doesn't apply any more.  Use generic wording instead.
808         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
809         'time'.
810         * lib/time_.h, m4/time_h.m4, modules/time: New files.
811         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
812         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
813         Don't include <sys/types.h>; no longer needed since we assume C89.
814         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
815         * lib/strftime.c: Likewise.
816         * lib/time_r.c: Likewise.
817         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
818         * lib/nanosleep.c: Include <time.h> first, to check interface.
819         * lib/strptime.c: Likewise.
820         * lib/time_r.c: Likewise.
821         * lib/timegm.c: Likewise.
822         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
823         needed.
824         * lib/timegm.c: Don't include timegm.h; no longer needed.
825         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
826         time.h now handles any problems in that area.
827         (struct timespec, nanosleep): Remove; time.h now arranges for these.
828         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
829         that time.h defines struct timespec.
830         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
831         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
832         handles that.
833         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
834         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
835         needed.  Set REPLACE_LOCALTIME.
836         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
837         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
838         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
839         nanosleep; time_h.m4 now does that.  Don't require
840         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
841         module handles this now.
842         * modules/getdate (Depends-on): Remove timespec.  Add time.
843         * modules/nanosleep (Depends-on): Likewise.
844         * modules/stat-time (Depends-on): Likewise.
845         * modules/nanosleep (Include): Include time.h, not timespec.h.
846         * modules/strptime (Files): Remove lib/strptime.h.
847         (Depends-on): Add extensions, time.
848         (Include): Include time.h, not strptime.h.
849         * modules/time_r (Files): Remove lib/time_r.h.
850         (Depends-on): Add time.
851         (Include): Include time.h, not time_r.h.
852         * modules/timegm: Likewise.
853         * modules/timespec (Description): Now does timespec-related decls
854         of our own, instead of struct timespec itself.
855         (Depends-on): Add time; remove extensions.
856         (Maintainer): Add self.
857         * modules/utimecmp (Depends-on): Add time; remove timespec.
858         * modules/utimens (Depends-on): Likewise.
859         * modules/xnanosleep (Depends-on): Likewise.
860
861 2007-02-11  Bruno Haible  <bruno@clisp.org>
862
863         * lib/c-strstr.c: Include allocsa.h.
864         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
865         * lib/c-strcasestr.c: Include allocsa.h.
866         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
867         * lib/strcasestr.c: Include allocsa.h.
868         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
869         * lib/mbsstr.c: Include allocsa.h.
870         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
871         allocsa/freesa instead of malloc/free.
872         * lib/mbscasestr.c: Include allocsa.h.
873         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
874         allocsa/freesa instead of malloc/free.
875         * modules/c-strstr (Depends-on): Add allocsa.
876         * modules/c-strcasestr (Depends-on): Likewise.
877         * modules/strcasestr (Depends-on): Likewise.
878         * modules/mbsstr (Depends-on): Likewise.
879         * modules/mbscasestr (Depends-on): Likewise.
880
881 2007-02-11  Bruno Haible  <bruno@clisp.org>
882
883         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
884
885         * modules/mbsspn-tests: New file.
886         * tests/test-mbsspn.sh: New file.
887         * tests/test-mbsspn.c: New file.
888
889 2007-02-11  Bruno Haible  <bruno@clisp.org>
890
891         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
892
893         * modules/mbspbrk-tests: New file.
894         * tests/test-mbspbrk.sh: New file.
895         * tests/test-mbspbrk.c: New file.
896
897 2007-02-11  Bruno Haible  <bruno@clisp.org>
898
899         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
900         unneeded cast.
901
902         * modules/mbscspn-tests: New file.
903         * tests/test-mbscspn.sh: New file.
904         * tests/test-mbscspn.c: New file.
905
906 2007-02-11  Bruno Haible  <bruno@clisp.org>
907
908         * modules/mbscasecmp-tests: New file.
909         * tests/test-mbscasecmp.sh: New file.
910         * tests/test-mbscasecmp.c: New file.
911
912 2007-02-11  Bruno Haible  <bruno@clisp.org>
913
914         Ensure O(n) worst-case complexity of mbscasestr.
915         * lib/mbscasestr.c: Include stdbool.h.
916         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
917         functions.
918         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
919         the bookkeeping indicates that it's worth it.
920         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
921
922         * modules/mbscasestr-tests: New file.
923         * tests/test-mbscasestr1.c: New file.
924         * tests/test-mbscasestr2.sh: New file.
925         * tests/test-mbscasestr2.c: New file.
926         * tests/test-mbscasestr3.sh: New file.
927         * tests/test-mbscasestr3.c: New file.
928         * tests/test-mbscasestr4.sh: New file.
929         * tests/test-mbscasestr4.c: New file.
930         * m4/locale-tr.m4: New file.
931
932 2007-02-11  Bruno Haible  <bruno@clisp.org>
933
934         Ensure O(n) worst-case complexity of mbsstr.
935         * lib/mbsstr.c: Include stdbool.h.
936         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
937         functions.
938         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
939         bookkeeping indicates that it's worth it.
940         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
941
942         * modules/mbsstr-tests: New file.
943         * tests/test-mbsstr1.c: New file.
944         * tests/test-mbsstr2.sh: New file.
945         * tests/test-mbsstr2.c: New file.
946         * tests/test-mbsstr3.sh: New file.
947         * tests/test-mbsstr3.c: New file.
948         * m4/locale-fr.m4: New file.
949
950 2007-02-11  Bruno Haible  <bruno@clisp.org>
951
952         * lib/mbsrchr.c (mbsrchr): Fix bug.
953
954         * modules/mbsrchr-tests: New file.
955         * tests/test-mbsrchr.sh: New file.
956         * tests/test-mbsrchr.c: New file.
957
958 2007-02-11  Bruno Haible  <bruno@clisp.org>
959
960         * lib/mbschr.c (mbschr): Fix bug.
961
962         * modules/mbschr-tests: New file.
963         * tests/test-mbschr.sh: New file.
964         * tests/test-mbschr.c: New file.
965         * m4/locale-zh.m4: New file.
966
967 2007-02-11  Bruno Haible  <bruno@clisp.org>
968
969         Support for copying multibyte string iterators.
970         * lib/mbiter.h: Include <string.h>.
971         (mbiter_multi_copy): New function.
972         (mbi_copy): New macro.
973         * lib/mbuiter.h: Include <string.h>.
974         (mbuiter_multi_copy): New function.
975         (mbui_copy): New macro.
976
977 2007-02-11  Bruno Haible  <bruno@clisp.org>
978
979         New module mbslen.
980         * modules/mbslen: New file.
981         * lib/mbslen.c: New file.
982         * lib/string_.h (mbslen): New declaration.
983         * m4/mbslen.m4: New file.
984         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
985         GNULIB_MBSLEN.
986         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
987         * MODULES.html.sh (Internationalization functions): Add mbslen.
988
989 2007-02-11  Bruno Haible  <bruno@clisp.org>
990
991         Ensure O(n) worst-case complexity of strcasestr substitute.
992         * lib/strcasestr.c: Include stdbool.h.
993         (knuth_morris_pratt): New function.
994         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
995         bookkeeping indicates that it's worth it.
996         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
997
998         * modules/strcasestr-tests: New file.
999         * tests/test-strcasestr.c: New file.
1000
1001 2007-02-11  Bruno Haible  <bruno@clisp.org>
1002
1003         Ensure O(n) worst-case complexity of c_strcasestr.
1004         * lib/c-strcasestr.c: Include stdbool.h, string.h.
1005         (knuth_morris_pratt): New function.
1006         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
1007         the bookkeeping indicates that it's worth it.
1008         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
1009
1010         * modules/c-strcasestr-tests: New file.
1011         * tests/test-c-strcasestr.c: New file.
1012
1013 2007-02-11  Bruno Haible  <bruno@clisp.org>
1014
1015         Ensure O(n) worst-case complexity of c_strstr.
1016         * lib/c-strstr.c: Include stdbool.h, string.h.
1017         (knuth_morris_pratt): New function.
1018         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
1019         bookkeeping indicates that it's worth it.
1020         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
1021
1022         * lib/c-strstr.c: Complete rewrite for maintainability.
1023
1024         * modules/c-strstr-tests: New file.
1025         * tests/test-c-strstr.c: New file.
1026
1027 2007-02-11  Bruno Haible  <bruno@clisp.org>
1028
1029         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
1030         5.2.1 and earlier, whereby \055 was treated just like the range
1031         delimiter '-'.
1032         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
1033
1034 2007-02-08  Bruno Haible  <bruno@clisp.org>
1035
1036         * modules/regex (Depends-on): Add stdbool.
1037         Reported by Dalibor Topic <robilad@kaffe.org>.
1038
1039 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
1040
1041         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
1042         Prefer returning from main to exiting from it.
1043         Remove unnecessary parens after sizeof.
1044
1045 2007-02-05  Bruno Haible  <bruno@clisp.org>
1046
1047         New module mbssep.
1048         * modules/mbssep: New file.
1049         * lib/mbssep.c: New file.
1050         * lib/string_.h (strsep): Add a conditional link warning.
1051         (mbssep): New declaration.
1052         * m4/mbssep.m4: New file.
1053         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1054         GNULIB_MBSSEP.
1055         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
1056         * MODULES.html.sh (Internationalization functions): Add mbssep.
1057
1058 2007-02-05  Bruno Haible  <bruno@clisp.org>
1059
1060         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
1061         Optimize search in case of 1 delimiter.
1062
1063 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
1064
1065         * lib/acl.h: Include sys/types.h before sys/acl.h.
1066
1067 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
1068
1069         Merge upstream fix for glibc bugzilla #3957:
1070
1071         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
1072
1073         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
1074         bit for RE_HAT_LISTS_NOT_NEWLINE.
1075         (build_charclass_op): Remove bogus comment.
1076
1077 2007-02-05  Simon Josefsson  <simon@josefsson.org>
1078
1079         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
1080
1081 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1082
1083         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
1084         * lib/memmem.c [!defined _LIBC]: Include config.h.
1085
1086 2007-02-04  Bruno Haible  <bruno@clisp.org>
1087
1088         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
1089         warning message.
1090
1091 2007-02-04  Bruno Haible  <bruno@clisp.org>
1092
1093         New module mbstok_r.
1094         * modules/mbstok_r: New file.
1095         * lib/mbstok_r.c: New file.
1096         * lib/string_.h (strtok_r): Change argument names to match the
1097         comments. Add a conditional link warning.
1098         (mbstok_r): New declaration.
1099         * m4/mbstok_r.m4: New file.
1100         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1101         GNULIB_MBSTOK_R.
1102         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
1103         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
1104
1105 2007-02-04  Bruno Haible  <bruno@clisp.org>
1106
1107         New module mbsspn.
1108         * modules/mbsspn: New file.
1109         * lib/mbsspn.c: New file.
1110         * lib/string_.h (strspn): Add a conditional link warning.
1111         (mbsspn): New declaration.
1112         * m4/mbsspn.m4: New file.
1113         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1114         GNULIB_MBSSPN.
1115         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
1116         * MODULES.html.sh (Internationalization functions): Add mbsspn.
1117
1118 2007-02-04  Bruno Haible  <bruno@clisp.org>
1119
1120         New module mbspbrk.
1121         * modules/mbspbrk: New file.
1122         * lib/mbspbrk.c: New file.
1123         * lib/string_.h (strpbrk): Add a conditional link warning.
1124         (mbspbrk): New declaration.
1125         * m4/mbspbrk.m4: New file.
1126         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1127         GNULIB_MBSPBRK.
1128         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
1129         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
1130
1131 2007-02-04  Bruno Haible  <bruno@clisp.org>
1132
1133         New module mbscspn.
1134         * modules/mbscspn: New file.
1135         * lib/mbscspn.c: New file.
1136         * lib/string_.h (strcspn): Add a conditional link warning.
1137         (mbscspn): New declaration.
1138         * m4/mbscspn.m4: New file.
1139         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1140         GNULIB_MBSCSPN.
1141         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
1142         * MODULES.html.sh (Internationalization functions): Add mbscspn.
1143
1144 2007-02-04  Bruno Haible  <bruno@clisp.org>
1145
1146         New module mbscasestr, reduced goal of strcasestr.
1147         * modules/mbscasestr: New file.
1148         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
1149         (mbscasestr): Renamed from strcasestr.
1150         * lib/strcasestr.c: Don't include mbuiter.h.
1151         (strcasestr): Remove support for multibyte locales.
1152         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
1153         Change the conditional link warning.
1154         (mbscasestr): New declaration.
1155         * m4/mbscasestr.m4: New file.
1156         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
1157         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
1158         REPLACE_STRCASESTR.
1159         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
1160         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1161         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1162         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
1163         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
1164         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1165         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
1166         (Depends-on): Remove mbuiter.
1167         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
1168
1169 2007-02-04  Bruno Haible  <bruno@clisp.org>
1170
1171         Simplify handling of strncasecmp.
1172         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
1173         the conditional link warning.
1174         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1175         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
1176         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
1177         * modules/strcase (configure.ac): Don't invoke
1178         gl_STRING_MODULE_INDICATOR.
1179         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
1180
1181 2007-02-04  Bruno Haible  <bruno@clisp.org>
1182
1183         New module mbscasecmp, reduced goal of strcasecmp.
1184         * modules/mbscasecmp: New file.
1185         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
1186         (mbscasecmp): Renamed from strcasecmp.
1187         * lib/strcasecmp.c: Don't include mbuiter.h.
1188         (strcasecmp): Remove support for multibyte locales.
1189         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
1190         Change the conditional link warning.
1191         (mbscasecmp): New declaration.
1192         * m4/mbscasecmp.m4: New file.
1193         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
1194         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
1195         REPLACE_STRCASECMP.
1196         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
1197         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1198         GNULIB_MBSCASECMP.
1199         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
1200         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
1201         * modules/strcase (Files): Remove m4/mbrtowc.m4.
1202         (Depends-on): Remove mbuiter.
1203         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
1204
1205 2007-02-04  Bruno Haible  <bruno@clisp.org>
1206
1207         New module mbsstr. Remove module strstr.
1208         * modules/mbsstr: New file.
1209         * modules/strstr: Remove file.
1210         * lib/mbsstr.c: Renamed from lib/strstr.c.
1211         (mbsstr): Renamed from strstr.
1212         * lib/string_.h (strstr): Remove declaration. Change the conditional
1213         link warning.
1214         (mbsstr): New declaration.
1215         * m4/mbsstr.m4: New file.
1216         * m4/strstr.m4: Remove file.
1217         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
1218         REPLACE_STRSTR.
1219         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
1220         Don't initialize GNULIB_STRSTR.
1221         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
1222         substitute GNULIB_STRSTR and REPLACE_STRSTR.
1223         * MODULES.html.sh (Internationalization functions): Add mbsstr.
1224         (Support for systems lacking ANSI C 89): Remove strstr.
1225
1226 2007-02-04  Bruno Haible  <bruno@clisp.org>
1227
1228         New module mbsrchr.
1229         * modules/mbsrchr: New file.
1230         * lib/mbsrchr.c: New file.
1231         * lib/string_.h (strrchr): Add a conditional link warning.
1232         (mbsrchr): New declaration.
1233         * m4/mbsrchr.m4: New file.
1234         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1235         GNULIB_MBSRCHR.
1236         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
1237         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
1238
1239 2007-02-04  Bruno Haible  <bruno@clisp.org>
1240
1241         New module mbschr.
1242         * modules/mbschr: New file.
1243         * lib/mbschr.c: New file.
1244         * lib/string_.h (strchr): Add a conditional link warning.
1245         (mbschr): New declaration.
1246         * m4/mbschr.m4: New file.
1247         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1248         GNULIB_MBSCHR.
1249         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
1250         * MODULES.html.sh (Internationalization functions): Add mbschr.
1251
1252 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1253
1254         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
1255
1256         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
1257
1258 2007-02-04  Bruno Haible  <bruno@clisp.org>
1259
1260         New module description section 'configure.ac-early'.
1261         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
1262         (func_get_autoconf_early_snippet): New function.
1263         (func_import, func_create_testdir): Use it. Remove special cases for
1264         modules 'extensions' and 'lock'.
1265         * modules/extensions (configure.ac-early): Require
1266         gl_USE_SYSTEM_EXTENSIONS.
1267         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
1268
1269 2007-02-04  Bruno Haible  <bruno@clisp.org>
1270
1271         Make use of gcj-4.3's -fsource and -ftarget option.
1272         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
1273         and if so try the options -fsource and -ftarget.
1274         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
1275         source_version, ftarget_option, target_version arguments.
1276         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
1277         (is_envjavac_oldgcj_14_14_usable): Renamed from
1278         is_envjavac_gcj_14_14_usable.
1279         (is_envjavac_oldgcj_14_13_usable): Renamed from
1280         is_envjavac_gcj_14_13_usable.
1281         (is_gcj_present): Update.
1282         (is_gcj_43, is_gcj43_usable): New functions.
1283         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
1284         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
1285         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
1286         try the options -fsource and -ftarget.
1287
1288 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1289
1290         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
1291         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
1292         larger value.
1293
1294 2007-02-03  Jim Meyering  <jim@meyering.net>
1295
1296         Give tools a better chance to allocate space for very large buffers.
1297         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
1298
1299         Make pwd and readlink work also when run with an unreadable parent dir
1300         on systems with openat support.
1301         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
1302         provided getcwd function, even when we have openat support.
1303         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
1304
1305 2007-02-02  Bruno Haible  <bruno@clisp.org>
1306
1307         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
1308         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
1309         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
1310         portability problems if one of these functions is only used on specific
1311         platforms.
1312         Reported by Paul Eggert.
1313
1314 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
1315
1316         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
1317         is causing more trouble than it's curing.
1318         * lib/regex_internal.h (__mempcpy): Remove.
1319         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
1320         (and make the code a tad smaller to boot).
1321         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
1322
1323 2007-02-02  Jim Meyering  <jim@meyering.net>
1324
1325         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
1326         section, not in the Makefile.am: one.
1327
1328 2007-02-02  Eric Blake  <ebb9@byu.net>
1329
1330         * lib/strchrnul.c: Always include config.h first.
1331
1332         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
1333         gnulib strstr is not necessary here.
1334
1335 2007-02-02  Simon Josefsson  <simon@josefsson.org>
1336
1337         * m4/socklen.m4: Fix typo.
1338
1339 2007-02-02  Eric Blake  <ebb9@byu.net>
1340
1341         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
1342         * modules/netinet_in (Makefile.am): Likewise.
1343
1344 2007-02-01  Bruno Haible  <bruno@clisp.org>
1345
1346         * lib/string_.h (GL_LINK_WARNING): New macro.
1347         (strcasecmp, strstr, strcasestr): If provided by the system,
1348         conditionally define as a macro that leads to a warning instead of to
1349         an error.
1350         (strncasecmp): Conditionally define as a macro that leads to a warning.
1351
1352 2007-02-01  Karl Berry  <karl@gnu.org>
1353
1354         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
1355
1356 2007-02-01  Bruno Haible  <bruno@clisp.org>
1357
1358         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
1359         renamings.
1360
1361 2007-02-01  Eric Blake  <ebb9@byu.net>
1362
1363         * modules/regex (Depends-on): Revert dependence on mempcpy.
1364         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
1365         module's definition of mempcpy.
1366         Reported by Paul Eggert.
1367
1368 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
1369
1370         * lib/string_.h: If the gnulib module XYZ is not present, undefine
1371         the symbol XYZ before redefining it.  This fixes a problem with
1372         programs that don't use XYZ, when compiled on systems that define
1373         XYZ to something else.
1374
1375 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1376
1377         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
1378         occurs when "mkdir -m foo" creates a setgid directory that is (1)
1379         writeable to group or other and (2) is intended to have a special
1380         mode bit that is set or cleared.  In such a case, the directory
1381         should be neither group- nor other-writeable until the special
1382         mode bits are right.
1383
1384 2007-01-31  Eric Blake  <ebb9@byu.net>
1385
1386         * modules/mountlist (Depends-on): Add strstr.
1387
1388         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
1389         bug.
1390         * modules/string (Makefile.am): Remove redundant replacement.
1391         * modules/regex (Depends-on): Add mempcpy.
1392
1393 2007-01-31  Bruno Haible  <bruno@clisp.org>
1394
1395         New module description field 'Link'.
1396         * gnulib-tool (func_usage): Document --extract-link-directive.
1397         (sed_extract_prog): Recognize 'Link' directive.
1398         (func_get_link_directive): New function.
1399         (func_import): Show summary of link directives.
1400         Handle --extract-link-directive option.
1401         * modules/acl (Link): New section.
1402         * modules/clock-time (Link): New section.
1403         * modules/euidaccess (Link): New section.
1404         * modules/gettext (Link): New section.
1405         * modules/iconv (Link): New section.
1406         * modules/lock (Link): New section.
1407         * modules/nanosleep (Link): New section.
1408         * modules/readline (Link): New section.
1409
1410 2007-01-27  Bruno Haible  <bruno@clisp.org>
1411
1412         Enforce the use of gnulib modules for unportable <string.h> functions.
1413         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
1414         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
1415         (gl_HEADER_STRING_H_BODY): Require it.
1416         * lib/string_.h: If the gnulib module XYZ is not present, redefine
1417         the symbol XYZ to one that gives a link error.
1418         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
1419         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
1420         * modules/mempcpy (configure.ac): Likewise.
1421         * modules/memrchr (configure.ac): Likewise.
1422         * modules/stpcpy (configure.ac): Likewise.
1423         * modules/stpncpy (configure.ac): Likewise.
1424         * modules/strcase (configure.ac): Likewise.
1425         * modules/strcasestr (configure.ac): Likewise.
1426         * modules/strchrnul (configure.ac): Likewise.
1427         * modules/strdup (configure.ac): Likewise.
1428         * modules/strndup (configure.ac): Likewise.
1429         * modules/strnlen (configure.ac): Likewise.
1430         * modules/strpbrk (configure.ac): Likewise.
1431         * modules/strsep (configure.ac): Likewise.
1432         * modules/strstr (configure.ac): Likewise.
1433         * modules/strtok_r (configure.ac): Likewise.
1434
1435 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
1436
1437         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
1438
1439 2007-01-30  Jim Meyering  <jim@meyering.net>
1440
1441         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
1442
1443 2007-01-29  Bruno Haible  <bruno@clisp.org>
1444
1445         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
1446         * lib/execute.c: Likewise.
1447         * lib/pipe.c: Likewise.
1448         * lib/printf-args.h: Likewise.
1449         * lib/printf-args.c: Likewise.
1450         * lib/printf-parse.c: Likewise.
1451         * lib/vasnprintf.c: Likewise.
1452
1453 2007-01-29  Eric Blake  <ebb9@byu.net>
1454
1455         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
1456         declaration.
1457
1458 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
1459
1460         * lib/strptime.h (strptime): Use 'restrict' for args where
1461         POSIX requires this.
1462         * lib/strptime.c (strptime): Likewise.
1463         Change license notice from LGPL to GPL, since gnulib-tool will
1464         change this as needed.
1465         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
1466         defined.
1467         Include "strptime.h" first, to check interface.
1468         Do not #undef _LIBC and _NL_CURRENT.
1469         Do not include <stdlib.h>; no longer needed.
1470         Include "time_r.h" and declare ptime_locale_status
1471         only if _LIBC is not defined.
1472         (__P): Remove unused macro.
1473         (match_string): Bring back glibc version, but use it only if _LIBC
1474         is defined.
1475         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
1476         Remove unnecessary assertion and abort() call.
1477         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
1478         * m4/strptime.m4: Fix serial number comment.
1479         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
1480         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
1481         (Depends-on): Add time_r.
1482
1483 2007-01-29  Bruno Haible  <bruno@clisp.org>
1484
1485         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
1486         strptime.
1487         * modules/strptime (Depends-on): Add stdbool.
1488         * lib/strptime.h: Include <time.h> always. Add comments.
1489
1490 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
1491
1492         * modules/strptime: New file.
1493         * lib/strptime.h: New file.
1494         * lib/strptime.c: New file.
1495         * m4/strptime.m4: New file.
1496
1497 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
1498
1499         * MODULES.html.sh: New module mpsort.
1500         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
1501
1502         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
1503         a circularity problem with HP-UX ia64 reported by Bob Proulx in
1504         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
1505         All uses changed.
1506         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
1507         All uses changed.
1508         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
1509         to _Restrict_.
1510         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
1511         the parameter matches the prototype.
1512
1513 2007-01-28  Jim Meyering  <jim@meyering.net>
1514
1515         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
1516         sys/time.h here, reverting that part of the previous patch:
1517         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
1518
1519 2007-01-28  Bruno Haible  <bruno@clisp.org>
1520
1521         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
1522         value of $(SYS_TIME_H).
1523         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
1524         remove it conditionally, too. [added by Jim Meyering]
1525         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
1526         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
1527         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
1528         GETTIMEOFDAY_REPLACEMENT to 1.
1529
1530 2007-01-28  Bruno Haible  <bruno@clisp.org>
1531
1532         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
1533         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
1534         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
1535         Set UNISTD_H instead of UNISTD_H2.
1536         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
1537
1538 2007-01-28  Bruno Haible  <bruno@clisp.org>
1539
1540         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
1541         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
1542
1543 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1544
1545         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
1546         (func_create_testdir): Ensure C locale for `grep' and `tr'
1547         character ranges.
1548         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
1549         ACLOCAL_AMFLAGS parsing state machine.
1550
1551 2007-01-27  Bruno Haible  <bruno@clisp.org>
1552
1553         * modules/unistr/base: Update.
1554
1555 2007-01-27  Bruno Haible  <bruno@clisp.org>
1556
1557         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
1558         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
1559         * modules/unistr/u32-mbtouc-unsafe: Renamed from
1560         modules/unistr/u32-mbtouc.
1561         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
1562         * lib/unistr.h: Update.
1563         * lib/linebreak.c: Update.
1564         * modules/unistr/u32-mbtouc: Renamed from
1565         modules/unistr/u32-mbtouc-safe.
1566         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
1567         * lib/unistr.h: Update.
1568         * lib/unistr/u32-to-u8.c: Update.
1569         * lib/unistr/u32-to-u16.c: Update.
1570
1571 2007-01-27  Bruno Haible  <bruno@clisp.org>
1572
1573         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
1574         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
1575         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
1576         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
1577         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
1578         * modules/unistr/u16-mbtouc-unsafe: Renamed from
1579         modules/unistr/u16-mbtouc.
1580         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
1581         * lib/unistr.h: Update.
1582         * lib/linebreak.c: Update.
1583         * modules/linebreak: Update.
1584         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
1585         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
1586         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
1587         * modules/unistr/u16-mbtouc: Renamed from
1588         modules/unistr/u16-mbtouc-safe.
1589         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
1590         * lib/unistr.h: Update.
1591         * lib/unistr/u16-to-u8.c: Update.
1592         * modules/unistr/u16-to-u8: Update.
1593         * lib/unistr/u16-to-u32.c: Update.
1594         * modules/unistr/u16-to-u32: Update.
1595
1596 2007-01-27  Bruno Haible  <bruno@clisp.org>
1597
1598         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
1599         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
1600         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
1601         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
1602         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
1603         * modules/unistr/u8-mbtouc-unsafe: Renamed from
1604         modules/unistr/u8-mbtouc.
1605         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
1606         * lib/unistr.h: Update.
1607         * lib/striconveh.c: Update.
1608         * modules/striconveh: Update.
1609         * lib/linebreak.c: Update.
1610         * modules/linebreak: Update.
1611         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
1612         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
1613         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
1614         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
1615         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
1616         * lib/unistr.h: Update.
1617         * lib/striconveh.c: Update.
1618         * modules/striconveh: Update.
1619         * lib/unistr/u8-to-u16.c: Update.
1620         * modules/unistr/u8-to-u16: Update.
1621         * lib/unistr/u8-to-u32.c: Update.
1622         * modules/unistr/u8-to-u32: Update.
1623
1624 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1625
1626         Sync from Libtool.
1627         * lib/argz.c: Do not include strings.h nor memory.h, include
1628         string.h unconditionally.  Patch by Simon Josefsson.
1629
1630 2007-01-27  Bruno Haible  <bruno@clisp.org>
1631
1632         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
1633         from gl_HEADER_STRING_H_BODY.
1634         (gl_HEADER_STRING_H_BODY): Require it.
1635         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
1636         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
1637         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
1638         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
1639         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1640         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
1641         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
1642         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
1643         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
1644         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
1645         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
1646         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
1647         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
1648         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
1649         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
1650
1651 2007-01-27  Bruno Haible  <bruno@clisp.org>
1652
1653         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
1654         check_PROGRAMS into noinst_PROGRAMS.
1655         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
1656         check_PROGRAMS in this case.
1657         (func_import): Set for_test to false.
1658         (func_create_testdir): Set for_test to true.
1659
1660 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
1661             Bruno Haible  <bruno@clisp.org>
1662
1663         * modules/strcasestr (Files): Remove lib/strcasestr.h.
1664         (Depends-on): Add string.
1665         (Includes): Use <string.h> instead of strcasestr.h.
1666         * modules/string (Makefile.am): Also substitute the value of
1667         REPLACE_STRCASESTR.
1668         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
1669         assume strcasestr is declared in <string.h> not <strings.h>. Also
1670         set REPLACE_STRCASESTR.
1671         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
1672         REPLACE_STRCASESTR.
1673         * lib/strcasestr.h: Remove file.
1674         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
1675         * lib/string_.h (strcasestr): New declaration.
1676
1677 2007-01-27  Bruno Haible  <bruno@clisp.org>
1678
1679         * lib/string_.h: Use 'extern'.
1680
1681 2007-01-27  Jim Meyering  <jim@meyering.net>
1682
1683         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
1684         of set-but-not-used local, "q".
1685
1686         * lib/mempcpy.c: Include <config.h> before <string.h>.
1687         This fixes a compilation error on HP-UX, due to the system's
1688         "restrict"-using mempcpy prototype.
1689
1690 2007-01-26  Bruno Haible  <bruno@clisp.org>
1691
1692         Small optimization.
1693         * lib/javacomp.c: Include c-strstr.h.
1694          (is_envjavac_gcj): Use c_strstr instead of strstr.
1695         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
1696
1697 2007-01-26  Bruno Haible  <bruno@clisp.org>
1698
1699         * MODULES.html.sh (Unicode string functions): Add the new modules.
1700
1701         * modules/uniconv/u32-strconv-to-locale: New file.
1702         * lib/uniconv/u32-strconv-to-locale.c: New file.
1703
1704         * modules/uniconv/u16-strconv-to-locale: New file.
1705         * lib/uniconv/u16-strconv-to-locale.c: New file.
1706
1707         * modules/uniconv/u8-strconv-to-locale: New file.
1708         * lib/uniconv/u8-strconv-to-locale.c: New file.
1709
1710         * modules/uniconv/u32-strconv-from-locale: New file.
1711         * lib/uniconv/u32-strconv-from-locale.c: New file.
1712
1713         * modules/uniconv/u16-strconv-from-locale: New file.
1714         * lib/uniconv/u16-strconv-from-locale.c: New file.
1715
1716         * modules/uniconv/u8-strconv-from-locale: New file.
1717         * lib/uniconv/u8-strconv-from-locale.c: New file.
1718
1719         * modules/uniconv/u32-strconv-to-enc: New file.
1720         * lib/uniconv/u32-strconv-to-enc.c: New file.
1721         * modules/uniconv/u32-strconv-to-enc-tests: New file.
1722         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
1723
1724         * modules/uniconv/u16-strconv-to-enc: New file.
1725         * lib/uniconv/u16-strconv-to-enc.c: New file.
1726         * lib/uniconv/u-strconv-to-enc.h: New file.
1727         * modules/uniconv/u16-strconv-to-enc-tests: New file.
1728         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
1729
1730         * modules/uniconv/u8-strconv-to-enc: New file.
1731         * lib/uniconv/u8-strconv-to-enc.c: New file.
1732         * modules/uniconv/u8-strconv-to-enc-tests: New file.
1733         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
1734
1735         * modules/uniconv/u32-strconv-from-enc: New file.
1736         * lib/uniconv/u32-strconv-from-enc.c: New file.
1737         * modules/uniconv/u32-strconv-from-enc-tests: New file.
1738         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
1739
1740         * modules/uniconv/u16-strconv-from-enc: New file.
1741         * lib/uniconv/u16-strconv-from-enc.c: New file.
1742         * modules/uniconv/u16-strconv-from-enc-tests: New file.
1743         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
1744
1745         * modules/uniconv/u8-strconv-from-enc: New file.
1746         * lib/uniconv/u8-strconv-from-enc.c: New file.
1747         * lib/uniconv/u-strconv-from-enc.h: New file.
1748         * modules/uniconv/u8-strconv-from-enc-tests: New file.
1749         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
1750
1751         * modules/uniconv/u32-conv-from-enc: New file.
1752         * lib/uniconv/u32-conv-from-enc.c: New file.
1753         * modules/uniconv/u32-conv-from-enc-tests: New file.
1754         * tests/uniconv/test-u32-conv-from-enc.c: New file.
1755
1756         * modules/uniconv/u16-conv-from-enc: New file.
1757         * lib/uniconv/u16-conv-from-enc.c: New file.
1758         * lib/uniconv/u-conv-from-enc.h: New file.
1759         * modules/uniconv/u16-conv-from-enc-tests: New file.
1760         * tests/uniconv/test-u16-conv-from-enc.c: New file.
1761
1762         * modules/uniconv/u8-conv-from-enc: New file.
1763         * lib/uniconv/u8-conv-from-enc.c: New file.
1764         * modules/uniconv/u8-conv-from-enc-tests: New file.
1765         * tests/uniconv/test-u8-conv-from-enc.c: New file.
1766
1767         * modules/uniconv/base: New file.
1768         * lib/uniconv.h: New file.
1769
1770 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
1771
1772         * doc/gnulib-tool.texi (Initial import): Update to match current
1773         behavior with strdup module.
1774         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
1775         * lib/memmem.h: Remove; all uses removed.  This is now done
1776         by <string.h>.
1777         * lib/mempcpy.h: Likewise.
1778         * lib/memrchr.h: Likewise.
1779         * lib/stpcpy.h: Likewise.
1780         * lib/stpncpy.h: Likewise.
1781         * lib/strcase.h: Likewise.
1782         * lib/strchrnul.h: Likewise.
1783         * lib/strdup.h: Likewise.
1784         * lib/strndup.h: Likewise.
1785         * lib/strnlen.h: Likewise.
1786         * lib/strpbrk.h: Likewise.
1787         * lib/strsep.h: Likewise.
1788         * lib/strstr.h: Likewise.
1789         * lib/strtok_r.h: Likewise.
1790         * lib/string_.h: New file.
1791         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
1792         Rely on <string.h> instead.
1793         * lib/canon-host.c: Likewise.
1794         * lib/chdir-long.c: Likewise.
1795         * lib/concatpath.c: Likewise.
1796         * lib/exclude.c: Likewise.
1797         * lib/fchdir.c: Likewise.
1798         * lib/getaddrinfo.c: Likewise.
1799         * lib/getcwd.c: Likewise.
1800         * lib/getsubopt.c: Likewise.
1801         * lib/glob.c: Likewise.
1802         * lib/hard-locale.c: Likewise.
1803         * lib/iconvme.c: Likewise.
1804         * lib/javacomp.c: Likewise.
1805         * lib/mempcpy.c: Likewise.
1806         * lib/memrchr.c: Likewise.
1807         * lib/regex_internal.h: Likewise.
1808         * lib/stpncpy.c: Likewise.
1809         * lib/strcasecmp.c: Likewise.
1810         * lib/strchrnul.c: Likewise.
1811         * lib/strdup.c: Likewise.
1812         * lib/striconv.c: Likewise.
1813         * lib/striconveh.c: Likewise.
1814         * lib/striconveha.c: Likewise.
1815         * lib/strncasecmp.c: Likewise.
1816         * lib/strndup.c: Likewise.
1817         * lib/strnlen.c: Likewise.
1818         * lib/strsep.c: Likewise.
1819         * lib/strstr.c: Likewise.
1820         * lib/strtok_r.c: Likewise.
1821         * lib/userspec.c: Likewise.
1822         * lib/w32spawn.h: Likewise.
1823         * lib/xstrndup.c: Likewise.
1824         * lib/mountlist.c (strstr): Remove decl.
1825         * m4/string_h.m4: New file.
1826         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
1827         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
1828         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
1829         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
1830         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
1831         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
1832         Set REPLACE_STRCASECMP if necessary.
1833         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
1834         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
1835         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
1836         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
1837         HAVE_DECL_STRDUP if necessary.
1838         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
1839         since gl_FUNC_STRNDUP does that now.
1840         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
1841         Check for decl here...
1842         (gl_PREREQ_STRNLEN): ... not here.
1843         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
1844         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
1845         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
1846         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
1847         necessary.
1848         * modules/string: New file.
1849         * modules/memmem (Files): Remove special-purpose include file.
1850         (Depends-on): Add string.
1851         (Include): Include <string.h>, not the removed file.
1852         * modules/mempcpy: Likewise.
1853         * modules/memrchr: Likewise.
1854         * modules/stpcpy: Likewise.
1855         * modules/stpncpy: Likewise.
1856         * modules/strcase: Likewise.
1857         * modules/strchrnul: Likewise.
1858         * modules/strdup: Likewise.
1859         * modules/strndup: Likewise.
1860         * modules/strnlen: Likewise.
1861         * modules/strpbrk: Likewise.
1862         * modules/strsep: Likewise.
1863         * modules/strstr: Likewise.
1864         * modules/strtok_r: Likewise.
1865         * tests/test-dirname.c: Don't include "strdup.h", since
1866         <string.h> now suffices.
1867         * tests/test-memmem.c: Don't include "memmem.h", since
1868         <string.h> now suffices.
1869
1870 2007-01-25  Bruno Haible  <bruno@clisp.org>
1871
1872         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
1873         *resultp is 0.
1874
1875         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
1876         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
1877         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
1878         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
1879
1880         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
1881         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
1882         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
1883         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
1884         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
1885         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
1886
1887 2007-01-24  Bruno Haible  <bruno@clisp.org>
1888
1889         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
1890         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
1891         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
1892         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
1893         gl_FUNC_FTS_CORE.
1894         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
1895         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
1896         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
1897         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
1898         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
1899         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
1900         gl_FUNC_FCHOWNAT.
1901         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
1902         gl_FUNC_STRFTIME.
1903         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
1904         Reported by Ralf Wildenhues.
1905
1906 2007-01-24  Bruno Haible  <bruno@clisp.org>
1907
1908         Drop AC_REQUIRE calls that are redundant with the module dependencies.
1909         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
1910         gl_GETADDRINFO.
1911         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
1912         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
1913         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
1914
1915 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
1916
1917         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
1918         Don't use 'exit'; just return from 'main'.
1919         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
1920
1921         * lib/fnmatch_.h: Readjust white space and comments to match
1922         glibc, to avoid spurious diffs.
1923
1924 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1925
1926         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
1927         2004-12-01 change by Jakub Jelinek, since this code won't compile
1928         if !LIBC.  Problem reported by Bob Proulx.
1929
1930 2007-01-23  Bruno Haible  <bruno@clisp.org>
1931
1932         * lib/striconveh.c: Include c-strcaseeq.h.
1933         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
1934         * modules/striconveh (Depends-on): Add c-strcaseeq.
1935
1936 2007-01-23  Bruno Haible  <bruno@clisp.org>
1937
1938         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
1939
1940         * modules/c-strcaseeq: New file.
1941         * lib/c-strcaseeq.h: New file.
1942
1943         * modules/streq: New file.
1944         * lib/streq.h: New file.
1945
1946 2007-01-23  Bruno Haible  <bruno@clisp.org>
1947
1948         * modules/striconveha-tests: New file.
1949         * tests/test-striconveha.c: New file.
1950
1951         * lib/striconveha.h: Include <stdbool.h>.
1952         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
1953         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
1954         (mem_iconveha_notranslit): Renamed from mem_iconveha.
1955         (mem_iconveha): New function.
1956         (str_iconveha_notranslit): Renamed from str_iconveha.
1957         (str_iconveha): New function.
1958         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
1959         c-strcase.
1960
1961 2007-01-23  Bruno Haible  <bruno@clisp.org>
1962
1963         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
1964         encodings without forgiving before trying any encoding with handler.
1965         (str_iconveha): Try all encodings without forgiving before trying any
1966         encoding with handler.
1967
1968 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1969
1970         Import the following changes from libc.
1971
1972         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
1973
1974         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
1975
1976         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
1977
1978         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
1979         normal_bracket label.
1980
1981         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
1982
1983         [BZ #361]
1984         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
1985         to normal_bracket after fetching the next character.
1986
1987 2007-01-22  Bruno Haible  <bruno@clisp.org>
1988
1989         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
1990         argument.
1991         * lib/striconveh.c (iconv_carefully_1): New function.
1992         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
1993         argument.
1994         (str_cd_iconveh): Update.
1995         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
1996         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
1997         * tests/test-striconveh.c (MAGIC): New macro.
1998         (new_offsets): New function.
1999         (main): Test call with and without offsets.
2000
2001 2007-01-22  Bruno Haible  <bruno@clisp.org>
2002
2003         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
2004         * modules/sys_select (Makefile.am): Likewise.
2005         * modules/sys_socket (Makefile.am): Likewise.
2006         * modules/sys_time (Makefile.am): Likewise.
2007
2008 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
2009
2010         * modules/gettimeofday (License): Change from GPL to LGPL, since
2011         gettimeofday is a library function.
2012
2013 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2014
2015         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
2016
2017 2007-01-21  Bruno Haible  <bruno@clisp.org>
2018
2019         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
2020
2021 2007-01-21  Bruno Haible  <bruno@clisp.org>
2022
2023         * modules/striconveha: New file.
2024         * lib/striconveha.h: New file.
2025         * lib/striconveha.c: New file.
2026         * MODULES.html.sh (Internationalization functions): Add striconveha.
2027         * lib/striconv.c (str_iconv): Optimize the case of an empty input
2028         string.
2029         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
2030
2031 2007-01-21  Bruno Haible  <bruno@clisp.org>
2032
2033         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
2034         * lib/striconveh.c (str_iconveh): Likewise.
2035
2036 2007-01-21  Bruno Haible  <bruno@clisp.org>
2037
2038         * lib/striconveh.h (mem_iconveh): New declaration.
2039         * lib/striconveh.c (mem_iconveh): New function.
2040         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
2041
2042 2007-01-21  Bruno Haible  <bruno@clisp.org>
2043
2044         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
2045
2046         * lib/striconveh.h (mem_cd_iconveh): Change specification.
2047         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
2048         original result buffer.
2049         (str_cd_iconveh): Update.
2050         * tests/test-striconveh.c (main): Update.
2051
2052         * lib/striconv.h (mem_cd_iconv): Change specification.
2053         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
2054         result buffer.
2055         (str_cd_iconv): Update.
2056         * tests/test-striconv.c (main): Update.
2057
2058 2007-01-21  Bruno Haible  <bruno@clisp.org>
2059
2060         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
2061
2062 2007-01-20  Jim Meyering  <jim@meyering.net>
2063
2064         * lib/userspec.c (parse_with_separator): If a user or group string
2065         starts with "+", skip the corresponding name-to-ID look-up, since
2066         such a look-up must fail: user and group names may not include "+".
2067
2068 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2069
2070         * lib/poll.c: Include sys/time.h and time.h unconditionally,
2071         since we now assume the sys_time module.
2072         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
2073         check for sys/time.h; no longer needed.
2074         * modules/poll (Depends-on): Depend on sys_time.
2075
2076 2007-01-18  Bruno Haible  <bruno@clisp.org>
2077
2078         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
2079         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
2080
2081         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
2082         gettimeofday.
2083
2084         * tests/test-gettimeofday.c: Include <time.h>.
2085         (dummy): Remove variable.
2086
2087         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
2088         gl_HEADER_SYS_TIME_H.
2089         (gl_HEADER_SYS_TIME_H): New macro.
2090
2091         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
2092         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2093         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
2094         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
2095         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2096         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
2097         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
2098         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2099         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
2100         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
2101         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2102
2103         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
2104         last change; it caused a compilation error when cross-compiling to
2105         Cygwin.
2106
2107 2007-01-18  Jim Meyering  <jim@meyering.net>
2108
2109         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
2110         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
2111         than the race-prone "test -d sys || mkdir sys".
2112         (configure.ac): Use AC_PROG_MKDIR_P.
2113         * modules/sys_select: Likewise.
2114         * modules/sys_socket: Likewise.
2115         * modules/sys_time: Likewise.
2116
2117 2007-01-18  Eric Blake  <ebb9@byu.net>
2118
2119         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
2120         replace gettimeofday.
2121         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
2122         name, to avoid infinite recursion.
2123
2124 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
2125
2126         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
2127         module sys_time.
2128         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
2129         assume timespec.h defines struct timeval.
2130         * lib/settime.c: Likewise.
2131         * lib/utimens.c: Likewise.
2132         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
2133         since we now assume the gettimeofday module.
2134         * lib/tempname.c (__gen_tempname): Likewise.
2135         * lib/gettimeofday.h: Remove.
2136         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
2137         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
2138         Include <time.h>, for 'time()'.
2139         (localtime_buffer_addr): Also use this workaround if
2140         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
2141         to simplify the uses.  All uses changed.
2142         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
2143         that #undef is inside {}, and 'const' follows type name consistently.
2144         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
2145         (gettimeofday): Do not use the maximum possible value for
2146         tv->tv_usec, since that might break usages other than ls.c.
2147         Instead, we'll leave ls.c alone.  This undoes today's patch
2148         by Bruno.  Add a compile-time warning for 1s-clock resolution;
2149         we've never observed the problem but might as well keep the
2150         canary.
2151         * lib/nanosleep.c: Include timespec.h first, for interface check.
2152         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
2153         now assume the sys_time module.
2154         * lib/tempname.c: Likewise.
2155         * lib/timespec.h: Likewise.
2156         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
2157         needed.
2158         * lib/strftime.c: Likewise.
2159         * lib/timespec.h: Likewise.
2160         * lib/posixtm.c: Include posixtm.h first, for interface check.
2161         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
2162         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
2163         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
2164         * lib/sys_time_.h: New file.
2165         * lib/timespec.h (struct timespec): Use long int, not long.
2166         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
2167         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
2168         Remove obsolescent call to AC_HEADER_TIME.
2169         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
2170         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
2171         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
2172         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
2173         Likewise.
2174         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
2175         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
2176         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
2177         into the sys_time module.  Check for gettimeofday just once.
2178         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
2179         for gettimeofday signature to just check the signature.  Merely
2180         compile it, since linking doesn't test signature.  Improve test for
2181         whether gettimeofday.o is actually needed.
2182         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
2183         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
2184         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
2185         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2186         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
2187         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
2188         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
2189         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
2190         than worrying about sys/time.h.
2191         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
2192         Don't bother worrying about TIME_WITH_SYS_TIME.
2193         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
2194         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
2195         * m4/sys_time_h.m4: New file.
2196         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
2197         Don't include sys/time.h.  Return from main rather than exiting.
2198         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
2199         all uses changed.
2200         * modules/gethrxtime (Depends-on): Add sys_time.
2201         * modules/gettime (Depends-on): Likewise.
2202         * modules/gettimeofday (Depends-on): Likewise.
2203         * modules/nanosleep (Depends-on): Likewise.
2204         * modules/settime (Depends-on): Likewise.
2205         * modules/tempname (Depends-on): Likewise.
2206         * modules/utimens (Depends-on): Likewise.
2207         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
2208         (Include:) Change back to <sys/time.h>.
2209         (Maintainer:) Add self.
2210         * modules/sys_time: New file.
2211         * modules/tempname (Depends-on): Add gettimeofday.
2212         * tests/test-gettimeofday.c: Include <sys/time.h>
2213         rather than gettimeofday.h.
2214
2215 2007-01-17  Bruno Haible  <bruno@clisp.org>
2216
2217         * gnulib-tool (func_get_license): Revert last patch. Instead, let
2218         the license default to GPL.
2219         (func_create_testdir): Don't complain if a module is LGPL and its
2220         tests module depends on GPLed modules.
2221
2222 2007-01-17  Bruno Haible  <bruno@clisp.org>
2223
2224         * lib/gettimeofday.c (gettimeofday): Add code for the case
2225         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
2226         maximum possible value for tv->tv_usec, rather than the minimum one.
2227
2228 2005-10-08  Martin Lambers  <marlam@marlam.de>
2229 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2230 2007-01-16  Bruno Haible  <bruno@clisp.org>
2231
2232         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
2233         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
2234         gl_FUNC_GETTIMEOFDAY.
2235         (Include): Add gettimeofday.h.
2236         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
2237         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
2238         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
2239         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
2240         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
2241         * lib/gettimeofday.h: New file.
2242         * lib/gettimeofday.c: Include <sys/timeb.h>.
2243         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
2244         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2245         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
2246         fall back on time().
2247
2248         * tests/test-gettimeofday.c: New file.
2249         * modules/gettimeofday-tests: New file.
2250
2251 2007-01-16  Eric Blake  <ebb9@byu.net>
2252
2253         * modules/fnmatch (Depends-on): Depend on wchar.
2254         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
2255         * m4/fnmatch.m4: Likewise.
2256         * modules/mbchar (Makefile.am): Assume <wchar.h>.
2257         * m4/mbchar.m4: Likewise.
2258         * modules/mbswidth (Depends-on): Depend on wchar.
2259         * lib/mbswidth.c: Assume <wchar.h>.
2260         * m4/mbswidth.m4: Likewise.
2261         * modules/quotearg (Depends-on): Depend on wchar.
2262         * lib/quotearg.c: Assume <wchar.h>.
2263         * m4/quotearg.m4: Likewise.
2264         * modules/regex (Depends-on): Depend on wchar.
2265         * lib/regex_internal.h: Assume <wchar.h>.
2266         * m4/regex.m4: Likewise.
2267         * modules/stdint (Depends-on): Depend on wchar.
2268         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
2269         * m4/stdint.m4: Likewise.
2270         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
2271         * modules/strftime (Depends-on): Depend on wchar.
2272         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
2273         * modules/strtol (Depends-on): Depend on wchar.
2274         * lib/strtol.c: Assume <wchar.h>.
2275         * modules/wcwidth (Depends-on): Depend on wchar.
2276         * lib/wcwidth.h: Assume <wchar.h>.
2277         * m4/wcwidth.m4: Likewise.
2278
2279 2007-01-16  Bruno Haible  <bruno@clisp.org>
2280
2281         * modules/csharpexec-script: New, created from...
2282         * modules/csharpexec: ... this.
2283
2284 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
2285
2286         * modules/javaexec-script: New, created from...
2287         * modules/javaexec: ... this.
2288
2289 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2290
2291         * modules/poll (Dependencies): Add sys_select.
2292
2293 2007-01-15  Jim Meyering  <jim@meyering.net>
2294
2295         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
2296         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
2297         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
2298         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
2299
2300 2007-01-15  Bruno Haible  <bruno@clisp.org>
2301
2302         * modules/striconveh: New file.
2303         * lib/striconveh.h: New file.
2304         * lib/striconveh.c: New file.
2305         * MODULES.html.sh (Internationalization functions): Add striconveh.
2306
2307         * modules/striconveh-tests: New file.
2308         * tests/test-striconveh.c: New file.
2309
2310 2007-01-15  Bruno Haible  <bruno@clisp.org>
2311
2312         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
2313         not from GNU libiconv or GNU libc.
2314
2315 2007-01-15  Bruno Haible  <bruno@clisp.org>
2316
2317         * doc/gnulib-intro.texi (Copyright): Explain the different license
2318         terms for module descriptions, autoconf macros, tests, documentation.
2319
2320 2007-01-14  Bruno Haible  <bruno@clisp.org>
2321
2322         * modules/striconv-tests: New file.
2323         * tests/test-striconv.c: New file.
2324
2325 2007-01-14  Bruno Haible  <bruno@clisp.org>
2326
2327         * modules/iconv-tests: New file.
2328         * tests/test-iconv.c: New file.
2329
2330 2007-01-14  Bruno Haible  <bruno@clisp.org>
2331
2332         * gnulib-tool (func_get_license): For test modules, use the license of
2333         the main module.
2334
2335 2007-01-14  Bruno Haible  <bruno@clisp.org>
2336
2337         * modules/iconv (Include): Clarify that <iconv.h> can only be included
2338         if iconv is found to exist.
2339
2340 2007-01-14  Bruno Haible  <bruno@clisp.org>
2341
2342         * modules/c-ctype-tests: New file.
2343         * tests/test-c-ctype.c: New file.
2344
2345 2007-01-14  Bruno Haible  <bruno@clisp.org>
2346
2347         * modules/binary-io-tests: New file.
2348         * tests/test-binary-io.sh: New file.
2349         * tests/test-binary-io.c: New file.
2350
2351 2007-01-14  Bruno Haible  <bruno@clisp.org>
2352
2353         * modules/array-oset-tests: New file.
2354         * tests/test-array_oset.c: New file.
2355
2356 2007-01-14  Bruno Haible  <bruno@clisp.org>
2357
2358         * modules/array-list-tests: New file.
2359         * tests/test-array_list.c: New file.
2360
2361 2007-01-14  Bruno Haible  <bruno@clisp.org>
2362
2363         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
2364         and make.
2365         Reported by Simon Josefsson in
2366         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
2367
2368 2007-01-14  Bruno Haible  <bruno@clisp.org>
2369
2370         * modules/allocsa-tests: New file.
2371         * tests/test-allocsa.c: New file.
2372
2373 2007-01-14  Bruno Haible  <bruno@clisp.org>
2374
2375         * modules/fchdir (Depends-on): Add absolute-header.
2376         * modules/unistd (Depends-on): Likewise.
2377
2378 2006-12-30  Bruno Haible  <bruno@clisp.org>
2379
2380         * modules/fchdir: New file.
2381         * modules/unistd (Files): Add lib/unistd_.h.
2382         (Makefile.am): Generate unistd.h from unistd_.h.
2383         * lib/fchdir.c: New file.
2384         * lib/dirent_.h: New file.
2385         * lib/unistd_.h: New file.
2386         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
2387         * m4/fchdir.m4: New file.
2388         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
2389         (gl_HEADER_UNISTD): Invoke it.
2390         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
2391         function.
2392         * lib/backupfile.c (opendir, closedir): Undefine.
2393         * lib/chown.c (open, close): Undefine.
2394         * lib/clean-temp.c (open, close): Undefine.
2395         * lib/copy-file.c (open, close): Undefine.
2396         * lib/execute.c (open, close): Undefine.
2397         * lib/fsusage.c (open, close): Undefine.
2398         * lib/gc-gnulib.c (open, close): Undefine.
2399         * lib/getcwd.c (opendir, closedir): Undefine.
2400         * lib/glob.c (opendir, closedir): Undefine.
2401         * lib/javacomp.c (open, close): Undefine.
2402         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
2403         * lib/openat-proc.c (open, close): Undefine.
2404         * lib/pagealign_alloc.c (open, close): Undefine.
2405         * lib/pipe.c (open, close): Undefine.
2406         * lib/progreloc.c (open, close): Undefine.
2407         * lib/savedir.c (opendir, closedir): Undefine.
2408         * lib/utime.c (open, close): Undefine.
2409         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
2410
2411 2007-01-10  Bruno Haible  <bruno@clisp.org>
2412
2413         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
2414
2415 2007-01-12  Eric Blake  <ebb9@byu.net>
2416
2417         Provide a robust <wchar.h>.  Further simplifications are now
2418         possible in other modules, but not included here.
2419         * modules/wchar: New module.
2420         * m4/wchar.m4: New file.
2421         * lib/wchar_.h: Likewise.
2422         * modules/mbchar (Depends-on): Depend on wchar, as the first use
2423         of the new module.
2424         * MODULES.html.sh (Extended multibyte and wide character utilities):
2425         New section.
2426
2427 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
2428
2429         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
2430         to a reasonable default for memory allocation.
2431         (xreadlink): Don't allocate a huge buffer, to work around a buggy
2432         file system that reports garbage st_size values for symlinks.
2433         Problem reported by Liyang Hu.
2434
2435 2007-01-11  Simon Josefsson  <simon@josefsson.org>
2436
2437         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
2438         Emacs .#* auto-save files).
2439
2440 2007-01-11  Bruno Haible  <bruno@clisp.org>
2441
2442         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
2443         directory.
2444
2445 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
2446
2447         Use @...@ consistently in lib/wctype_.h.
2448         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
2449         on it being set to 1 or 0.
2450         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
2451         go back to AC_SUBSTing it.
2452         * modules/wctype (Makefile.am): Undo previous change.
2453
2454 2007-01-10  Eric Blake  <ebb9@byu.net>
2455
2456         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
2457         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
2458         * modules/wctype (Makefile.am): Likewise.
2459         Reported by Chris McGuire.
2460
2461 2007-01-10  Jim Meyering  <jim@meyering.net>
2462
2463         fts.c: a small readability/maintainability improvement
2464         * lib/fts.c (fts_read): Make this code slightly more readable and
2465         maintainable by hoisting the "sp->fts_cur = p" assignments to
2466         immediately follow the statements that set P.  Derived from
2467         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
2468
2469 2007-01-10  Eric Blake  <ebb9@byu.net>
2470
2471         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
2472         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
2473         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
2474         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
2475         Reported by Chris McGuire.
2476
2477 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2478
2479         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
2480         in sed script.
2481
2482 2007-01-09  Bruno Haible  <bruno@clisp.org>
2483
2484         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
2485         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
2486         variables.
2487         (func_module): Use them.
2488
2489 2007-01-09  Bruno Haible  <bruno@clisp.org>
2490
2491         * modules/unistr/base: New file.
2492         * lib/unistr.h: New file.
2493
2494         * modules/unistr/u8-to-u16: New file.
2495         * lib/unistr/u8-to-u16.c: New file.
2496
2497         * modules/unistr/u8-to-u32: New file.
2498         * lib/unistr/u8-to-u32.c: New file.
2499
2500         * modules/unistr/u16-to-u8: New file.
2501         * lib/unistr/u16-to-u8.c: New file.
2502
2503         * modules/unistr/u16-to-u32: New file.
2504         * lib/unistr/u16-to-u32.c: New file.
2505
2506         * modules/unistr/u32-to-u8: New file.
2507         * lib/unistr/u32-to-u8.c: New file.
2508
2509         * modules/unistr/u32-to-u16: New file.
2510         * lib/unistr/u32-to-u16.c: New file.
2511
2512         * modules/unistr/u8-check: New file.
2513         * modules/unistr/u16-check: New file.
2514         * modules/unistr/u32-check: New file.
2515         * lib/unistr/u8-check.c: New file.
2516         * lib/unistr/u16-check.c: New file.
2517         * lib/unistr/u32-check.c: New file.
2518
2519         * modules/unistr/u8-chr: New file.
2520         * modules/unistr/u16-chr: New file.
2521         * modules/unistr/u32-chr: New file.
2522         * lib/unistr/u8-chr.c: New file.
2523         * lib/unistr/u16-chr.c: New file.
2524         * lib/unistr/u32-chr.c: New file.
2525
2526         * modules/unistr/u8-cmp: New file.
2527         * modules/unistr/u16-cmp: New file.
2528         * modules/unistr/u32-cmp: New file.
2529         * lib/unistr/u8-cmp.c: New file.
2530         * lib/unistr/u16-cmp.c: New file.
2531         * lib/unistr/u32-cmp.c: New file.
2532
2533         * modules/unistr/u8-cpy: New file.
2534         * modules/unistr/u16-cpy: New file.
2535         * modules/unistr/u32-cpy: New file.
2536         * lib/unistr/u8-cpy.c: New file.
2537         * lib/unistr/u16-cpy.c: New file.
2538         * lib/unistr/u32-cpy.c: New file.
2539         * lib/unistr/u-cpy.h: New file.
2540
2541         * modules/unistr/u8-cpy-alloc: New file.
2542         * modules/unistr/u16-cpy-alloc: New file.
2543         * modules/unistr/u32-cpy-alloc: New file.
2544         * lib/unistr/u8-cpy-alloc.c: New file.
2545         * lib/unistr/u16-cpy-alloc.c: New file.
2546         * lib/unistr/u32-cpy-alloc.c: New file.
2547         * lib/unistr/u-cpy-alloc.h: New file.
2548
2549         * modules/unistr/u8-endswith: New file.
2550         * modules/unistr/u16-endswith: New file.
2551         * modules/unistr/u32-endswith: New file.
2552         * lib/unistr/u8-endswith.c: New file.
2553         * lib/unistr/u16-endswith.c: New file.
2554         * lib/unistr/u32-endswith.c: New file.
2555         * lib/unistr/u-endswith.h: New file.
2556
2557         * modules/unistr/u8-mblen: New file.
2558         * modules/unistr/u16-mblen: New file.
2559         * modules/unistr/u32-mblen: New file.
2560         * lib/unistr/u8-mblen.c: New file.
2561         * lib/unistr/u16-mblen.c: New file.
2562         * lib/unistr/u32-mblen.c: New file.
2563
2564         * modules/unistr/u8-mbtouc: New file.
2565         * modules/unistr/u16-mbtouc: New file.
2566         * modules/unistr/u32-mbtouc: New file.
2567         * lib/unistr/u8-mbtouc.c: New file.
2568         * lib/unistr/u16-mbtouc.c: New file.
2569         * lib/unistr/u32-mbtouc.c: New file.
2570
2571         * modules/unistr/u8-mbtouc-safe: New file.
2572         * modules/unistr/u16-mbtouc-safe: New file.
2573         * modules/unistr/u32-mbtouc-safe: New file.
2574         * lib/unistr/u8-mbtouc-safe.c: New file.
2575         * lib/unistr/u16-mbtouc-safe.c: New file.
2576         * lib/unistr/u32-mbtouc-safe.c: New file.
2577
2578         * modules/unistr/u8-move: New file.
2579         * modules/unistr/u16-move: New file.
2580         * modules/unistr/u32-move: New file.
2581         * lib/unistr/u8-move.c: New file.
2582         * lib/unistr/u16-move.c: New file.
2583         * lib/unistr/u32-move.c: New file.
2584         * lib/unistr/u-move.h: New file.
2585
2586         * modules/unistr/u8-next: New file.
2587         * modules/unistr/u16-next: New file.
2588         * modules/unistr/u32-next: New file.
2589         * lib/unistr/u8-next.c: New file.
2590         * lib/unistr/u16-next.c: New file.
2591         * lib/unistr/u32-next.c: New file.
2592
2593         * modules/unistr/u8-prev: New file.
2594         * modules/unistr/u16-prev: New file.
2595         * modules/unistr/u32-prev: New file.
2596         * lib/unistr/u8-prev.c: New file.
2597         * lib/unistr/u16-prev.c: New file.
2598         * lib/unistr/u32-prev.c: New file.
2599
2600         * modules/unistr/u8-set: New file.
2601         * modules/unistr/u16-set: New file.
2602         * modules/unistr/u32-set: New file.
2603         * lib/unistr/u8-set.c: New file.
2604         * lib/unistr/u16-set.c: New file.
2605         * lib/unistr/u32-set.c: New file.
2606         * lib/unistr/u-set.h: New file.
2607
2608         * modules/unistr/u8-startswith: New file.
2609         * modules/unistr/u16-startswith: New file.
2610         * modules/unistr/u32-startswith: New file.
2611         * lib/unistr/u8-startswith.c: New file.
2612         * lib/unistr/u16-startswith.c: New file.
2613         * lib/unistr/u32-startswith.c: New file.
2614         * lib/unistr/u-startswith.h: New file.
2615
2616         * modules/unistr/u8-stpcpy: New file.
2617         * modules/unistr/u16-stpcpy: New file.
2618         * modules/unistr/u32-stpcpy: New file.
2619         * lib/unistr/u8-stpcpy.c: New file.
2620         * lib/unistr/u16-stpcpy.c: New file.
2621         * lib/unistr/u32-stpcpy.c: New file.
2622         * lib/unistr/u-stpcpy.h: New file.
2623
2624         * modules/unistr/u8-stpncpy: New file.
2625         * modules/unistr/u16-stpncpy: New file.
2626         * modules/unistr/u32-stpncpy: New file.
2627         * lib/unistr/u8-stpncpy.c: New file.
2628         * lib/unistr/u16-stpncpy.c: New file.
2629         * lib/unistr/u32-stpncpy.c: New file.
2630         * lib/unistr/u-stpncpy.h: New file.
2631
2632         * modules/unistr/u8-strcat: New file.
2633         * modules/unistr/u16-strcat: New file.
2634         * modules/unistr/u32-strcat: New file.
2635         * lib/unistr/u8-strcat.c: New file.
2636         * lib/unistr/u16-strcat.c: New file.
2637         * lib/unistr/u32-strcat.c: New file.
2638         * lib/unistr/u-strcat.h: New file.
2639
2640         * modules/unistr/u8-strchr: New file.
2641         * modules/unistr/u16-strchr: New file.
2642         * modules/unistr/u32-strchr: New file.
2643         * lib/unistr/u8-strchr.c: New file.
2644         * lib/unistr/u16-strchr.c: New file.
2645         * lib/unistr/u32-strchr.c: New file.
2646
2647         * modules/unistr/u8-strcmp: New file.
2648         * modules/unistr/u16-strcmp: New file.
2649         * modules/unistr/u32-strcmp: New file.
2650         * lib/unistr/u8-strcmp.c: New file.
2651         * lib/unistr/u16-strcmp.c: New file.
2652         * lib/unistr/u32-strcmp.c: New file.
2653
2654         * modules/unistr/u8-strcpy: New file.
2655         * modules/unistr/u16-strcpy: New file.
2656         * modules/unistr/u32-strcpy: New file.
2657         * lib/unistr/u8-strcpy.c: New file.
2658         * lib/unistr/u16-strcpy.c: New file.
2659         * lib/unistr/u32-strcpy.c: New file.
2660         * lib/unistr/u-strcpy.h: New file.
2661
2662         * modules/unistr/u8-strcspn: New file.
2663         * modules/unistr/u16-strcspn: New file.
2664         * modules/unistr/u32-strcspn: New file.
2665         * lib/unistr/u8-strcspn.c: New file.
2666         * lib/unistr/u16-strcspn.c: New file.
2667         * lib/unistr/u32-strcspn.c: New file.
2668         * lib/unistr/u-strcspn.h: New file.
2669
2670         * modules/unistr/u8-strdup: New file.
2671         * modules/unistr/u16-strdup: New file.
2672         * modules/unistr/u32-strdup: New file.
2673         * lib/unistr/u8-strdup.c: New file.
2674         * lib/unistr/u16-strdup.c: New file.
2675         * lib/unistr/u32-strdup.c: New file.
2676         * lib/unistr/u-strdup.h: New file.
2677
2678         * modules/unistr/u8-strlen: New file.
2679         * modules/unistr/u16-strlen: New file.
2680         * modules/unistr/u32-strlen: New file.
2681         * lib/unistr/u8-strlen.c: New file.
2682         * lib/unistr/u16-strlen.c: New file.
2683         * lib/unistr/u32-strlen.c: New file.
2684         * lib/unistr/u-strlen.h: New file.
2685
2686         * modules/unistr/u8-strmblen: New file.
2687         * modules/unistr/u16-strmblen: New file.
2688         * modules/unistr/u32-strmblen: New file.
2689         * lib/unistr/u8-strmblen.c: New file.
2690         * lib/unistr/u16-strmblen.c: New file.
2691         * lib/unistr/u32-strmblen.c: New file.
2692
2693         * modules/unistr/u8-strmbtouc: New file.
2694         * modules/unistr/u16-strmbtouc: New file.
2695         * modules/unistr/u32-strmbtouc: New file.
2696         * lib/unistr/u8-strmbtouc.c: New file.
2697         * lib/unistr/u16-strmbtouc.c: New file.
2698         * lib/unistr/u32-strmbtouc.c: New file.
2699
2700         * modules/unistr/u8-strncat: New file.
2701         * modules/unistr/u16-strncat: New file.
2702         * modules/unistr/u32-strncat: New file.
2703         * lib/unistr/u8-strncat.c: New file.
2704         * lib/unistr/u16-strncat.c: New file.
2705         * lib/unistr/u32-strncat.c: New file.
2706         * lib/unistr/u-strncat.h: New file.
2707
2708         * modules/unistr/u8-strncmp: New file.
2709         * modules/unistr/u16-strncmp: New file.
2710         * modules/unistr/u32-strncmp: New file.
2711         * lib/unistr/u8-strncmp.c: New file.
2712         * lib/unistr/u16-strncmp.c: New file.
2713         * lib/unistr/u32-strncmp.c: New file.
2714
2715         * modules/unistr/u8-strncpy: New file.
2716         * modules/unistr/u16-strncpy: New file.
2717         * modules/unistr/u32-strncpy: New file.
2718         * lib/unistr/u8-strncpy.c: New file.
2719         * lib/unistr/u16-strncpy.c: New file.
2720         * lib/unistr/u32-strncpy.c: New file.
2721         * lib/unistr/u-strncpy.h: New file.
2722
2723         * modules/unistr/u8-strnlen: New file.
2724         * modules/unistr/u16-strnlen: New file.
2725         * modules/unistr/u32-strnlen: New file.
2726         * lib/unistr/u8-strnlen.c: New file.
2727         * lib/unistr/u16-strnlen.c: New file.
2728         * lib/unistr/u32-strnlen.c: New file.
2729         * lib/unistr/u-strnlen.h: New file.
2730
2731         * modules/unistr/u8-strpbrk: New file.
2732         * modules/unistr/u16-strpbrk: New file.
2733         * modules/unistr/u32-strpbrk: New file.
2734         * lib/unistr/u8-strpbrk.c: New file.
2735         * lib/unistr/u16-strpbrk.c: New file.
2736         * lib/unistr/u32-strpbrk.c: New file.
2737         * lib/unistr/u-strpbrk.h: New file.
2738
2739         * modules/unistr/u8-strrchr: New file.
2740         * modules/unistr/u16-strrchr: New file.
2741         * modules/unistr/u32-strrchr: New file.
2742         * lib/unistr/u8-strrchr.c: New file.
2743         * lib/unistr/u16-strrchr.c: New file.
2744         * lib/unistr/u32-strrchr.c: New file.
2745
2746         * modules/unistr/u8-strspn: New file.
2747         * modules/unistr/u16-strspn: New file.
2748         * modules/unistr/u32-strspn: New file.
2749         * lib/unistr/u8-strspn.c: New file.
2750         * lib/unistr/u16-strspn.c: New file.
2751         * lib/unistr/u32-strspn.c: New file.
2752         * lib/unistr/u-strspn.h: New file.
2753
2754         * modules/unistr/u8-strstr: New file.
2755         * modules/unistr/u16-strstr: New file.
2756         * modules/unistr/u32-strstr: New file.
2757         * lib/unistr/u8-strstr.c: New file.
2758         * lib/unistr/u16-strstr.c: New file.
2759         * lib/unistr/u32-strstr.c: New file.
2760         * lib/unistr/u-strstr.h: New file.
2761
2762         * modules/unistr/u8-strtok: New file.
2763         * modules/unistr/u16-strtok: New file.
2764         * modules/unistr/u32-strtok: New file.
2765         * lib/unistr/u8-strtok.c: New file.
2766         * lib/unistr/u16-strtok.c: New file.
2767         * lib/unistr/u32-strtok.c: New file.
2768         * lib/unistr/u-strtok.h: New file.
2769
2770         * modules/unistr/u8-uctomb: New file.
2771         * modules/unistr/u16-uctomb: New file.
2772         * modules/unistr/u32-uctomb: New file.
2773         * lib/unistr/u8-uctomb.c: New file.
2774         * lib/unistr/u16-uctomb.c: New file.
2775         * lib/unistr/u32-uctomb.c: New file.
2776
2777         * MODULES.html.sh (Unicode string functions): Add the new modules.
2778
2779 2007-01-08  Bruno Haible  <bruno@clisp.org>
2780
2781         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
2782         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
2783         subdirectories.
2784
2785 2007-01-08  Karl Berry  <karl@gnu.org>
2786
2787         * doc/error.texi: mention that main() fns must set program_name
2788         when progname is used.
2789
2790 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
2791
2792         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
2793         WCTYPE_H is empty, for the benefit of builds from non-distclean
2794         directories.  Problem reported by Eric Blake in
2795         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
2796
2797 2007-01-08  Bruno Haible  <bruno@clisp.org>
2798
2799         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
2800         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
2801         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
2802         PROVIDE_CANONICALIZE_FILENAME_MODE.
2803         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
2804
2805 2007-01-08  Bruno Haible  <bruno@clisp.org>
2806
2807         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
2808         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
2809         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
2810         * lib/fts.c: Likewise.
2811         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
2812
2813 2006-12-25  Bruno Haible  <bruno@clisp.org>
2814
2815         * modules/utf8-ucs4-safe: New file.
2816         * lib/utf8-ucs4-safe.h: New file.
2817         * lib/unistr/utf8-ucs4-safe.c: New file.
2818
2819         * modules/utf16-ucs4-safe: New file.
2820         * lib/utf16-ucs4-safe.h: New file.
2821         * lib/unistr/utf16-ucs4-safe.c: New file.
2822
2823         * MODULES.html.sh (Unicode string functions): Add the new modules.
2824
2825 2007-01-08  Bruno Haible  <bruno@clisp.org>
2826
2827         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
2828         (Depends-on): Add unitypes.
2829         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
2830         (u8_mbtouc_aux): Move out to separate file.
2831         (u8_mbtouc): Use ucs4_t, uint8_t types.
2832         * lib/unistr/utf8-ucs4.c: New file.
2833
2834         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
2835         (Depends-on): Add unitypes.
2836         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
2837         (u16_mbtouc_aux): Move out to separate file.
2838         (u16_mbtouc): Use ucs4_t, uint16_t types.
2839         * lib/unistr/utf16-ucs4.c: New file.
2840
2841         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
2842         (Depends-on): Add unitypes.
2843         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
2844         (u8_uctomb_aux): Move out to separate file.
2845         (u8_uctomb): Use ucs4_t, uint8_t types.
2846         * lib/unistr/ucs4-utf8.c: New file.
2847
2848         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
2849         (Depends-on): Add unitypes.
2850         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
2851         (u16_uctomb_aux): Move out to separate file.
2852         (u16_uctomb): Use ucs4_t, uint16_t types.
2853         * lib/unistr/ucs4-utf16.c: New file.
2854
2855 2006-12-25  Bruno Haible  <bruno@clisp.org>
2856
2857         * modules/unitypes: New file.
2858         * lib/unitypes.h: New file.
2859         * MODULES.html.sh (func_all_modules): New section "Unicode string
2860         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
2861         this section. Add unitypes.
2862
2863 2007-01-08  Bruno Haible  <bruno@clisp.org>
2864
2865         Avoid variable names that conflict with those from libtool.
2866         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
2867         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
2868         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
2869         library_names_spec to acl_library_names_spec, hardcode_* to
2870         acl_hardcode_*.
2871         Reported by Ralf Wildenhues.
2872
2873 2007-01-08  Bruno Haible  <bruno@clisp.org>
2874
2875         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
2876         definition.
2877         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
2878         definition.
2879         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
2880         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
2881         definition.
2882         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
2883         definition.
2884         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
2885         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
2886         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
2887         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
2888         definition.
2889         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
2890         definition.
2891         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
2892         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
2893         GC_USE_<algorithm>.
2894         * lib/gc-libgcrypt.c: Likewise.
2895         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
2896         * modules/gc-arctwo (configure.ac): Likewise.
2897         * modules/gc-des (configure.ac): Likewise.
2898         * modules/gc-hmac-md5 (configure.ac): Likewise.
2899         * modules/gc-hmac-sha1 (configure.ac): Likewise.
2900         * modules/gc-md2 (configure.ac): Likewise.
2901         * modules/gc-md4 (configure.ac): Likewise.
2902         * modules/gc-md5 (configure.ac): Likewise.
2903         * modules/gc-random (configure.ac): Likewise.
2904         * modules/gc-rijndael (configure.ac): Likewise.
2905         * modules/gc-sha1 (configure.ac): Likewise.
2906
2907 2007-01-08  Bruno Haible  <bruno@clisp.org>
2908
2909         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
2910         macro definition.
2911         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
2912         definition.
2913         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
2914         definition.
2915         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
2916         * modules/fcntl-safer (configure.ac): Likewise.
2917         * modules/fopen-safer (configure.ac): Likewise.
2918         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
2919         GNULIB_FWRITEERROR macro definition.
2920
2921 2007-01-08  Bruno Haible  <bruno@clisp.org>
2922
2923         * m4/gnulib-common.m4: New file.
2924         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
2925         (func_get_filelist): Add m4/gnulib-common.m4.
2926
2927 2007-01-08  Bruno Haible  <bruno@clisp.org>
2928
2929         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
2930         command.
2931
2932 2007-01-08  Jim Meyering  <jim@meyering.net>
2933
2934         Use a more robust test for a "can't happen" condition.
2935         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
2936         narrowed the st_size value.  Presuming the "can't happen" condition
2937         is true, that narrowing could conceivably convert an invalid st_size
2938         value into a valid one.  Instead, use a change based on Matthew
2939         Woehlke's original patch.
2940
2941         Slight readability improvement: use an assert-like macro
2942         in place of literal "abort ()" uses.
2943         * lib/fts.c (fts_assert): Define.
2944         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
2945         Use this macro instead of a bare 'abort'.
2946
2947 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
2948
2949         Don't worry about using IRIX 5.3's wctype.h broken definitions;
2950         simply work around them.
2951         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
2952         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
2953         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
2954         declaring.
2955         Don't bother to define as macros, since the standard doesn't require it.
2956         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
2957         longer worry about IRIX 5.3.
2958         (HAVE_WCTYPE_CTMP_BUG): Remove.
2959
2960 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
2961
2962         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
2963         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
2964         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
2965         Problems reported by Georg Schwarz for IRIX 5.3.
2966
2967         * gnulib-tool (autoconf_minversion): Take the maximum version number
2968         found, not the minimum.  Problem reported by James Youngman.
2969
2970 2007-01-03  Karl Berry  <karl@gnu.org>
2971
2972         * doc/error.texi: new file, explaining interaction with progname.
2973         * doc/gnulib.texi: include it.  Update copyright.
2974
2975 2007-01-03  Simon Josefsson  <simon@josefsson.org>
2976
2977         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
2978         AC_CANONICAL_HOST, to improve autobuild outputs.
2979
2980 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
2981             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
2982
2983         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
2984         sockets, server sockets, and other file descriptors.  Count errors
2985         to compute the return value.  Reorder the code a bit to be easier
2986         to follow.  Don't set event bits that were not requested (except
2987         POLLERR and POLLHUP).
2988
2989 2007-01-01  Bruno Haible  <bruno@clisp.org>
2990
2991         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
2992
2993 2007-01-03  Jim Meyering  <jim@meyering.net>
2994
2995         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
2996
2997 2007-01-02  Bruno Haible  <bruno@clisp.org>
2998
2999         * modules/settime (Include): Require timespec.h.
3000         * modules/nanosleep (Include): Likewise.
3001
3002 2007-01-01  Bruno Haible  <bruno@clisp.org>
3003
3004         * gnulib-tool (func_emit_copyright_notice): Bump year.
3005         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
3006
3007 2007-01-01  Bruno Haible  <bruno@clisp.org>
3008
3009         Improve support for OpenBSD.
3010         * build-aux/config.rpath (libname_spec): Export.
3011         (library_names_spec): New variable. Export.
3012         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
3013         library_names_spec from the config.rpath output. Locate shared library
3014         through the name pattern in library_names_spec.
3015
3016 2007-01-01  Eric Blake  <ebb9@byu.net>
3017
3018         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
3019
3020 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3021
3022         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
3023         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
3024         assume the C locale, and avoid an "eval" that could cause trouble.
3025         Problem with SORT reported by Bob Proulx.
3026
3027         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
3028         Define.  Trivial patch from Henning Nielsen Lund, originally
3029         sent to bug-grep@gnu.org today.
3030
3031 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
3032
3033         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
3034         struct stat.  Problem reported by Henning Nielsen Lund.
3035         * lib/acl.c: Include acl.h first, to check interface.  Don't
3036         bother to include sys/types.h and sys/stat.h again.
3037
3038 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
3039
3040         Import the following change from libc; problem reported by
3041         Sven Verdoolaege.
3042
3043         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
3044
3045         [BZ #1373]
3046         * lib/argp.h: Remove __NTH for __argp_usage inline function.
3047
3048 2006-12-28  Jim Meyering  <jim@meyering.net>
3049
3050         * build-aux/announce-gen: Do not assume that the package
3051         builds any of tar.gz, tar.bz2, and .xdelta files.
3052         Suggestion from Simon Josefsson.
3053
3054 2006-12-28  Simon Josefsson  <simon@josefsson.org>
3055
3056         * modules/announce-gen: New file.
3057
3058 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
3059
3060         * lib/mbchar.h: Just include <wctype.h>; the wctype module
3061         handles its gotchas now.
3062         * lib/mbswidth.c: Likewise.
3063         * lib/wcwidth.h: Likewise.
3064         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
3065         and iswcntrl; the wctype module does this stuff now.
3066         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
3067         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3068         * modules/mbchar (Depends-on): Add wctype.
3069         * modules/mbswidth (Depends-on): Likewise.
3070         * modules/wcwidth (Depends-on): Likewise.
3071
3072 2006-12-27  Eric Blake  <ebb9@byu.net>
3073
3074         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
3075         module uses more than what <wctype.h> is required to provide.
3076
3077 2006-12-26  Eric Blake  <ebb9@byu.net>
3078
3079         * gnulib-tool (sed_extract_prog): Avoid space-tab.
3080
3081 2006-12-26  Eric Blake  <ebb9@byu.net>
3082
3083         * modules/absolute-header: New module.
3084         * modules/fcntl (Depends-on): Depend on it.
3085         * modules/inttypes (Depends-on): Likewise.
3086         * modules/stdint (Depends-on): Likewise.
3087         * modules/sys_stat (Depends-on): Likewise.
3088         * modules/wctype (Depends-on): Likewise.
3089         * MODULES.html.sh (Support for building libraries and
3090         executables): Document it.
3091
3092 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3093
3094         * gnulib-tool (SED): Remove, undoing previous change.
3095         The problem was that it broke coreutils on Solaris, because
3096         "sed --posix" leaked into a makefile.
3097         (sed): New alias, if 'alias' and GNU sed.
3098
3099 2006-12-24  Jim Meyering  <jim@meyering.net>
3100
3101         Work around an fchownat bug in glibc-2.4:
3102         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
3103         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
3104         in spite of the -P option.
3105         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
3106         New macros.
3107         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
3108         * modules/openat (Files): Add lib/fchownat.c.
3109         * lib/openat.c (fchownat): Don't define here.  Move to...
3110         * lib/fchownat.c: ...this new file.
3111
3112 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
3113
3114         Fix bug reported by Bruno Haible in
3115         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
3116         where quotearg.c didn't compile on Mac OS X 10.2 because it
3117         lacks <wchar.h> and wint_t.
3118         * lib/wctype_.h (__wctype_wint_t): New type.
3119         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
3120         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
3121         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
3122         Arg is now of type __wctype_wint_t, not wint_t.
3123         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
3124         substitute HAVE_WINT_T.
3125         * modules/wctype (Files): Add m4/wint_t.m4.
3126         (wctype.h): Substitute HAVE_WINT_T.
3127
3128 2006-12-23  Bruno Haible  <bruno@clisp.org>
3129
3130         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
3131
3132 2006-12-23  Bruno Haible  <bruno@clisp.org>
3133
3134         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
3135         S_ISLNK.
3136         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
3137         mingw.
3138
3139 2006-12-22  Bruno Haible  <bruno@clisp.org>
3140
3141         * lib/copy-file.c: Include acl.h.
3142         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
3143         Close the file descriptors only after being done with copy_acl.
3144         * modules/copy-file (Depends-on): Add acl.
3145
3146 2006-12-22  Bruno Haible  <bruno@clisp.org>
3147
3148         * gnulib-tool (SED): New variable.
3149         Use $SED instead of sed everywhere.
3150
3151 2006-12-22  Bruno Haible  <bruno@clisp.org>
3152
3153         * modules/no-c++: New file.
3154         * m4/no-c++.m4: New file.
3155         * MODULES.html.sh (Support for building libraries and executables):
3156         Add no-c++.
3157
3158 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
3159
3160         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
3161         Include <limits.h>, and use its INT_MAX to rewrite the
3162         j loop so that it does not overflow 'int'.  Problem reported by
3163         Ralf Wildenhues in
3164         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
3165         Play it safe by shifting left by 1 rather than multiplying by 2,
3166         as GCC is less likely to optimize this away when the value
3167         is signed (when it assumes overflow leads to undefined behavior).
3168         Also, don't assume time_t uses two's complement.
3169
3170 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3171
3172         * MODULES.html.sh: New module wctype.
3173         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
3174         * lib/fnmatch.c: Don't bother to include <wchar.h> before
3175         <wctype.h>, since the new wctype module should fix this.
3176         * lib/quotearg.c: Include <wctype.h> unconditionally, since
3177         the wctype module should arrange for it.
3178         * lib/regex_internal.h: Likewise.
3179         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
3180         since the wctype module should handle this now.
3181         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
3182         * modules/fnmatch (Depends-on): Add wctype.
3183         * modules/quotearg (Depends-on): Likewise.
3184         * modules/regex (Depends-on): Likewise.
3185
3186 2006-12-19  Bruno Haible  <bruno@clisp.org>
3187
3188         * lib/strdup.h [C++]: Wrap definitions in extern "C".
3189         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
3190
3191 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3192
3193         * modules/savewd (Depends-on): Fix dependency on fcntl.
3194
3195 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3196
3197         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
3198         conforms to C99, rather than relying on the user's environment
3199         setting of STDINT_H.
3200
3201 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3202         and Eric Blake  <ebb9@byu.net>
3203
3204         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
3205         This is more consistent with the other defines here.
3206         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
3207         Port to z/OS.  Problem reported by Paul Gilmartin.
3208         Change local vars to use gl_ prefix rather than ac_.
3209         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
3210         with other defines.
3211         * modules/double-slash-root: New module.
3212         * modules/dirname (Files): Remove m4/double-slash-root.m4.
3213         (Depends-on): Add double-slash-root.
3214         * MODULES.html.sh (File system functions): Mention new module.
3215
3216 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
3217
3218         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
3219         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
3220         This is for the benefit of gzip, which doesn't do i18n.
3221
3222 2006-12-12  Jim Meyering  <jim@meyering.net>
3223
3224         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
3225         Reported by Andreas Schwab <schwab@suse.de>.
3226
3227 2006-12-12  Bruno Haible  <bruno@clisp.org>
3228
3229         Merge these changes.
3230         2006-09-05  Bruno Haible  <bruno@clisp.org>
3231         * lib/iconvme.c (iconv_string): No need to save and restore errno when
3232         iconv_alloc succeeded.
3233         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
3234         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
3235         test for " && dest " at the end - dest is always != NULL there. Call
3236         iconv with 4xNULL arguments initially, to reset the state. Call iconv
3237         with 2xNULL arguments, also to flush the state storage. Handle the
3238         IRIX iconv behaviour. Realloc the final result, to throw away unused
3239         memory.
3240
3241 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
3242
3243         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
3244         and fchmodat unconditionally, since glibc 2.4 has them.
3245         Problem reported by Arkadiusz Miskiewicz.
3246
3247 2006-12-10  Bruno Haible  <bruno@clisp.org>
3248
3249         * gnulib-tool (func_import): Show the include files only for those
3250         modules that are copied and specified.
3251         Reported by Karl Berry.
3252
3253 2006-12-08  Jim Meyering  <jim@meyering.net>
3254
3255         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
3256         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
3257
3258         * build-aux/announce-gen: Add two new options, both optional:
3259         --bootstrap-tools=TOOL_LIST
3260               a comma-separated list of tools, e.g.,
3261               autoconf,automake,bison,gnulib
3262         --gnulib-snapshot-date=DATE
3263               if gnulib is in the bootstrap tool list,
3264               then report this as the snapshot date.
3265               If not specified, use the current date/time.
3266               If you specify a date here, be sure it's UTC.
3267
3268 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3269
3270         * tests/test-argp-2.sh: Fix test to match actual output.
3271         (func_compare): Fix sed script to be portable.
3272
3273 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
3274
3275         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
3276         workaround for this case.  It is not autoconfigured now; offhand
3277         it's hard to see how to autoconfigure it.
3278
3279 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
3280
3281         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
3282         a directory that is about to be chowned.  Such a directory's
3283         initial file permissions should permit the owner only and this
3284         should not be changed until after the chown, since the group and
3285         other bits would be incorrect if they granted permission before
3286         the chown.
3287
3288         Fix porting problem for iswctype reported by Georg Schwarz in:
3289         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
3290         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
3291         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
3292         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
3293         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3294
3295 2006-12-03  Jim Meyering  <jim@meyering.net>
3296
3297         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
3298         p->fts_statp may not yet be defined.
3299         (fts_read): Instead, set it in the caller, once p->fts_statp is
3300         sure to be defined, and corresponds to a top-level directory.
3301         This bug made du -x fail.  Here's the coreutils test case:
3302         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
3303         Reported by Mike Frysinger.
3304
3305 2006-12-01  Jim Meyering  <jim@meyering.net>
3306
3307         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
3308         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
3309         Reported by Simon Josefsson.
3310
3311 2006-11-30  Jim Meyering  <jim@meyering.net>
3312
3313         * m4/warning.m4: Use the all-permissive copyright notice
3314         recommended by RMS (rather than LGPL).
3315         * m4/vararrays.m4: Likewise.
3316         * m4/flexmember.m4: Likewise.
3317
3318 2006-11-29  Bruno Haible  <bruno@clisp.org>
3319
3320         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3321         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
3322         using +=.
3323         Reported by Simon Josefsson <simon@josefsson.org>.
3324
3325 2006-11-28  James Youngman <jay@gnu.org>
3326
3327         * README: Advise users that they might find the bug-gnulib@gnu.org
3328         and autotools-announce@gnu.org mailing lists useful.
3329
3330 2006-11-28  Bruno Haible  <bruno@clisp.org>
3331
3332         * m4/ptrdiff_max.m4: Remove file.
3333
3334 2006-11-21  Bruno Haible  <bruno@clisp.org>
3335
3336         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
3337         _AC_COMPUTE_INT.
3338         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3339         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
3340         _AC_COMPUTE_INT.
3341         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3342         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
3343         _AC_COMPUTE_INT.
3344         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3345
3346 2006-11-28  Jim Meyering  <jim@meyering.net>
3347
3348         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
3349         warning from "gcc -Wshadow" about shadowing the builtin.
3350
3351 2006-11-27  Bruno Haible  <bruno@clisp.org>
3352
3353         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
3354         _AC_COMPUTE_INT.
3355         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3356
3357 2006-11-27  Bruno Haible  <bruno@clisp.org>
3358             Paul Eggert  <eggert@cs.ucla.edu>
3359
3360         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
3361
3362 2006-11-26  Bruno Haible  <bruno@clisp.org>
3363
3364         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3365         noinst_LTLIBRARIES.
3366
3367 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
3368             Bruno Haible  <bruno@clisp.org>
3369
3370         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
3371         if compiling with "gcc -ansi".
3372
3373 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
3374
3375         Fix some incompatibilities with gcc -ansi -pedantic.
3376         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
3377         if compiling pedantically with GCC, unless it's C99 or later.
3378         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
3379         it mishandles gcc -ansi -pedantic as well.
3380         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
3381         if gcc -pedantic.
3382         * lib/regexec.c (check_node_accept_bytes): Don't use auto
3383         initializers for struct if -pedantic, unless it's C99 or later.
3384
3385 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
3386
3387         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
3388         Don't close an fd more than once. Identical atimes indicate
3389         success, not failure.
3390
3391 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
3392
3393         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
3394
3395 2006-11-23  Jim Meyering  <jim@meyering.net>
3396
3397         * build-aux/announce-gen: New file.  From coreutils.
3398
3399 2006-11-22  Jim Meyering  <jim@meyering.net>
3400
3401         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
3402         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
3403         (fts_read): Use a temporary to narrow the overused st_size member
3404         before using it in a switch statement.  Reported by Matthew Woehlke.
3405
3406         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
3407         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
3408
3409 2006-11-20  Bruno Haible  <bruno@clisp.org>
3410
3411         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
3412         changequote instead of pairs of brackets.
3413         Reported by Andreas Schwab <schwab@suse.de>.
3414
3415 2006-11-21  Jim Meyering  <jim@meyering.net>
3416
3417         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
3418         so as to remain compatible with older compilers.
3419         Patch from Michael Deutschmann.
3420
3421 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3422
3423         * MODULES.html.sh (File system functions): Add openat.
3424
3425         * lib/openat.h (rpl_fstatat): New macro, if
3426         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
3427         (fstatat): Define to rpl_fstatat under the same conditions,
3428         unless COMPILING_FSTATAT.
3429         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
3430         seems to have the bug.
3431         * lib/fstatat.c: New file.
3432         * modules/openat (Files): Add it.
3433
3434 2006-11-20  Bruno Haible  <bruno@clisp.org>
3435
3436         * Makefile: New file.
3437
3438 2006-11-20  Jim Meyering  <jim@meyering.net>
3439
3440         The beginnings of syntax-related checks for gnulib.
3441         * lib/Makefile: New file.
3442         * lib/t-idcache: New script.  Ensure that the two halves of
3443         idcache.c stay in sync.
3444
3445         * lib/idcache.c: Adjust comments in user- and group- portions to
3446         be more accurate, and to be consistent with one another.
3447
3448 2006-11-20  Jim Meyering  <jim@meyering.net>
3449
3450         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
3451         continue using the flexible array member (thus, this module performs
3452         half as many malloc calls), with the addition that...
3453         (getgroup, getuser): Consistently record a non-match via an empty
3454         "name" string, and map an empty string match to a NULL return value.
3455         * modules/idcache (Depends-on): Re-add flexmember.
3456
3457         * lib/idcache.c (getuser): Remove all uses of the register keyword.
3458         (getuidbyname, getgroup, getgidbyname): Likewise.
3459
3460         Use cleaner syntax: NULL rather than 0.
3461         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
3462
3463 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3464
3465         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
3466         It mishandled the case where the group was missing.
3467         Problem reported by Greg Schafer.
3468         * modules/idcache: Likewise.
3469
3470 2006-11-18  Jim Meyering  <jim@meyering.net>
3471
3472         * check-module (%exempt_header): Add exception for some
3473         conditionally-included headers.
3474
3475         * modules/i-ring (Depends-on): Add verify.
3476         (License): Change to LGPL.
3477
3478 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
3479
3480         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
3481         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
3482         and inttostr.h.  Use snprintf rather than uinttostr, so that
3483         LGPLed code doesn't depend on GPLed.
3484
3485 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
3486
3487         * modules/inline (License): Change from GPL to LGPL.
3488
3489 2006-11-17  Jim Meyering  <jim@meyering.net>
3490
3491         * modules/d-type (License): Switch to LGPL.
3492
3493 2006-11-15  Bruno Haible  <bruno@clisp.org>
3494
3495         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
3496
3497 2006-11-15  Eric Blake  <ebb9@byu.net>
3498
3499         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
3500         the module dependency.
3501
3502 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
3503             Bruno Haible  <bruno@clisp.org>
3504
3505         * gnulib-tool (func_create_testdir): Add license consistency check.
3506
3507 2006-11-15  Eric Blake  <ebb9@byu.net>
3508
3509         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
3510         random "(cached)" in configure output.
3511
3512 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3513
3514         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
3515         test for conforming inttypes.h is both announced and cached.
3516
3517         * MODULES.html.sh (seen_modules, seen_files): New variables.
3518         (func_module): Rewrite to use a few less gnulib-tool and sed
3519         invocations.  Avoid a couple of quadratic algorithms for ...
3520         (missed_modules, missed_files): ... these, with ...
3521         (func_append, func_tmpdir): ... these new functions, from
3522         gnulib-tool.  Analogously, install traps for cleanup.
3523
3524         * tests/test-gc.c (main): Remove unused variables.
3525         * tests/test-read-file.c: Include stdlib.h, for 'free'.
3526
3527 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
3528
3529         * modules/inttostr (License): Change to LGPL.
3530
3531 2006-11-14  Eric Blake  <ebb9@byu.net>
3532
3533         * modules/tempname (License): Change to LGPL.
3534
3535 2006-11-14  Eric Blake  <ebb9@byu.net>
3536
3537         * doc/functions.texi (Function Portability): *printf functions on
3538         Cygwin now understand all POSIX size specifiers.
3539
3540 2006-11-14  Bruno Haible  <bruno@clisp.org>
3541
3542         * modules/c-ctype (License): Change to LGPL.
3543
3544 2006-11-12  Bruno Haible  <bruno@clisp.org>
3545
3546         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
3547         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
3548         for GNOME libraries, for which the include files are installed in
3549         subdirectories of $prefix/include.
3550
3551 2006-11-12  Bruno Haible  <bruno@clisp.org>
3552
3553         * m4/lib-link.m4: Require at least autoconf-2.54.
3554         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
3555         name to underscores for the --with option.
3556
3557 2006-11-13  Bruno Haible  <bruno@clisp.org>
3558
3559         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
3560         the tests directory.
3561         Reported by Ralf Wildenhues.
3562
3563 2006-11-13  Bruno Haible  <bruno@clisp.org>
3564
3565         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
3566         (func_emit_initmacro_end): Undo the override here.
3567         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
3568         Works around the famous automake error in coreutils.
3569
3570 2006-11-13  Eric Blake  <ebb9@byu.net>
3571
3572         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
3573         element, not its node.
3574
3575 2006-11-12  Bruno Haible  <bruno@clisp.org>
3576
3577         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
3578         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
3579
3580 2006-11-12  Bruno Haible  <bruno@clisp.org>
3581
3582         * gnulib-tool: New option --local-symlink.
3583         (func_usage): Document it.
3584         (lsymbolic): New variable.
3585         (func_import, func_create_testdir): If --symlink was not specified,
3586         test whether --local-symlink was specified and the file comes from
3587         the local_gnulib_dir.
3588
3589 2006-11-12  Bruno Haible  <bruno@clisp.org>
3590
3591         * gnulib-tool (func_ln): New function.
3592         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
3593
3594 2006-11-12  Bruno Haible  <bruno@clisp.org>
3595
3596         Finish support for source files in subdirectories.
3597         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
3598         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
3599         AUTOMAKE_OPTIONS.
3600         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
3601
3602 2006-11-12  Bruno Haible  <bruno@clisp.org>
3603
3604         * gnulib-tool (func_get_automake_snippet): Synthesize also an
3605         EXTRA_lib_SOURCES augmentation.
3606         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
3607
3608 2006-11-12  Jim Meyering  <jim@meyering.net>
3609
3610         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
3611         file descriptors.  This also averts a failure on systems with
3612         native openat support when a traversed directory lacks "x" access.
3613         * lib/fts_.h: Include "i-ring.h"
3614         (struct FTS) [fts_fd_ring]: New member.
3615         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
3616         (FCHDIR): Add parentheses.
3617         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
3618         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
3619         When descending, rather than simply closing the previous
3620         fts_cwd_fd value, push that file descriptor onto the ring.
3621         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
3622         (fts_open): Initialize the new fd_ring member.
3623         (fts_close): Clear the ring.
3624         (fts_safe_changedir): When possible, use our new fd_ring to skip
3625         the diropen and fstat and dev/ino comparison that would normally
3626         accompany a virtual `chdir ("..")'.
3627
3628         * modules/fts (Depends-on): Add i-ring.
3629         * modules/i-ring: New module.
3630         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
3631         * m4/i-ring.m4: New file.
3632
3633 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3634
3635         * gnulib-tool (func_create_testdir): Fix replacement of
3636         `build-aux' in configure.ac.  Run autotools in gltests
3637         subdirectory.
3638         (func_create_testdir, func_create_megatestdir, test): There is
3639         no need for '--force' in most autotool invocations in a new
3640         tree.  Actually fail the whole test if any of the tools, or the
3641         configure or make stages fail.
3642
3643         Sync from Automake.
3644         * build-aux/gnupload: Revert last change.  Add pointer to upload
3645         instructions of the GNU Maintenance Instructions.
3646         Suggestion by Karl Berry.
3647
3648 2006-11-10  Jim Meyering  <jim@meyering.net>
3649
3650         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
3651
3652 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3653
3654         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
3655         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
3656         (bind_textdomain_codeset) [! ENABLE_NLS]:
3657         Evaluate all the arguments.  That way, callers get compatible behavior
3658         if the arguments have side effects.  Also, it avoids some GCC
3659         diagnostics in some cases; Joel E. Denny reported problems when Bison
3660         was configured with --enable-gcc-warnigs.
3661
3662 2006-11-10  Jim Meyering  <jim@meyering.net>
3663
3664         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
3665         relevant options in CFLAGS (like -O, -fno-inline) are taken into
3666         account.
3667
3668 2006-11-10  Jim Meyering  <jim@meyering.net>
3669
3670         * modules/inline: New file/module.
3671         * modules/xalloc (Files): Remove m4/inline.m4.
3672         (Depends-on): Add inline, instead.
3673         * modules/oset: Likewise.
3674         * modules/list: Likewise.
3675
3676 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3677
3678         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
3679         Problem reported by Matthew Woehlke.
3680
3681 2006-11-09  Bruno Haible  <bruno@clisp.org>
3682
3683         * lib/tempname.c (gen_tempname): Remove variant that invokes
3684         __gen_tempname.
3685         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
3686         __gen_tempname.
3687
3688 2006-11-08  Bruno Haible  <bruno@clisp.org>
3689
3690         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
3691         to 'yes' instead of 'cross-compiling'.
3692
3693 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
3694
3695         * lib/quotearg.h (quotearg_free): New decl.
3696         * lib/quotearg.c (quotearg_free): New function.
3697         (slot0, nslots, slotvec0, slotvec):
3698         Now file-scope so that quotearg_free can get at them.
3699
3700 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3701
3702         Sync from Automake.
3703         * build-aux/gnupload: Add missing 'gnu' to example URL.
3704         Report by Karl Berry.
3705
3706 2006-11-08  Bruno Haible  <bruno@clisp.org>
3707
3708         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
3709         Suggested by Paul Eggert.
3710
3711 2006-11-08  Jim Meyering  <jim@meyering.net>
3712
3713         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
3714         It's already included if !_LIBC.
3715         (fts_safe_changedir): Add a comment.
3716
3717 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
3718
3719         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
3720         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
3721         Matthew Woehlke.
3722
3723         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
3724         definitions up, to avoid colliding with change below.
3725         (static_inline) [HAVE_INLINE]: New macro.
3726         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
3727         Provide extern decls when !HAVE_INLINE.  Do not define unless
3728         static_inline is defined, either by us or by xmalloc.c.  Use
3729         static_inline rather than static inline.
3730         (XCALLOC): Optimize sizeof(T) = 1 case.
3731         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
3732
3733 2006-11-07  Bruno Haible  <bruno@clisp.org>
3734
3735         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
3736         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
3737         AC_C_INLINE.
3738         * modules/xalloc (Files): Add m4/inline.m4.
3739
3740 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3741
3742         * README: Fix typo.
3743         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
3744         (Miscellanous Notes): ...from this.
3745
3746 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
3747
3748         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3749         Mention that offsetof should be used instead of sizeof.
3750         From Bruno Haible.
3751
3752 2006-11-07  Bruno Haible  <bruno@clisp.org>
3753
3754         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
3755
3756 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3757
3758         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
3759         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
3760         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
3761         (gl_tree_add_before, gl_tree_add_after):
3762         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
3763         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
3764         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
3765         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
3766         (gl_linked_add_after, gl_linked_add_at): Likewise.
3767         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
3768         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
3769         (gl_tree_add_before, gl_tree_add_after): Likewise.
3770         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
3771         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
3772         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
3773
3774 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3775
3776         * lib/gl_oset.h: Use C comment style, not C++ comment style.
3777
3778 2006-11-06  Bruno Haible  <bruno@clisp.org>
3779
3780         * m4/inline.m4: New file.
3781         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
3782         * modules/list (Files): Add m4/inline.m4.
3783         * modules/oset (Files): Likewise.
3784
3785 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3786
3787         * lib/idcache.c: Include <stddef.h>, for offsetof.
3788         (struct userid.name): Change from char * to a flexible array member.
3789         All uses changed.
3790         * modules/idcache (Depends-on): Add flexmember.
3791
3792         * MODULES.html.sh (Core language properties): New module flexmember.
3793         * modules/flexmember, m4/flexmember.m4: New files.
3794
3795         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
3796         inline functions that are identical with the old xnmalloc_inline,
3797         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
3798         that we can avoid some unnecessary integer multiplications and
3799         divisions in the common case where the element size is known at
3800         compile time.
3801         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
3802         needed.
3803         (xnboundedmalloc): Remove.
3804         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
3805         arguments, for consistency with rest of this header.
3806         (xcharalloc): Rewrite using XNMALLOC.
3807         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
3808         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
3809         versions have been moved to lib/xalloc.h and renamed to be the
3810         non-*_inline versions.
3811         (xmalloc, xrealloc): Implement without reference to the xnmalloc
3812         and xnrealloc functions, since those functions are now inline and
3813         now call us.
3814         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
3815         renaming described above.
3816         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
3817         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
3818         captures the dependency in AC_C_INLINE.
3819
3820         New module canonicalize-lgpl, proposed by Charles Wilson in
3821         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
3822         with a few small changes afterwards.
3823         * MODULES.html.sh (File system functions): New module
3824         canonicalize-lgpl.
3825         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
3826         and canonicalize_file_name.
3827         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
3828         * modules/canonicalize-lgpl: New files.
3829
3830 2006-11-05  Bruno Haible  <bruno@clisp.org>
3831
3832         * gnulib-tool (func_import, func_create_testdir): Create directories
3833         also for files in subdirectories of lib/.
3834
3835 2006-11-05  Bruno Haible  <bruno@clisp.org>
3836
3837         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
3838         ANSI C compliant.
3839
3840 2006-11-03  Bruno Haible  <bruno@clisp.org>
3841
3842         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
3843         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
3844         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
3845         (xnboundedmalloc): New inline function.
3846         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
3847         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
3848         xmalloc.
3849         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
3850         xmalloc.
3851         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
3852         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
3853         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
3854         xmalloc.
3855         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
3856         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
3857         xmalloc.
3858         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
3859         gl_tree_add_after): Use XMALLOC instead of xmalloc.
3860         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
3861         xmalloc.
3862         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
3863         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
3864         gl_tree_add_after): Use XMALLOC instead of xmalloc.
3865         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
3866         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
3867         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
3868         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
3869
3870 2006-11-03  Bruno Haible  <bruno@clisp.org>
3871
3872         * lib/c-ctype.h [C++]: Define functions without name mangling.
3873         * lib/fwriteerror.h [C++]: Likewise.
3874         * lib/gcd.h [C++]: Likewise.
3875         * lib/linebreak.h [C++]: Likewise.
3876
3877 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
3878
3879         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
3880         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
3881         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
3882         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
3883         Check for functions and headers just once.
3884         Check for declaration of canonicalize_file_name.
3885         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
3886
3887 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
3888
3889         * gnulib-tool (func_import): Fix typo in actioncmd.
3890
3891 2006-11-02  Bruno Haible  <bruno@clisp.org>
3892
3893         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
3894         newline sequence in the Makefile.am snippet as a space, like "make"
3895         does.
3896         Reported by Roger Persson <perrog@gmail.com>.
3897
3898 2006-11-01  Bruno Haible  <bruno@clisp.org>
3899
3900         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
3901         already declared in <string.h>.
3902         * lib/strcase.h (strncasecmp): Don't declare it if yes.
3903
3904 2006-11-01  Bruno Haible  <bruno@clisp.org>
3905
3906         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
3907         * lib/strcase.h: Include <string.h>.
3908         (strcasecmp): Define to rpl_strcasecmp here.
3909
3910 2006-11-01  Bruno Haible  <bruno@clisp.org>
3911
3912         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
3913
3914 2006-11-01  Eric Blake  <ebb9@byu.net>
3915
3916         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
3917
3918         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
3919
3920 2006-10-29  Bruno Haible  <bruno@clisp.org>
3921
3922         Make it compile in C++ mode.
3923         * lib/full-write.c (full_rw): Add a cast.
3924
3925 2006-11-01  Bruno Haible  <bruno@clisp.org>
3926
3927         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
3928         be POSIX compliant.
3929         Reported by Roger Persson <perrog@gmail.com>.
3930
3931 2006-11-01  Eric Blake  <ebb9@byu.net>
3932
3933         * lib/getopt_.h: Fix comments.
3934
3935 2006-10-31  Eric Blake  <ebb9@byu.net>
3936
3937         * modules/tmpdir (Depends-on): Add sys_stat.
3938         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
3939         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
3940         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
3941         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
3942         tempname.
3943
3944 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
3945
3946         Avoid some C++ diagnostics reported by Bruno Haible.
3947         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
3948         xmalloc.
3949         (quotearg_alloc): Use xcharalloc rather than xmalloc.
3950         (struct slotvec): Move to top level.
3951         (quotearg_n_options): Rewrite to avoid xmalloc.
3952         * lib/xalloc.h (xcharalloc): New function.
3953         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
3954         [defined __cplusplus]: Add function template that provides result
3955         type propagation.  This part of the change is from Bruno Haible.
3956
3957 2006-10-29  Bruno Haible  <bruno@clisp.org>
3958
3959         Make it compile in C++ mode.
3960         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
3961         * lib/strnlen1.c (strnlen1): Cast memchr result.
3962         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
3963         * lib/clean-temp.c (string_equals, string_hash): Add casts.
3964         (create_temp_dir): Rename local variable 'template'.
3965         (compile_csharp_using_sscli): Add cast.
3966         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
3967         * lib/findprog.c (find_in_path): Likewise.
3968         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
3969         * lib/wait-process.c (register_slave_subprocess): Likewise.
3970
3971 2006-10-22  Bruno Haible  <bruno@clisp.org>
3972
3973         * modules/tsearch: New file.
3974         * lib/tsearch.h: New file.
3975         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
3976         * m4/tsearch.m4: New file.
3977         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
3978
3979 2006-10-29  Eric Blake  <ebb9@byu.net>
3980
3981         * lib/arcfour.c: Assume config.h.
3982         * lib/arctwo.c: Likewise.
3983         * lib/base64.c: Likewise.
3984         * lib/check-version.c: Likewise.
3985         * lib/crc.c: Likewise.
3986         * lib/des.c: Likewise.
3987         * lib/gc-gnulib.c: Likewise.
3988         * lib/gc-libgcrypt.c: Likewise.
3989         * lib/gc-pbkdf2-sha1.c: Likewise.
3990         * lib/getaddrinfo.c: Likewise.
3991         * lib/getdelim.c: Likewise.
3992         * lib/getline.c: Likewise.
3993         * lib/hmac-md5.c: Likewise.
3994         * lib/hmac-sha1.c: Likewise.
3995         * lib/iconvme.c: Likewise.
3996         * lib/md2.c: Likewise.
3997         * lib/md4.c: Likewise.
3998         * lib/memxor.c: Likewise.
3999         * lib/read-file.c: Likewise.
4000         * lib/readline.c: Likewise.
4001         * lib/rijndael-alg-fst.c: Likewise.
4002         * lib/rijndael-api-fst.c: Likewise.
4003         * lib/xgetdomainname.c: Likewise.
4004
4005 2006-10-28  Eric Blake  <ebb9@byu.net>
4006
4007         * lib/xstrndup.c: Assume config.h.
4008
4009 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
4010
4011         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
4012         stat-macros.h is now for our own macros, whereas stat_h is for
4013         macros in the <sys/stat.h> name space.
4014         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
4015         (STAT_MACROS_H): Remove.
4016         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
4017         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
4018         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
4019         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
4020         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
4021         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
4022         Move these macros to ...
4023         * lib/stat_.h: here.  Don't include stat-macros.h.
4024         * lib/canonicalize.c: Don't include stat-macros.h.
4025         * lib/chown.c: Likewise.
4026         * lib/euidaccess.c: Likewise.
4027         * lib/file-type.c: Likewise.
4028         * lib/filemode.c: Likewise.
4029         * lib/glob.c: Likewise.
4030         * lib/isapipe.c: Likewise.
4031         * lib/lchown.c: Likewise.
4032         * lib/lstat.c: Likewise.
4033         * lib/mkdir-p.c: Likewise.
4034         * lib/rmdir.c: Likewise.
4035         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
4036         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
4037         unless mkdir isn't declared, to speed up 'configure'.
4038         Always create sys/stat.h, since it's unlikely any real sys/stat.h
4039         would define all the S_* symbols.
4040         * modules/canonicalize (Depends-on):
4041         Depend on sys_stat, not stat-macros.
4042         * modules/chown: Likewise.
4043         * modules/euidaccess: Likewise.
4044         * modules/filemode: Likewise.
4045         * modules/file-type: Likewise.
4046         * modules/glob: Likewise.
4047         * modules/isapipe: Likewise.
4048         * modules/lchown: Likewise.
4049         * modules/lstat: Likewise.
4050         * modules/mkancesdirs: Likewise.
4051         * modules/rmdir: Likewise.
4052         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
4053         * modules/modechange: Likewise.
4054         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
4055         (configure.ac): Remove gl_STAT_MACROS.
4056         * modules/sys_stat (Depends-on): Remove stat-macros.
4057
4058 2006-10-27  Bruno Haible  <bruno@clisp.org>
4059
4060         * m4/signed.m4: Remove file.
4061         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
4062         invocation.
4063         * modules/vasnprintf (Files): Remove m4/signed.m4.
4064
4065 2006-10-27  Bruno Haible  <bruno@clisp.org>
4066
4067         Update to GNU gettext 0.16.
4068         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
4069         m4/inttypes-h.m4, m4/signed.m4.
4070         * m4/gettext.m4: Update to GNU gettext 0.16.
4071         * m4/intl.m4: New file, from GNU gettext.
4072         * m4/intldir.m4: New file, from GNU gettext.
4073         * config/srclist.txt: Update
4074
4075 2006-10-27  Eric Blake  <ebb9@byu.net>
4076
4077         * MODULES.html.sh: Document tempname.
4078         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
4079         dependencies.
4080         (Files): Move lib/tempname.c...
4081         * modules/tempname: ...to this new module.
4082         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
4083         (gl_PREREQ_TEMPNAME): Move...
4084         * m4/tempname.m4: ...to this new file.
4085         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
4086         * modules/sys_stat (Depends-on): Add stat-macros.
4087         * lib/stat_.h (includes): Pick up stat macros.
4088         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
4089         if stat macros are broken.
4090         * lib/tempname.c (includes): No need to include "stat-macros.h".
4091         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
4092         (direxists, __path_search) [!_LIBC]: Don't compile these in
4093         gnulib; the tmpdir module covers that.
4094         * lib/tempname.h: New file.
4095
4096 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
4097
4098         * COPYING: Explain how gnulib-tool converts licence headers.
4099         Almost all wording by Eric Blake.
4100
4101 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
4102
4103         * lib/mbchar.h (is_basic_table): Make read-only.
4104         * lib/mbchar.c (is_basic_table): Likewise.
4105         Reported by John Darrington.
4106
4107 2006-10-25  Bruno Haible  <bruno@clisp.org>
4108
4109         * lib/progname.h (set_program_name): Undefine before defining.
4110
4111 2006-10-25  Bruno Haible  <bruno@clisp.org>
4112
4113         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
4114         false for non-gcc C++ compilers.
4115         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
4116
4117 2006-10-24  Bruno Haible  <bruno@clisp.org>
4118
4119         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
4120         iconv implementations like Irix iconv.
4121
4122 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4123
4124         * modules/vararrays: New file.
4125         * m4/vararrays.m4: New file, taken from diffutils.
4126         * MODULES.html.sh: New module vararrays.
4127
4128 2006-10-24  Karl Berry  <karl@gnu.org>
4129
4130         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
4131         Don't call GNU Unix.
4132
4133 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4134
4135         * users.txt: Add Libtool.
4136
4137         Sync from Libtool:
4138
4139         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4140
4141         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
4142         to gnulib's policy of including config.h unconditionally.
4143
4144 2006-10-24  Bruno Haible  <bruno@clisp.org>
4145
4146         * modules/wcwidth (Files): Add m4/wint_t.m4.
4147         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
4148         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
4149
4150 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4151
4152         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
4153         to pacify GCC with some -W flags enabled.  Problem reported by
4154         Bruno Haible.
4155
4156 2006-10-24  Jim Meyering  <jim@meyering.net>
4157
4158         * MODULES.html.sh: Remove uinttostr.  It's not a module.
4159         Reported by Karl Berry.
4160
4161 2006-10-23  Bruno Haible  <bruno@clisp.org>
4162
4163         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
4164
4165 2006-10-24  Bruno Haible  <bruno@clisp.org>
4166
4167         * lib/gl_list.h: Use C comment style, not C++ comment style.
4168
4169 2006-10-23  Eric Blake  <ebb9@byu.net>
4170
4171         * lib/getaddrinfo.c (includes): Add missing include.
4172
4173 2006-10-23  Bruno Haible  <bruno@clisp.org>
4174             Paul Eggert  <eggert@cs.ucla.edu>
4175
4176         Ability to rename obstack_free.
4177         * lib/obstack.h (__obstack_free): New macro. Declare instead of
4178         obstack_free.
4179         (obstack_free): Invoke the __obstack_free macro.
4180         * lib/obstack.c (obstack_free): Use __obstack_free macro.
4181
4182 2006-10-23  Bruno Haible  <bruno@clisp.org>
4183             Paul Eggert  <eggert@cs.ucla.edu>
4184
4185         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
4186         __argc, __argv from the declaration. (They are defined as macros on
4187         mingw.)
4188
4189 2006-10-22  Bruno Haible  <bruno@clisp.org>
4190
4191         * doc/gnulib-intro.texi: New file.
4192         * doc/gnulib.texi: Include it.
4193
4194 2006-10-21  Bruno Haible  <bruno@clisp.org>
4195
4196         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
4197         "Introduction", "Miscellanous Notes", "Particular Modules".
4198
4199 2006-10-21  Bruno Haible  <bruno@clisp.org>
4200
4201         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4202         Change mostlyclean-local rule to avoid sh syntax error from bash
4203         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
4204
4205 2006-10-23  Jim Meyering  <jim@meyering.net>
4206
4207         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
4208         in place of snprintf.
4209
4210         * modules/inttostr (Files): Add lib/uinttostr.c.
4211         * lib/uinttostr.c (inttostr): New file/function.
4212         * lib/inttostr.h (uinttostr): Declare.
4213         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
4214         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
4215         Add uinttostr.
4216         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
4217
4218 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4219
4220         * lib/canonicalize.c (ELOOP): Define if not already defined.
4221         Problem reported by Bruno Haible in
4222         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
4223
4224 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4225
4226         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
4227         Problem reported by Perry Smith and Ville Laurikari.
4228
4229         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
4230         uses.
4231
4232 2006-10-19  Bruno Haible  <bruno@clisp.org>
4233
4234         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
4235         for mingw.
4236
4237 2006-10-19  Bruno Haible  <bruno@clisp.org>
4238
4239         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
4240         Needed for mingw.
4241
4242 2006-10-19  Bruno Haible  <bruno@clisp.org>
4243
4244         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
4245
4246 2006-10-19  Bruno Haible  <bruno@clisp.org>
4247
4248         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
4249         it.
4250
4251 2006-10-19  Bruno Haible  <bruno@clisp.org>
4252
4253         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
4254         invocation.
4255
4256 2006-10-19  Bruno Haible  <bruno@clisp.org>
4257
4258         * gnulib-tool (func_create_testdir): Don't include ftruncate and
4259         mountlist by default.
4260
4261 2006-10-16  Bruno Haible  <bruno@clisp.org>
4262
4263         * lib/c-strstr.c: Include c-strstr.h.
4264
4265 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4266
4267         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
4268         in a slash.
4269
4270 2006-10-18  Bruno Haible  <bruno@clisp.org>
4271
4272         * lib/lock.h [C++]: Wrap definitions in extern "C".
4273
4274 2006-10-18  Bruno Haible  <bruno@clisp.org>
4275
4276         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
4277         gl_LIBOBJS list.
4278
4279 2006-10-18  Bruno Haible  <bruno@clisp.org>
4280
4281         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
4282
4283 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4284
4285         * lib/xstrtol.h: Include gettext.h.
4286         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
4287         Problem reported by Eric Blake.
4288         * modules/xstrtol (Depends-on): Add gettext-h.
4289
4290 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
4291
4292         * lib/strftime.c (advance): New macro.
4293         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
4294         incomplete type, so you can't add 0 to it.  Problem and patch
4295         reported by Eelco Dolstra for dietlibc.
4296
4297 2006-10-18  Jim Meyering  <jim@meyering.net>
4298
4299         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
4300         type for a local, and rename it: s/up/user_proc/.
4301
4302 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
4303
4304         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
4305         READ_UTMP_USER_PROCESS.
4306         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
4307
4308 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
4309
4310         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
4311         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
4312
4313 2006-10-17  Eric Blake  <ebb9@byu.net>
4314
4315         * lib/sigprocmask.c (sigprocmask): Fix typo.
4316
4317         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
4318
4319         * modules/clean-temp (Makefile.am): Don't add to make output...
4320         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
4321         config.h.
4322
4323 2006-10-17  Bruno Haible  <bruno@clisp.org>
4324
4325         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
4326         differently if DEFAULT_TEXT_DOMAIN is set.
4327
4328 2006-10-16  Bruno Haible  <bruno@clisp.org>
4329
4330         * lib/clean-temp.c: Include fwriteerror.h.
4331
4332 2006-10-16  Bruno Haible  <bruno@clisp.org>
4333
4334         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
4335
4336 2006-10-16  Bruno Haible  <bruno@clisp.org>
4337
4338         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
4339         * lib/sigprocmask.h: Include <sys/types.h>.
4340         (sigset_t): Use the system's definition if present.
4341
4342 2006-10-17  Eric Blake  <ebb9@byu.net>
4343
4344         * lib/xvasprintf.c (includes): Assume config.h.
4345         * lib/xasprintf.c (includes): Likewise.
4346
4347 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
4348
4349         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
4350         at least as wide as intmax_t.
4351
4352 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
4353
4354         (Imported from Automake.)
4355         * build-aux/gnupload: Update to version 1.1 of directive file.
4356
4357 2006-10-16  Eric Blake  <ebb9@byu.net>
4358
4359         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
4360         match Automake 1.10a.
4361
4362 2006-10-14  Bruno Haible  <bruno@clisp.org>
4363
4364         * modules/sigprocmask: New file.
4365         * lib/sigprocmask.h: New file.
4366         * lib/sigprocmask.c: New file.
4367         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
4368         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
4369         request sigprocmask.o.
4370         (gl_PREREQ_SIGPROCMASK): New macro.
4371         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
4372         (Depends-on): Add sigprocmask.
4373         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
4374         gt_SIGNALBLOCKING. Test for 'raise' only once.
4375         * lib/fatal-signal.c: Include sigprocmask.h.
4376         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
4377         unblock_fatal_signals): Define always.
4378         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
4379         sigprocmask.
4380
4381 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
4382
4383         Sync from Automake.
4384         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
4385         which incorrectly sets the mode of an existing destination
4386         directory.  In some cases the unpatched install-sh could do the
4387         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
4388         system.  We hope this is rare in practice, but it's clearly worth
4389         fixing.  Problem reported by Alex Unleashed in
4390         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
4391         Also, don't bother to check for -m bugs unless we're using -m;
4392         suggested by Stepan Kasal.
4393
4394 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4395
4396         Sync from Automake.
4397         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
4398         `-c' flag, so they appear at the same position as in %FASTDEP%
4399         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
4400         which ignores unknown options only after the first non-option.
4401         Bug report against M4 by Nelson H. F. Beebe.
4402
4403 2006-10-13  Jim Meyering  <jim@meyering.net>
4404
4405         Fix a bug in yesterday's change.
4406         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
4407         p->fts_statp->st_dev would be used uninitialized.
4408         Ensures that we always call fts_stat on the very first entry.
4409         Miklos Szeredi reported that find -xdev stopped working.
4410
4411 2006-10-12  Bruno Haible  <bruno@clisp.org>
4412
4413         * gnulib-tool (func_get_automake_snippet): Append an automatically
4414         computed EXTRA_DIST augmentation.
4415         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
4416         * modules/alloca-opt (Makefile.am): Likewise.
4417         * modules/allocsa (Makefile.am): Likewise.
4418         * modules/arcfour (Makefile.am): Likewise.
4419         * modules/arctwo (Makefile.am): Likewise.
4420         * modules/argmatch (Makefile.am): Likewise.
4421         * modules/argz (Makefile.am): Likewise.
4422         * modules/atexit (Makefile.am): Likewise.
4423         * modules/backupfile (Makefile.am): Likewise.
4424         * modules/byteswap (Makefile.am): Likewise.
4425         * modules/c-strtod (Makefile.am): Likewise.
4426         * modules/c-strtold (Makefile.am): Likewise.
4427         * modules/calloc (Makefile.am): Likewise.
4428         * modules/canon-host (Makefile.am): Likewise.
4429         * modules/canonicalize (Makefile.am): Likewise.
4430         * modules/chdir-long (Makefile.am): Likewise.
4431         * modules/chdir-safer (Makefile.am): Likewise.
4432         * modules/check-version (Makefile.am): Likewise.
4433         * modules/chown (Makefile.am): Likewise.
4434         * modules/cloexec (Makefile.am): Likewise.
4435         * modules/close-stream (Makefile.am): Likewise.
4436         * modules/closeout (Makefile.am): Likewise.
4437         * modules/crc (Makefile.am): Likewise.
4438         * modules/csharpexec (Makefile.am): Likewise.
4439         * modules/cycle-check (Makefile.am): Likewise.
4440         * modules/des (Makefile.am): Likewise.
4441         * modules/dev-ino (Makefile.am): Likewise.
4442         * modules/dirfd (Makefile.am): Likewise.
4443         * modules/dirname (Makefile.am): Likewise.
4444         * modules/dup2 (Makefile.am): Likewise.
4445         * modules/eealloc (Makefile.am): Likewise.
4446         * modules/error (Makefile.am): Likewise.
4447         * modules/euidaccess (Makefile.am): Likewise.
4448         * modules/exclude (Makefile.am): Likewise.
4449         * modules/exitfail (Makefile.am): Likewise.
4450         * modules/fcntl-safer (Makefile.am): Likewise.
4451         * modules/fcntl (Makefile.am): Likewise.
4452         * modules/file-type (Makefile.am): Likewise.
4453         * modules/fileblocks (Makefile.am): Likewise.
4454         * modules/filemode (Makefile.am): Likewise.
4455         * modules/filenamecat (Makefile.am): Likewise.
4456         * modules/fnmatch (Makefile.am): Likewise.
4457         * modules/fopen-safer (Makefile.am): Likewise.
4458         * modules/fpending (Makefile.am): Likewise.
4459         * modules/fprintftime (Makefile.am): Likewise.
4460         * modules/free (Makefile.am): Likewise.
4461         * modules/fsusage (Makefile.am): Likewise.
4462         * modules/ftruncate (Makefile.am): Likewise.
4463         * modules/fts (Makefile.am): Likewise.
4464         * modules/gc-arcfour (Makefile.am): Likewise.
4465         * modules/gc-des (Makefile.am): Likewise.
4466         * modules/gc-hmac-md5 (Makefile.am): Likewise.
4467         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
4468         * modules/gc-md4 (Makefile.am): Likewise.
4469         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
4470         * modules/gc-sha1 (Makefile.am): Likewise.
4471         * modules/gc (Makefile.am): Likewise.
4472         * modules/getaddrinfo (Makefile.am): Likewise.
4473         * modules/getcwd (Makefile.am): Likewise.
4474         * modules/getdelim (Makefile.am): Likewise.
4475         * modules/getdomainname (Makefile.am): Likewise.
4476         * modules/getgroups (Makefile.am): Likewise.
4477         * modules/gethostname (Makefile.am): Likewise.
4478         * modules/gethrxtime (Makefile.am): Likewise.
4479         * modules/getline (Makefile.am): Likewise.
4480         * modules/getloadavg (Makefile.am): Likewise.
4481         * modules/getlogin_r (Makefile.am): Likewise.
4482         * modules/getndelim2 (Makefile.am): Likewise.
4483         * modules/getopt (Makefile.am): Likewise.
4484         * modules/getpagesize (Makefile.am): Likewise.
4485         * modules/getpass-gnu (Makefile.am): Likewise.
4486         * modules/getpass (Makefile.am): Likewise.
4487         * modules/getsubopt (Makefile.am): Likewise.
4488         * modules/gettime (Makefile.am): Likewise.
4489         * modules/gettimeofday (Makefile.am): Likewise.
4490         * modules/getugroups (Makefile.am): Likewise.
4491         * modules/getusershell (Makefile.am): Likewise.
4492         * modules/glob (Makefile.am): Likewise.
4493         * modules/group-member (Makefile.am): Likewise.
4494         * modules/hard-locale (Makefile.am): Likewise.
4495         * modules/hash (Makefile.am): Likewise.
4496         * modules/hmac-md5 (Makefile.am): Likewise.
4497         * modules/hmac-sha1 (Makefile.am): Likewise.
4498         * modules/human (Makefile.am): Likewise.
4499         * modules/idcache (Makefile.am): Likewise.
4500         * modules/imaxabs (Makefile.am): Likewise.
4501         * modules/imaxdiv (Makefile.am): Likewise.
4502         * modules/inet_ntop (Makefile.am): Likewise.
4503         * modules/inet_pton (Makefile.am): Likewise.
4504         * modules/intprops (Makefile.am): Likewise.
4505         * modules/inttostr (Makefile.am): Likewise.
4506         * modules/inttypes (Makefile.am): Likewise.
4507         * modules/isapipe (Makefile.am): Likewise.
4508         * modules/javaversion (Makefile.am): Likewise.
4509         * modules/lchmod (Makefile.am): Likewise.
4510         * modules/lchown (Makefile.am): Likewise.
4511         * modules/localcharset (Makefile.am): Likewise.
4512         * modules/long-options (Makefile.am): Likewise.
4513         * modules/lstat (Makefile.am): Likewise.
4514         * modules/malloc (Makefile.am): Likewise.
4515         * modules/mathl (Makefile.am): Likewise.
4516         * modules/mbchar (Makefile.am): Likewise.
4517         * modules/md2 (Makefile.am): Likewise.
4518         * modules/md4 (Makefile.am): Likewise.
4519         * modules/md5 (Makefile.am): Likewise.
4520         * modules/memcasecmp (Makefile.am): Likewise.
4521         * modules/memchr (Makefile.am): Likewise.
4522         * modules/memcmp (Makefile.am): Likewise.
4523         * modules/memcoll (Makefile.am): Likewise.
4524         * modules/memcpy (Makefile.am): Likewise.
4525         * modules/memmem (Makefile.am): Likewise.
4526         * modules/memmove (Makefile.am): Likewise.
4527         * modules/mempcpy (Makefile.am): Likewise.
4528         * modules/memrchr (Makefile.am): Likewise.
4529         * modules/memset (Makefile.am): Likewise.
4530         * modules/memxor (Makefile.am): Likewise.
4531         * modules/mkancesdirs (Makefile.am): Likewise.
4532         * modules/mkdir-p (Makefile.am): Likewise.
4533         * modules/mkdir (Makefile.am): Likewise.
4534         * modules/mkdtemp (Makefile.am): Likewise.
4535         * modules/mkstemp (Makefile.am): Likewise.
4536         * modules/mktime (Makefile.am): Likewise.
4537         * modules/modechange (Makefile.am): Likewise.
4538         * modules/mountlist (Makefile.am): Likewise.
4539         * modules/nanosleep (Makefile.am): Likewise.
4540         * modules/obstack (Makefile.am): Likewise.
4541         * modules/openat (Makefile.am): Likewise.
4542         * modules/pagealign_alloc (Makefile.am): Likewise.
4543         * modules/pathmax (Makefile.am): Likewise.
4544         * modules/physmem (Makefile.am): Likewise.
4545         * modules/poll (Makefile.am): Likewise.
4546         * modules/posixtm (Makefile.am): Likewise.
4547         * modules/posixver (Makefile.am): Likewise.
4548         * modules/putenv (Makefile.am): Likewise.
4549         * modules/quote (Makefile.am): Likewise.
4550         * modules/quotearg (Makefile.am): Likewise.
4551         * modules/raise (Makefile.am): Likewise.
4552         * modules/read-file (Makefile.am): Likewise.
4553         * modules/readline (Makefile.am): Likewise.
4554         * modules/readlink (Makefile.am): Likewise.
4555         * modules/readtokens (Makefile.am): Likewise.
4556         * modules/readutmp (Makefile.am): Likewise.
4557         * modules/realloc (Makefile.am): Likewise.
4558         * modules/regex (Makefile.am): Likewise.
4559         * modules/rename-dest-slash (Makefile.am): Likewise.
4560         * modules/rename (Makefile.am): Likewise.
4561         * modules/rijndael (Makefile.am): Likewise.
4562         * modules/rmdir (Makefile.am): Likewise.
4563         * modules/rpmatch (Makefile.am): Likewise.
4564         * modules/safe-read (Makefile.am): Likewise.
4565         * modules/safe-write (Makefile.am): Likewise.
4566         * modules/same-inode (Makefile.am): Likewise.
4567         * modules/same (Makefile.am): Likewise.
4568         * modules/save-cwd (Makefile.am): Likewise.
4569         * modules/savedir (Makefile.am): Likewise.
4570         * modules/setenv (Makefile.am): Likewise.
4571         * modules/settime (Makefile.am): Likewise.
4572         * modules/sha1 (Makefile.am): Likewise.
4573         * modules/sig2str (Makefile.am): Likewise.
4574         * modules/snprintf (Makefile.am): Likewise.
4575         * modules/stat-macros (Makefile.am): Likewise.
4576         * modules/stat-time (Makefile.am): Likewise.
4577         * modules/stdbool (Makefile.am): Likewise.
4578         * modules/stdint (Makefile.am): Likewise.
4579         * modules/stdlib-safer (Makefile.am): Likewise.
4580         * modules/stpcpy (Makefile.am): Likewise.
4581         * modules/stpncpy (Makefile.am): Likewise.
4582         * modules/strcase (Makefile.am): Likewise.
4583         * modules/strcasestr (Makefile.am): Likewise.
4584         * modules/strchrnul (Makefile.am): Likewise.
4585         * modules/strcspn (Makefile.am): Likewise.
4586         * modules/strdup (Makefile.am): Likewise.
4587         * modules/strerror (Makefile.am): Likewise.
4588         * modules/strftime (Makefile.am): Likewise.
4589         * modules/strndup (Makefile.am): Likewise.
4590         * modules/strnlen (Makefile.am): Likewise.
4591         * modules/strpbrk (Makefile.am): Likewise.
4592         * modules/strsep (Makefile.am): Likewise.
4593         * modules/strstr (Makefile.am): Likewise.
4594         * modules/strtod (Makefile.am): Likewise.
4595         * modules/strtoimax (Makefile.am): Likewise.
4596         * modules/strtok_r (Makefile.am): Likewise.
4597         * modules/strtol (Makefile.am): Likewise.
4598         * modules/strtoll (Makefile.am): Likewise.
4599         * modules/strtoul (Makefile.am): Likewise.
4600         * modules/strtoull (Makefile.am): Likewise.
4601         * modules/strtoumax (Makefile.am): Likewise.
4602         * modules/strverscmp (Makefile.am): Likewise.
4603         * modules/sys_socket (Makefile.am): Likewise.
4604         * modules/sys_stat (Makefile.am): Likewise.
4605         * modules/sysexits (Makefile.am): Likewise.
4606         * modules/time_r (Makefile.am): Likewise.
4607         * modules/timegm (Makefile.am): Likewise.
4608         * modules/timespec (Makefile.am): Likewise.
4609         * modules/tmpfile-safer (Makefile.am): Likewise.
4610         * modules/trim (Makefile.am): Likewise.
4611         * modules/unistd-safer (Makefile.am): Likewise.
4612         * modules/unlinkdir (Makefile.am): Likewise.
4613         * modules/unlocked-io (Makefile.am): Likewise.
4614         * modules/userspec (Makefile.am): Likewise.
4615         * modules/utime (Makefile.am): Likewise.
4616         * modules/utimecmp (Makefile.am): Likewise.
4617         * modules/utimens (Makefile.am): Likewise.
4618         * modules/vasnprintf (Makefile.am): Likewise.
4619         * modules/vasprintf (Makefile.am): Likewise.
4620         * modules/vsnprintf (Makefile.am): Likewise.
4621         * modules/xalloc (Makefile.am): Likewise.
4622         * modules/xgetcwd (Makefile.am): Likewise.
4623         * modules/xnanosleep (Makefile.am): Likewise.
4624         * modules/xreadlink (Makefile.am): Likewise.
4625         * modules/xstrtod (Makefile.am): Likewise.
4626         * modules/xstrtol (Makefile.am): Likewise.
4627         * modules/xstrtold (Makefile.am): Likewise.
4628         * modules/yesno (Makefile.am): Likewise.
4629         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
4630
4631 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
4632
4633         * modules/error (Makefile.am): Distribute files through
4634         EXTRA_DIST, not lib_SOURCES.
4635
4636 2006-10-12  Eric Blake  <ebb9@byu.net>
4637
4638         * modules/error (Makefile.am): Distribute files in /lib.
4639         * modules/obstack (Makefile.am): Likewise.
4640
4641 2006-10-12  Bruno Haible  <bruno@clisp.org>
4642
4643         * modules/acl (Makefile.am): Distribute all files in lib/ through
4644         EXTRA_DIST.
4645         * modules/arcfour (Makefile.am): Likewise.
4646         * modules/arctwo (Makefile.am): Likewise.
4647         * modules/argmatch (Makefile.am): Likewise.
4648         * modules/argz (Makefile.am): Likewise.
4649         * modules/atexit (Makefile.am): Likewise.
4650         * modules/backupfile (Makefile.am): Likewise.
4651         * modules/c-strtod (Makefile.am): Likewise.
4652         * modules/c-strtold (Makefile.am): Likewise.
4653         * modules/calloc (Makefile.am): Likewise.
4654         * modules/canon-host (Makefile.am): Likewise.
4655         * modules/canonicalize (Makefile.am): Likewise.
4656         * modules/chdir-long (Makefile.am): Likewise.
4657         * modules/chdir-safer (Makefile.am): Likewise.
4658         * modules/check-version (Makefile.am): Likewise.
4659         * modules/chown (Makefile.am): Likewise.
4660         * modules/cloexec (Makefile.am): Likewise.
4661         * modules/close-stream (Makefile.am): Likewise.
4662         * modules/closeout (Makefile.am): Likewise.
4663         * modules/crc (Makefile.am): Likewise.
4664         * modules/cycle-check (Makefile.am): Likewise.
4665         * modules/des (Makefile.am): Likewise.
4666         * modules/dirfd (Makefile.am): Likewise.
4667         * modules/dirname (Makefile.am): Likewise.
4668         * modules/dup2 (Makefile.am): Likewise.
4669         * modules/euidaccess (Makefile.am): Likewise.
4670         * modules/exclude (Makefile.am): Likewise.
4671         * modules/exitfail (Makefile.am): Likewise.
4672         * modules/fcntl-safer (Makefile.am): Likewise.
4673         * modules/file-type (Makefile.am): Likewise.
4674         * modules/fileblocks (Makefile.am): Likewise.
4675         * modules/filemode (Makefile.am): Likewise.
4676         * modules/filenamecat (Makefile.am): Likewise.
4677         * modules/fnmatch (Makefile.am): Likewise.
4678         * modules/fopen-safer (Makefile.am): Likewise.
4679         * modules/fpending (Makefile.am): Likewise.
4680         * modules/fprintftime (Makefile.am): Likewise.
4681         * modules/free (Makefile.am): Likewise.
4682         * modules/fsusage (Makefile.am): Likewise.
4683         * modules/ftruncate (Makefile.am): Likewise.
4684         * modules/fts (Makefile.am): Likewise.
4685         * modules/gc (Makefile.am): Likewise.
4686         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
4687         * modules/getaddrinfo (Makefile.am): Likewise.
4688         * modules/getcwd (Makefile.am): Likewise.
4689         * modules/getdelim (Makefile.am): Likewise.
4690         * modules/getdomainname (Makefile.am): Likewise.
4691         * modules/getgroups (Makefile.am): Likewise.
4692         * modules/gethostname (Makefile.am): Likewise.
4693         * modules/gethrxtime (Makefile.am): Likewise.
4694         * modules/getline (Makefile.am): Likewise.
4695         * modules/getloadavg (Makefile.am): Likewise.
4696         * modules/getlogin_r (Makefile.am): Likewise.
4697         * modules/getopt (Makefile.am): Likewise.
4698         * modules/getpass (Makefile.am): Likewise.
4699         * modules/getpass-gnu (Makefile.am): Likewise.
4700         * modules/getsubopt (Makefile.am): Likewise.
4701         * modules/gettime (Makefile.am): Likewise.
4702         * modules/gettimeofday (Makefile.am): Likewise.
4703         * modules/getugroups (Makefile.am): Likewise.
4704         * modules/getusershell (Makefile.am): Likewise.
4705         * modules/glob (Makefile.am): Likewise.
4706         * modules/group-member (Makefile.am): Likewise.
4707         * modules/hard-locale (Makefile.am): Likewise.
4708         * modules/hash (Makefile.am): Likewise.
4709         * modules/hmac-md5 (Makefile.am): Likewise.
4710         * modules/hmac-sha1 (Makefile.am): Likewise.
4711         * modules/human (Makefile.am): Likewise.
4712         * modules/idcache (Makefile.am): Likewise.
4713         * modules/imaxabs (Makefile.am): Likewise.
4714         * modules/imaxdiv (Makefile.am): Likewise.
4715         * modules/inet_ntop (Makefile.am): Likewise.
4716         * modules/inet_pton (Makefile.am): Likewise.
4717         * modules/inttostr (Makefile.am): Likewise.
4718         * modules/isapipe (Makefile.am): Likewise.
4719         * modules/lchown (Makefile.am): Likewise.
4720         * modules/long-options (Makefile.am): Likewise.
4721         * modules/lstat (Makefile.am): Likewise.
4722         * modules/malloc (Makefile.am): Likewise.
4723         * modules/mathl (Makefile.am): Likewise.
4724         * modules/mbchar (Makefile.am): Likewise.
4725         * modules/md2 (Makefile.am): Likewise.
4726         * modules/md4 (Makefile.am): Likewise.
4727         * modules/md5 (Makefile.am): Likewise.
4728         * modules/memcasecmp (Makefile.am): Likewise.
4729         * modules/memchr (Makefile.am): Likewise.
4730         * modules/memcmp (Makefile.am): Likewise.
4731         * modules/memcoll (Makefile.am): Likewise.
4732         * modules/memcpy (Makefile.am): Likewise.
4733         * modules/memmem (Makefile.am): Likewise.
4734         * modules/memmove (Makefile.am): Likewise.
4735         * modules/mempcpy (Makefile.am): Likewise.
4736         * modules/memrchr (Makefile.am): Likewise.
4737         * modules/memset (Makefile.am): Likewise.
4738         * modules/memxor (Makefile.am): Likewise.
4739         * modules/mkancesdirs (Makefile.am): Likewise.
4740         * modules/mkdir (Makefile.am): Likewise.
4741         * modules/mkdir-p (Makefile.am): Likewise.
4742         * modules/mkdtemp (Makefile.am): Likewise.
4743         * modules/mkstemp (Makefile.am): Likewise.
4744         * modules/mktime (Makefile.am): Likewise.
4745         * modules/modechange (Makefile.am): Likewise.
4746         * modules/mountlist (Makefile.am): Likewise.
4747         * modules/nanosleep (Makefile.am): Likewise.
4748         * modules/openat (Makefile.am): Likewise.
4749         * modules/pagealign_alloc (Makefile.am): Likewise.
4750         * modules/physmem (Makefile.am): Likewise.
4751         * modules/poll (Makefile.am): Likewise.
4752         * modules/posixtm (Makefile.am): Likewise.
4753         * modules/posixver (Makefile.am): Likewise.
4754         * modules/putenv (Makefile.am): Likewise.
4755         * modules/quote (Makefile.am): Likewise.
4756         * modules/quotearg (Makefile.am): Likewise.
4757         * modules/raise (Makefile.am): Likewise.
4758         * modules/read-file (Makefile.am): Likewise.
4759         * modules/readline (Makefile.am): Likewise.
4760         * modules/readlink (Makefile.am): Likewise.
4761         * modules/readtokens (Makefile.am): Likewise.
4762         * modules/readutmp (Makefile.am): Likewise.
4763         * modules/realloc (Makefile.am): Likewise.
4764         * modules/regex (Makefile.am): Likewise.
4765         * modules/rename (Makefile.am): Likewise.
4766         * modules/rename-dest-slash (Makefile.am): Likewise.
4767         * modules/rijndael (Makefile.am): Likewise.
4768         * modules/rmdir (Makefile.am): Likewise.
4769         * modules/rpmatch (Makefile.am): Likewise.
4770         * modules/safe-read (Makefile.am): Likewise.
4771         * modules/safe-write (Makefile.am): Likewise.
4772         * modules/same (Makefile.am): Likewise.
4773         * modules/save-cwd (Makefile.am): Likewise.
4774         * modules/savedir (Makefile.am): Likewise.
4775         * modules/setenv (Makefile.am): Likewise.
4776         * modules/settime (Makefile.am): Likewise.
4777         * modules/sha1 (Makefile.am): Likewise.
4778         * modules/sig2str (Makefile.am): Likewise.
4779         * modules/snprintf (Makefile.am): Likewise.
4780         * modules/stdlib-safer (Makefile.am): Likewise.
4781         * modules/stpcpy (Makefile.am): Likewise.
4782         * modules/stpncpy (Makefile.am): Likewise.
4783         * modules/strcase (Makefile.am): Likewise.
4784         * modules/strcasestr (Makefile.am): Likewise.
4785         * modules/strchrnul (Makefile.am): Likewise.
4786         * modules/strcspn (Makefile.am): Likewise.
4787         * modules/strdup (Makefile.am): Likewise.
4788         * modules/strerror (Makefile.am): Likewise.
4789         * modules/strftime (Makefile.am): Likewise.
4790         * modules/strndup (Makefile.am): Likewise.
4791         * modules/strnlen (Makefile.am): Likewise.
4792         * modules/strpbrk (Makefile.am): Likewise.
4793         * modules/strsep (Makefile.am): Likewise.
4794         * modules/strstr (Makefile.am): Likewise.
4795         * modules/strtod (Makefile.am): Likewise.
4796         * modules/strtoimax (Makefile.am): Likewise.
4797         * modules/strtok_r (Makefile.am): Likewise.
4798         * modules/strtol (Makefile.am): Likewise.
4799         * modules/strtoll (Makefile.am): Likewise.
4800         * modules/strtoul (Makefile.am): Likewise.
4801         * modules/strtoull (Makefile.am): Likewise.
4802         * modules/strtoumax (Makefile.am): Likewise.
4803         * modules/strverscmp (Makefile.am): Likewise.
4804         * modules/time_r (Makefile.am): Likewise.
4805         * modules/timegm (Makefile.am): Likewise.
4806         * modules/tmpfile-safer (Makefile.am): Likewise.
4807         * modules/unistd-safer (Makefile.am): Likewise.
4808         * modules/unlinkdir (Makefile.am): Likewise.
4809         * modules/userspec (Makefile.am): Likewise.
4810         * modules/utime (Makefile.am): Likewise.
4811         * modules/utimecmp (Makefile.am): Likewise.
4812         * modules/utimens (Makefile.am): Likewise.
4813         * modules/vasnprintf (Makefile.am): Likewise.
4814         * modules/vasprintf (Makefile.am): Likewise.
4815         * modules/vsnprintf (Makefile.am): Likewise.
4816         * modules/xalloc (Makefile.am): Likewise.
4817         * modules/xgetcwd (Makefile.am): Likewise.
4818         * modules/xnanosleep (Makefile.am): Likewise.
4819         * modules/xreadlink (Makefile.am): Likewise.
4820         * modules/xstrtod (Makefile.am): Likewise.
4821         * modules/xstrtol (Makefile.am): Likewise.
4822         * modules/xstrtold (Makefile.am): Likewise.
4823         * modules/yesno (Makefile.am): Likewise.
4824
4825 2006-10-12  Jim Meyering  <jim@meyering.net>
4826
4827         * m4/getloadavg.m4: Revert the change below.
4828
4829         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
4830         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
4831         fail with a symlink, which is what coreutils' ./bootstrap now
4832         creates by default.
4833
4834 2006-10-12  Bruno Haible  <bruno@clisp.org>
4835
4836         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
4837         mingw.
4838         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
4839         MSVC and mingw explicitly.
4840
4841 2006-10-11  Simon Josefsson  <jas@extundo.com>
4842             Bruno Haible  <bruno@clisp.org>
4843
4844         Add support for multiple gnulib-tool invocations in the scope of a
4845         single configure.ac file.
4846         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
4847         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
4848         with the same contents as the _LIBADD variable.
4849         (func_emit_initmacro_start, func_emit_initmacro_end,
4850         func_emit_initmacro_done): New functions.
4851         (func_import, func_create_testdir): Invoke them. Allow the identifiers
4852         gl_LIBOBJS and gl_LTLIBOBJS.
4853
4854 2006-10-11  Bruno Haible  <bruno@clisp.org>
4855
4856         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
4857         (func_create_testdir): Don't create po/Makefile.am, don't invoke
4858         autoreconf. Instead, invoke autopoint explicitly but move back the
4859         *.m4 files from gnulib.
4860
4861 2006-10-11  Bruno Haible  <bruno@clisp.org>
4862
4863         * gnulib-tool (func_usage): Make module names after --create-testdir
4864         optional.
4865         (func_create_testdir): If no module was specified, use nearly all
4866         modules.
4867
4868 2006-10-12  Jim Meyering  <jim@meyering.net>
4869
4870         Big performance improvement for fts-based tools that use FTS_NOSTAT.
4871         Avoid spurious inode-mismatch problems on non-POSIX file systems.
4872         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
4873         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
4874         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
4875         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
4876         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
4877         (fts_set_stat_required): New function.
4878         (fts_open): Defer the calls to fts_stat, if possible or requested.
4879         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
4880         into fts_stat itself.
4881         (fts_read): Perform any required (deferred) fts_stat call.
4882         (fts_build): Likewise, for the directory we're about to open and read.
4883         In the readdir loop, carefully decide whether each entry will require
4884         an eventual call to fts_stat, using dirent.d_type info if available.
4885         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
4886         a command line argument into this function.  Update all callers.
4887         Map a return value of FTS_DOT to FTS_D for a command line argument.
4888         * modules/fts (Depends-on): Add d-type.  Alphabetize.
4889         Thanks to Miklos Szeredi for his tenacity and for the initial
4890         bug report about "find" failing on a FUSE-based file system.
4891
4892         * lib/fts.c (fts_open): Use consistent indentation.
4893
4894 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
4895
4896         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
4897         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
4898         reported by Jim Meyering.  All uses of cache variables renamed
4899         to match Autoconf's.
4900         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
4901         the other one.
4902
4903         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
4904         Fix misspelling in diagnostic.
4905
4906 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
4907
4908         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
4909         defined.  Problem reported by Matthew Woehlke.
4910
4911         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
4912         Add support for Tandem NonStop R series.
4913         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
4914         Use new macro.
4915
4916         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
4917         (has_trailing_slash): Omit size arg; all callers changed.
4918         Omit 'inline', since it doesn't help performance and we'd
4919         need to configure it.
4920         Don't count //, ///, etc. as having a trailing slash.
4921         As a side effect, this removes a C99ism reported by Matthew Woehlke.
4922         (rpl_rename_dest_slash): On failure, use rename's errno rather
4923         than (in some cases) an incorrect or junk errno.
4924         Simplify code by removing need to compute length; this does
4925         cause it to make two passes instead of one over the file name,
4926         but it's worth it.
4927
4928         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
4929         change, since Autoconf's version may no longer be appropriate now
4930         that we are using CVS Autoconf's version.  Add support for Tandem.
4931
4932 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
4933             Bruno Haible  <bruno@clisp.org>
4934
4935         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
4936         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
4937         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
4938         gl_AC_TYPE_LONG_LONG.
4939
4940         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
4941         instead of HAVE_LONG_LONG.
4942         * lib/printf-args.c (printf_fetchargs): Likewise.
4943         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
4944         * lib/vasnprintf.c (VASNPRINTF): Likewise.
4945         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
4946         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
4947         gl_AC_TYPE_LONG_LONG.
4948
4949 2006-10-11  Bruno Haible  <bruno@clisp.org>
4950
4951         * m4/longlong.m4: Add comments.
4952         * m4/ulonglong.m4: Likewise.
4953
4954 2006-10-10  Bruno Haible  <bruno@clisp.org>
4955
4956         Make it possible to #define stpcpy, strdup to aliases.
4957         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
4958         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
4959
4960 2006-10-10  Bruno Haible  <bruno@clisp.org>
4961
4962         Make it possible to #define gcd to an alias.
4963         * lib/gcd.c: Include config.h.
4964
4965 2006-10-10  Bruno Haible  <bruno@clisp.org>
4966
4967         Make it possible to #define c_isascii to an alias.
4968         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
4969         defined. Undefine the macros before defining them, to avoid gcc
4970         warnings.
4971         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
4972         define NO_C_CTYPE_MACROS early.
4973
4974 2006-10-10  Bruno Haible  <bruno@clisp.org>
4975
4976         Make it possible to #define set_program_name to an alias.
4977         * lib/progname.c: Don't undefine set_program_name; instead, undefine
4978         ENABLE_RELOCATABLE early.
4979
4980 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
4981
4982         Port to Tandem NSK OSS, which has 64-bit signed int but at most
4983         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
4984         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
4985         More generally, don't assume that 64-bit signed int is available
4986         if unsigned int is, and vice versa.
4987         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
4988         unsigned symbols, not on their signed counterparts.
4989         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
4990         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
4991         (UINT64_C, UINTMAX_C):
4992         Likewise.
4993         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
4994         unsigned counterparts.
4995         (Have_long_long, Unsigned): New macros.
4996         (Int): Renamed from INT.
4997         (strtoimax): Use the new macros.
4998         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
4999         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
5000         * modules/inttypes (inttypes.h): Substitute
5001         HAVE_UNSIGNED_LONG_LONG_INT.
5002         * modules/stdint (stdint.h): Likewise.
5003         (Files): Add m4/ulonglong.m4.
5004
5005 2006-10-10  Bruno Haible  <bruno@clisp.org>
5006
5007         Fix a gcc -Wshadow warning.
5008         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
5009         to 'bucket'.
5010         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
5011         gl_linked_indexof_from_to): Likewise.
5012         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
5013         Likewise.
5014         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
5015         Likewise.
5016         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
5017         Reported by Eric Blake.
5018
5019 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
5020
5021         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
5022         for NetBSD.  Problem reported by Bruno Haible.
5023
5024 2006-10-09  Jim Meyering  <jim@meyering.net>
5025
5026         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
5027         Patch from Bruno Haible.
5028
5029 2006-10-09  Jim Meyering  <jim@meyering.net>
5030
5031         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
5032         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
5033         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
5034
5035 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
5036
5037         Don't include <config.h> twice; this doesn't work in some cases,
5038         e.g., when config.h has "#define intmax_t long long int" and
5039         we include <config.h>, <inttypes.h>, <config.h> in that order.
5040         Problem reported by Matthew Woehlke in:
5041         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
5042         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
5043         * lib/fts-cycle.c: Don't include config.h.
5044         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
5045         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
5046         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
5047         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
5048         inttypes.h.
5049         * lib/xstrtoumax.c: Likewise.
5050         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
5051         __strtol and the like, so that this module is more like its siblings.
5052         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
5053         Remove; no longer needed now that we assume gnulib inttypes.h.
5054
5055 2006-10-08  Bruno Haible  <bruno@clisp.org>
5056
5057         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
5058         option.
5059
5060 2006-10-07  Jim Meyering  <jim@meyering.net>
5061
5062         * modules/inttypes (inttypes.h): Revert what seems to have been
5063         an inadvertent part of today's change: use "|", not "/" in the
5064         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
5065
5066 2006-10-07  Bruno Haible  <bruno@clisp.org>
5067
5068         * modules/sublist: New file.
5069
5070 2006-10-07  Bruno Haible  <bruno@clisp.org>
5071
5072         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
5073         * modules/argz (argz.h): Likewise.
5074         * modules/arpa_inet (arpa/inet.h): Likewise.
5075         * modules/byteswap (byteswap.h): Likewise.
5076         * modules/configmake (configmake.h): Likewise.
5077         * modules/fcntl (fcntl.h): Likewise.
5078         * modules/fnmatch (fnmatch.h): Likewise.
5079         * modules/getopt (getopt.h): Likewise.
5080         * modules/glob (glob.h): Likewise.
5081         * modules/inttypes (inttypes.h): Likewise.
5082         * modules/netinet_in (netinet/in.h): Likewise.
5083         * modules/poll (poll.h): Likewise.
5084         * modules/stdbool (stdbool.h): Likewise.
5085         * modules/stdint (stdint.h): Likewise.
5086         * modules/sys_select (sys/select.h): Likewise.
5087         * modules/sys_socket (sys/socket.h): Likewise.
5088         * modules/sys_stat (sys/stat.h): Likewise.
5089         * modules/sysexits (sysexits.h): Likewise.
5090         * modules/unistd (unistd.h): Likewise.
5091         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5092         Add a "DO NOT EDIT" comment to the generated file.
5093         (func_import): Likewise for gnulib-comp.m4.
5094
5095 2006-10-07  Bruno Haible  <bruno@clisp.org>
5096
5097         * lib/gl_sublist.h: New file.
5098         * lib/gl_sublist.c: New file.
5099
5100 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
5101
5102         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
5103         name (relative to the original working directory) and the file
5104         name component (relative to the temporary working directory).  All
5105         callers changed.
5106         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
5107         * lib/mkdir-p.c (make_dir_parents): Likewise.
5108         * lib/mkdir-p.h (make_dir_parents): Likewise.
5109
5110 2006-10-06  Eric Blake  <ebb9@byu.net>
5111
5112         Define several macros for use by the clean-temp module.
5113         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
5114         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
5115         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
5116
5117         * lib/clean-temp.h (close_stream_temp): New declaration.
5118         * lib/clean-temp.c (includes): Pull in headers according to what
5119         other modules are in use.
5120         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
5121
5122 2006-10-06  Bruno Haible  <bruno@clisp.org>
5123
5124         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
5125         instead of fopen, fwriteerror.
5126
5127 2006-10-06  Bruno Haible  <bruno@clisp.org>
5128
5129         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
5130         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
5131         int.
5132         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
5133         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
5134         Return an error indicator.
5135         Suggested by Eric Blake.
5136
5137 2006-10-06  Bruno Haible  <bruno@clisp.org>
5138
5139         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
5140         Reported by Eric Blake.
5141
5142 2006-10-06  Bruno Haible  <bruno@clisp.org>
5143
5144         * modules/closeout (Description): Mention stderr too.
5145
5146 2006-10-06  Bruno Haible  <bruno@clisp.org>
5147         and Paul Eggert  <eggert@cs.ucla.edu>
5148
5149         * lib/closeout.c (close_stdout): Also close stderr.
5150         * lib/closeout.h: Update comment.
5151
5152 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
5153
5154         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
5155         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
5156         * lib/dirchownmod.c: Include lchown.h.
5157         * lib/lchown.c: Don't include files that lchown.h now includes.
5158         Don't declare chown, since lchown.h now does that.
5159         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
5160         (lchown): Define to rpl_chown if lchown is declared but
5161         does not exist.  Declare using a prototype if lchown is not
5162         declared.  Add a copyright notice.
5163         * lib/mkstemp.h: Include <unistd.h>.
5164         * lib/openat.c: Include lchown.h.
5165
5166         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
5167         we now test for that separately.
5168         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
5169         rather than O_NOFOLLOW, when testing whether it's possible to
5170         avoid a race condition reliably.
5171         * lib/savewd.c (savewd_chdir): Likewise.
5172
5173         Remove macros that are no longer needed now that stdint.h is
5174         reliable.
5175         * lib/fsusage.c (UINTMAX_MAX): Remove.
5176         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
5177         * lib/utimecmp.c (SIZE_MAX): Remove.
5178
5179         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
5180
5181         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
5182         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
5183         O_NOATIME works.
5184
5185 2006-10-05  Bruno Haible  <bruno@clisp.org>
5186
5187         * lib/gl_list.h (gl_sortedlist_search_from_to,
5188         gl_sortedlist_indexof_from_to): New declarations.
5189         (gl_list_implementation): New fields sortedlist_search_from_to,
5190         sortedlist_indexof_from_to.
5191         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
5192         inline functions.
5193         * lib/gl_list.c (gl_sortedlist_search_from_to,
5194         gl_sortedlist_indexof_from_to): New functions.
5195         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
5196         function.
5197         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
5198         (gl_array_sortedlist_search_from_to): New function.
5199         (gl_array_list_implementation): Update.
5200         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
5201         function.
5202         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
5203         (gl_carray_sortedlist_search_from_to): New function.
5204         (gl_carray_list_implementation): Update.
5205         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
5206         gl_linked_sortedlist_indexof_from_to): New functions.
5207         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5208         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5209         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
5210         gl_tree_sortedlist_indexof_from_to): New functions.
5211         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5212         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5213         Update.
5214         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5215         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
5216         Update.
5217
5218 2006-10-05  Bruno Haible  <bruno@clisp.org>
5219
5220         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
5221         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
5222         (struct gl_list_implementation): Add fields search_from_to,
5223         indexof_from_to. Remove fields search, indexof.
5224         (gl_list_search): Use the search_from_to method.
5225         (gl_list_search_from, gl_list_search_from_to): New functions.
5226         (gl_list_indexof): Use the indexof_from_to method.
5227         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5228         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
5229         (gl_list_search_from, gl_list_search_from_to): New functions.
5230         (gl_list_indexof): Use the indexof_from_to method.
5231         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5232         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
5233         gl_array_indexof. Add start_index, end_index arguments.
5234         (gl_array_search_from_to): Renamed from gl_array_search. Add
5235         start_index, end_index arguments.
5236         (gl_array_remove, gl_array_list_implementation): Update.
5237         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
5238         gl_carray_indexof. Add start_index, end_index arguments.
5239         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
5240         start_index, end_index arguments.
5241         (gl_carray_remove, gl_carray_list_implementation): Update.
5242         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
5243         gl_linked_search. Add start_index, end_index arguments.
5244         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
5245         start_index, end_index arguments.
5246         (gl_linked_remove): Update.
5247         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5248         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5249         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
5250         field to 'size_t'.
5251         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
5252         gl_tree_search. Add start_index, end_index arguments.
5253         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5254         start_index, end_index arguments.
5255         (gl_tree_remove): Update.
5256         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5257         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5258         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
5259         function.
5260         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
5261         gl_tree_search. Add start_index, end_index arguments.
5262         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5263         start_index, end_index arguments.
5264         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5265         Update.
5266         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
5267
5268 2006-10-05  Bruno Haible  <bruno@clisp.org>
5269
5270         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
5271
5272         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
5273         fwriteerror_temp): New declarations.
5274         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
5275         (descriptors): New variable.
5276         (cleanup): First, close the descriptors.
5277         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
5278         fclose_temp, fwriteerror_temp): New functions.
5279
5280 2006-10-04  Jim Meyering  <jim@meyering.net>
5281
5282         * lib/fts.c (fts_open): Tiny comment change.
5283
5284 2006-10-04  Bruno Haible  <bruno@clisp.org>
5285
5286         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
5287         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
5288         gl_LOCK_BODY.
5289         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
5290         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
5291         gl_LOCK_EARLY_BODY.
5292         (gl_LOCK): Require gl_LOCK_BODY.
5293
5294 2006-10-04  Bruno Haible  <bruno@clisp.org>
5295
5296         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
5297         (gl_oset_search_atleast): New declaration.
5298         (struct gl_oset_implementation): Add field 'search_atleast'.
5299         (gl_oset_search_atleast): New inline function.
5300         * lib/gl_oset.c (gl_oset_search_atleast): New function.
5301         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
5302         (gl_array_oset_implementation): Update.
5303         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
5304         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
5305         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
5306
5307 2006-10-04  Bruno Haible  <bruno@clisp.org>
5308
5309         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
5310
5311 2006-10-03  Bruno Haible  <bruno@clisp.org>
5312
5313         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
5314         from gl_avltreehash_list_implementation.
5315
5316 2006-10-03  Bruno Haible  <bruno@clisp.org>
5317
5318         * lib/gl_oset.c (gl_oset_add): Fix return type.
5319
5320 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
5321
5322         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
5323
5324 2006-10-02  Eric Blake  <ebb9@byu.net>
5325
5326         * modules/strnlen (Depends-on): Add extensions.
5327
5328 2006-10-02  Eric Blake  <ebb9@byu.net>
5329
5330         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
5331         definition in 2.60+.
5332
5333 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
5334
5335         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
5336         checks.
5337
5338 2006-10-02  Bruno Haible  <bruno@clisp.org>
5339
5340         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
5341         to the AUTOMAKE_OPTIONS.
5342         Reported by Jim Meyering.
5343
5344 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
5345
5346         Work around bug in Solaris 10 /proc file system:
5347         /proc/self/fd/NNN/.. isn't the parent directory of
5348         the directory whose file descriptor is NNN.  This needs to
5349         be worked around at run time, not compile time, since a
5350         program might be built on Solaris 8, where things work, and
5351         run on Solaris 10.
5352         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
5353         to use the following interface instead:
5354         (OPENAT_BUFFER_SIZE): New macro.
5355         (openat_proc_name): New function.
5356         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
5357         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
5358         Likewise.
5359         * lib/openat-proc.c: New file.
5360         * modules/openat (Files): Add lib/openat-proc.c.
5361         (Depends-on): Add same-inode, stdbool.
5362         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
5363
5364 2006-09-29  Bruno Haible  <bruno@clisp.org>
5365
5366         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
5367         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
5368         argument. Set stdout_closed before testing for ferror, not after.
5369         (fwriteerror, fwriteerror_no_ebadf): New functions.
5370
5371 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5372
5373         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
5374
5375 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
5376
5377         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
5378         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
5379
5380 2006-09-28  Jim Meyering  <jim@meyering.net>
5381
5382         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
5383         Include <unistd.h>.
5384
5385 2006-09-28  Bruno Haible  <bruno@clisp.org>
5386
5387         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
5388         * modules/linkedhash-list (Depends-on): Likewise.
5389         * modules/rbtreehash-list (Depends-on): Likewise.
5390
5391 2006-09-28  Bruno Haible  <bruno@clisp.org>
5392
5393         * lib/strndup.h: Simplify the redefinition of strndup.
5394         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
5395         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
5396
5397 2006-09-28  Bruno Haible  <bruno@clisp.org>
5398
5399         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
5400         * lib/gl_linkedhash_list.c: Likewise.
5401         * lib/gl_rbtreehash_list.c: Likewise.
5402
5403 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
5404
5405         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
5406         getaddrinfo.
5407
5408         * lib/__fpending.h: Don't include <stdio_ext.h> unless
5409         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
5410         it causes <stdio_ext.h> to cause a compile-time error.
5411         Problem reported by Nelson H. F. Beebe.
5412         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
5413         of HAVE_DECL___PENDING.
5414
5415         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
5416         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
5417         declaration.
5418
5419 2006-09-27  Jim Meyering  <jim@meyering.net>
5420
5421         This file could end up with a definition for a function
5422         named __strndup, rather than rpl_strndup on a system with
5423         incomplete weak_alias support.
5424         * lib/strndup.c (strndup): Rename from __strndup.
5425         Remove #defines that used to map __strndup to strndup.
5426         Don't use K&R prototypes.
5427         Remove LIBC-related code, since this file is not sync'd with glibc.
5428         * lib/strndup.h: Revamp, accordingly.
5429         * m4/strndup.m4: Modernize.
5430
5431 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
5432
5433         * modules/savewd (Depends-on): Add 'raise'.
5434         * lib/savewd.c: Include <signal.h>, for 'raise'.
5435
5436 2006-09-26  Jim Meyering  <jim@meyering.net>
5437
5438         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
5439         when we detect Darwin 8.7.0's acl_get_file bug.
5440         Rearrange to perform the new (below) run-test while $LIBS
5441         contains any acl-related library.  Set USE_ACL at the end.
5442         (gl_ACL_GET_FILE): New function.
5443
5444 2006-09-26  Eric Blake  <ebb9@byu.net>
5445
5446         * lib/verror.c: Include <config.h> unconditionally.
5447
5448 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
5449
5450         * modules/clock-time (Maintainer): Add self.
5451         * modules/getlogin_r (Depends-on): Add extensions.
5452
5453 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5454
5455         * modules/clock-time: New module.
5456         * modules/nanosleep (Depends-on): Add clock-time.
5457         * modules/gethrxtime (Depends-on): Likewise.
5458         * modules/gettime (Depends-on): Likewise.
5459         * modules/settime (Depends-on): Likewise.
5460
5461         * modules/fts-lgpl: Depend on openat.
5462         * modules/mkancesdirs: Depend on savewd.
5463         * modules/mkdir-p: Likewise.
5464
5465 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5466
5467         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
5468
5469         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
5470         `gl_have_arbitrary_file_name_length_limit' to
5471         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
5472         actually works between configure runs.
5473
5474 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5475             Bruno Haible  <bruno@clisp.org>
5476
5477         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
5478
5479 2006-09-25  Jim Meyering  <jim@meyering.net>
5480
5481         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
5482         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
5483
5484 2006-09-25  Eric Blake  <ebb9@byu.net>
5485
5486         * gnulib-tool (func_import, func_create_testdir): Fix typos in
5487         exec's in 2006-09-18 patch when shuffling fds.
5488
5489 2006-09-25  Bruno Haible  <bruno@clisp.org>
5490
5491         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
5492         Reported by Jim Meyering.
5493
5494 2006-09-24  Jim Meyering  <jim@meyering.net>
5495
5496         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
5497         compare a pointer against a literal "0".  That caused failures with
5498         at least HP-UX's hpcc.
5499
5500 2006-09-22  Simon Josefsson  <jas@extundo.com>
5501
5502         * modules/gc-sha1:
5503         * modules/gc-md4:
5504         * modules/gc-hmac-sha1:
5505         * modules/gc-hmac-md5:
5506         * modules/gc-des:
5507         * modules/gc-arcfour: Distribute more files.
5508
5509 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5510
5511         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
5512         (gl_linked_iterator_from_to): Initialize struct completely.
5513         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
5514         (gl_tree_iterator_from_to): Likewise
5515         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
5516         * lib/gl_array_list.c [lint] (gl_array_iterator)
5517         (gl_array_iterator_from_to): Likewise.
5518         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
5519         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
5520         (gl_carray_iterator_from_to): Likewise.
5521
5522         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
5523         * lib/md4.c (md4_process_block): Remove unused variable.
5524         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
5525         parentheses for clarity.
5526
5527 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5528
5529         * modules/bison-i18n (Depends-on): Add gettext.
5530
5531 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5532
5533         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
5534         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
5535         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
5536         also add missing comma that caused broken test.
5537         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
5538         stdlib.h, for `abort'.
5539         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
5540         variables.
5541         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
5542         include unistd.h if present, for `rmdir'.
5543         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
5544         variables.
5545         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
5546         in the process include standard headers for prototypes.
5547         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
5548         gets declared on GNU/Linux.
5549         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
5550         unistd.h, for `rmdir'.
5551         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
5552
5553         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
5554         always true.
5555         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
5556
5557         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
5558
5559 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5560
5561         * gnulib-tool (func_version): Create output all at once.  This
5562         may help avoid triggering unnecessary SIGPIPEs, and at any
5563         rate it doesn't hurt.
5564
5565 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5566             Bruno Haible  <bruno@clisp.org>
5567
5568         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
5569         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
5570         * m4/signed.m4 (bh_C_SIGNED): Likewise.
5571
5572         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
5573         (gl_FUNC_VASPRINTF): Invoke it.
5574
5575 2006-09-22  Bruno Haible  <bruno@clisp.org>
5576
5577         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
5578         getloadavg.c as first argument.
5579
5580 2006-09-22  Bruno Haible  <bruno@clisp.org>
5581
5582         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
5583         at the beginning of the gl_INIT macro.
5584         * modules/getloadavg (configure.ac): Pass $gl_source_base to
5585         gl_GETLOADAVG.
5586
5587 2006-09-22  Bruno Haible  <bruno@clisp.org>
5588
5589         * gnulib-tool (func_create_megatestdir): Don't include the config-h
5590         module.
5591         Suggested by Ralf Wildenhues.
5592
5593 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
5594
5595         Import this patch from libc:
5596
5597         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
5598
5599         * lib/regex_internal.c (re_string_reconstruct): Handle
5600         offset < pstr->valid_raw_len && pstr->offsets_needed case.
5601         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
5602         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
5603         re_string_context_at.
5604
5605         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
5606         now requires it.
5607         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
5608         gl_REGEX now does it for us.
5609         (gl_REGEX): Add test taken from
5610         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
5611
5612         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
5613         Check that large offsets work.  Modernize Autoconf usages.
5614         Prefer "yes" to mean a good thing rather than a bad.
5615         Don't put "#define mkstemp" in config.h, as this might interfere
5616         with standard system headers that "#define mkstemp mkstemp64".
5617
5618         * modules/mkstemp (Depends-on): Add extensions, so that
5619         mkstemp is visible on some platforms.
5620         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
5621         (Include): Change to "mkstemp.h" from <stdlib.h>.
5622         (Files): Add mkstemp.h.
5623
5624         * lib/mkstemp.h: New file, since some standard headers
5625         #define mkstemp.
5626         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
5627         Include "mkstemp.h".
5628         Make the _LIBC code resemble glibc original more,
5629         e.g., use K&R style.
5630         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
5631         (mkstemp): Remove, since mkstemp.h does this for us.
5632         * lib/stdlib--.h: Include mkstemp.h.
5633
5634         Import this patch from libc:
5635
5636         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
5637
5638         * lib/tempname.c (__gen_tempname): Change attempts_min
5639         into a macro.  Use preprocessor to decide how to initialize
5640         attempts [Coverity CID 67].
5641
5642 2006-09-20  Bruno Haible  <bruno@clisp.org>
5643
5644         * lib/mkdtemp.c: Import from libc.
5645         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
5646                 * sysdeps/posix/tempname.c (__gen_tempname): Change
5647                 attempts_min into a macro.  Use preprocessor to decide how to
5648                 initialize attempts [Coverity CID 67].
5649         2001-11-27  Paul Eggert  <eggert@twinsun.com>
5650                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
5651                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
5652
5653 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5654
5655         * gnulib-tool (func_exit): New function, to allow to pass the
5656         exit status portably through the trap.  Use everywhere.
5657         (--help, --version): Signal a write error.
5658         (trap): catch SIGPIPE, for write errors.
5659         Exit at the end of the trap, with the correct exit status.
5660
5661 2006-09-19  Karl Berry  <karl@gnu.org>
5662
5663         * doc/gnulib.texi: note about the license texinfo files.
5664
5665 2006-09-19  Eric Blake  <ebb9@byu.net>
5666
5667         * gnulib-tool: Avoid space-tab.
5668
5669 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5670
5671         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
5672         that prevented coreutils 6.1 from building.  Problem reported
5673         by Petter Reinholdtsen.
5674
5675 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5676
5677         * gnulib-tool (avoidlist): Fix typo that broke options like
5678         --avoid=lock that are used by coreutils bootstrap.
5679
5680 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
5681
5682         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
5683         more systematically.
5684
5685 2006-09-18  Jim Meyering  <jim@meyering.net>
5686
5687         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
5688
5689 2006-09-18  Bruno Haible  <bruno@clisp.org>
5690
5691         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
5692
5693 2006-09-18  Bruno Haible  <bruno@clisp.org>
5694
5695         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
5696         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
5697         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
5698         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
5699         * m4/gettext.m4: Require autoconf >= 2.52.
5700         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
5701         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
5702         of gl_cv_header_inttypes_h.
5703
5704 2006-09-18  Bruno Haible  <bruno@clisp.org>
5705
5706         * lib/javaversion.c: Include configmake.h.
5707
5708 2006-09-18  Bruno Haible  <bruno@clisp.org>
5709
5710         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
5711         avoid that the while loops be executed in a subshell.
5712
5713 2006-09-18  Bruno Haible  <bruno@clisp.org>
5714
5715         * MODULES.html.sh (func_module): Break long lines.
5716         Suggested by Bruce Korb <bkorb@gnu.org>.
5717
5718 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5719
5720         Speed up by a factor of 1.12.
5721         * gnulib-tool (nl): New variable.
5722         (func_import): Rewrite include directive extraction to only read each
5723         directive once.
5724
5725 2006-09-17  Bruno Haible  <bruno@clisp.org>
5726
5727         * modules/javaversion (Makefile.am): Remove DEFS setting.
5728         (Depends-on): Add configmake, for PKGDATADIR definition.
5729
5730 2006-09-17  Bruno Haible  <bruno@clisp.org>
5731
5732         * gnulib-tool (func_create_testdir): Rewrite all files at once.
5733
5734 2006-09-17  Bruno Haible  <bruno@clisp.org>
5735
5736         * gnulib-tool (func_append): New function, stolen from libtool.m4.
5737         (func_modules_transitive_closure, func_modules_add_dummy,
5738         func_modules_to_filelist, func_import, func_create_testdir,
5739         func_create_megatestdir, ...): Use it wherever possible.
5740         Suggested by Ralf Wildenhues.
5741
5742 2006-09-16  Karl Berry  <karl@gnu.org>
5743
5744         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
5745         to avoid sectioning errors.
5746         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
5747         [ifinfo]: blank line after @center-ed titles.
5748         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
5749         Spell FSF address consistently with others.
5750         (These changes approved by rms.)
5751
5752 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5753
5754         Speed up by a factor of 1.61.
5755         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
5756         already checked module names again.
5757
5758 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5759
5760         Speed up by a factor of 1.13.
5761         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
5762         for new_files, and the input to func_add_or_update.
5763
5764 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5765
5766         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
5767         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
5768
5769 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5770
5771         * modules/mkancesdirs (Depends-on): Add fcntl.
5772         * modules/savewd: New file.
5773         * MODULES.html.sh (File system functions): Add savewd.
5774
5775         * modules/configmake (Makefile.am): Add support for the
5776         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
5777
5778 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5779
5780         * m4/savewd.m4: New file.
5781
5782 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5783
5784         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
5785         (dirchownmod): New arg FD.  All callers changed.
5786         Use FD rather than opening the directory ourself, as opening is
5787         now the caller's responsibility.
5788         * lib/dirchownmod.h: Likewise.
5789         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
5790         hosts that require <sys/types.h> before <sys/stat.h>.  Include
5791         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
5792         (test_dir): Remove.
5793         (mkancesdirs): Return length of prefix of FILE that has already
5794         been made, or -2 if there is a child doing the work.  Redo
5795         algorithm so that it is O(N) rather than O(N**2).  Optimize away
5796         ".", and treat ".." specially since it might stray back into
5797         already-created areas.  Use a subprocess if necessary.  New arg
5798         WD; all users changed.  MAKE_DIR function should now return 1
5799         if it creates a directory that is not readable.  Return -2 if
5800         a child process is spun off.
5801         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
5802         Adjust signature to match code.
5803         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
5804         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
5805         all users changed.
5806         * lib/savewd.c, lib/savewd.h: New files.
5807
5808 2006-09-15  Jim Meyering  <jim@meyering.net>
5809
5810         * modules/rename-dest-slash: New module.
5811         * MODULES.html.sh (posix_compat): Add it here.
5812
5813         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
5814
5815 2006-09-15  Jim Meyering  <jim@meyering.net>
5816
5817         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
5818         file.
5819
5820         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
5821
5822 2006-09-15  Jim Meyering  <jim@meyering.net>
5823
5824         * lib/rename-dest-slash.c (has_trailing_slash): Use
5825         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
5826         (rpl_rename_dest_slash): Perform the cheaper trailing slash
5827         test before testing whether SRC is a directory.
5828         Suggestions from Bruno Haible.
5829
5830         Avoid a warning about an unused variable.
5831         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
5832         into the #ifdef block where it's used.
5833
5834         * lib/rename-dest-slash.c: New file.
5835
5836 2006-09-14  Bruno Haible  <bruno@clisp.org>
5837
5838         * lib/allocsa.c: Include <config.h> unconditionally.
5839         * lib/asnprintf.c: Likewise.
5840         * lib/asprintf.c: Likewise.
5841         * lib/c-strcasecmp.c: Likewise.
5842         * lib/c-strcasestr.c: Likewise.
5843         * lib/c-strncasecmp.c: Likewise.
5844         * lib/c-strstr.c: Likewise.
5845         * lib/classpath.c: Likewise.
5846         * lib/clean-temp.c: Likewise.
5847         * lib/concatpath.c: Likewise.
5848         * lib/copy-file.c: Likewise.
5849         * lib/csharpcomp.c: Likewise.
5850         * lib/csharpexec.c: Likewise.
5851         * lib/execute.c: Likewise.
5852         * lib/fatal-signal.c: Likewise.
5853         * lib/findprog.c: Likewise.
5854         * lib/fwriteerror.c: Likewise.
5855         * lib/gl_array_list.c: Likewise.
5856         * lib/gl_array_oset.c: Likewise.
5857         * lib/gl_avltree_list.c: Likewise.
5858         * lib/gl_avltree_oset.c: Likewise.
5859         * lib/gl_avltreehash_list.c: Likewise.
5860         * lib/gl_carray_list.c: Likewise.
5861         * lib/gl_linked_list.c: Likewise.
5862         * lib/gl_linkedhash_list.c: Likewise.
5863         * lib/gl_list.c: Likewise.
5864         * lib/gl_oset.c: Likewise.
5865         * lib/gl_rbtree_list.c: Likewise.
5866         * lib/gl_rbtree_oset.c: Likewise.
5867         * lib/gl_rbtreehash_list.c: Likewise.
5868         * lib/imaxabs.c: Likewise.
5869         * lib/imaxdiv.c: Likewise.
5870         * lib/javacomp.c: Likewise.
5871         * lib/javaexec.c: Likewise.
5872         * lib/javaversion.c: Likewise.
5873         * lib/linebreak.c: Likewise.
5874         * lib/localcharset.c: Likewise.
5875         * lib/lock.c: Likewise.
5876         * lib/mbchar.c: Likewise.
5877         * lib/mbswidth.c: Likewise.
5878         * lib/mkdtemp.c: Likewise.
5879         * lib/pipe.c: Likewise.
5880         * lib/printf-args.c: Likewise.
5881         * lib/printf-parse.c: Likewise.
5882         * lib/progname.c: Likewise.
5883         * lib/progreloc.c: Likewise.
5884         * lib/readlink.c: Likewise.
5885         * lib/sh-quote.c: Likewise.
5886         * lib/stpcpy.c: Likewise.
5887         * lib/stpncpy.c: Likewise.
5888         * lib/strcasecmp.c: Likewise.
5889         * lib/strcasestr.c: Likewise.
5890         * lib/strcspn.c: Likewise.
5891         * lib/striconv.c: Likewise.
5892         * lib/strncasecmp.c: Likewise.
5893         * lib/strnlen1.c: Likewise.
5894         * lib/strstr.c: Likewise.
5895         * lib/strtok_r.c: Likewise.
5896         * lib/tls.c: Likewise.
5897         * lib/tmpdir.c: Likewise.
5898         * lib/unicodeio.c: Likewise.
5899         * lib/unsetenv.c: Likewise.
5900         * lib/vasnprintf.c: Likewise.
5901         * lib/vasprintf.c: Likewise.
5902         * lib/wait-process.c: Likewise.
5903         * lib/xallocsa.c: Likewise.
5904         * lib/xsetenv.c: Likewise.
5905         * lib/xstriconv.c: Likewise.
5906
5907 2006-09-13  Simon Josefsson  <jas@extundo.com>
5908
5909         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
5910         that internally, suggested by Ralf Wildenhues
5911         <Ralf.Wildenhues@gmx.de>.
5912
5913 2006-09-13  Simon Josefsson  <jas@extundo.com>
5914
5915         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
5916         @LIBOBJS@.
5917         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5918
5919 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
5920
5921         * lib/_fpending.c: Include <config.h> unconditionally, since we no
5922         longer worry about uses that don't define HAVE_CONFIG_H.
5923         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
5924         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
5925         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
5926         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
5927         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
5928         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
5929         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
5930         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
5931         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
5932         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
5933         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
5934         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
5935         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
5936         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
5937         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
5938         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
5939         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
5940         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
5941         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
5942         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
5943         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
5944         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
5945         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
5946         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
5947         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
5948         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
5949         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
5950         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
5951         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
5952         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
5953         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
5954         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
5955         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
5956         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
5957         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
5958         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
5959         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
5960         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
5961         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
5962         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
5963         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
5964         Likewise.
5965
5966 2006-09-13  Eric Blake  <ebb9@byu.net>
5967
5968         * lib/getopt.c: Fix typo in last commit.
5969
5970 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
5971
5972         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
5973         dgettext.
5974
5975 2006-09-12  Jim Meyering  <jim@meyering.net>
5976
5977         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
5978         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
5979         Reported by Nelson H. F. Beebe.
5980
5981 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
5982
5983         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
5984         program_invocation_name and program_invocation_short_name are
5985         initialized.
5986         * lib/argp-namefrob.h: Move declarations of program_invocation_name
5987         and program_invocation_short_name to argp.h, so they are visible
5988         to user programs.
5989         * lib/argp.h: Likewise
5990
5991 2006-09-10  Bruno Haible  <bruno@clisp.org>
5992
5993         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
5994         m4/inttypes_h.m4, m4/uintmax_t.m4.
5995
5996 2006-09-10  Bruno Haible  <bruno@clisp.org>
5997
5998         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
5999         gl_AC_TYPE_UINTMAX_T.
6000
6001 2006-09-10  Bruno Haible  <bruno@clisp.org>
6002
6003         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
6004
6005 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
6006
6007         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
6008         convention.  Text proposed by Bruno Haible.
6009         (struct argp_option): Document the use of N_() wrappers.
6010
6011         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
6012         '\v', and translate the two parts separately, instead of feeding
6013         the whole string to gettext.  This allows to exclude
6014         '\v' from the strings visible to the translator by writing doc
6015         strings as N_("..") "\v" N_("..").
6016
6017 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
6018
6019         * config/srclist.txt: Undo latest change; the bug was fixed.
6020
6021 2006-09-09  Bruno Haible  <bruno@clisp.org>
6022
6023         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
6024         assignments if building a library without libtool.
6025         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
6026         in func_emit_lib_Makefile_am.
6027         (func_import): When building a static library libfoo.a, arrange to
6028         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
6029         (func_create_testdir): Likewise.
6030         * modules/gc (configure.ac, Makefile.am): If building statically,
6031         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
6032         * modules/iconvme (configure.ac, Makefile.am): Likewise.
6033         * modules/striconv (configure.ac, Makefile.am): Likewise.
6034         Based on a suggestion by Ralf Wildenhues.
6035
6036 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6037
6038         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
6039         Check for unistd.h too, since Autoconf doesn't assume POSIX.
6040         Also:
6041
6042         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6043         Add year_2050_test to catch glibc bug 2821
6044         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
6045
6046         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6047         Prefer #ifdef to #if.
6048
6049         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
6050         Return from 'main' instead of calling 'exit'.
6051
6052 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6053
6054         * lib/mktime.c (guess_time_tm): Fix bug where mktime
6055         returned the maximum time_t value rather than (time_t) -1.
6056         Problem originally reported by William Bardwell
6057         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
6058
6059         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
6060         Moved to here ...
6061         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
6062         ... from here.
6063
6064 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6065
6066         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
6067         2821 is fixed.
6068
6069 2006-09-08  Jim Meyering  <jim@meyering.net>
6070
6071         Don't make generated files read-only.  That would bother too many
6072         people.  However, do retain the ability to work when targets are
6073         read-only: remove the destination and temporary files before writing
6074         them (when generated via sed or echo), or by using the -f option for
6075         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
6076         * modules/alloca-opt, modules/argz, modules/arpa_inet:
6077         * modules/byteswap, modules/configmake, modules/fcntl:
6078         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
6079         * modules/localcharset, modules/netinet_in, modules/poll:
6080         * modules/stdbool, modules/stdint, modules/sys_select:
6081         * modules/sys_socket, modules/sys_stat, modules/sysexits:
6082
6083 2006-09-08  Jim Meyering  <jim@meyering.net>
6084
6085         Avoid new build failure on FreeBSD 6.0.
6086         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
6087         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
6088         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
6089
6090 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6091
6092         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
6093
6094 2006-09-07  Jim Meyering  <jim@meyering.net>
6095
6096         Fix global typo in last change: use chmod u-w, not chmod u-x.
6097         Spotted by Paul Eggert and Bruce Korb.
6098         * modules/alloca-opt, modules/argz, modules/arpa_inet:
6099         * modules/byteswap, modules/configmake, modules/fcntl:
6100         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
6101         * modules/localcharset, modules/netinet_in, modules/poll:
6102         * modules/stdbool, modules/stdint, modules/sys_select:
6103         * modules/sys_socket, modules/sys_stat, modules/sysexits:
6104
6105 2006-09-06  Jim Meyering  <jim@meyering.net>
6106
6107         Make generated files be read-only.
6108         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
6109         Ensure that each generated file is now read-only.
6110         * modules/argz: Likewise.
6111         * modules/arpa_inet: Likewise.
6112         * modules/byteswap: Likewise.
6113         * modules/configmake: Likewise.
6114         * modules/fcntl: Likewise.
6115         * modules/fnmatch: Likewise.
6116         * modules/getopt: Likewise.
6117         * modules/glob: Likewise.
6118         * modules/inttypes: Likewise.
6119         * modules/netinet_in: Likewise.
6120         * modules/poll: Likewise.
6121         * modules/stdbool: Likewise.
6122         * modules/stdint: Likewise.
6123         * modules/sys_select: Likewise.
6124         * modules/sys_socket: Likewise.
6125         * modules/sys_stat: Likewise.
6126         * modules/sysexits: Likewise.
6127         * modules/localcharset: Same as above, but continue using temporary
6128         file named "t-$@" (why different?) rather than the "$@-t" used
6129         everywhere else.
6130
6131         * modules/sysexits (Makefile.am): Replace literal occurrences
6132         of "sysexit.h" more readable, and more consistent, "$@".
6133
6134 2006-09-06  Bruno Haible  <bruno@clisp.org>
6135
6136         * modules/striconv: New file.
6137         * modules/xstriconv: New file.
6138         * MODULES.html.sh (Internationalization functions): Add striconv,
6139         xstriconv.
6140
6141 2006-09-06  Bruno Haible  <bruno@clisp.org>
6142
6143         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
6144         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
6145         not using libtool correctly.
6146
6147 2006-09-06  Bruno Haible  <bruno@clisp.org>
6148
6149         * lib/striconv.h: New file.
6150         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
6151         iconvstring.c.
6152         * lib/xstriconv.h: New file.
6153         * lib/xstriconv.c: New file.
6154
6155 2006-09-06  Bruno Haible  <bruno@clisp.org>
6156
6157         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
6158         lib_..._LDFLAGS.
6159
6160 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6161
6162         * lib/argz_.h: Sync from Libtool.
6163
6164         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
6165                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6166
6167         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
6168
6169 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6170
6171         * modules/trim: New file.
6172
6173 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6174
6175         * lib/trim.h: New file.
6176         * lib/trim.c: New file.
6177
6178 2006-09-05  Bruno Haible  <bruno@clisp.org>
6179
6180         * MODULES.html.sh (String handling): Add trim.
6181
6182 2006-09-04  Karl Berry  <karl@gnu.org>
6183
6184         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
6185         until next release.
6186
6187 2006-09-03  Bruno Haible  <bruno@clisp.org>
6188
6189         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
6190         correctly.
6191
6192 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6193
6194         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
6195         not gl_GETLOADAVG.  Omit unneeded semicolons.
6196         Problems reported by Ralf Wildenhues in
6197         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6198         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
6199         at the end, which is the usual gnulib style.
6200
6201         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
6202         of doing all the work ourselves.
6203         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
6204         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
6205
6206 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6207
6208         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
6209         Problem reported by Ralf Wildenhues in
6210         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6211
6212         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
6213         HAVE_STRUCT_STATFS_F_FSTYPENAME.
6214
6215 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6216
6217         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
6218         yesterday's patch by changing test -n to test -z.
6219
6220 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6221
6222         * modules/getloadavg (Files): Add m4/getloadavg.m4.
6223         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
6224         the former is now obsolescent.
6225
6226         * modules/chdir-long (Depends-on): Add fcntl.
6227
6228 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6229
6230         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
6231         obsolescent, and programs should use gnulib instead.
6232         * m4/getloadavg.m4: New file, with contents taken from Autoconf
6233         but with prefixes changed.
6234
6235 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6236
6237         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
6238         or stdbool.h, because they might not exist while configuring.
6239
6240         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
6241         Don't include unistd.h or limits.h; not needed, since chdir-long.h
6242         does that for us.
6243         (O_DIRECTORY): Remove.
6244
6245 2006-08-31  Eric Blake  <ebb9@byu.net>
6246
6247         * gnulib-tool: Don't let emacs change spaces to TAB.
6248
6249 2006-08-31  Bruno Haible  <bruno@clisp.org>
6250
6251         * gnulib-tool: When calling func_import more than once, do it in a
6252         subshell.
6253         Reported by Eric Blake <ebb9@byu.net>.
6254
6255 2006-08-31  Bruno Haible  <bruno@clisp.org>
6256
6257         * gnulib-tool (nl): Remove variable.
6258         (sed_transform_lib_file): Use more robust test for config-h module.
6259         (func_import): Fix typo in 2006-08-25 patch.
6260
6261 2006-08-31  Bruno Haible  <bruno@clisp.org>
6262
6263         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
6264         specified, augment Makefile.am variables instead of assigning them.
6265
6266 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6267
6268         Work around a bug in both the Linux and SunOS 64-bit kernels:
6269         nanosleep mishandles sleeps for longer than 2**31 seconds.
6270         Problem reported by Frank v Waveren in
6271         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6272         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
6273         Check for nanosleep bug.
6274         (LIB_NANOSLEEP): Append clock_gettime library if needed.
6275
6276 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6277
6278         Work around a bug in both the Linux and SunOS 64-bit kernels:
6279         nanosleep mishandles sleeps for longer than 2**31 seconds.
6280         Problem reported by Frank v Waveren in
6281         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6282         * lib/nanosleep.c (BILLION): New constant.
6283         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
6284         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
6285         implementation.
6286
6287 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6288
6289         * modules/nanosleep (Depends-on): Add gettime.
6290
6291 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6292         and Simon Josefsson  <jas@extundo.com>
6293         and Oskar Liljeblad  <oskar@osk.mine.nu>
6294
6295         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
6296         * gnulib-tool (func_import): New license type 'unmodifiable license
6297         text'.
6298         * modules/fdl: Use it.  Longer description.
6299         * module/gpl, module/lgpl: New files.
6300
6301 2006-08-30  Jim Meyering  <jim@meyering.net>
6302
6303         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
6304         shadowing the parameter.
6305
6306 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6307
6308         Sync from Libtool:
6309
6310         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6311
6312         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
6313         sharing with gnulib.  Report by Eric Blake.
6314
6315 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6316
6317         * modules/isapipe: New file.
6318         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
6319
6320 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6321
6322         * modules/configmake (Makefile.am): Add a comment, and omit
6323         the CONFIGMAKE_ prefix from generated macro names.  Suggested
6324         by Bruno Haible.
6325
6326 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6327
6328         * m4/isapipe.m4: New file.
6329
6330 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6331
6332         * lib/isapipe.c, lib/isapipe.h: New files.
6333
6334 2006-08-29  Jim Meyering  <jim@meyering.net>
6335
6336         * modules/configmake (Makefile.am): Make configmake.h depend on
6337         Makefile.  Otherwise, a stale configmake.h could hang around.
6338
6339 2006-08-29  Eric Blake  <ebb9@byu.net>
6340
6341         * lib/error.c (error_at_line, print_errno_message): Match libc, after
6342         resolution of upstream bug 3044.
6343
6344 2006-08-29  Bruno Haible  <bruno@clisp.org>
6345
6346         * modules/localcharset (Depends-on): Add configmake.
6347         (Makefile.am): Remove setting of LIBDIR through DEFS.
6348
6349 2006-08-29  Bruno Haible  <bruno@clisp.org>
6350
6351         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
6352         defined.
6353
6354 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6355
6356         * modules/fcntl: New file.
6357         * modules/chdir-safer (Depends-on): Add fcntl.
6358         * modules/fts: Likewise.
6359         * modules/mkdir-p: Likewise.
6360
6361         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
6362         This undoes the most recent change, since we're now addressing the
6363         problem in a different way.
6364
6365         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
6366         into output, since the output might be called Makefile.am even
6367         if $makefile_name is something different.
6368         (func_import): Use $makefile_am rather than
6369         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
6370         empty.
6371
6372         * modules/inttypes (Files): Add m4/inttypes-h.m4.
6373
6374 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6375
6376         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
6377         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
6378         recent change to stdint.m4, since we're now addressing the problem in a
6379         different way.
6380
6381 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6382
6383         * m4/fcntl_h.m4: New file.
6384
6385 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6386
6387         * lib/fcntl_.h: New file.
6388         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
6389         the fcntl module.
6390         * lib/dirchownmod.c: Likewise.
6391         * lib/fts.c: Likewise.
6392
6393         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
6394         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
6395         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
6396         just before including <inttypes.h>, to avoid circular inclusion.
6397
6398 2006-08-28  Jim Meyering  <jim@meyering.net>
6399
6400         * doc/visibility.texi: Actually read and correct the grammar of the
6401         sentence affected by yesterday's change.
6402
6403 2006-08-28  Eric Blake  <ebb9@byu.net>
6404
6405         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
6406         needs wrapper.
6407
6408 2006-08-28  Eric Blake  <ebb9@byu.net>
6409
6410         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
6411
6412 2006-08-28  Eric Blake  <ebb9@byu.net>
6413
6414         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
6415
6416 2006-08-28  Bruno Haible  <bruno@clisp.org>
6417
6418         * modules/c-strstr: New file, from GNU gettext.
6419         * MODULES.html.sh (String handling): Add c-strstr.
6420
6421 2006-08-28  Bruno Haible  <bruno@clisp.org>
6422
6423         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
6424         macros.
6425         Reported by Eric Blake.
6426
6427 2006-08-28  Bruno Haible  <bruno@clisp.org>
6428
6429         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
6430         (VASNPRINTF): Return a string of length > INT_MAX without failing.
6431         * lib/vasprintf.c: Include errno.h, limits.h.
6432         (EOVERFLOW): New fallback definition.
6433         (vasprintf): Test here whether the string length is > INT_MAX.
6434         * lib/vsnprintf.c: Include errno.h, limits.h.
6435         (EOVERFLOW): New fallback definition.
6436         (vsnprintf): Fix bug when generated string was too long for the buffer.
6437         Test here whether the string length is > INT_MAX.
6438
6439 2006-08-28  Bruno Haible  <bruno@clisp.org>
6440
6441         * lib/inttypes_.h (SCNX*): Remove definitions.
6442         Reported by Eric Blake.
6443
6444 2006-08-28  Bruno Haible  <bruno@clisp.org>
6445
6446         * lib/c-strstr.h: New file, from GNU gettext.
6447         * lib/c-strstr.c: New file, from GNU gettext.
6448
6449 2006-08-28  Bruno Haible  <bruno@clisp.org>
6450
6451         * gnulib-tool: Reorder some statements.
6452
6453 2006-08-28  Bruno Haible  <bruno@clisp.org>
6454
6455         * gnulib-tool: New option --makefile-name.
6456         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
6457         $makefile_name.
6458         (func_import): Write $makefile_name to the cache file, and read it from
6459         there unless explicitly specified. Use $makefile_name as file name
6460         instead of Makefile.am. Adjust the recommendations accordingly.
6461
6462 2006-08-28  Bruno Haible  <bruno@clisp.org>
6463
6464         * gnulib-tool (func_verify_module): Check against misapplying patch.
6465
6466 2006-08-28  Bruno Haible  <bruno@clisp.org>
6467
6468         * gnulib-tool (func_relativize, func_relconcat): New functions.
6469         Give an error if --local-dir is given with --update.
6470         Remove trailing slashes from $local_gnulib_dir.
6471         (func_import): Store the relativized $local_gnulib_dir in
6472         gnulib-cache.m4, and read it from there if not specified explicitly.
6473
6474 2006-08-28  Bruno Haible  <bruno@clisp.org>
6475
6476         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
6477         is the current directory. Respect also $local_gnulib_dir.
6478
6479 2006-08-28  Bruno Haible  <bruno@clisp.org>
6480             Simon Josefsson  <jas@extundo.com>
6481
6482         BeOS portability.
6483         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
6484
6485 2006-08-27  Jim Meyering  <jim@meyering.net>
6486
6487         * doc/visibility.texi: Remove duplicate word: "pointer".
6488
6489 2006-08-26  Bruno Haible  <bruno@clisp.org>
6490
6491         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
6492         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
6493         (Makefile.am): Create inttypes.h from inttypes_.h.
6494         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
6495
6496         * modules/imaxabs: New file.
6497
6498         * modules/imaxdiv: New file.
6499
6500 2006-08-26  Bruno Haible  <bruno@clisp.org>
6501
6502         * m4/inttypes.m4: New file.
6503         * m4/_inttypes_h.m4: Remove file.
6504         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
6505         PRI_MACROS_BROKEN.
6506         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
6507
6508         * m4/imaxabs.m4: New file.
6509
6510         * m4/imaxdiv.m4: New file.
6511
6512 2006-08-26  Bruno Haible  <bruno@clisp.org>
6513
6514         * lib/inttypes_.h: New file.
6515         * lib/inttypes.h: Remove file.
6516         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
6517
6518         * lib/imaxabs.c: New file.
6519
6520         * lib/imaxdiv.c: New file.
6521
6522 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6523
6524         New config-h module, so that "make" output needn't be cluttered
6525         by -DHAVE_CONFIG_H.
6526         * MODULES.html.sh (Support for building libraries and executables):
6527         Add config-h.
6528         * modules/config-h: New file.
6529         * gnulib-tool (nl, sed_transform_lib_file): New vars.
6530         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
6531         the config-h module is used.
6532
6533         New configmake module, so that "make" output needn't be cluttered
6534         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
6535         * MODULES.html.sh (Support for building libraries and executables):
6536         Add configmake.
6537         * modules/configmake: New file.
6538
6539 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6540
6541         * m4/config-h.m4: New file.
6542
6543 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6544
6545         * config/srclist.txt: Add elisp-comp.
6546
6547 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6548
6549         * MODULES.html.sh (Support for building libraries and executables):
6550         Add elisp-comp.
6551         * build-aux/elisp-comp: New file.
6552         * modules/elisp-comp: New file.
6553
6554 2006-08-24  Bruno Haible  <bruno@clisp.org>
6555
6556         * gnulib-tool (func_create_testdir): Use non-default values of
6557         sourcebase and m4base.
6558
6559 2006-08-24  Bruno Haible  <bruno@clisp.org>
6560
6561         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
6562         HTML structure.
6563
6564 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
6565
6566         * modules/openat (Depends-on): Add lchown.
6567
6568 2006-08-23  Bruno Haible  <bruno@clisp.org>
6569
6570         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
6571         of gl_LOCK_EARLY instead of gl_LOCK.
6572
6573 2006-08-23  Bruno Haible  <bruno@clisp.org>
6574
6575         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
6576         on OSF/1 to no.
6577         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
6578
6579 2006-08-23  Bruno Haible  <bruno@clisp.org>
6580
6581         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
6582         as unusable.
6583
6584         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
6585         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
6586         (gl_LOCK): New macro.
6587
6588 2006-08-22  Simon Josefsson  <jas@extundo.com>
6589
6590         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
6591         to md5 module.
6592
6593 2006-08-22  Simon Josefsson  <jas@extundo.com>
6594
6595         * MODULES.html.sh: Add "Support for maintaining and release
6596         projects".
6597
6598         * build-aux/gnupload: New file, from coreutils.
6599
6600 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6601
6602         Avoid the need for AC_LIBSOURCES in m4 macros.
6603         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
6604         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
6605         * modules/check-version (EXTRA_DIST): Add check-version.h.
6606         * modules/crc (EXTRA_DIST): Add crc.h.
6607         * modules/des (EXTRA_DIST): Add des.h.
6608         * modules/gc (EXTRA_DIST): Add gc.h.
6609         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
6610         * modules/getline (EXTRA_DIST): Add getline.h.
6611         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
6612         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
6613         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
6614         * modules/md2 (EXTRA_DIST): Add md2.h.
6615         * modules/md4 (EXTRA_DIST): Add md4.h.
6616         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
6617         * modules/read-file (EXTRA_DIST): Add read-file.h.
6618         * modules/readline (EXTRA_DIST): Add readline.h.
6619         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
6620         rijndael-api-fst.h.
6621
6622 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6623
6624         * m4/rijndael.m4 (gl_ARCFOUR):
6625         * m4/arctwo.m4 (gl_ARCTWO):
6626         * m4/check-version.m4 (gl_CHECK_VERSION):
6627         * m4/crc.m4 (gl_CRC):
6628         * m4/des.m4 (gl_DES):
6629         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
6630         * m4/gc.m4 (gl_GC):
6631         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
6632         * m4/getline.m4 (gl_FUNC_GETLINE):
6633         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
6634         * m4/hmac-md5.m4 (gl_HMAC_MD5):
6635         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
6636         * m4/md2.m4 (gl_MD2):
6637         * m4/md4.m4 (gl_MD4):
6638         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
6639         * m4/read-file.m4 (gl_FUNC_READ_FILE):
6640         * m4/readline.m4 (gl_FUNC_READLINE):
6641         * m4/rijndael.m4 (gl_RIJNDAEL):
6642         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
6643         to get the necessary .h files and whatnot.
6644
6645 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6646
6647         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
6648         gnulib rather than the other way around.
6649         * config/srclistvars.sh (COREUTILS): Remove.
6650
6651 2006-08-22  Jim Meyering  <jim@meyering.net>
6652
6653         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
6654
6655         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
6656
6657 2006-08-22  Eric Blake  <ebb9@byu.net>
6658
6659         * modules/regexprops-generic: New file.
6660         * MODULES.html.sh (Support for building documentation): List it.
6661
6662 2006-08-22  Eric Blake  <ebb9@byu.net>
6663
6664         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
6665         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
6666         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
6667         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
6668
6669 2006-08-22  Bruno Haible  <bruno@clisp.org>
6670
6671         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
6672         and lib_LTLIBRARIES like the other lib_* variables.
6673
6674 2006-08-22  Bruno Haible  <bruno@clisp.org>
6675
6676         * build-aux/x-to-1.in: New file, from GNU gettext.
6677
6678 2006-08-22  Bruno Haible  <bruno@clisp.org>
6679
6680         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
6681         <utmpx.h> exists.
6682
6683 2006-08-22  Bruno Haible  <bruno@clisp.org>
6684
6685         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
6686         <utmpx.h> exists.
6687
6688 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6689
6690         BeOS portability.
6691         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
6692         exist.
6693         Problem reported by Bruno Haible.
6694
6695 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6696
6697         Avoid the need for AC_LIBSOURCES in m4 macros.
6698         * modules/acl (EXTRA_DIST): Add acl.h.
6699         * modules/argmatch (Files): Add m4/argmatch.m4.
6700         (configure.ac): Add gl_ARGMATCH.
6701         (EXTRA_DIST): Renamed from lib_SOURCES, for
6702         consistency with the other modules.  Remove argmatch.c.
6703         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
6704         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
6705         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
6706         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
6707         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
6708         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
6709         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
6710         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
6711         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
6712         * modules/closeout (EXTRA_DIST): Add closeout.h.
6713         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
6714         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
6715         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
6716         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
6717         dirname.h; remove basename.c and stripslash.c.
6718         * modules/exclude (EXTRA_DIST): Add exclude.h.
6719         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
6720         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
6721         * modules/file-type (EXTRA_DIST): Add file-type.h.
6722         * modules/filemode (EXTRA_DIST): Add filemode.h.
6723         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
6724         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
6725         * modules/fpending (EXTRA_DIST): Add __fpending.h.
6726         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
6727         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
6728         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
6729         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
6730         * modules/getdate (EXTRA_DIST): Add getdate.c.
6731         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
6732         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
6733         * modules/getpass (EXTRA_DIST): Add getpass.h.
6734         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
6735         * modules/group-member (EXTRA_DIST): Add group-member.h.
6736         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
6737         * modules/hash (EXTRA_DIST): Add hash.h.
6738         * modules/human (EXTRA_DIST): Add human.h.
6739         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
6740         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
6741         * modules/lchown (EXTRA_DIST): Add lchown.h.
6742         * modules/long-options (EXTRA_DIST): Add long-options.h.
6743         * modules/lstat (EXTRA_DIST): Add lstat.h.
6744         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
6745         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
6746         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
6747         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
6748         * modules/memxor (EXTRA_DIST): Add memxor.h.
6749         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
6750         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
6751         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
6752         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
6753         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
6754         * modules/physmem (EXTRA_DIST): Add physmem.h.
6755         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
6756         * modules/posixver (EXTRA_DIST): Add posixver.h.
6757         * modules/quote (EXTRA_DIST): Add quote.h.
6758         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
6759         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
6760         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
6761         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
6762         regex_internal.h regexec.c.
6763         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
6764         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
6765         * modules/same (EXTRA_DIST): Add same.h.
6766         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
6767         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
6768         * modules/savedir (EXTRA_DIST): Add savedir.h.
6769         * modules/sha1 (EXTRA_DIST): Add sha1.h.
6770         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
6771         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
6772         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
6773         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
6774         * modules/strdup (EXTRA_DIST): Add strdup.h.
6775         * modules/strftime (EXTRA_DIST): Add strftime.h.
6776         * modules/strndup (EXTRA_DIST): Add strndup.h.
6777         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
6778         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
6779         * modules/time_r (EXTRA_DIST): Add time_r.h.
6780         * modules/timespec (EXTRA_DIST): Add timespec.h.
6781         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
6782         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
6783         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
6784         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
6785         * modules/userspec (EXTRA_DIST): Add userspec.h.
6786         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
6787         * modules/utimens (EXTRA_DIST): Add utimens.h.
6788         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
6789         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
6790         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
6791         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
6792         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
6793         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
6794         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
6795         * modules/yesno (EXTRA_DIST): Add yesno.h.
6796
6797 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6798
6799         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
6800
6801         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
6802         * m4/dev-ino.m4, same-inode.m4: Remove.
6803
6804         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
6805         * m4/acl.m4 (AC_FUNC_ACL):
6806         * m4/backupfile.m4 (gl_BACKUPFILE):
6807         * m4/c-strtod.m4 (gl_C99_STRTOLD):
6808         * m4/canon-host.m4 (gl_CANON_HOST):
6809         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
6810         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
6811         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
6812         * m4/cloexec.m4 (gl_CLOEXEC):
6813         * m4/close-stream.m4 (gl_CLOSE_STREAM):
6814         * m4/closeout.m4 (gl_CLOSEOUT):
6815         * m4/dirfd.m4 (gl_FUNC_DIRFD):
6816         * m4/dirname.m4 (gl_DIRNAME):
6817         * m4/exclude.m4 (gl_EXCLUDE):
6818         * m4/exitfail.m4 (gl_EXITFAIL):
6819         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
6820         * m4/file-type.m4 (gl_FILE_TYPE):
6821         * m4/filemode.m4 (gl_FILEMODE):
6822         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
6823         * m4/fpending.m4 (gl_FUNC_FPENDING):
6824         * m4/fprintftime.m4 (gl_FPRINTFTIME):
6825         * m4/fts.m4 (gl_FUNC_FTS):
6826         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
6827         * m4/getdate.m4 (gl_GETDATE):
6828         * m4/gethrxtime.m4 (gl_GETHRXTIME):
6829         * m4/getpagesize.m4 (gl_GETPAGESIZE):
6830         * m4/getpass.m4 (gl_FUNC_GETPASS):
6831         * m4/gettime.m4 (gl_GETTIME):
6832         * m4/getugroups.m4 (gl_GETUGROUPS):
6833         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
6834         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
6835         * m4/hard-locale.m4 (gl_HARD_LOCALE):
6836         * m4/hash.m4 (gl_HASH):
6837         * m4/idcache.m4 (gl_IDCACHE):
6838         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
6839         * m4/lchown.m4 (gl_FUNC_LCHOWN):
6840         * m4/long-options.m4 (gl_LONG_OPTIONS):
6841         * m4/lstat.m4 (gl_FUNC_LSTAT):
6842         * m4/md5.m4 (gl_MD5):
6843         * m4/memcasecmp.m4 (gl_MEMCASECMP):
6844         * m4/memcoll.m4 (gl_MEMCOLL):
6845         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
6846         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
6847         * m4/memxor.m4 (gl_MEMXOR):
6848         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
6849         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
6850         * m4/modechange.m4 (gl_MODECHANGE):
6851         * m4/mountlist.m4 (gl_MOUNTLIST):
6852         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
6853         * m4/openat.m4 (gl_FUNC_OPENAT):
6854         * m4/pathmax.m4 (gl_PATHMAX):
6855         * m4/physmem.m4 (gl_PHYSMEM):
6856         * m4/posixtm.m4 (gl_POSIXTM):
6857         * m4/posixver.m4 (gl_POSIXVER):
6858         * m4/quote.m4 (gl_QUOTE):
6859         * m4/quotearg.m4 (gl_QUOTEARG):
6860         * m4/readtokens.m4 (gl_READTOKENS):
6861         * m4/readutmp.m4 (gl_READUTMP):
6862         * m4/regex.m4 (gl_REGEX):
6863         * m4/safe-read.m4 (gl_SAFE_READ):
6864         * m4/safe-write.m4 (gl_SAFE_WRITE):
6865         * m4/same.m4 (gl_SAME):
6866         * m4/save-cwd.m4 (gl_SAVE_CWD):
6867         * m4/savedir.m4 (gl_SAVEDIR):
6868         * m4/settime.m4 (gl_SETTIME):
6869         * m4/sha1.m4 (gl_SHA1):
6870         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
6871         * m4/stat-macros.m4 (gl_STAT_MACROS):
6872         * m4/stat-time.m4 (gl_STAT_TIME):
6873         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
6874         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
6875         * m4/strdup.m4 (gl_FUNC_STRDUP):
6876         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
6877         * m4/strndup.m4 (gl_FUNC_STRNDUP):
6878         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
6879         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
6880         * m4/time_r.m4 (gl_TIME_R):
6881         * m4/timespec.m4 (gl_TIMESPEC):
6882         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
6883         * m4/unlinkdir.m4 (gl_UNLINKDIR):
6884         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
6885         * m4/userspec.m4 (gl_USERSPEC):
6886         * m4/utimecmp.m4 (gl_UTIMECMP):
6887         * m4/utimens.m4 (gl_UTIMENS):
6888         * m4/xalloc.m4 (gl_XALLOC):
6889         * m4/xgetcwd.m4 (gl_XGETCWD):
6890         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
6891         * m4/xreadlink.m4 (gl_XREADLINK):
6892         * m4/xstrtod.m4 (gl_XSTRTOD):
6893         * m4/yesno.m4 (gl_YESNO):
6894         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
6895         to get the necessary .h files and whatnot.
6896
6897 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
6898             Bruno Haible  <bruno@clisp.org>
6899
6900         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
6901         /bin/sh understanding of '!' conditional negation.
6902
6903 2006-08-21  Jim Meyering  <jim@meyering.net>
6904
6905         * modules/openat (Depends-on): Really alphabetize.
6906
6907         * modules/acl (Depends-on): Add error and quote.
6908
6909         * check-module (find_included_lib_files): Add at-func.c to the
6910         ok-to-include-more-than-once white list.
6911
6912         * modules/openat (Depends-on): Add lstat.  Alphabetize.
6913
6914 2006-08-21  Bruno Haible  <bruno@clisp.org>
6915
6916         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6917         Emit a pkgdata_DATA variable only if some snippets add contents to it.
6918         Reported by Martin Lambers <marlam@marlam.de>.
6919
6920 2006-08-21  Bruno Haible  <bruno@clisp.org>
6921
6922         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
6923         specify an installation location, don't emit a noinst_LIBRARIES or
6924         noinst_LTLIBRARIES assignment.
6925
6926 2006-08-21  Bruno Haible  <bruno@clisp.org>
6927
6928         BeOS portability.
6929         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
6930         BeOS has mbrtowc() but no <wctype.h>.
6931
6932 2006-08-21  Bruno Haible  <bruno@clisp.org>
6933
6934         BeOS portability.
6935         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
6936         exist.
6937
6938 2006-08-21  Bruno Haible  <bruno@clisp.org>
6939
6940         BeOS portability.
6941         * lib/mbchar.h: Include <wctype.h> only if it exists.
6942
6943 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
6944
6945         Remove files that are no longer needed by their respective modules.
6946         * m4/obstack.m4: Remove.
6947         * m4/strerror_r.m4: Remove.
6948         * m4/uint32_t.m4: Remove.
6949         * m4/uintptr_t.m4: Remove.
6950         * m4/ullong_max.m4: Remove.
6951         * m4/xstrtoimax.m4: Remove.
6952         * m4/xstrtoumax.m4: Remove.
6953
6954         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
6955         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
6956         dependencies now capture this.
6957
6958         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
6959         Do not use AC_LIBSOURCES, since gnulib modules now do this.
6960         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
6961         * m4/human.m4 (gl_HUMAN): Likewise.
6962         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
6963         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
6964
6965         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
6966
6967         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
6968         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
6969         stdint.
6970         * m4/human.m4 (gl_HUMAN): Likewise.
6971         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
6972         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
6973         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
6974         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
6975         * m4/xstrtol (gl_XSTRTOL): Likewise.
6976
6977         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
6978         AC_TYPE_LONG_LONG_INT.
6979         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
6980         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
6981         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
6982         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
6983
6984         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
6985         on stdbool.
6986
6987         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
6988         (gl_PREREQ_XSTRTOUL): Remove.
6989
6990         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
6991
6992         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
6993         mode.
6994
6995 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
6996
6997         Add and change modules to make it easier for coreutils to use
6998         gnulib-tool.
6999         * modules/backupfile (Files): Remove m4/d-ino.m4.
7000         (Depends-on): Add d-ino.
7001         * modules/cycle-check (Depends-on): Add stdint.
7002         (lib_SOURCES): Add cycle-check.h.
7003         * modules/d-ino: New module.
7004         * modules/d-type: New module.
7005         * modules/error (Files): Remove m4/strerror_r.m4.
7006         * modules/filemode (Files): Add m4/st_dm_mode.m4.
7007         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
7008         m4/inttypes_h.m4, m4/uintmax_t.m4.
7009         (Depends-on): Add stdint.
7010         (lib_SOURCES): Add fsusage.h.
7011         * modules/getcwd (Files): Remove d-ino.m4.
7012         (Depends-on): Add d-ino.
7013         * modules/getndelim2 (Depends-on): Add stdint.
7014         * modules/glob (Files): Remove m4/d-type.m4.
7015         (Depends-on): Add d-type.
7016         * modules/host-os: New module.
7017         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
7018         m4/inttypes_h.m4, m4/uintmax_t.m4.
7019         * Depends-on: Add stdint.
7020         (lib_SOURCES): Add human.h.
7021         * modules/inttostr (Files): Remove m4/intmax_t.m4,
7022         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
7023         m4/uintmax_t.m4, m4/ulonglong.m4.
7024         (Depends-on): Add stdint.
7025         (EXTRA_DIST): Add inttostr.h.
7026         * modules/lchmod: New module.
7027         * modules/link-follow: New module.
7028         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
7029         (Depends-on): Add lchmod.
7030         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
7031         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
7032         (Depends-on): Add stdint.
7033         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
7034         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
7035         (Depends-on): Add stdint.
7036         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
7037         * modules/perl: New module.
7038         * modules/regex (Depends-on): Add stdint.
7039         * modules/rmdir-errno: New module.
7040         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
7041         m4/intmax_t.m4.
7042         (Depends-on): Add stdint.
7043         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
7044         m4/uintmax_t.m4.
7045         (Depends-on): Add stdint.
7046         * modules/unlink-busy: New module.
7047         * modules/utimecmp (Depends-on): Add stdint.
7048         * modules/uptime: New module.
7049         * modules/winsz-ioctl: New module.
7050         * modules/winsz-termios: New module.
7051         * modules/xnanosleep (Depends-on): Add nanosleep.
7052         * modules/ullong_max: Remove.
7053         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
7054         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
7055         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
7056         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
7057         (Depends-on): Add inttypes.
7058         (lib_SOURCES): Add xstrtol.h.
7059         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
7060         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
7061         * MODULES.html.sh: Move 'assert' into the assert section.
7062         Move 'dummy' into the linking section.
7063         Remove ullong_max.
7064         Add section for compatibility checks for POSIX:2001 functions,
7065         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
7066         winsz-ioctl, and winsz-termios into it.
7067         Add lchmod.
7068         Add top-level Misc section and put host-os, perl, and uptime
7069         into it.
7070
7071 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7072
7073         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
7074         now assume the stdint module.  Do not include inttypes.h.
7075         * lib/fsusage.h: Likewise.
7076         * lib/getndelim2.c: Likewise.
7077         * lib/human.h: Likewise.
7078         * lib/inttostr.h: Likewise.
7079         * lib/obstack.c: Likewise.
7080         * lib/regex_internal.h: Likewise.
7081         * lib/tempname.c: Likewise.
7082         * lib/utimecmp.c: Likewise.
7083         * lib/xstrtol.h: Likewise.
7084
7085         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
7086
7087         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
7088         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
7089         * lib/xtime.h: Likewise.
7090
7091 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7092
7093         * modules/openat (Files): Add lib/fchmodat.c.
7094         Fixes problem reported by Jay Youngman.
7095
7096 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7097
7098         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
7099         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
7100
7101 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7102             Bruno Haible  <bruno@clisp.org>
7103
7104         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
7105         and is a script that invokes bison. Tighten the code. Add comments.
7106
7107 2006-08-18  Jim Meyering  <jim@meyering.net>
7108
7109         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
7110         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
7111         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
7112         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
7113
7114 2006-08-18  Bruno Haible  <bruno@clisp.org>
7115
7116         * modules/bison-i18n: New file.
7117         * MODULES.html.sh (Internationalization functions): Add it.
7118
7119 2006-08-18  Bruno Haible  <bruno@clisp.org>
7120
7121         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
7122         sys/statvfs.h. When getmntinfo was found, check its declaration and
7123         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
7124
7125 2006-08-18  Bruno Haible  <bruno@clisp.org>
7126
7127         * m4/bison-i18n.m4: New file, from bison.
7128
7129 2006-08-18  Bruno Haible  <bruno@clisp.org>
7130
7131         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
7132         (ME_DUMMY): Treat "kernfs" as a dummy.
7133         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
7134
7135 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7136
7137         Update from coreutils.
7138
7139         2006-08-15  Jim Meyering  <jim@meyering.net>
7140
7141         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
7142
7143         2006-01-17  Jim Meyering  <jim@meyering.net>
7144
7145         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
7146
7147         2006-01-11  Jim Meyering  <jim@meyering.net>
7148
7149         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
7150         Check for the lchmod function.
7151
7152 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7153
7154         Update from coreutils.
7155
7156         * lib/__fpending.h: Add copyright notice.
7157         * lib/fprintftime.h: Likewise.
7158         * lib/savedir.c: Use (C) in copyright notice.
7159         * lib/savedir.h: Likewise.
7160
7161         2006-08-15  Jim Meyering  <jim@meyering.net>
7162
7163         * lib/at-func.c: New file, with the logic of all emulated at-functions.
7164         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
7165         in support of the EXPECTED_ERRNO macro.
7166         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
7167         definitions.  Instead, define the appropriate symbols and include
7168         "at-func.c".
7169         * lib/mkdirat.c (mkdirat): Likewise.
7170         * lib/fchmodat.c (fchmodat): Likewise.
7171         (ENOSYS): Remove definition.
7172         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
7173         it.  Don't include "unistd--.h" -- it wasn't ever used.
7174
7175         2006-01-17  Jim Meyering  <jim@meyering.net>
7176
7177         Rewrite fts.c not to change the current working directory,
7178         by using openat, fstatat, fdopendir, etc..
7179
7180         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
7181         (HAVE_OPENAT_SUPPORT): Define.
7182         [_LIBC] (fchdir): Don't undef or define; no longer used.
7183         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
7184         Now, this `function' always succeeds, and consumes its file descriptor
7185         parameter -- so callers must not close such FDs.  Update callers.
7186         (diropen_fd, opendirat, cwd_advance_fd): New functions.
7187         (diropen): Add parameter, SP.  Adjust all callers.
7188         Implement using diropen_fd, rather than open.
7189         (fts_open): Initialize new member, fts_cwd_fd.
7190         Remove fts_rft-setting code.
7191         (fts_close): Close fts_cwd_fd, if necessary.
7192         (__opendir2): Define in terms of opendir or opendirat,
7193         depending on whether the FST_NOCHDIR flag is set.
7194         (fts_build): Since fts_safe_changedir consumes its FD, and since
7195         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
7196         and close the dup'd file descriptor upon failure.
7197         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
7198         (fts_safe_changedir): Tweak semantics to reflect that this function
7199         now calls cwd_advance_fd and hence consumes its FD argument.
7200         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
7201         [struct FTS] (fts_rft): Remove now-unused member.
7202         [struct FTS] (fts_cycle.state): Improve comment.
7203
7204         * lib/openat.c (openat_needs_fchdir): New function.
7205         * lib/openat.h (openat_needs_fchdir): Declare it.
7206
7207 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
7208
7209         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
7210         Problem and fix reported by Pádraig Brady in
7211         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
7212
7213 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7214
7215         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
7216
7217 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7218
7219         * lib/memcoll.c (memcoll): Optimize for the common case where the
7220         arguments are bytewise equal.
7221
7222 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7223
7224         * doc/regexprops-generic.texi: Add a copyright notice.
7225
7226 2006-08-15  Bruno Haible  <bruno@clisp.org>
7227
7228         * modules/tmpdir (License): Change to LGPL.
7229
7230 2006-08-15  Bruno Haible  <bruno@clisp.org>
7231
7232         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
7233         module.
7234
7235 2006-08-14  Simon Josefsson  <jas@extundo.com>
7236
7237         * config/srclist.txt: Add gnupload.
7238
7239 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7240
7241         Change copyright notice from LGPL 2 to GPL 2, since that's the
7242         standard form used in the gnulib repository.
7243         * tests/test-lock.c: Likewise.
7244         * tests/test-stdint.c: Likewise.
7245         * tests/test-tls.c: Likewise.
7246
7247         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
7248         prelude-manager.  User shorter URLs for GNU projects, without '?'.
7249         Add copyright notice.
7250
7251         * check-module: Add copyright notice.  Output a copyright
7252         notice if "--version" is specified.
7253         * modules/COPYING: New file.
7254         * tests/test-getaddrinfo.c: Add copyright notice.
7255         * tests/test-verify.c: Likewise.
7256
7257 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7258
7259         Change copyright notice from LGPL 2 to GPL 2, since that's the
7260         standard form used in the gnulib repository.
7261         * lib/lock.c: LGPL -> GPL.
7262         * lib/lock.h: Likewise.
7263         * lib/strnlen1.c: Likewise.
7264         * lib/strnlen1.h: Likewise.
7265         * lib/tls.c: Likewise.
7266         * lib/tls.h: Likewise.
7267         * lib/tmpdir.c: Likewise.
7268
7269         * lib/TODO: Remove; this belongs only in coreutils.
7270
7271 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7272
7273         Add copyright notices to long-enough files that lack them, since
7274         otherwise the files aren't clearly free.  Use the same notice that
7275         getdate.texi already uses.
7276         * doc/alloca-opt.texi: Add copyright notice.
7277         * doc/alloca.texi: Likewise.
7278         * doc/ctime.texi: Likewise.
7279         * doc/functions.texi: Likewise.
7280         * doc/gcd.texi: Likewise.
7281         * doc/gnulib-tool.texi: Likewise.
7282         * doc/inet_ntoa.texi: Likewise.
7283         * doc/visibility.texi: Likewise.
7284
7285         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
7286         * doc/quote.texi: Add copyright notice.
7287
7288         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
7289         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
7290         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
7291         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
7292         is now obsolete, and give a pointer to the Sun list.
7293         Add copyright notice.
7294
7295 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7296
7297         * config/srclistvars.sh: Add copyright notice.
7298
7299 2006-08-14  Eric Blake  <ebb9@byu.net>
7300
7301         Import the following change from libc:
7302
7303         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
7304
7305         Upstream bug 2997.
7306         * lib/misc/error.c: Add space between program name and message if file
7307         name is missing.
7308
7309 2006-08-12  Karl Berry  <karl@gnu.org>
7310
7311         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
7312         remove, these originate in gnulib now.
7313
7314 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7315
7316         * doc/Makefile (standards.info standards.html standards.dvi):
7317         Also depend on make-stds.texi.
7318
7319 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7320
7321         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
7322         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
7323
7324         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
7325         in wchar_t.  Problem reported by Eric Blake.
7326
7327         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
7328         LEN is smaller than SIZE.  Suggested by Bruno Haible.
7329         Also, help the compiler to keep LEN in a register.
7330
7331 2006-08-11  Eric Blake  <ebb9@byu.net>
7332
7333         * users.txt: Sort.  Add tar.
7334
7335 2006-08-11  Bruno Haible  <bruno@clisp.org>
7336
7337         * users.txt: New file.
7338
7339 2006-08-11  Bruno Haible  <bruno@clisp.org>
7340
7341         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
7342         before <wchar.h>. Needed for OSF/1 and BSD/OS.
7343
7344 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7345
7346         * modules/snprintf (Depends-on): Remove minmax.
7347         (Maintainer): Add self and Bruno.
7348
7349 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7350
7351         * lib/.cppi-disable: Add snprintf.h, socket_.h.
7352         * lib/snprintf.c: Include <errno.h> and <limits.h>.
7353         (EOVERFLOW): Define if the system does not.
7354         Do not include "minmax.h"; it wasn't used.
7355         (snprintf): Don't assume size_t promotes to an unsigned type.
7356         Fix bug when generated string was too long for the buffer: the
7357         buffer's contents are supposed to be the initial prefix of the
7358         output.  Don't assume vasnprintf returns EOVERFLOW if the size
7359         exceeds INT_MAX; do the check ourselves.
7360
7361         Import the following changes from libc:
7362
7363         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
7364
7365         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
7366         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
7367         set wc to the byte which couldn't be converted.
7368         (re_string_reconstruct): Don't clear valid_raw_len before calling
7369         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
7370         tip_context using re_string_context_at.
7371
7372         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
7373
7374         * lib/posix/regex.h: g++ still cannot handled [restrict].
7375
7376         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
7377
7378         * lib/posix/regex.h: Remove special handling for VMS.
7379
7380 2006-08-10  Jim Meyering  <jim@meyering.net>
7381
7382         * modules/same-inode: New module.
7383         * modules/dev-ino: New module.
7384         * modules/cycle-check: Depend on these modules, rather than simply
7385         including their .h files.
7386         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
7387         required via m4/cycle-check.m4.
7388         * modules/same: Depend on new same-inode module, rather than
7389         including same-inode.h.
7390         * modules/chdir-safer: New file.
7391
7392         * modules/chown (Depends-on): Add stat-macros.
7393
7394 2006-08-10  Jim Meyering  <jim@meyering.net>
7395
7396         * m4/cycle-check.m4: New file.
7397         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
7398         * m4/dev-ino.m4, m4/same-inode.m4: New files.
7399
7400 2006-08-10  Eric Blake  <ebb9@byu.net>
7401
7402         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
7403         in from original proposal.
7404
7405 2006-08-10  Eric Blake  <ebb9@byu.net>
7406         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7407
7408         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
7409         namespace.
7410
7411 2006-08-10  Bruno Haible  <bruno@clisp.org>
7412
7413         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
7414         as well.
7415
7416 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7417
7418         Sync from coreutils.
7419
7420         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
7421
7422         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
7423         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
7424
7425 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7426
7427         * modules/restrict: Remove; no longer needed now that we assume
7428         Autoconf 2.59 or later.
7429         * MODULES.html.sh: Remove 'restrict'.
7430         * modules/argp (Depends-on): Remove 'restrict'.
7431         * modules/base64 (Depends-on): Likewise.
7432         * modules/gc (Depends-on): Likewise.
7433         * modules/getaddrinfo (Depends-on): Likewise.
7434         * modules/glob (Depends-on): Likewise.
7435         * modules/inet_ntop (Depends-on): Likewise.
7436         * modules/inet_pton (Depends-on): Likewise.
7437         * modules/memxor (Depends-on): Likewise.
7438         * modules/regex (Depends-on): Likewise.
7439         * modules/strtok_r (Depends-on): Likewise.
7440         * modules/time_r (Depends-on): Likewise.
7441
7442 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7443
7444         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
7445         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
7446         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
7447         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
7448         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
7449         * m4/memxor.m4 (gl_MEMXOR): Likewise.
7450         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
7451         gl_C_RESTRICT replaced by AC_C_RESTRICT.
7452
7453         Merge from coreutils.
7454         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
7455         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
7456         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
7457         * m4/time_r.m4 (gl_TIME_R): Likewise.
7458
7459 2006-08-09  Karl Berry  <karl@gnu.org>
7460
7461         * config/srclist.txt: no more gettext-tools, per Bruno.
7462
7463 2006-08-08  Eric Blake  <ebb9@byu.net>
7464
7465         * modules/verror: New module.
7466         * MODULES.html.sh: Document it.
7467
7468 2006-08-08  Eric Blake  <ebb9@byu.net>
7469
7470         * lib/verror.h, lib/verror.c: New files.
7471
7472 2006-08-08  Eric Blake  <ebb9@byu.net>
7473
7474         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
7475         verror_at_line output complies with GNU Coding Standards even when
7476         file is NULL.
7477
7478 2006-08-07  Bruno Haible  <bruno@clisp.org>
7479
7480         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
7481         versions of AIX.
7482         Reported by Ralf Wildenhues.
7483
7484 2006-08-07  Bruno Haible  <bruno@clisp.org>
7485
7486         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
7487         in an AC_DEFUN. Needed so that the autoconf snippets can use
7488         AC_REQUIRE.
7489
7490 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7491
7492         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7493         Initialize pkgdata_DATA.
7494         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
7495         overriding it.
7496
7497 2006-08-06  Eric Blake  <ebb9@byu.net>
7498
7499         * lib/error.h: Fold in some upstream changes from glibc.
7500         * lib/error.c: Likewise.
7501
7502 2006-08-04  Bruno Haible  <bruno@clisp.org>
7503
7504         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7505         Make the mostlyclean-local rule depend on mostlyclean-generic.
7506         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
7507
7508 2006-07-31  Bruno Haible  <bruno@clisp.org>
7509
7510         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
7511         <stdlib.h>, <string.h>.
7512
7513 2006-07-30  Bruno Haible  <bruno@clisp.org>
7514
7515         * modules/readlink (License): Change to LGPL.
7516
7517 2006-07-30  Bruno Haible  <bruno@clisp.org>
7518
7519         * modules/javaversion (Makefile.am): Distribute javaversion.java and
7520         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
7521         set PKGDATADIR to point to it.
7522
7523 2006-07-30  Bruno Haible  <bruno@clisp.org>
7524
7525         * modules/csharpexec (configure.ac): Comment out macro invocation.
7526         * modules/javaexec (configure.ac): Likewise.
7527         * modules/javacomp-script (configure.ac): Likewise.
7528
7529         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
7530
7531 2006-07-30  Bruno Haible  <bruno@clisp.org>
7532
7533         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
7534         linked-list.
7535
7536 2006-07-30  Bruno Haible  <bruno@clisp.org>
7537
7538         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
7539
7540 2006-07-30  Bruno Haible  <bruno@clisp.org>
7541
7542         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7543         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
7544         get removed.
7545
7546 2006-07-29  Bruno Haible  <bruno@clisp.org>
7547
7548         Make it possible for gnulib-tool to work with locally modified or
7549         augmented gnulib repositories.
7550         * gnulib-tool (func_usage): Document --local-dir option.
7551         (local_gnulib_dir): New variable.
7552         Handle --local-dir option.
7553         (func_lookup_file): New function.
7554         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
7555         (func_get_description, func_get_filelist, func_get_description,
7556         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
7557         func_get_automake_snippet, func_get_include_directive,
7558         func_get_license, func_get_maintainer): Use func_lookup_file.
7559         (func_import, func_create_testdir): Use func_lookup_file.
7560
7561 2006-07-29  Bruno Haible  <bruno@clisp.org>
7562
7563         * modules/setenv (Depends-on): Add unistd.
7564
7565 2006-07-29  Bruno Haible  <bruno@clisp.org>
7566
7567         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
7568
7569 2006-07-29  Bruno Haible  <bruno@clisp.org>
7570
7571         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
7572
7573 2006-07-29  Bruno Haible  <bruno@clisp.org>
7574
7575         * gnulib-tool (import, update): If there is no Makefile.am, look at
7576         aclocal.m4, instead of bailing out.
7577
7578 2006-07-29  Bruno Haible  <bruno@clisp.org>
7579
7580         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
7581         Categorize the options by when they are useful.
7582
7583 2006-07-29  Bruno Haible  <bruno@clisp.org>
7584
7585         * gnulib-tool (func_usage): Document option --no-libtool.
7586         Handle option --no-libtool.
7587         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
7588         for changed semantics of $libtool variable.
7589         (func_import): Likewise. If libtool is not used, show this through
7590         an option --no-libtool.
7591         (func_create_testdir): Update.
7592
7593 2006-07-29  Bruno Haible  <bruno@clisp.org>
7594
7595         * gnulib-tool (func_import): Extend error message about missing
7596         --doc-base.
7597
7598 2006-07-29  Bruno Haible  <bruno@clisp.org>
7599
7600         * gnulib-tool (func_import): Don't create the $docbase directory if
7601         there is no file to store there.
7602
7603 2006-07-29  Bruno Haible  <bruno@clisp.org>
7604
7605         * gnulib-tool (autoconf_minversion): If a --dir option is given and
7606         relevant, look for configure.ac there, not in the current directory.
7607         Also use a simple search for AC_PREREQ, not "autoconf --trace".
7608
7609 2006-07-29  Bruno Haible  <bruno@clisp.org>
7610
7611         * gnulib-tool (SORT): New variable.
7612         (func_usage): Undocument --assume-autoconf option.
7613         Remove --assume-autoconf option handling.
7614         (autoconf_minversion): Determine from the contents of configure.ac.
7615         (func_import): Remove autoconf_minversion handling.
7616         Suggested by Eric Blake.
7617
7618 2006-07-29  Bruno Haible  <bruno@clisp.org>
7619
7620         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
7621
7622 2006-07-29  Bruno Haible  <bruno@clisp.org>
7623
7624         * config/srclist.txt (*setenv.[ch]): Remove rules.
7625
7626 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7627
7628         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
7629
7630 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7631
7632         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
7633         arpa/inet.h.
7634
7635 2006-07-28  Simon Josefsson  <jas@extundo.com>
7636
7637         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
7638         * modules/inet_pton (Depends-on): Likewise.
7639
7640 2006-07-28  Simon Josefsson  <jas@extundo.com>
7641
7642         * m4/netinet_in_h.m4: New file.
7643
7644 2006-07-28  Simon Josefsson  <jas@extundo.com>
7645
7646         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
7647         #include's.
7648
7649 2006-07-28  Simon Josefsson  <jas@extundo.com>
7650
7651         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
7652         #include's.
7653
7654 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
7655
7656         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
7657         setgid on directories only if they set these bits.
7658         * lib/modechange.h: Remove obsolete comment about masks.
7659
7660 2006-07-28  Eric Blake  <ebb9@byu.net>
7661
7662         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
7663         macro expansion.
7664
7665 2006-07-28  Bruno Haible  <bruno@clisp.org>
7666
7667         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
7668
7669 2006-07-28  Bruno Haible  <bruno@clisp.org>
7670
7671         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
7672
7673 2006-07-28  Bruno Haible  <bruno@clisp.org>
7674
7675         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
7676         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
7677         Define fallbacks.
7678         Avoids link error on FreeBSD 4.x.
7679         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
7680
7681         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
7682         encoding.
7683         * lib/mbswidth.c (iswcntrl): Likewise.
7684
7685 2006-07-27  Bruno Haible  <bruno@clisp.org>
7686
7687         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
7688         test.
7689
7690 2006-07-27  Bruno Haible  <bruno@clisp.org>
7691
7692         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
7693         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
7694         defined.
7695
7696 2006-07-26  Eric Blake  <ebb9@byu.net>
7697
7698         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
7699
7700 2006-07-26  Eric Blake  <ebb9@byu.net>
7701
7702         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
7703         like mingw that lack mkstemp.
7704         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
7705         avoid compilation warning on mingw.
7706
7707 2006-07-26  Bruno Haible  <bruno@clisp.org>
7708
7709         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
7710         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
7711         INT_FAST*_MIN, INTPTR_MIN.
7712
7713 2006-07-25  Bruno Haible  <bruno@clisp.org>
7714
7715         * modules/version-etc (Depends-on): Add stdarg.
7716
7717 2006-07-25  Bruno Haible  <bruno@clisp.org>
7718
7719         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
7720         complex commands.
7721
7722 2006-07-25  Bruno Haible  <bruno@clisp.org>
7723
7724         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
7725         defined in <stdarg.h> or config.h.
7726
7727 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7728
7729         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
7730         (gl_STDIO_SAFER): Remove.
7731
7732 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7733
7734         * MODULES.html.sh (File stream based Input/Output):
7735         Add fopen-safer, tmpfile-safer; remove stdio-safer.
7736         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
7737         * modules/fopen-safer, modules/tmpfile-safer: New files.
7738         * modules/stdio-safer: Remove.
7739
7740 2006-07-24  Bruno Haible  <bruno@clisp.org>
7741
7742         * modules/tmpdir: New file.
7743         * MODULES.html.sh (File system functions): Add it.
7744
7745 2006-07-24  Bruno Haible  <bruno@clisp.org>
7746
7747         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
7748         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
7749
7750 2006-07-24  Bruno Haible  <bruno@clisp.org>
7751
7752         * modules/clean-temp: New file.
7753
7754 2006-07-24  Bruno Haible  <bruno@clisp.org>
7755
7756         * m4/tmpdir.m4: New file, from GNU gettext.
7757
7758 2006-07-24  Bruno Haible  <bruno@clisp.org>
7759
7760         * lib/tmpdir.h: New file, from GNU gettext.
7761         * lib/tmpdir.c: New file, from GNU gettext.
7762
7763 2006-07-24  Bruno Haible  <bruno@clisp.org>
7764
7765         * lib/clean-temp.h: New file, from GNU gettext.
7766         * lib/clean-temp.c: New file, from GNU gettext.
7767
7768 2006-07-23  Eric Blake  <ebb9@byu.net>
7769
7770         * modules/stdio-safer (Files): Add tmpfile-safer.c.
7771         (Depends-on): Add binary-io.
7772
7773 2006-07-23  Eric Blake  <ebb9@byu.net>
7774
7775         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
7776
7777 2006-07-23  Eric Blake  <ebb9@byu.net>
7778
7779         * lib/tmpfile-safer.c: New file.
7780         * lib/stdio-safer.h (fopen_safer): Add prototype.
7781         * lib/stdio--.h (tmpfile): Make safer.
7782
7783 2006-07-23  Bruno Haible  <bruno@clisp.org>
7784
7785         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
7786         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
7787         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
7788         gl_linked_remove_at): Use it.
7789
7790 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7791         and Simon Josefsson <jas@extundo.com>
7792
7793         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
7794
7795         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
7796
7797 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7798
7799         * modules/close-stream: New file.
7800         * modules/closeout (Description): Make it clear that it exits
7801         with a diagnostic on error.
7802         (Depends-on): Add close-stream.  Remove fpending, stdbool.
7803         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
7804
7805 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7806
7807         * m4/close-stream.m4: New file.
7808
7809 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7810
7811         * lib/close-stream.c, lib/close-stream.h: New files.
7812
7813 2006-07-22  Bruno Haible  <bruno@clisp.org>
7814
7815         Merge from GNU gettext 0.15.
7816
7817         2006-05-01  Bruno Haible  <bruno@clisp.org>
7818
7819                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
7820
7821         2006-07-22  Bruno Haible  <bruno@clisp.org>
7822
7823                 * modules/javaversion: New file.
7824                 * MODULES.html.sh (Java): Add javaversion.
7825
7826         2006-03-12  Bruno Haible  <bruno@clisp.org>
7827
7828                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
7829
7830         2005-12-04  Bruno Haible  <bruno@clisp.org>
7831
7832                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
7833                 (untested).
7834
7835         2006-06-21  Bruno Haible  <bruno@clisp.org>
7836
7837                 Avoid warnings from recent versions of mcs.
7838                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
7839                 -o, -L, -r any more. Use options documented since mcs-1.0
7840                 instead. Similarly for -g.
7841
7842         2005-12-04  Bruno Haible  <bruno@clisp.org>
7843
7844                 * build-aux/csharpcomp.sh.in: Suffix for resources is
7845                 .resources, not .resource.
7846
7847         2005-07-09  Bruno Haible  <bruno@clisp.org>
7848
7849                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
7850                 add a .dll suffix.
7851                 Reported by Mark Junker <mjscod@gmx.de>.
7852
7853         2006-07-22  Bruno Haible  <bruno@clisp.org>
7854
7855                 * modules/gettext: Upgrade to gettext-0.15.
7856                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
7857                 m4/visibility.m4.
7858                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
7859
7860 2006-07-22  Bruno Haible  <bruno@clisp.org>
7861
7862         Merge from GNU gettext 0.15.
7863
7864         2006-03-25  Bruno Haible  <bruno@clisp.org>
7865
7866                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
7867
7868         2006-07-21  Bruno Haible  <bruno@clisp.org>
7869
7870                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
7871                 "1.1".
7872
7873         2006-05-09  Bruno Haible  <bruno@clisp.org>
7874
7875                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
7876                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
7877                 for the conftestver execution.
7878
7879         2006-05-01  Bruno Haible  <bruno@clisp.org>
7880
7881                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
7882                 optional target-version argument. Verify that the compiler
7883                 groks source of the specified source-version, or add -source
7884                 option as necessary. Verify that the compiler produces
7885                 bytecode in the specified target-version, or add -target and
7886                 -source options as necessary. Make the result of the test
7887                 available as variable CONF_JAVAC. Also log error output in
7888                 config.log.
7889
7890         2006-03-11  Bruno Haible  <bruno@clisp.org>
7891
7892                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
7893
7894         2006-05-09  Bruno Haible  <bruno@clisp.org>
7895
7896                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
7897                 CLASSPATH_SEPARATOR to a semicolon.
7898
7899         2006-03-12  Bruno Haible  <bruno@clisp.org>
7900
7901                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
7902                 available as variable CONF_JAVA, for subsequent autoconf
7903                 tests. Also log error output in config.log.
7904
7905         2006-07-19  Bruno Haible  <bruno@clisp.org>
7906
7907                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
7908                 that getline works on glibc2 systems. Needed to avoid trouble
7909                 in relocatable.c.
7910                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
7911
7912         2005-12-04  Bruno Haible  <bruno@clisp.org>
7913
7914                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
7915                 launcher (untested).
7916
7917         2005-12-04  Bruno Haible  <bruno@clisp.org>
7918
7919                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
7920
7921         2006-07-22  Bruno Haible  <bruno@clisp.org>
7922
7923                 * gettext.m4: Update from GNU gettext-0.15.
7924                 * nls.m4: Likewise.
7925                 * po.m4: Likewise.
7926                 * inttypes-pri.m4: Likewise.
7927                 * inttypes-h.m4: Renamed from inttypes.m4.
7928                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
7929
7930 2006-07-22  Bruno Haible  <bruno@clisp.org>
7931
7932         Merge from GNU gettext 0.15.
7933
7934         2005-07-05  Bruno Haible  <bruno@clisp.org>
7935
7936                 * printf-args.c (printf_fetchargs): Work around broken
7937                 definition of wint_t on mingw.
7938
7939         2005-02-12  Bruno Haible  <bruno@clisp.org>
7940
7941                 * xallocsa.h: Add extern "C" for C++.
7942
7943         2006-05-17  Bruno Haible  <bruno@clisp.org>
7944
7945                 Cygwin portability.
7946                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
7947
7948         2006-04-30  Bruno Haible  <bruno@clisp.org>
7949
7950                 * progreloc.c: Include <mach-o/dyld.h> if available.
7951                 (find_executable): Use _NSGetExecutablePath when possible.
7952
7953         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
7954
7955                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
7956                 function.
7957
7958         2005-12-29  Bruno Haible  <bruno@clisp.org>
7959
7960                 * progreloc.c (set_program_name_and_installdir): Fix
7961                 compilation error.
7962
7963         2005-12-04  Bruno Haible  <bruno@clisp.org>
7964
7965                 Cygwin portability.
7966                 * progreloc.c: Include <windows.h> also on Cygwin.
7967                 (find_executable): Add support for Cygwin.
7968                 (set_program_name_and_installdir): Handle also platforms with
7969                 nonempty EXEEXT.
7970
7971         2006-07-11  Bruno Haible  <bruno@clisp.org>
7972
7973                 * javacomp.c: Fix a comment.
7974                 Reported by Jim Meyering.
7975
7976         2006-04-30  Bruno Haible  <bruno@clisp.org>
7977
7978                 * javacomp.h (compile_java_class): Add source_version,
7979                 target_version arguments.
7980                 * javacomp.c: Rewritten to choose only a compiler that
7981                 respects the specified source_version and target_version.
7982
7983         2006-06-27  Bruno Haible  <bruno@clisp.org>
7984
7985                 Assume correct S_ISDIR macro.
7986                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
7987
7988         2006-07-22  Bruno Haible  <bruno@clisp.org>
7989
7990                 * javaversion.h: New file, from GNU gettext.
7991                 * javaversion.c: New file, from GNU gettext.
7992                 * javaversion.java: New file, from GNU gettext.
7993                 * javaversion.class: New file, from GNU gettext.
7994
7995         2006-05-17  Bruno Haible  <bruno@clisp.org>
7996
7997                 Cygwin portability.
7998                 * javaexec.c (execute_java_class): Test for jview program
7999                 also on Cygwin.
8000
8001         2006-04-09  Bruno Haible  <bruno@clisp.org>
8002
8003                 * fatal-signal.c: Don't include string.h.
8004                 (at_fatal_signal): Use a copying loop instead of memcpy.
8005
8006         2005-12-04  Bruno Haible  <bruno@clisp.org>
8007
8008                 * csharpexec.c: Add support for 'clix' launcher (untested).
8009                 (execute_csharp_using_sscli): New function.
8010                 (execute_csharp_program): Call it.
8011
8012         2006-06-21  Bruno Haible  <bruno@clisp.org>
8013
8014                 Avoid warnings from recent versions of mcs.
8015                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
8016                 -o, -L, -r any more. Use options documented since mcs-1.0
8017                 instead. Similarly for -g.
8018
8019         2005-07-09  Bruno Haible  <bruno@clisp.org>
8020
8021                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
8022                 add a .dll suffix.
8023                 Reported by Mark Junker <mjscod@gmx.de>.
8024
8025         2006-06-17  Bruno Haible  <bruno@clisp.org>
8026
8027                 * config.charset: Update for NetBSD 3.0.
8028
8029         2006-05-17  Bruno Haible  <bruno@clisp.org>
8030
8031                 Cygwin portability.
8032                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
8033
8034         2006-05-16  Bruno Haible  <bruno@clisp.org>
8035
8036                 * localcharset.c [CYGWIN]: Include <windows.h>.
8037                 (get_charset_aliases): For Cygwin, return the same CPxxx
8038                 aliases list as under WIN32.
8039                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
8040                 the environment variables. Fall back to GetACP().
8041
8042         2006-04-05  Bruno Haible  <bruno@clisp.org>
8043
8044                 * config.charset: Update Juan Manuel Guerrero's address.
8045
8046         2005-02-12  Bruno Haible  <bruno@clisp.org>
8047
8048                 * allocsa.h: Add extern "C" for C++.
8049
8050         2005-02-10  Bruno Haible  <bruno@clisp.org>
8051
8052                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
8053                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
8054
8055         2006-07-22  Bruno Haible  <bruno@clisp.org>
8056
8057                 * gettext.h: Update to GNU gettext-0.15.
8058
8059 2006-07-22  Bruno Haible  <bruno@clisp.org>
8060
8061         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
8062         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
8063         lib-prefix.m4, longdouble.m4, ssize_t.m4.
8064
8065 2006-07-21  Eric Blake  <ebb9@byu.net>
8066
8067         * modules/stdlib-safer: New file.
8068         * MODULES.html.sh (File stream based Input/Output): Add
8069         stdlib-safer.
8070
8071 2006-07-21  Eric Blake  <ebb9@byu.net>
8072
8073         * lib/stdlib-safer.h: New file from coreutils, required by
8074         stdlib--.h.
8075
8076 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
8077
8078         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
8079
8080 2006-07-20  Bruno Haible  <bruno@clisp.org>
8081
8082         * gnulib-tool: Recognize new option --assume-autoconf.
8083         (autoconf_minversion): New variable.
8084         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
8085
8086 2006-07-20  Bruno Haible  <bruno@clisp.org>
8087
8088         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
8089
8090 2006-07-19  Derek R. Price  <derek@ximbiot.com>
8091
8092         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
8093         Reindent and repaginate.
8094
8095 2006-07-19  Derek Price  <derek@ximbiot.com>
8096
8097         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
8098         Correct grammar.
8099
8100 2006-07-17  Bruno Haible  <bruno@clisp.org>
8101
8102         * modules/list: New file.
8103         * modules/array-list: New file.
8104         * modules/carray-list, modules/carray-list-tests: New files.
8105         * modules/linked-list, modules/linked-list-tests: New files.
8106         * modules/avltree-list, modules/avltree-list-tests: New files.
8107         * modules/rbtree-list, modules/rbtree-list-tests: New files.
8108         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
8109         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
8110         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
8111         * modules/oset: New file.
8112         * modules/array-oset: New file.
8113         * modules/avltree-oset, modules/avltree-oset-tests: New files.
8114         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
8115         * tests/test-carray_list.c: New file.
8116         * tests/test-linked_list.c: New file.
8117         * tests/test-avltree_list.c: New file.
8118         * tests/test-rbtree_list.c: New file.
8119         * tests/test-linkedhash_list.c: New file.
8120         * tests/test-avltreehash_list.c: New file.
8121         * tests/test-rbtreehash_list.c: New file.
8122         * tests/test-avltree_oset.c: New file.
8123         * tests/test-rbtree_oset.c: New file.
8124         * MODULES.html.sh (Container data structures): New section.
8125
8126 2006-07-17  Bruno Haible  <bruno@clisp.org>
8127
8128         * m4/gl_list.m4: New file.
8129
8130 2006-07-17  Bruno Haible  <bruno@clisp.org>
8131
8132         * lib/gl_list.h: New file.
8133         * lib/gl_list.c: New file.
8134         * lib/gl_array_list.h: New file.
8135         * lib/gl_array_list.c: New file.
8136         * lib/gl_carray_list.h: New file.
8137         * lib/gl_carray_list.c: New file.
8138         * lib/gl_linked_list.h: New file.
8139         * lib/gl_linked_list.c: New file.
8140         * lib/gl_anylinked_list1.h: New file.
8141         * lib/gl_anylinked_list2.h: New file.
8142         * lib/gl_avltree_list.h: New file.
8143         * lib/gl_avltree_list.c: New file.
8144         * lib/gl_anyavltree_list1.h: New file.
8145         * lib/gl_anyavltree_list2.h: New file.
8146         * lib/gl_rbtree_list.h: New file.
8147         * lib/gl_rbtree_list.c: New file.
8148         * lib/gl_anyrbtree_list1.h: New file.
8149         * lib/gl_anyrbtree_list2.h: New file.
8150         * lib/gl_anytree_list1.h: New file.
8151         * lib/gl_anytree_list2.h: New file.
8152         * lib/gl_linkedhash_list.h: New file.
8153         * lib/gl_linkedhash_list.c: New file.
8154         * lib/gl_anyhash_list1.h: New file.
8155         * lib/gl_anyhash_list2.h: New file.
8156         * lib/gl_avltreehash_list.h: New file.
8157         * lib/gl_avltreehash_list.c: New file.
8158         * lib/gl_rbtreehash_list.h: New file.
8159         * lib/gl_rbtreehash_list.c: New file.
8160         * lib/gl_anytreehash_list1.h: New file.
8161         * lib/gl_anytreehash_list2.h: New file.
8162
8163         * lib/gl_oset.h: New file.
8164         * lib/gl_oset.c: New file.
8165         * lib/gl_array_oset.h: New file.
8166         * lib/gl_array_oset.c: New file.
8167         * lib/gl_avltree_oset.h: New file.
8168         * lib/gl_avltree_oset.c: New file.
8169         * lib/gl_rbtree_oset.h: New file.
8170         * lib/gl_rbtree_oset.c: New file.
8171         * lib/gl_anytree_oset.h: New file.
8172
8173 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8174
8175         * m4/mkancesdirs.m4: New file.
8176         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
8177         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
8178         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
8179         it.
8180
8181 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8182
8183         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
8184         * lib/mkancesdirs.h: New files.
8185         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
8186         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
8187         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
8188         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
8189         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
8190         callers changed.  Revamp internals significantly, by not
8191         attempting to create directories that are temporarily more
8192         permissive than the final results.  Do not attempt to use
8193         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
8194         This removes some race conditions, fixes some bugs, and simplifies
8195         things.  Use new dirchownmod function to do owner and mode changes.
8196         * lib/mkdir-p.h: Likewise.
8197         * lib/modechange.c (octal_to_mode): New function.
8198         (struct mode_change): New member mentioned.
8199         (make_node_op_equals): New arg mentioned.  All callers changed.
8200         (mode_compile): Keep track of which mode bits the user has explicitly
8201         mentioned.
8202         (mode_adjust): New arg DIR, so that we implement the X op correctly.
8203         New arg PMODE_BITS, to keep track of which mode bits the user
8204         mentioned; it treats S_ISUID and S_ISGID speciall.
8205         All callers changed.
8206         * lib/modechange.h: Likewise.
8207
8208 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8209
8210         * MODULES.html.sh: Add mkancestors.
8211         * modules/mkancesdirs: New module.
8212         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
8213         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
8214         The chdir-safer and afs files are now orphans; I'll remove them
8215         unless someone speaks up.
8216         Add lib/dirchownmod.c, lib/dirchownmod.h.
8217         (Depends-on): Remove alloca, chown, save-cwd, dirname.
8218         Add lchown, mkancesdirs.
8219         (Maintainer): Add self.
8220
8221 2006-07-15  Karl Berry  <karl@gnu.org>
8222
8223         * gnulib-tool: help message wording/arrangement.
8224
8225 2006-07-14  Simon Josefsson  <jas@extundo.com>
8226
8227         * doc/gnulib.texi (Libtool and Windows): New section.
8228
8229 2006-07-12  Simon Josefsson  <jas@extundo.com>
8230
8231         * modules/gendocs (License): Fix license, approved by Karl.
8232
8233 2006-07-12  Eric Blake  <ebb9@byu.net>
8234
8235         * MODULES.html.sh: Add gendocs.
8236
8237 2006-07-11  Eric Blake  <ebb9@byu.net>
8238
8239         * modules/fdl: New module, to install doc/fdl.texi.
8240         * MODULES.html.sh: Add new section for documentation modules.
8241         * gnulib-tool: Avoid space-tab.
8242         (--doc-base): New option, to manage files from doc.
8243
8244 2006-07-11  Eric Blake  <ebb9@byu.net>
8245
8246         * m4/absolute-header.m4: Fix comments to match recent change.
8247
8248 2006-07-11  Eric Blake  <ebb9@byu.net>
8249
8250         * gnulib-tool: List --doc-base before --tests-base.
8251
8252 2006-07-11  Derek R. Price  <derek@ximbiot.com>
8253
8254         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
8255
8256 2006-07-11  Bruno Haible  <bruno@clisp.org>
8257
8258         * README: Mention where to put documentation.
8259
8260 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8261
8262         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
8263
8264 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8265
8266         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
8267         to stdint.m4.
8268
8269 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8270
8271         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
8272         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
8273         "no/such/file/stdint.h" when there is no such file, so that
8274         the resulting C code can be parsed by dodgy compilers.
8275         Problems reported by Bob Proulx.
8276
8277 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8278
8279         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
8280         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8281         macros into the GNU _D_EXACT_NAMLEN.
8282         * lib/savedir.c:  Likewise.
8283         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
8284
8285 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8286         and Paul Eggert  <eggert@cs.ucla.edu>
8287
8288         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
8289         * m4/savedir.m4:
8290         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8291         macros into the GNU _D_EXACT_NAMLEN.
8292
8293 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8294
8295         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
8296         around the absolute name, to work around a problem with the HP-UX
8297         11.23 native C compiler, reported by Bob Proulx.
8298
8299 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8300
8301         * doc/maintain.texi, make-stds.texi: Sync from
8302         <http://savannah.gnu.org/projects/gnustandards>.
8303
8304 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8305
8306         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
8307
8308 2006-07-09  Jim Meyering  <jim@meyering.net>
8309
8310         * m4/glob.m4: Remove a doubled word in a comment.
8311
8312 2006-07-09  Jim Meyering  <jim@meyering.net>
8313
8314         * lib/argp-pv.c: Remove a doubled word in a comment.
8315         * lib/check-version.c (check_version): Likewise.
8316         * lib/javacomp.c (compile_java_class): Likewise.
8317
8318 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8319
8320         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
8321         for the benefit of people using Autoconf 2.60.  If you want to
8322         support older Autoconf versions you can copy m4/onceonly_2_57.m4
8323         (or m4/onceonly.m4, if pre-2.57) manually.
8324
8325 2006-07-08  Jim Meyering  <jim@meyering.net>
8326
8327         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
8328         comment.
8329         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
8330         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
8331         comment.
8332
8333 2006-07-08  Jim Meyering  <jim@meyering.net>
8334
8335         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
8336
8337 2006-07-07  Simon Josefsson  <jas@extundo.com>
8338
8339         * tests/test-crc.c: Change expected crc value, the test vector
8340         were probably computed using the old broken crc.c?
8341
8342 2006-07-06  Simon Josefsson  <jas@extundo.com>
8343
8344         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
8345         now the canonical place for the M4 file).
8346
8347         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
8348         from the sys_socket dependency now.
8349
8350         * modules/inet_pton (Files): Ditto.
8351
8352         * modules/inet_ntop (Files): Ditto.
8353
8354 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
8355
8356         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
8357         not gl_PREREQ_GETUSERSHELL.
8358
8359 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8360
8361         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
8362         with only one argument, for Autoconf 2.60.
8363         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
8364         expand to nothing, so add a shell command to avoid syntax error.
8365         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8366
8367 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8368
8369         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
8370
8371 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8372
8373         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
8374         no longer needed.  Check for isblank decl.
8375         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
8376         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
8377         of existence.
8378
8379 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8380
8381         * lib/getloadavg.c: Use __VMS, not VMS.
8382         * lib/getopt.c: Likewise.
8383         * lib/getpagesize.h: Likewise.
8384         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
8385         and probably does not work.
8386
8387 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8388
8389         * lib/.cppi-disable: Add wcwidth.
8390         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
8391         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
8392         (ISGRAPH): Remove.  All uses changed to isgraph.
8393         (FOLD) [!defined _LIBC]: Remove special case.
8394         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
8395         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
8396         HAVE_ISBLANK.
8397         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
8398         case.
8399
8400 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
8401
8402         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
8403         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
8404         brackets.  Other minor changes to suppress some compiler
8405         warnings.
8406
8407 2006-07-06  Derek R. Price  <derek@ximbiot.com>
8408         and Paul Eggert  <eggert@cs.ucla.edu>
8409
8410         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
8411         of invoking obsolescent AC_HEADER_DIRENT macro.
8412         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
8413         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
8414         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8415         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
8416         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
8417         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
8418         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
8419         * m4/readdir.m4: Remove; no longer needed.
8420
8421 2006-07-06  Derek R. Price  <derek@ximbiot.com>
8422         and Paul Eggert  <eggert@cs.ucla.edu>
8423
8424         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
8425         Don't worry about this obsolete case any more.
8426         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
8427         directories.
8428         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
8429         worry about this obsolete case any more.
8430         * lib/fts.c: Likewise.
8431         * lib/getcwd.c: Likewise.
8432         * lib/glob.h: Likewise.
8433         * lib/savedir.c: Likewise.
8434
8435 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8436
8437         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
8438         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
8439         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
8440         needed.
8441         All uses removed.
8442         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8443         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
8444         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
8445         needed.
8446         * m4/getdate.m4 (gl_GETDATE): Likewise.
8447         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
8448         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
8449         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8450         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8451         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
8452         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
8453         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
8454         needed.
8455
8456 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8457
8458         * lib/memcasecmp.c: Include <limits.h>.
8459         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
8460         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
8461         Don't assume isdigit succeeds only on '0' through '9'.
8462
8463 2006-07-05  Eric Blake  <ebb9@byu.net>
8464
8465         * modules/getaddrinfo (Depends-on): Add snprintf.
8466
8467 2006-07-05  Eric Blake  <ebb9@byu.net>
8468
8469         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
8470         to avoid 'header present but could not be compiled' on cygwin.
8471
8472 2006-07-05  Eric Blake  <ebb9@byu.net>
8473
8474         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
8475         missing from netdb.h.
8476         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
8477
8478 2006-07-05  Derek R. Price  <derek@ximbiot.com>
8479
8480         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
8481         no longer needed.
8482         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
8483         * m4/getdate.m4 (gl_GETDATE): Likewise.
8484         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
8485         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
8486         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8487         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8488         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
8489
8490 2006-07-05  Derek R. Price  <derek@ximbiot.com>
8491
8492         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
8493         All uses of is_space replaced by isspace.
8494         * lib/exit.h: Don't talk about STDC_HEADERS.
8495         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
8496         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
8497         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
8498         replaced by isprint etc.
8499         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
8500         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
8501         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
8502         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
8503         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
8504         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
8505
8506 2006-07-05  Bruno Haible  <bruno@clisp.org>
8507
8508         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
8509         the function exists, before testing against AIX.
8510         Reported by Martin Lambers <marlam@marlam.de>.
8511
8512 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
8513
8514         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
8515         From Mark D. Baushke.
8516
8517 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
8518
8519         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
8520         to the absolute name, not just one, to bypass Sun C 5.8's
8521         "warning: #include of /usr/include/... may be non-portable".
8522
8523 2006-07-04  Eric Blake  <ebb9@byu.net>
8524
8525         * modules/dirname-tests: New test module.
8526         * tests/test-dirname.c: New file, replacing dirname.c
8527         TEST_DIRNAME section that was recently deleted.
8528
8529 2006-07-04  Bruno Haible  <bruno@clisp.org>
8530
8531         Assume ANSI C header files and <ctype.h> functions.
8532         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
8533         (mbsnwidth): Use isprint, iscntrl instead.
8534
8535 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8536
8537         Merge from coreutils.
8538         * MODULES.html.sh: Add xstrtold.
8539         * modules/xstrtold: New file.
8540         * modules/cycle-check (Files): Add lib/same-inode.h.
8541         * modules/dirname (Files): Add m4/double-slash-root.m4.
8542         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
8543         * modules/mkdir-p (Files): Add lib/same-inode.h.
8544         * modules/same (Files): Add lib/same-inode.h.
8545
8546 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8547
8548         * m4/absolute-header.m4: Renamed from full-header-path.m4.
8549         This is to keep the terminology clean; POSIX talks about
8550         "absolute pathnames", not "full pathnames", but the GNU
8551         Coding Standards say to use "path" for something else;
8552         so use "absolute" to keep both sides happy.
8553         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
8554         Set gl_absolute_header, not gl_full_header_path.
8555         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
8556         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
8557         All uses changed.
8558
8559         Merge from coreutils.
8560
8561         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8562
8563         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
8564         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
8565         want to require the building of c-strtod.o.
8566         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
8567         needs -lm directly.
8568         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
8569
8570         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
8571
8572         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
8573         --as-needed option if available.  Problem reported by Albert Chin in
8574         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
8575         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
8576         cc merely issues a bunch of annoying warnings for --as-needed
8577         (this problem was reported by Bob Proulx).  Also, try linking with
8578         -lm to detect a bug in binutils 2.16 (this problem was reported
8579         by Ralf Wildenhues).
8580
8581         2006-06-18  Jim Meyering  <jim@meyering.net>
8582
8583         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
8584         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
8585         macro.
8586         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
8587         also check for glibc-2.4's abort-inducing bug.
8588
8589         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
8590         Low-probability clean-up should be to use rmdir to get rid of
8591         the just-created directory, not unlink.
8592
8593         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
8594         configure fail, and request a bug report to inform us about it.
8595         Add a comment that, barring reports to the contrary, in 2007 we'll
8596         assume ftruncate is universally available.
8597
8598         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
8599
8600         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
8601
8602         2006-03-12  Jim Meyering  <jim@meyering.net>
8603
8604         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
8605         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
8606         * m4/same.m4 (gl_SAME): Likewise.
8607         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
8608
8609         2006-03-11  Eric Blake  <ebb9@byu.net>
8610
8611         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
8612         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
8613         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
8614         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
8615
8616 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8617
8618         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
8619         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
8620         reported by Mark D. Baushke, one in
8621         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
8622
8623         Merge from coreutils.
8624
8625         * lib/.cppi-disable: Add stdint_.h.
8626         * lib/.cvsignore: Add stdint.h.
8627
8628         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8629
8630         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
8631         both double and long double versions.
8632         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
8633         * lib/xstrtold.c: New file.
8634         * lib/xstrtod.h (xstrtold): New decl.
8635
8636         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
8637
8638         * lib/filemode.c (setst): Remove.
8639         (strmode): Rewrite to avoid setst.  This makes the code shorter,
8640         (arguably) clearer, and the generated code is a bit smaller on my
8641         Debian GNU/Linux stable x86 host.
8642
8643         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
8644
8645         * lib/filemode.c: Include "filemode.h" first, to test the interface.
8646         Assume that filemode.h includes sys/types.h and sys/stat.h.
8647         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
8648         (ftypelet): Reorder to put common cases first, for efficiency.
8649         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
8650         to do 'M'.
8651         (strmode): Renamed from mode_string, and now stores 12 bytes instead
8652         of 10, for compatibility with FreeBSD.  All callers changed.
8653         (filemodestring): Now stores 12 bytes instead of 10, and sets file
8654         types that can't be deduced solely from st_mode.  First arg is now a
8655         const pointer.
8656         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
8657         (strmode): Renamed from mode_string.
8658         (filemodestring): New decl.
8659         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
8660         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
8661         needed.
8662         (S_ISPORT, S_ISWHT): New macros, if not already defined.
8663
8664         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8665
8666         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
8667         fsusage.h now does that.  Include fsusage.h first, to test interface.
8668         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
8669         at most one method (the old code could have generated decls that
8670         didn't conform to C89, not that this was ever exercised).
8671         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
8672
8673         2006-03-19  Jim Meyering  <jim@meyering.net>
8674
8675         Work even in a chroot where d_ino values for entries in "/"
8676         don't match the stat.st_ino values for the same names.
8677         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
8678         number, iterate through all entries again, using lstat instead.
8679         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
8680         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
8681
8682         * lib/getcwd.c (__getcwd): Clarify a comment.
8683         Use memcpy in place of a call to strcpy.
8684
8685         2006-03-12  Jim Meyering  <jim@meyering.net>
8686
8687         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
8688         matches that of the current directory (which we're about to chdir ".."
8689         out of), then save the dev-ino of the parent, instead.
8690
8691         * lib/same-inode.h (SAME_INODE): New file/macro.
8692         * lib/chdir-safer.c (SAME_INODE): Remove definition.
8693         Include "same-inode.h", instead.
8694         * lib/same.c: Likewise.
8695         * lib/cycle-check.h: Include "same-inode.h".
8696         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
8697         * lib/cycle-check.c (SAME_INODE): Remove definition.
8698         * lib/root-dev-ino.h: Include "same-inode.h".
8699
8700         2006-03-11  Eric Blake  <ebb9@byu.net>
8701
8702         * lib/same.c (same_name): s/base_name/last_component/
8703         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
8704         * lib/filenamecat.c (file_name_concat): Likewise.
8705
8706         2006-03-11  Eric Blake  <ebb9@byu.net>,
8707                     Paul Eggert  <eggert@cs.ucla.edu>
8708
8709         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
8710         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
8711         drive prefix.
8712         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
8713         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
8714         (last_component): New method.
8715         * lib/dirname.c (dir_len): Determine when drive letters need a
8716         subsequent slash.  Preserve // when it is special.
8717         (dir_name): Don't append dot when drive letter is absolute.
8718         [TEST_DIRNAME]: Move into a full-blown gnulib test.
8719         * lib/basename.c (base_name): New semantics - malloc the result.
8720         Preserve // when it is special.  Preserve relative files that look
8721         like drive letters.
8722         (base_len): Preserve // when it is special.
8723         (last_component): New method, similar to old base_name semantics.
8724         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
8725         base_name.  Strip redundant slashes from ///.
8726
8727 2006-07-03  Jim Meyering  <jim@meyering.net>
8728
8729         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
8730         macro is used before the first cycle_check call.
8731
8732 2006-07-03  Eric Blake  <ebb9@byu.net>
8733
8734         * modules/dirname (Depends-on): Add xstrndup.
8735
8736 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
8737
8738         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
8739         test cases, so that config.log is a bit easier to follow.
8740
8741 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
8742
8743         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
8744         both are 64 bits, since this seems to be the tradition, and this
8745         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
8746         we ever run into a host that prefers long long to long in this
8747         case, we'll need another configure-time test.  Problem reported by
8748         Jim Meyering.
8749
8750 2006-07-02  Eric Blake  <ebb9@byu.net>
8751
8752         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
8753
8754 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8755
8756         * modules/inttypes (Depends-on): No longer depends on stdint.
8757         * modules/stdint (Description): Say more about assumptions.
8758         Say that the fast types might differ.  Say macros are used.
8759         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
8760         (Makefile.am): Revise list of substituted symbols to match
8761         new stdint.m4.
8762         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
8763         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
8764         * tests/test-stdint.c (verify_same_types)
8765         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
8766         the code conforms to C99/C89.
8767         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
8768         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
8769
8770 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8771
8772         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
8773         but fix a bug, by requiring at least 64 bits.
8774         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
8775         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
8776         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
8777         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
8778
8779         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
8780         changes.  Make 2.59 a prerequisite.  Check and substitute for
8781         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
8782         inttypes.h.  Do not use special include files; just use the
8783         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
8784         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
8785         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
8786         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
8787         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
8788         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
8789         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
8790         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
8791         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
8792         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
8793         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
8794         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
8795         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
8796         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
8797         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
8798         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
8799         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
8800         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
8801         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
8802         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
8803         WINT_MAX.  Check for C99 conformance more strictly, by detecting
8804         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
8805         not check for things that C99 does not require, e.g., int8_t.  If
8806         a test isn't needed unless <stdint.h> isn't working, and is
8807         unlikely to be needed for any other reason, then don't do it
8808         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
8809         size_t, since we assume C89 freestanding at least.  Do not check
8810         for sig_atomic_t, wchar_t, or wint_t, since the code now does
8811         the right thing even if the types are not defined.  Instead use:
8812         (gl_STDINT_TYPE_PROPERTIES): New macro.
8813         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
8814         testing whether <sys/types.h> clashes, as Autoconf does this for
8815         us now.  All uses removed.
8816         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
8817         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
8818         (gl_CHECK_TYPE_SAME):
8819         Remove; no longer needed.
8820         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
8821         exists, since we'll return 0 anyway in that case.
8822         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
8823
8824 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8825
8826         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
8827         possible collision with system files.
8828         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
8829         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
8830         WCHAR_MIN and WCHAR_MAX in this case.
8831         (<stddef.h>): Do not include; no longer needed.
8832         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
8833         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
8834         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
8835         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
8836         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
8837         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
8838         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
8839         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
8840         !defined(__c99))]: Include in this case too, since it's harmless
8841         now.
8842         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
8843         dangerous to do so.
8844         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
8845         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
8846         (_STDINT_MIN, _STDINT_MAX): New macros.
8847         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
8848         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
8849         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
8850         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
8851         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
8852         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
8853         macros, not typedefs; this simplifies things quite a bit.
8854         Use long int for all types narrower than int64_t.
8855         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
8856         Define in terms of long long int or int64_t or long int,
8857         not int64_t or int32_t.  This saves some compile-time testing.
8858         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
8859         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
8860         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
8861         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
8862         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
8863         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
8864         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
8865         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
8866         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
8867         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
8868         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
8869         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
8870         undef any previous version and define our own version, for
8871         simplicity and consistency with the new macros for types.
8872         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
8873         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
8874         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
8875         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
8876         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
8877         @WINT_T_SUFFIX@ to keep things simple here.
8878         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
8879         Simplify by assuming typical 8/16/32/64 host, since we're
8880         already doing that elsewhere anyway.
8881         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
8882         and assume long long int is 64 bits if available.  This
8883         speeds up 'configure'.
8884
8885 2006-07-01  Eric Blake  <ebb9@byu.net>
8886
8887         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
8888         Reported by Andreas Buening.
8889
8890 2006-07-01  Eric Blake  <ebb9@byu.net>
8891
8892         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
8893
8894 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
8895
8896         * lib/getaddrinfo.c: fixed typo
8897
8898 2006-06-29  Jim Meyering  <jim@meyering.net>
8899
8900         * modules/strftime (Maintainer): Add my name, since with the
8901         FPRINTFTIME changes strftime.c has forked from glibc.
8902
8903 2006-06-29  Eric Blake  <ebb9@byu.net>
8904
8905         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
8906
8907 2006-06-29  Eric Blake  <ebb9@byu.net>
8908
8909         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
8910
8911 2006-06-29  Eric Blake  <ebb9@byu.net>
8912
8913         * lib/stat_.h: New file.
8914
8915 2006-06-29  Eric Blake  <ebb9@byu.net>
8916
8917         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
8918         unused static function.
8919
8920 2006-06-29  Eric Blake  <ebb9@byu.net>
8921
8922         * doc/functions.texi (Function Portability): Document missing lstat
8923         on mingw.
8924
8925 2006-06-29  Eric Blake  <ebb9@byu.net>
8926
8927         * MODULES.html.sh: Add sys_stat.
8928         * modules/sys_stat: New module.
8929         * modules/mkstemp (Depends-on): Add sys_stat.
8930
8931 2006-06-29  Derek R. Price  <derek@ximbiot.com>
8932
8933         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
8934
8935 2006-06-29  Derek R. Price  <derek@ximbiot.com>
8936
8937         * m4/c-bs-a.m4: Removed.
8938
8939 2006-06-29  Derek R. Price  <derek@ximbiot.com>
8940
8941         * lib/strftime.c: Assume strftime() exists.
8942
8943 2006-06-29  Derek Price  <derek@ximbiot.com>
8944
8945         * modules/c-bs-a: Removed - \a is C89.
8946         * MODULES.html.sh: Remove c-bs-a.
8947
8948 2006-06-29  Bruno Haible  <bruno@clisp.org>
8949
8950         * modules/wcwidth (License): Change to LGPL.
8951
8952 2006-06-28  Simon Josefsson  <jas@extundo.com>
8953
8954         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
8955         on _WIN32.
8956
8957         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
8958         getnameinfo.
8959
8960 2006-06-28  Simon Josefsson  <jas@extundo.com>
8961
8962         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
8963
8964 2006-06-28  Simon Josefsson  <jas@extundo.com>
8965
8966         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
8967         functions there.  It will succeed on Windows XP, but on Windows
8968         2000 and (presumably) earlier, it will fail, and use the internal
8969         re-implementation.
8970         (use_win32_p): New function.
8971         (getaddrinfo): Use strtoul on servname, to support numeric ports.
8972         Support AI_NUMERICSERV to disable getservbyname.
8973         (getnameinfo): New function, only supports
8974         NI_NUMERICHOST|NI_NUMERICSERV for now.
8975
8976         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
8977         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
8978         getnameinfo.
8979
8980 2006-06-28  Eric Blake  <ebb9@byu.net>
8981
8982         * modules/wcwidth: New file.
8983         * modules/mbchar (Depends-on): Add wcwidth.
8984         * modules/mbswidth (Depends-on): Add wcwidth.
8985         * MODULES.html.sh: Add wcwidth.
8986
8987 2006-06-28  Eric Blake  <ebb9@byu.net>
8988
8989         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
8990         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
8991
8992 2006-06-28  Eric Blake  <ebb9@byu.net>
8993
8994         * lib/xvasprintf.h: Fix comments.
8995
8996 2006-06-28  Eric Blake  <ebb9@byu.net>
8997
8998         * lib/mbchar.h (wcwidth): Include wcwidth.h.
8999         * lib/mbswidth.c (wcwidth): Move from here...
9000         * lib/wcwidth.h: ...to this new file.
9001
9002 2006-06-28  Derek R. Price  <derek@ximbiot.com>
9003
9004         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
9005
9006         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
9007         it's obsolete.
9008         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
9009
9010 2006-06-28  Derek R. Price  <derek@ximbiot.com>
9011
9012         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
9013         Autoconf 2.60 says this stuff was obsolete.
9014
9015 2006-06-28  Bruno Haible  <bruno@clisp.org>
9016
9017         * modules/wcwidth (Files): Add m4/wchar_t.m4.
9018
9019 2006-06-28  Bruno Haible  <bruno@clisp.org>
9020
9021         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
9022         gt_TYPE_WCHAR_T.
9023
9024 2006-06-28  Bruno Haible  <bruno@clisp.org>
9025
9026         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
9027         declaration for wcwidth.
9028         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
9029
9030 2006-06-28  Bruno Haible  <bruno@clisp.org>
9031
9032         * lib/mkdtemp.c [MINGW]: Include <io.h>.
9033         (mkdir): Define using _mkdir.
9034
9035 2006-06-28  Bruno Haible  <bruno@clisp.org>
9036
9037         * lib/getaddrinfo.h: Fix POSIX URL.
9038         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
9039         _WIN32.
9040         (use_win32_p): Make static.
9041         (getaddrinfo): Reject service name if it is empty or does not consist
9042         solely of decimal digits, or if its value is > 65535.
9043         (getnameinfo): Remove useless casts.
9044
9045 2006-06-27  Simon Josefsson  <jas@extundo.com>
9046
9047         * modules/sys_select: New file, suggested by Bruno Haible, Paul
9048         Eggert and Martin Lambers.
9049
9050 2006-06-27  Simon Josefsson  <jas@extundo.com>
9051
9052         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
9053         Eggert and Martin Lambers.
9054
9055 2006-06-27  Bruno Haible  <bruno@clisp.org>
9056
9057         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
9058         result to 0, not to empty.
9059         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
9060
9061 2006-06-27  Bruno Haible  <bruno@clisp.org>
9062
9063         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
9064
9065 2006-06-26  Simon Josefsson  <jas@extundo.com>
9066
9067         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
9068         present.
9069
9070 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
9071
9072         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
9073         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
9074         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
9075
9076 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
9077
9078         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
9079
9080 2006-06-26  Bruno Haible  <bruno@clisp.org>
9081
9082         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
9083
9084 2006-06-26  Bruno Haible  <bruno@clisp.org>
9085
9086         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
9087
9088 2006-06-26  Bruno Haible  <bruno@clisp.org>
9089
9090         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
9091         SGI C compiler in pre-C99 mode.
9092         Suggested by Mark D. Baushke and Larry Jones.
9093
9094 2006-06-26  Bruno Haible  <bruno@clisp.org>
9095
9096         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
9097         WCHAR_MAX.
9098         Reported by Mark D. Baushke and Larry Jones.
9099
9100 2006-06-26  Bruno Haible  <bruno@clisp.org>
9101
9102         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
9103         in pre-C99 mode.
9104         Suggested by Mark D. Baushke and Larry Jones.
9105
9106 2006-06-23  Simon Josefsson  <jas@extundo.com>
9107             Bruno Haible  <bruno@clisp.org>
9108
9109         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
9110         Emit mostlyclean-local rule.
9111         (func_emit_tests_Makefile_am): Likewise.
9112         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
9113
9114 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
9115
9116         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
9117
9118 2006-06-23  Bruno Haible  <bruno@clisp.org>
9119
9120         * tests/test-stdint.c: Update to match ISO C 99 Technical
9121         Corrigendum 1.
9122
9123 2006-06-23  Bruno Haible  <bruno@clisp.org>
9124
9125         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
9126
9127 2006-06-23  Bruno Haible  <bruno@clisp.org>
9128
9129         * lib/stdint_.h: Treat IRIX like OpenBSD.
9130
9131 2006-06-23  Bruno Haible  <bruno@clisp.org>
9132
9133         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
9134         ISO C 99 Technical Corrigendum 1.
9135
9136 2006-06-22  Simon Josefsson  <jas@extundo.com>
9137
9138         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
9139         MinGW.
9140
9141 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
9142
9143         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
9144         needed.  Some compiler complained about some of them.  Problem reported
9145         by Larry Jones in
9146         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
9147
9148 2006-06-21  Simon Josefsson  <jas@extundo.com>
9149
9150         * tests/test-getaddrinfo.c: New file.
9151
9152         * modules/getaddrinfo-tests: New file.
9153
9154         * MODULES.html.sh: Add inet_pton.
9155
9156         * modules/inet_pton: New file.
9157
9158 2006-06-21  Simon Josefsson  <jas@extundo.com>
9159
9160         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
9161         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
9162         of using the (limited) gnulib implementation on Windows XP.
9163
9164         * m4/inet_pton.m4: New file.
9165
9166 2006-06-21  Simon Josefsson  <jas@extundo.com>
9167
9168         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
9169         variable.
9170
9171         * lib/socket_.h: Don't define WINVER.
9172
9173         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
9174         slightly modified to work in gnulib.
9175
9176 2006-06-21  Simon Josefsson  <jas@extundo.com>
9177
9178         * doc/gnulib.texi (Windows sockets): Add.
9179
9180 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
9181
9182         * lib/read-file.c (fread_file): Start with buffer allocation of
9183         0 bytes rather than 1 byte; this simplifies the code.
9184         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
9185         code to free buffer and save/restore errno.
9186         (internal_read_file): Remove unused local.
9187
9188 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
9189
9190         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
9191         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
9192         Problem reported by Denis Excoffier in
9193         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
9194
9195 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9196
9197         * modules/sys_socket, modules/socklen: Include sys/types since
9198         FreeBSD 4.x's sys/socket.h needs it.
9199
9200 2006-06-19  Simon Josefsson  <jas@extundo.com>
9201
9202         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
9203
9204 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
9205
9206         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
9207
9208 2006-06-19  Bruno Haible  <bruno@clisp.org>
9209
9210         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
9211         and FULL_PATH_INTTYPES_H in angle brackets.
9212         Reported by Mark D. Baushke <mdb@gnu.org>.
9213
9214 2006-06-17  Eric Blake  <ebb9@byu.net>
9215
9216         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
9217         errno.
9218
9219 2006-06-17  Bruno Haible  <bruno@clisp.org>
9220
9221         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
9222         <sys/inttypes.h>.
9223
9224 2006-06-17  Bruno Haible  <bruno@clisp.org>
9225
9226         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
9227         whether errno is declared. Assume <errno.h> declares errno.
9228
9229 2006-06-17  Bruno Haible  <bruno@clisp.org>
9230
9231         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
9232
9233 2006-06-17  Bruno Haible  <bruno@clisp.org>
9234
9235         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
9236         problem on Solaris 2.5.1.
9237
9238 2006-06-16  Eric Blake  <ebb9@byu.net>
9239
9240         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
9241         * lib/unicodeio.c [!defined errno]: Likewise.
9242         * lib/strtol.c [!defined errno]: Likewise.
9243         * lib/strtod.c [!defined errno]: Likewise.
9244
9245 2006-06-15  Eric Blake  <ebb9@byu.net>
9246
9247         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
9248
9249 2006-06-15  Eric Blake  <ebb9@byu.net>
9250
9251         * config/srclist.txt (ssize_t.m4): Lose sync.
9252
9253 2006-06-15  Bruno Haible  <bruno@clisp.org>
9254
9255         * modules/stdint (Files): Include m4/full-header-path.m4,
9256         m4/size_max.m4, m4/wchar_t.m4.
9257         (Makefile.am): Many more substitutions.
9258         * modules/stdint-tests: New file.
9259         * tests/test-stdint.c: New file.
9260
9261 2006-06-15  Bruno Haible  <bruno@clisp.org>
9262
9263         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
9264         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
9265         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
9266         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
9267         gl_CHECK_TYPE_SAME): New macros.
9268
9269 2006-06-15  Bruno Haible  <bruno@clisp.org>
9270
9271         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
9272
9273 2006-06-15  Bruno Haible  <bruno@clisp.org>
9274
9275         * lib/stdint_.h: Rewritten to be fully auto-configured.
9276         Fixes bug on HP-UX/IA64.
9277
9278 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
9279
9280         * lib/getdate.y (__attribute__): Don't define if already defined.
9281         Problem reported by Larry Jones.
9282         * lib/utimens.c (__attribute__): Likewise.
9283
9284 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
9285
9286         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
9287         reported by Andreas Schwab.
9288
9289 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9290             Bruno Haible  <bruno@clisp.org>
9291
9292         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
9293         check for the declaration of strnlen and a run test that exposes the
9294         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
9295         rpl_strndup.
9296
9297 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9298             Bruno Haible  <bruno@clisp.org>
9299
9300         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
9301
9302 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9303
9304         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
9305         compile test, for Tru64 4.0D.
9306
9307 2006-05-28  Karl Berry  <karl@gnu.org>
9308
9309         * config/srclist.txt (printf-args.c): lose sync.
9310
9311 2006-05-26  Martin Lambers  <marlam@marlam.de>
9312
9313         * lib/getpass.c: Updates the test for the native W32 API, and adds
9314         missing includes, thus fixing compilation warnings.
9315
9316 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9317
9318         * lib/exclude.c (exclude_fnmatch): New function.
9319         (excluded_file_name): Call exclude_fnmatch.
9320         * lib/exclude.h (excluded_file_name): New prototype
9321
9322 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
9323
9324         * lib/tempname.c (small_open, large_open): New macros.
9325         (__open, __open64) [!_LIBC]: Remove.
9326         (__gen_tempname): Use small_open and large_open instead of __open
9327         and __open64.  This fixes a portability bug on HP-UX 11.11i
9328         reported by Simon Wing-Tang in
9329         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
9330
9331 2006-05-24  Bruno Haible  <bruno@clisp.org>
9332
9333         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
9334         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
9335         Reported by Thorsten Maerz <torte@netztorte.de> via
9336         Aaron Stone <aaron@serendipity.cx>.
9337
9338 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9339
9340         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
9341         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
9342         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
9343         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
9344         not really conditional on the cache.
9345         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
9346
9347 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9348
9349         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
9350         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
9351         (my_usleep): Don't mishandle maximum value.
9352
9353 2006-05-19  Jim Meyering  <jim@meyering.net>
9354
9355         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
9356
9357 2006-05-17  Bruno Haible  <bruno@clisp.org>
9358
9359         Cygwin portability.
9360         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
9361
9362 2006-05-17  Bruno Haible  <bruno@clisp.org>
9363
9364         * lib/stdint_.h: Fix recognition of Cygwin.
9365
9366 2006-05-15  Bruno Haible  <bruno@clisp.org>
9367
9368         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
9369         on libtool patch by Ralf Wildenhues.
9370
9371 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
9372
9373         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
9374         test for C99 conformance; (bool) 0.5 is an integer constant
9375         expression, but (bool) -0.5 is not.  Problem reported by Fedor
9376         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
9377
9378 2006-05-11  Simon Josefsson  <jas@extundo.com>
9379
9380         * m4/xvasprintf.m4: Fix obvious typo.
9381
9382 2006-05-11  Jim Meyering  <jim@meyering.net>
9383
9384         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
9385         James Lemley.
9386
9387 2006-05-10  Simon Josefsson  <jas@extundo.com>
9388
9389         * lib/md4.c: Typo fix, update copyright years.
9390         (K1, K2): Don't use L because it turn computations into 64-bit on
9391         64-bit platforms.
9392
9393 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
9394
9395         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
9396         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
9397         unwanted sign propagation, e.g., on hosts with 64-bit int.
9398         There still are some problems with reeelly weird theoretical hosts
9399         (e.g., 33-bit int) but it's not worth worrying about now.
9400         * lib/sha1.c (rol): Likewise.
9401         (K1, K2, K3, K4): Remove unnecessary L suffix.
9402
9403 2006-05-10  Bruno Haible  <bruno@clisp.org>
9404
9405         * lib/des.c: Cast to avoid warnings.
9406
9407 2006-05-09  Bruno Haible  <bruno@clisp.org>
9408
9409         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
9410         (Depends-on): Depend also on xsize, stdarg.
9411         (configure.ac): Add gl_XVASPRINTF.
9412
9413 2006-05-09  Bruno Haible  <bruno@clisp.org>
9414
9415         * m4/xvasprintf.m4: New file.
9416
9417 2006-05-09  Bruno Haible  <bruno@clisp.org>
9418
9419         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
9420         (EOVERFLOW): Define fallback value.
9421         (xstrcat): New function.
9422         (xvasprintf): Recognize the special case of a string concatenation.
9423
9424 2006-05-08  Eric Blake  <ebb9@byu.net>
9425
9426         * gnulib-tool (func_version): Base copyright year on CVS date.
9427         (func_emit_copyright_notice): New function.
9428         (func_emit_lib_Makefile_am): Use it.
9429         (func_emit_tests_Makefile_am): Likewise.
9430         (func_import): Likewise.
9431
9432 2006-05-08  Bruno Haible  <bruno@clisp.org>
9433
9434         * modules/stdarg: New file.
9435         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
9436
9437 2006-05-08  Bruno Haible  <bruno@clisp.org>
9438
9439         * m4/stdarg.m4: New file, from GNU gettext.
9440
9441 2006-05-08  Bruno Haible  <bruno@clisp.org>
9442
9443         * config/srclist.txt (build-aux/config.rpath): different from latest
9444         release.
9445
9446 2006-05-08  Bruno Haible  <bruno@clisp.org>
9447
9448         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
9449
9450 2006-05-05  Jim Meyering  <jim@meyering.net>
9451
9452         * m4/warning.m4: New file, derived from bison's file by the same name.
9453
9454 2006-05-03  Bruno Haible  <bruno@clisp.org>
9455
9456         * lib/stdint_.h: Shorter URL.
9457         * lib/inttypes.h: Likewise.
9458
9459 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9460
9461         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
9462
9463 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9464
9465         * lib/verify.h: Document the internals better.  Most of this change
9466         was written by Bruno Haible.
9467
9468 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9469
9470         * doc/verify.texi: New file, partly based on a proposal by
9471         Bruno Haible.
9472
9473 2006-05-02  Bruno Haible  <bruno@clisp.org>
9474
9475         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
9476         test from here...
9477         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
9478
9479 2006-04-29  Bruno Haible  <bruno@clisp.org>
9480
9481         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
9482         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
9483
9484 2006-04-29  Bruno Haible  <bruno@clisp.org>
9485
9486         * gnulib-tool: Make --update option actually work.
9487
9488 2006-04-29  Bruno Haible  <bruno@clisp.org>
9489
9490         * doc/gcd.texi: New file.
9491         * doc/gnulib.texi: Include it.
9492
9493 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
9494
9495         * lib/getdate.y (get_date): When adding relative date, start with the
9496         initial time, not with the result of the first mktime call.
9497
9498 2006-04-25  Bruno Haible  <bruno@clisp.org>
9499
9500         * gnulib-tool (func_import): Output the include directives in three
9501         blocks, sorted separately.
9502         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9503
9504 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9505
9506         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
9507         to define main with arguments, for C++.  Reported by Eric Blake.
9508         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
9509         Prefer 'int main ()' to 'int main (void)', for C++.
9510         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9511         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
9512         for 'main', for C99 and C++.
9513
9514 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9515
9516         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
9517         Don't assume that exit status -1 is valid.
9518         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9519         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
9520         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
9521         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
9522         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
9523         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
9524         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
9525         functions can be used without declaring them, or that you can
9526         exit with status -1.
9527         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
9528
9529 2006-04-24  Karl Berry  <karl@gnu.org>
9530
9531         * config/srclist.txt (longdouble.m4): sync lost.
9532
9533 2006-04-24  Eric Blake  <ebb9@byu.net>
9534
9535         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
9536
9537 2006-04-24  Bruno Haible  <bruno@clisp.org>
9538
9539         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
9540         poll() implementation in AIX.
9541         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9542
9543 2006-04-24  Bruno Haible  <bruno@clisp.org>
9544
9545         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
9546         assigned exactly once.
9547
9548 2006-04-23  Claudio Fontana  <claudio@gnu.org>
9549             Bruno Haible  <bruno@clisp.org>
9550
9551         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
9552         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
9553         for AM_CPPFLAGS.
9554
9555 2006-04-23  Bruno Haible  <bruno@clisp.org>
9556
9557         * modules/copy-file: Depend on unistd.
9558         * modules/execute: Likewise.
9559         * modules/fatal-signal: Likewise.
9560         * modules/findprog: Likewise.
9561         * modules/mkdtemp : Likewise.
9562         * modules/pipe: Likewise.
9563         * modules/wait-process: Likewise.
9564
9565 2006-04-23  Bruno Haible  <bruno@clisp.org>
9566
9567         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
9568         condition was already detected.
9569         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9570
9571 2006-04-23  Bruno Haible  <bruno@clisp.org>
9572
9573         * lib/copy-file.c: Include <unistd.h> unconditionally.
9574         * lib/execute.c: Likewise.
9575         * lib/fatal-signal.c: Likewise.
9576         * lib/findprog.c: Likewise.
9577         * lib/mkdtemp.c: Likewise.
9578         * lib/pipe.h: Likewise.
9579         * lib/pipe.c: Likewise.
9580         * lib/wait-process.h: Likewise.
9581
9582 2006-04-23  Bruno Haible  <bruno@clisp.org>
9583
9584         * gnulib-tool (func_usage): Fix --import description. Document
9585         --update.
9586         (func_import): Create temporary file in a temporary directory, if
9587         --dry-run is specified. Silence errors from 'grep' when there are no
9588         m4 files in $m4dir.
9589         (func_create_testdir): Silence errors from 'grep' when there are no
9590         m4 files in $m4dir.
9591         Reported by Karl Berry <karl@freefriends.org>.
9592
9593 2006-04-20  Bruno Haible  <bruno@clisp.org>
9594
9595         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
9596         one argument, so that the code will be portable to Autoconf 2.60.
9597         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
9598         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
9599         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
9600
9601 2006-04-19  Derek Price  <derek@ximbiot.com>
9602             Eric Blake  <ebb9@byu.net>
9603
9604         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
9605         rather than "/full/path.h".  Update comment to match.  Shorten &
9606         generalize m4_translit call via AS_TR_CPP.
9607
9608 2006-04-19  Derek Price  <derek@ximbiot.com>
9609             Eric Blake  <ebb9@byu.net>
9610
9611         * lib/inttypes.h: Correct grammar in comment.
9612
9613 2006-04-18  Derek Price  <derek@ximbiot.com>
9614             Paul Eggert  <eggert@cs.ucla.edu>
9615
9616         * modules/inttypes: New file.
9617         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
9618
9619 2006-04-18  Derek Price  <derek@ximbiot.com>
9620             Paul Eggert  <eggert@cs.ucla.edu>
9621
9622         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
9623         New files.
9624
9625 2006-04-18  Derek Price  <derek@ximbiot.com>
9626             Paul Eggert  <eggert@cs.ucla.edu>
9627
9628         * lib/inttypes.h: New file.
9629         * lib/strtoimax.c: Assume <inttypes.h>.
9630
9631 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
9632
9633         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
9634         isn't mounted.  Problem reported by Kir Kolyshkin.
9635
9636 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
9637
9638         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
9639         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
9640         Derek R. Price.
9641         * lib/regex.h (RE_DUP_MAX): Update comment to match current
9642         implementation.
9643
9644 2006-04-12  Eric Blake  <ebb9@byu.net>
9645
9646         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
9647         is now done automatically by the corresponding Autoconf macro.
9648
9649 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
9650
9651         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
9652         time_r.h.
9653
9654 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9655
9656         Merge regex changes from libc, removing some of our
9657         POSIX-conformance changes that were rejected and redoing them in a
9658         less-intrusive way.
9659
9660         * lib/regcomp.c (re_compile_internal, init_dfa):
9661         Length arg is now size_t, not Idx.  All uses changed.
9662         (peek_token): Forward decl now says internal_function.
9663         (__re_error_msgid, __re_error_msgid_idx):
9664         Now static rather than extern with attribute_hidden.
9665         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
9666         For some reason libc prefers K&R style defns for external functions.
9667         (regerror) [!defined _LIBC]: Likewise.
9668         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
9669         (seek_collating_symbol_entry, lookup_collation_sequence_value):
9670         (build_range_exp, build_collating_symbol):
9671         Use K&R-style defn.
9672         (re_compile_fastmap): Use '\0' to memset, not 0.
9673         (utf8_sb_map): Make the calculations more obvious.
9674         (init_dfa, parse_bracket_exp, build_charclass_op):
9675         Call calloc and cast result, as glibc does.
9676         (init_word_char, fetch_token, peek_token, peek_token_bracket):
9677         (build_range_exp, build_collating_symbol):
9678         Now internal functions.
9679
9680         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
9681
9682         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
9683         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
9684         Don't depend on VMS; depend on __VMS instead, for POSIX
9685         namespace cleanness.
9686         (regoff_t): Define to ssize_t, not long int.
9687
9688         Remove the REG_ macros named below.  Instead, make the old names
9689         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
9690         __USE_GNU_REGEX.
9691         (REG_BACKSLASH_ESCAPE_IN_LISTS):
9692         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
9693         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
9694         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
9695         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
9696         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
9697         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
9698         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
9699         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
9700         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
9701         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
9702         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
9703         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
9704         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
9705         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
9706         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
9707         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
9708         (REG_NREGS):
9709         Remove.  All uses replaced by the old RE_* names.
9710         (RE_BACKSLASH_ESCAPE_IN_LISTS):
9711         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
9712         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
9713         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
9714         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
9715         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
9716         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
9717         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
9718         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
9719         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
9720         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
9721         Don't bother having these macros be independent of each others'
9722         values, since they no longer exist in the POSIX name space.
9723
9724         Rename the following member names back to their old names,
9725         unless !__USE_GNU_REGEX.  All uses changed back.
9726         (buffer): Renamed from re_buffer.
9727         (allocated): Renamed from re_allocated.
9728         (used): Renamed from re_used.
9729         (syntax): Renamed from re_syntax.
9730         (fastmap): Renamed from re_fastmap.
9731         (translate): Renamed from re_translate.
9732         (can_be_null): Renamed from re_can_be_null.
9733         (regs_allocated): Renamed from re_regs_allocated.
9734         (fastmap_accurate): Renamed from re_fastmap_accurate.
9735         (no_sub): Renamed from re_no_sub.
9736         (not_bol): Renamed from re_not_bol.
9737         (not_eol): Renamed from re_not_eol.
9738         (newline_anchor): Renamed from re_newline_anchor.
9739         (num_regs): Renamed from rm_num_regs.
9740         (start): Renamed from rm_start.
9741         (end): Renamed from rm_end.
9742
9743         (free_state): Move up a bit.
9744
9745         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
9746         #define to be empty.
9747         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
9748         when that is what is intended.
9749         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
9750         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
9751         (MAX): New macro.
9752         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
9753         All uses changed back to re_malloc, etc.  It's now the caller's
9754         responsibility to check for overflow; all callers changed.
9755         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
9756         (re_x2nrealloc): Remove.
9757         (free_state): Remove decl.
9758
9759         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
9760         (re_set_registers, re_exec):
9761         Use K&R-style defn.
9762
9763         2006-01-31  Roland McGrath  <roland@redhat.com>
9764
9765         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
9766         Reported by Mike Frysinger <vapier@gentoo.org>.
9767
9768         2006-01-15  Andreas Jaeger  <aj@suse.de>
9769
9770         [BZ #1950]
9771         * lib/regex_internal.c (re_string_reconstruct): Adjust for
9772         build_wcs_upper_buffer change.
9773         (build_wcs_upper_buffer): Change return type.
9774
9775         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
9776
9777         * lib/regex_internal.h: Include <stdint.h> if available.
9778
9779         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
9780
9781         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
9782
9783         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
9784
9785         * lib/regcomp.c: Adjust for changed secondary hash function.
9786
9787         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
9788
9789         * lib/regex.h: Pretty printing.
9790         Clean up namespace a bit.
9791
9792         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
9793
9794         * lib/regexec.c (update_cur_sifted_state, check_arrival,
9795         check_arrival_add_next_nodes): Avoid using uninitialized variable.
9796
9797         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9798                     Ulrich Drepper  <drepper@redhat.com>
9799
9800         [BZ #1302]
9801         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
9802         changed.
9803         (bitset_word_t): Renamed from bitset_word.  All uses changed.
9804
9805         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
9806
9807         [BZ #281]
9808         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
9809         * lib/regcomp.c: Remove unnecessary uses of
9810         unsigned RE_TRANSLATE_TYPE.
9811         * lib/regex_internal.h: Likewise.
9812         * lib/regex_internal.c: Likewise.
9813         * lib/regexec.c: Likewise.
9814         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
9815
9816         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
9817
9818         * lib/regexec.c (find_recover_state): Remove unnecessary
9819         initialization.
9820         (transit_state_bkref): Make DFA a const pointer.
9821         (get_subexp): Likewise.
9822         (check_arrival): Likewise.
9823         (update_cur_sifted_state): Likewise.
9824         (re_search_internal): Likewise.
9825         (prune_impossible_nodes): Likewise.
9826         (acquire_init_state_context): Likewise.
9827         (proceed_next_node): Likewise.
9828         (set_regs): Likewise.
9829         (free_fail_stack_return): Likewise.
9830         (check_arrival_expand_ecl): Mark DFA parameter as const.
9831         (check_arrival_expand_ecl_sub): Likewise.
9832         (check_subexp_limits): Likewise.
9833         (sub_epsilon_src_nodes):  Likewise.
9834         (add_epsilon_src_nodes):  Likewise.
9835         (merge_state_array): Likewise.
9836         (update_regs): Likewise.
9837         (build_trtable): Likewise.
9838         (sift_states_backward): Mark MCTX parameter as const.
9839         (build_sifted_states): Likewise.
9840         (update_cur_sifted_state): Likewise.
9841         (sift_states_mkref): Likewise.
9842         (check_arrival_expand_ecl): Mark eclosure as const.
9843         (check_dst_limits_calc_pos_1): Likewise.
9844         * lib/regex_internal.h (re_match_context_t): Make dfa a const
9845         pointer.
9846
9847         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
9848
9849         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
9850         (transit_state_sb): Likewise.
9851         (transit_state_mb): Likewise.
9852         (sift_states_iter_mb): Likewise.
9853         (check_arrival_add_next_nodes): Likewise.
9854         (check_node_accept_bytes): Change first parameter to pointer-to-const.
9855         [_LIBC] (re_search_2_stub): Use mempcpy.
9856
9857         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
9858         mbrtowc for very simple UTF-8 case.
9859
9860         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
9861         a pointer-to-const.
9862         (re_acquire_state_context): Likewise.
9863         * lib/regex_internal.h: Adjust prototypes.
9864
9865         * lib/regex.c: Prevent using C++ compilers.
9866
9867         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
9868         (re_acquire_state_context): Likewise.
9869
9870 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9871
9872         * modules/regex (Depends-on): Add ssize_t.
9873
9874 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9875
9876         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
9877         translation table.
9878
9879 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9880
9881         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
9882
9883 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
9884             Bruno Haible  <bruno@clisp.org>
9885
9886         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
9887         <sys/types.h> and <inttypes.h>.
9888
9889 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9890
9891         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
9892         `__error_t_defined', so argp.h will not typedef the former.
9893
9894 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
9895
9896         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
9897         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
9898         glibc names.  Even if glibc is changed to conform to POSIX, the
9899         traditional names will be available anyway, since regex depends on
9900         the extensions module.  Also, fix a longstanding typo in the
9901         implementation of Spencer ERE test #75 from grep 2.3.  Problems
9902         reported by Emanuele Giaquinta.  Also, change sense of cached
9903         variable, so that the message makes sense.
9904
9905 2006-03-24  Simon Josefsson  <jas@extundo.com>
9906
9907         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
9908         including some doc fixes.
9909         (base64_encode_alloc): Fix +1 bug on allocation failures.
9910
9911 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9912
9913         * lib/base64.c (base64_encode): Do not read past end of array with
9914         unsanitized input on systems with CHAR_BIT > 8.
9915
9916 2006-03-24  Eric Blake  <ebb9@byu.net>
9917
9918         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
9919
9920 2006-03-22  Karl Berry  <karl@gnu.org>
9921
9922         * config/srclist.txt (*setenv.[ch]): get from coreutils.
9923         * config/srclistvars.sh (COREUTILS): new var.
9924
9925 2006-03-17  Jim Meyering  <jim@meyering.net>
9926
9927         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
9928         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
9929
9930 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
9931
9932         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
9933         no longer needs it.  Instead, check that regoff_t is as least
9934         as wide as ptrdiff_t.
9935
9936         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
9937         so that our regex.h stays compatible with the installed regex.
9938         This is helpful for installers who configure --without-included-regex.
9939         Problem reported by Emanuele Giaquinta.
9940
9941 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
9942
9943         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
9944         Typedef to long int, not to off_, as POSIX will likely change
9945         in that direction.
9946
9947 2006-03-15  Eric Blake  <ebb9@byu.net>
9948
9949         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
9950
9951 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
9952
9953         * lib/argp-help.c (validate_uparams): Fix typo
9954         * lib/argp-parse.c (argp_default_options): Consistently begin help
9955         messages with a lowercase letter.
9956
9957 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
9958
9959         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
9960         overrun buffers and shouldn't be used (much as gets shouldn't be
9961         used).
9962         * lib/time_r.c (asctime_r, ctime_r): Likewise.
9963
9964 2006-03-08  Simon Josefsson  <jas@extundo.com>
9965
9966         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
9967         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9968
9969 2006-03-08  Simon Josefsson  <jas@extundo.com>
9970
9971         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
9972         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9973
9974 2006-03-08  Simon Josefsson  <jas@extundo.com>
9975
9976         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
9977         signal that configure disabled the device.
9978
9979 2006-03-08  Simon Josefsson  <jas@extundo.com>
9980
9981         * build-aux/maint.mk: Fix refresh-po, to handle no translated
9982         languages.
9983
9984 2006-03-07  Simon Josefsson  <jas@extundo.com>
9985
9986         * modules/getopt (Depends-on): Add unistd.
9987
9988         * modules/unistd: New file.
9989
9990 2006-03-07  Simon Josefsson  <jas@extundo.com>
9991
9992         * modules/gc-random: New file.
9993
9994 2006-03-07  Simon Josefsson  <jas@extundo.com>
9995
9996         * m4/unistd_h.m4: New file.
9997
9998 2006-03-07  Simon Josefsson  <jas@extundo.com>
9999
10000         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
10001         test to be side-effect free by storing the result in the cache
10002         variable gl_cv_lib_readline, and moving the assignment of
10003         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
10004         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10005
10006 2006-03-07  Simon Josefsson  <jas@extundo.com>
10007
10008         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
10009         error on missing devices (the functions will return an error).
10010
10011         * m4/gc.m4: Move random stuff to gc-random.m4
10012
10013 2006-03-07  Simon Josefsson  <jas@extundo.com>
10014
10015         * lib/unistd_.h: New file.
10016
10017 2006-03-07  Simon Josefsson  <jas@extundo.com>
10018
10019         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
10020
10021 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10022
10023         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
10024         Problem reported by Juan Manuel Guerrero.
10025
10026 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10027
10028         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
10029         the unistd module.
10030         * lib/getlogin_r.c: Likewise.
10031         * lib/getlogin_r.h: Likewise.
10032         * lib/glob.c: Likewise.
10033         * lib/pagealign_alloc.c: Likewise.
10034         * lib/unistd_.h: Remove; no longer needed.
10035
10036 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10037
10038         * MODULES.html.sh (Support for systems lacking POSIX:2001):
10039         Add unistd.
10040         * modules/c-stack (Depends-on): Add unistd.
10041         * modules/getlogin_r: Likewise.
10042         * modules/glob: Likewise.
10043         * modules/pagealign_alloc: Likewise.
10044         * modules/unistd (Files): Remove lib/unistd_.h.
10045         (EXTRA_DIST): Remove.
10046         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
10047         need unistd_.h.
10048         (MOSTLYCLEANFILES): Remove unistd.h-t.
10049
10050 2006-03-03  Simon Josefsson  <jas@extundo.com>
10051
10052         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
10053
10054 2006-03-03  Simon Josefsson  <jas@extundo.com>
10055
10056         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
10057         libidn and bison.
10058
10059 2006-03-03  Simon Josefsson  <jas@extundo.com>
10060
10061         * build-aux/maint.mk: Add indent target.
10062
10063 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
10064
10065         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
10066         our replacement poll.h in any case, to avoid a differing
10067         declaration from a system header.  Seen on AIX.
10068
10069 2006-03-01  Simon Josefsson  <jas@extundo.com>
10070
10071         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
10072         <kasal@ucw.cz>.
10073
10074 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10075
10076         * modules/gettime (Depends-on): Add extensions module.
10077         * modules/nanosleep (Depends-on): Likewise.
10078         * modules/settime (Depends-on): Likewise.
10079
10080 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10081
10082         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
10083         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
10084         pedantically.
10085         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10086         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
10087
10088         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
10089         not "==".  Reported by Ralf Wildenhues.
10090
10091 2006-03-01  Karl Berry  <karl@gnu.org>
10092
10093         * doc/Copyright/request-*: new files, synced from gnuorg.
10094
10095 2006-03-01  Karl Berry  <karl@gnu.org>
10096
10097         * config/srclist.txt (Copyright/*): new entries.
10098
10099 2006-02-28  Simon Josefsson  <jas@extundo.com>
10100
10101         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
10102
10103 2006-02-27  Simon Josefsson  <jas@extundo.com>
10104
10105         * lib/base64.h: Indent #define's.  From Jim Meyering
10106         <jim@meyering.net>.
10107
10108 2006-02-27  Jim Meyering  <jim@meyering.net>
10109
10110         Revert the change of 2006-02-24, so these files can continue
10111         to be sync'd from gettext.
10112         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
10113         of `config.h'.
10114
10115 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
10116
10117         * modules/intprops: New file.
10118         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
10119         Add intprops.
10120         * modules/getloadavg (Files): Remove lib/intprops.h.
10121         (Depends-on): Add intprops.
10122         * modules/human: Likewise.
10123         * modules/inttostr: Likewise.
10124         * modules/openat: Likewise.
10125         * modules/sig2str: Likewise.
10126         * modules/userspec: Likewise.
10127         * modules/utimecmp: Likewise.
10128         * modules/xnanosleep: Likewise.
10129         * modules/xstrtol: Likewise.
10130
10131 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
10132
10133         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
10134         * modules/lock-tests (TESTS): Use $(EXEEXT).
10135         * modules/tls-tests: Likewise.
10136         * modules/argp-tests: Likewise.
10137         (check_PROGRAMS): New var, replacing...
10138         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
10139
10140 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10141
10142         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
10143         `config.h'.
10144
10145 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
10146
10147         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
10148
10149 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10150
10151         Sync from coreutils.
10152         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
10153         gl_CHDIR_SAFER.
10154
10155 2006-02-22  Jim Meyering  <jim@meyering.net>
10156
10157         Sync from coreutils.
10158         * m4/chdir-safer.m4: New file.
10159
10160 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
10161
10162         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
10163         AT_FDCWD exceeds INT_MAX.
10164         * lib/openat.h (AT_FDCWD): Likewise.
10165
10166 2006-02-17  Eric Blake  <address@hidden>
10167
10168         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
10169
10170 2006-02-16  Simon Josefsson  <jas@extundo.com>
10171
10172         * modules/getaddrinfo (Depends-on): Add sys_socket.
10173
10174 2006-02-15  Simon Josefsson  <jas@extundo.com>
10175
10176         * build-aux/maint.mk: Add dsyntax-check rule.
10177
10178 2006-02-15  Eric Blake  <ebb9@byu.net>
10179
10180         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
10181         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
10182         'present but cannot compile' warnings on cygwin.
10183         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
10184         use ws2tcpip.h if sys/socket.h works.
10185         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
10186         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
10187
10188 2006-02-14  Simon Josefsson  <jas@extundo.com>
10189
10190         * modules/maintainer-makefile (Files): Rename.
10191
10192         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
10193         and (the local) Makefile.cfg to maint-cfg.mk.
10194
10195         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
10196         to the latter.
10197
10198         * modules/maintainer-makefile: New module.
10199
10200         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
10201         severaly stripped to make it possible to build it up from scratch
10202         with reliable tests.
10203
10204         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
10205         fixes to permit overriding the default actions when configure and
10206         makefile are not available.
10207
10208 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
10209
10210         Sync from coreutils.
10211         * modules/lstat (Depends-on): Don't depend on xalloc.
10212         (License): Change from GPL to LGPL, since this is now simply a
10213         replacement for a libc function.
10214
10215 2006-02-14  Jim Meyering  <jim@meyering.net>
10216
10217         Sync from coreutils.
10218
10219         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
10220         failure on deficient systems, and simplify gnulib lgpl dependencies.
10221         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
10222         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
10223
10224         * lib/xalloc-die.c: Remove unused definition of N_.
10225
10226 2006-02-14  Jim Meyering  <jim@meyering.net>
10227
10228         Sync from coreutils.
10229         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
10230         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
10231         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
10232         double-quote uses of that variable, to accommodate the rare case in
10233         which getmntent is available in none of the libraries checked.  This
10234         happens at least on FreeBSD 5.0.
10235
10236 2006-02-13  Simon Josefsson  <jas@extundo.com>
10237
10238         * gnulib-tool (Usage): Fix --import, from
10239         karl@freefriends.org (Karl Berry).
10240
10241 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
10242
10243         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
10244
10245 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
10246
10247         * lib/argp-namefrob.h: Restore changes accidentally lost during the
10248         "autoupdate" on 2005-12-12.
10249
10250 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10251
10252         * modules/closeout (Depends-on): Remove atexit.
10253
10254 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10255
10256         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
10257         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
10258
10259 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
10260
10261         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
10262         __EXTENSIONS__ if this causes compilation to fail.  Problem
10263         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
10264         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
10265
10266 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
10267
10268         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
10269         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
10270         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
10271         All uses changed.
10272
10273 2006-01-26  Simon Josefsson  <jas@extundo.com>
10274
10275         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
10276         prototype is visible on mingw32.
10277
10278         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
10279         for mingw32.
10280
10281         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
10282         mingw32).
10283
10284 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
10285
10286         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
10287         attempt to open for write; this always fails, at least on POSIX
10288         hosts.  This reinstates the 2006-01-09 change, which was
10289         inadvertently removed.
10290
10291 2006-01-26  Bruno Haible  <bruno@clisp.org>
10292
10293         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
10294         Reported by Paul Eggert.
10295
10296 2006-01-26  Bruno Haible  <bruno@clisp.org>
10297             Paul Eggert  <eggert@cs.ucla.edu>
10298
10299         * lib/stdbool_.h (_Bool)
10300         [(! (defined __cplusplus || defined __BEOS__)
10301           && !defined __GNUC__
10302           && !(defined __HP_cc || defined __xlc__
10303                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
10304                || defined __sgi))]:
10305         #define to signed char in these cases too; this simplifies
10306         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
10307         etc., separately) and makes it more conservative.
10308
10309 2006-01-25  Simon Josefsson  <jas@extundo.com>
10310
10311         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
10312         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
10313         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
10314
10315 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
10316
10317         * lib/argp-namefrob.h: Bugfix. Remove stray #
10318
10319 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
10320
10321         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
10322         so that we test the test.
10323         Check for yet another HP-UX cc bug involving *bool |= bool.
10324
10325 2006-01-25  Karl Berry  <karl@gnu.org>
10326
10327         * config/srclist.txt (vasnprintf.c): sync lost.
10328
10329 2006-01-25  Jim Meyering  <jim@meyering.net>
10330
10331         Sync from the stable (b5) branch of coreutils:
10332
10333         * lib/fts.c (fts_children): Don't let close() clobber errno from
10334         failed fchdir().
10335
10336         * lib/fts.c (fts_stat): When following a symlink-to-directory,
10337         don't necessarily interpret stat-fails+lstat-succeeds as indicating
10338         a dangling symlink.  That can also happen at least for ELOOP.
10339         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
10340         FYI, this bug predates the inclusion of fts.c in coreutils.
10341
10342         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
10343         in their own block, so pre-c99 compilers don't object.
10344
10345         Avoid the double-free (first in fts_read, second in fts_close) that
10346         would occur when an `active' directory is made inaccessible (e.g.,
10347         via chmod a-x) during a traversal.
10348         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
10349         before returning.  Reproduce this failure by
10350         mkdir -p a/b; cd a; chmod a-x . b
10351         Reported by Stavros Passas.
10352
10353 2006-01-25  Jim Meyering  <jim@meyering.net>
10354
10355         * lib/fileblocks.c: Remove more useless parentheses.
10356         * lib/readutmp.h: Likewise.
10357
10358 2006-01-25  Bruno Haible  <bruno@clisp.org>
10359
10360         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
10361         warnings.
10362         Reported by Paul Eggert.
10363
10364 2006-01-25  Bruno Haible  <bruno@clisp.org>
10365
10366         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
10367         rid of a trap command. For Solaris sh.
10368         Reported by Mark D. Baushke <mdb@gnu.org>.
10369
10370 2006-01-24  Simon Josefsson  <jas@extundo.com>
10371
10372         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
10373         Bruno.
10374
10375 2006-01-24  Karl Berry  <karl@gnu.org>
10376
10377         * config/srclist.txt (argp-namefrob.h): sync lost.
10378
10379 2006-01-24  Jim Meyering  <jim@meyering.net>
10380
10381         * modules/openat (Files): Add lib/intprops.h.
10382         From Mark D. Baushke.
10383
10384 2006-01-24  Jim Meyering  <jim@meyering.net>
10385
10386         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
10387         Reported by Mark D. Baushke.
10388
10389 2006-01-24  Jim Meyering  <jim@meyering.net>
10390
10391         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
10392
10393 2006-01-24  Bruno Haible  <bruno@clisp.org>
10394
10395         * modules/strnlen (Maintainer): Change from glibc to all.
10396
10397 2006-01-24  Bruno Haible  <bruno@clisp.org>
10398
10399         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
10400         Patch by Paul Eggert.
10401
10402 2006-01-24  Bruno Haible  <bruno@clisp.org>
10403
10404         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
10405         already has it.
10406         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
10407         2005-11-26.
10408
10409         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
10410         'signed char' to avoid problems with the built-in _Bool type.
10411         Reported by Paul Eggert on 2005-11-26.
10412
10413 2006-01-24  Bruno Haible  <bruno@clisp.org>
10414
10415         * gnulib-tool (func_import): Avoid constructing complicated sed
10416         expressions inside backquote.
10417         Report and solution by Mark D. Baushke <mdb@gnu.org>.
10418
10419 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
10420
10421         These changes imported from libc.
10422         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
10423         test and two separate function calls.
10424         * lib/strndup.c (__strndup): Add libc_hidden_def.
10425
10426 2006-01-23  Simon Josefsson  <jas@extundo.com>
10427
10428         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
10429         Remove the test_*_SOURCES variable: automake infers it by default.
10430         * modules/tls-tests: Likewise.
10431
10432 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10433
10434         Work around porting bugs reported by Dieter in
10435         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
10436         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
10437         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
10438         Include "getopt.h" first, to check interface.
10439         (getenv): Declare only if defined HAVE_DECL_GETENV &&
10440         !HAVE_DECL_GETENV.
10441         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
10442         (__strndup): Revert to K&R-style function dfns, the glibc style.
10443         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
10444         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
10445         Include strnlen.h first, to get prototype properly.
10446         (strnlen): Renamed from __strnlen.
10447         Remove weak alias.
10448
10449 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10450
10451         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
10452
10453 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10454
10455         * config/srclist.txt: Adjust to reflect glibc reorganization.
10456         This affects only comments.
10457
10458 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
10459
10460          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
10461          Reported by Bruce Korb <bkorb@gnu.org>.
10462
10463 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
10464
10465         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
10466         to pacify gcc -Wswitch-default.
10467
10468 2006-01-22  Bruno Haible  <bruno@clisp.org>
10469
10470         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
10471         temporary buffer for sprintf, take into account the precision also
10472         for 'd', 'i', 'u', 'o', 'x', 'X'.
10473
10474 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
10475
10476         * modules/argp-tests: New module
10477         * tests/test-argp.c: New file
10478         * tests/test-argp-2.sh: New file
10479
10480 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
10481
10482         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
10483         (__argp_base_name): Removed
10484         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
10485         typo.
10486         (__argp_base_name): Provide macro definition or extern declaration
10487         depending on the configuration
10488
10489 2006-01-20  Simon Josefsson  <jas@extundo.com>
10490
10491         * modules/inet_ntop (Depends-on): Depend on sys_socket.
10492
10493 2006-01-20  Simon Josefsson  <jas@extundo.com>
10494
10495         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
10496
10497 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
10498
10499         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
10500         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
10501         Suggested by Bruno Haible.
10502
10503 2006-01-20  Karl Berry  <karl@gnu.org>
10504
10505         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
10506         until changes propagate, I guess.
10507
10508 2006-01-19  Simon Josefsson  <jas@extundo.com>
10509
10510         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
10511
10512 2006-01-19  Simon Josefsson  <jas@extundo.com>
10513
10514         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
10515
10516 2006-01-19  Simon Josefsson  <jas@extundo.com>
10517
10518         * gnulib-tool: Set check_PROGRAMS.
10519
10520         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
10521         modules/des-tests, modules/gc-arcfour-tests,
10522         modules/gc-arctwo-tests, modules/gc-des-tests,
10523         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
10524         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
10525         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
10526         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
10527         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
10528         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
10529         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
10530         test_*_SOURCES.
10531
10532 2006-01-18  Simon Josefsson  <jas@extundo.com>
10533
10534         * modules/socklen (Depends-on): Depend on sys_socket.
10535
10536 2006-01-18  Simon Josefsson  <jas@extundo.com>
10537
10538         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
10539         modules/des-tests, modules/gc-arcfour-tests,
10540         modules/gc-arctwo-tests, modules/gc-des-tests,
10541         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
10542         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
10543         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
10544         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
10545         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
10546         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
10547         $(EXEEXT) to automake TESTS variable, for mingw32.
10548
10549 2006-01-17  Simon Josefsson  <jas@extundo.com>
10550
10551         * modules/socklen (Include): Need sys/socket.h.
10552
10553 2006-01-17  Bruno Haible  <bruno@clisp.org>
10554
10555         * modules/ssize_t (Include): Add <sys/types.h>.
10556
10557 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
10558
10559         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
10560         it's not portable and it doesn't work with cross-compiles.
10561         Problem reported by Bruno Haible.  Fix missing-$ typo in
10562         'test "gl_cv_ignore_unused_libraries" ...' that prevented
10563         -zignore from being used with Sun's C compiler.
10564
10565 2006-01-12  Simon Josefsson  <jas@extundo.com>
10566
10567         * lib/base64.c: Fix warning, reported by Bruno Haible
10568         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
10569
10570 2006-01-12  Bruno Haible  <bruno@clisp.org>
10571
10572         * modules/ldd: New file.
10573         * build-aux/ldd.sh.in: New file.
10574         * MODULES.html.sh (Support for building libraries and executables): Add
10575         ldd.
10576
10577 2006-01-12  Bruno Haible  <bruno@clisp.org>
10578
10579         * m4/ldd.m4: New file.
10580
10581 2006-01-12  Bruno Haible  <bruno@clisp.org>
10582
10583         * gnulib-tool (func_import, func_create_testdir): Don't go into an
10584         endless loop while replacing $auxdir with build-aux.
10585
10586 2006-01-11  Simon Josefsson  <jas@extundo.com>
10587
10588         * lib/stdint_.h (SIZE_MAX): Add missing (.
10589
10590 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10591
10592         Sync from coreutils.
10593         * lib/md5.c: Fix commentary typos.
10594         (alignof, UNALIGNED_P): No need for a GCC-specific version.
10595         * lib/md5.h (__attribute__): Remove; unused.
10596         * lib/sha1.c: Fix commentary to match md5 better.
10597         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
10598         so that we don't need to worry about alignment.  All uses changed.
10599         This merges the 2005-10-28 md5 change into sha1.
10600
10601 2006-01-11  Jim Meyering  <jim@meyering.net>
10602
10603         Sync from coreutils.
10604         * lib/md5.c (OP): Fix spacing.
10605
10606 2006-01-11  Bruno Haible  <bruno@clisp.org>
10607
10608         Ensure automatic ordering between gl_LOCK and gl_ARGP.
10609         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
10610         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
10611
10612 2006-01-11  Bruno Haible  <bruno@clisp.org>
10613
10614         Ensure automatic ordering between gl_LOCK and gl_ARGP.
10615         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
10616         the "early" section as well.
10617
10618 2006-01-11  Bruno Haible  <bruno@clisp.org>
10619
10620         Avoid "ar: no archive members specified" error on MacOS X.
10621         * gnulib-tool (func_modules_add_dummy): New function.
10622         (func_import, func_create_testdir): Invoke it.
10623
10624 2006-01-11  Bruno Haible  <bruno@clisp.org>
10625
10626         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
10627         with $auxdir in AC_CONFIG_FILES statements.
10628
10629 2006-01-11  Bruno Haible  <bruno@clisp.org>
10630
10631         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
10632         Initialize also noinst_HEADERS to empty.
10633
10634 2006-01-11  Bruno Haible  <bruno@clisp.org>
10635
10636         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
10637         variables.
10638         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
10639         autoreconf.
10640
10641 2006-01-11  Bruno Haible  <bruno@clisp.org>
10642
10643         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
10644         overridable by the user.
10645         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10646
10647 2006-01-10  Simon Josefsson  <jas@extundo.com>
10648
10649         * modules/sys_socket: New file.
10650
10651 2006-01-10  Simon Josefsson  <jas@extundo.com>
10652
10653         * m4/sys_socket_h.m4: New file.
10654
10655 2006-01-10  Simon Josefsson  <jas@extundo.com>
10656
10657         * lib/socket_.h: New file.
10658
10659 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10660
10661         * modules/readutmp (Maintainer): Add myself.
10662
10663 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10664
10665         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
10666         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
10667         People who are still concerned with buggy memcmp implementations
10668         can invoke gl_FUNC_MEMCMP themselves.
10669
10670 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10671
10672         * lib/regex_internal.h (BITSET_WORD_BITS):
10673         Work around a bug in 64-bit PGC (before version 6.1-2), where the
10674         preprocessor mishandles large unsigned values as if they were signed.
10675         Problem reported by Claudio Fontana in
10676         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
10677
10678 2006-01-10  Jim Meyering  <jim@meyering.net>
10679
10680         Avoid the double-free (first in fts_read, second in fts_close) that
10681         would occur when an `active' directory is made inaccessible (e.g.,
10682         via chmod a-x) during a traversal.
10683         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
10684         before returning.  Reproduce this failure by
10685         mkdir -p a/b; cd a; chmod a-x . b
10686         Reported by Stavros Passas.
10687
10688         Sync from coreutils.
10689         * lib/sha1.c: Tweak grammar in a comment.
10690
10691 2006-01-10  Jim Meyering  <jim@meyering.net>
10692
10693         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
10694         Patch by Joerg Sonnenberger.
10695
10696 2006-01-10  Bruno Haible  <bruno@clisp.org>
10697
10698         * modules/readutmp: Depend on module free.
10699         * modules/strtok_r: Depend on module restrict.
10700
10701 2006-01-10  Bruno Haible  <bruno@clisp.org>
10702
10703         * modules/gettext (configure.ac): Add an invocation of
10704         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
10705
10706 2006-01-10  Bruno Haible  <bruno@clisp.org>
10707
10708         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
10709         Reported by Werner Lemberg <wl@gnu.org>.
10710
10711 2006-01-10  Bruno Haible  <bruno@clisp.org>
10712
10713         * lib/localcharset.c: Update from GNU gettext.
10714
10715 2006-01-10  Bruno Haible  <bruno@clisp.org>
10716
10717         * lib/argp.h (__const): Remove macro. Use const instead.
10718         * lib/argp-fmtstream.h (__const): Likewise.
10719         * lib/glob_.h (__const): Remove macro.
10720         * lib/glob-libc.h: Use const instead of __const.
10721
10722 2006-01-10  Bruno Haible  <bruno@clisp.org>
10723
10724         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
10725         variable.
10726         Needed to avoid an automake error regarding the 'gettext' module.
10727
10728 2006-01-09  Simon Josefsson  <jas@extundo.com>
10729
10730         * modules/inet_ntop (Depends-on): Add restrict.
10731
10732 2006-01-09  Simon Josefsson  <jas@extundo.com>
10733
10734         * modules/gc-rijndael-tests (License): Put under LGPL.
10735
10736         * modules/gc-des-tests (License): Likewise.
10737
10738         * modules/gc-arcfour-tests (License): Likewise.
10739
10740         * modules/gc-arctwo-tests (License): Likewise.
10741
10742         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
10743
10744         * modules/gc-hmac-sha1-tests (Files): Likewise.
10745
10746         * modules/gc-hmac-md5-tests (License): Likewise.
10747
10748         * modules/gc-sha1-tests (License): Likewise.
10749
10750         * modules/gc-md5-tests (License): Likewise.
10751
10752         * modules/gc-md4-tests (License): Likewise.
10753
10754         * modules/gc-md2-tests (License): Likewise.
10755
10756         * modules/gc-tests (License): Likewise.
10757
10758         * modules/des-tests (License): Likewise.
10759
10760         * modules/md4-tests (License): Likewise.
10761
10762         * modules/md2-tests (License): Likewise.
10763
10764 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10765
10766         Sync from coreutils:
10767
10768         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
10769         * modules/lib-ignore: New file.
10770         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
10771         chdir-safer.m4, lchmod.m4.
10772         * modules/openat: Add mkdirat.c, openat-priv.h.
10773
10774 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10775
10776         Sync from coreutils.
10777         * m4/lib-ignore.m4: New file.
10778         * m4/lchmod.m4: New file.
10779
10780 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10781
10782         Sync from coreutils.
10783         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
10784         for write access: POSIX says that must fail.
10785         * lib/fts.c (diropen): Likewise.
10786         * lib/save-cwd.c (save_cwd): Likewise.
10787         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
10788         well, for minor improvements on hosts that lack O_DIRECTORY.
10789         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
10790         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
10791         Fall back on chown if open failed with EACCES.
10792
10793         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
10794         Report an error at compile-time if only a 1-second nominal clock
10795         resolution is found.
10796
10797         * lib/lchmod.h: New file.
10798         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
10799         (make_dir_parents): Use lchown rather than chown, and
10800         lchmod rather than chmod.
10801
10802         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
10803         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
10804         "proc" reported by n0dalus.
10805
10806         * lib/mountlist.c: Include <limits.h>.
10807         (dev_from_mount_options)
10808         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
10809         New function.  It no longer assumes "dev=" has the System V meaning
10810         on Linux (since it doesn't).  It also parses "dev=" more carefully.
10811         (read_file_system_list)
10812         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
10813         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
10814         dev= in that case.
10815
10816         * lib/posixtm.h (PDS_PRE_2000): New macro.
10817         * lib/posixtm.c (year): Arg is now syntax_bits rather than
10818         allow_century.  All usages changed.  Reject dates outside the range
10819         1969-1999 if PDS_PRE_2000 is used.
10820
10821 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10822
10823         Sync from coreutils.
10824         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
10825         (Time of day items): Mention the possibility of leap seconds.
10826         Problem reported by Dr. David Alan Gilbert.
10827
10828 2006-01-09  Jim Meyering  <jim@meyering.net>
10829
10830         Sync from coreutils.
10831
10832         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
10833
10834         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
10835
10836         * lib/modechange.c (mode_compile): Reject an invalid mode string
10837         that starts with an octal digit.  From Andreas Gruenbacher.
10838
10839         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
10840         and dup to open_safer and dup_safer, respectively.
10841         (openat_permissive): Fix typo in comment.
10842
10843         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
10844         "gettext.h"; either no longer needed or are guaranteed by openat.h.
10845         (_): Remove; no longer needed.
10846         (openat): Renamed from rpl_openat; no need for rpl_openat
10847         since openat.h renames openat for us.
10848         Replace most of the body with a call to openat_permissive,
10849         to avoid duplicate code.
10850         Port to (probably hypothetical) environments were mode_t is
10851         wider than int.
10852         (openat_permissive): Require mode arg, so that we can check
10853         types better.  Put it just after flags.  Change cwd failure
10854         indicator from pointer-to-bool to pointer-to-errno-value.
10855         All callers changed.
10856         Invoke openat_save_fail and/or openat_restore_fail if
10857         cwd_errno is null, so that openat can call us.
10858         (openat_permissive, fdopendir, fstatat, unlinkat):
10859         Simplify errno handling to avoid some duplicate code,
10860         as it's OK to set errno on success.
10861         * lib/openat.h: Revamp code so that function macros depend on
10862         __OPENAT_PREFIX only, not also on AT_FDCWD.
10863         (openat_ro): Remove.  Caller changed to use openat_permissive.
10864         (openat_permissive): Now a macro, if not a function.
10865         (openat_restore_fail, openat_save_fail): Now always functions,
10866         since mkdirat needs them even if __OPENAT_PREFIX is defined.
10867
10868         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
10869         and openat.c.
10870         * lib/mkdirat.c: Include openat-priv.h.
10871         Remove definitions of macros defined therein.
10872         * lib/openat.c: Likewise.
10873
10874         * lib/mkdirat.c (mkdirat): New file and function.
10875         * lib/openat.h (mkdirat): Declare.
10876
10877         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
10878
10879         * lib/openat.h (openat_permissive): Declare.
10880         (openat_ro): Define.
10881
10882         * lib/openat.c (EXPECTED_ERRNO): New macro.
10883         (openat_permissive): New function -- used in remove.c rewrite.
10884         (all functions): Set errno just before returning, only if there
10885         was an actual failure.
10886         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
10887
10888         Emulate openat-family functions using Linux's procfs, if possible.
10889         Idea and some code based on Ulrich Drepper's glibc changes.
10890
10891         * lib/openat.c: (BUILD_PROC_NAME): New macro.
10892         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
10893         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
10894         before falling back on save_cwd and restore_cwd.
10895         (fdopendir, fstatat, unlinkat): Likewise.
10896
10897         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
10898         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
10899
10900         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
10901         as second argument to va_arg.  Otherwise, some versions of gcc
10902         warn that `if this code is reached, the program will abort'.
10903
10904 2006-01-09  Jim Meyering  <jim@meyering.net>
10905
10906         Sync from coreutils.
10907         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
10908         Require openat-priv.h.
10909
10910 2006-01-09  Bruno Haible  <bruno@clisp.org>
10911
10912         * modules/strnlen (Include): Use strnlen.h.
10913
10914 2006-01-09  Bruno Haible  <bruno@clisp.org>
10915
10916         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
10917
10918 2006-01-09  Bruno Haible  <bruno@clisp.org>
10919
10920         * lib/sysexit_.h (EX_OK): New macro.
10921         Suggested by Martin Lambers <marlam@marlam.de>.
10922
10923 2006-01-09  Bruno Haible  <bruno@clisp.org>
10924
10925         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
10926         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
10927
10928 2006-01-09  Bruno Haible  <bruno@clisp.org>
10929
10930         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
10931         numbers.
10932
10933 2006-01-09  Bruno Haible  <bruno@clisp.org>
10934
10935         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
10936         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
10937         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
10938         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
10939
10940 2006-01-09  Bruno Haible  <bruno@clisp.org>
10941
10942         * build-aux/javacomp.sh.in: New file, moved from lib/.
10943         * modules/javacomp-script (Files): Update.
10944         (configure.ac): Add AC_CONFIG_FILES invocation.
10945         (EXTRA_DIST): Remove variable.
10946
10947         * build-aux/javaexec.sh.in: New file, moved from lib/.
10948         * modules/javaexec (Files): Update.
10949         (configure.ac): Add AC_CONFIG_FILES invocation.
10950         (EXTRA_DIST): Remove javaexec.sh.in.
10951
10952         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
10953         * modules/csharpcomp-script (Files): Update.
10954         (configure.ac): Add AC_CONFIG_FILES invocation.
10955         (EXTRA_DIST): Remove variable.
10956
10957         * build-aux/csharpexec.sh.in: New file, moved from lib/.
10958         * modules/csharpexec (Files): Update.
10959         (configure.ac): Add AC_CONFIG_FILES invocation.
10960         (EXTRA_DIST): Remove csharpexec.sh.in.
10961
10962 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
10963
10964         Sync from coreutils.
10965
10966         Add POSIX ACL support
10967         * lib/acl.h (copy_acl, set_acl): Add declarations.
10968         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
10969         systems other than Linux.
10970         (chmod_or_fchmod): New function: use fchmod when possible,
10971         and chmod otherwise.
10972         (file_has_acl): Add a POSIX ACL implementation, with a
10973         Linux-specific subcase.
10974         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
10975         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
10976         acls are unsupported.
10977         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
10978         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
10979         are unsupported.
10980
10981 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
10982
10983         Sync from coreutils.
10984         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
10985
10986 2006-01-07  Bruno Haible  <bruno@clisp.org>
10987
10988         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
10989         gl_EARLY.
10990
10991 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
10992
10993         * lib/strftime.c (tzname): Don't declare if it is already #defined.
10994         Problem reported for Mingw by Mark Junker.
10995
10996 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
10997
10998         * README: Gnulib normally doesn't generate a tarball.
10999
11000 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
11001
11002         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
11003         long int, not int, for nanosecond counts, so that people who are
11004         used to POSIX struct timespec won't be surprised.  Reported by Jim
11005         Meyering.
11006
11007 2005-12-28  Bruno Haible  <bruno@clisp.org>
11008
11009         * build-aux/config.rpath: Update from GNU gettext.
11010
11011 2005-12-16  Jim Meyering  <jim@meyering.net>
11012
11013         * modules/fprintftime: New module.
11014         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
11015
11016 2005-12-16  Jim Meyering  <jim@meyering.net>
11017
11018         * m4/fprintftime.m4: New file.
11019
11020 2005-12-16  Jim Meyering  <jim@meyering.net>
11021
11022         * lib/fprintftime.c, lib/fprintftime.h: New files.
11023
11024 2005-12-15  Simon Josefsson  <jas@extundo.com>
11025
11026         * modules/socklen (configure.ac): Fix M4 macro name, to align with
11027         new m4/socklen.m4.
11028
11029 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11030
11031         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
11032         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
11033
11034 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11035
11036         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
11037         * lib/argp-help.c (fill_in_uparams): Check if the constructed
11038         struct uparams is valid. Fall back to the default values if it is
11039         not.
11040
11041 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11042
11043         * modules/argp (Files): Add argp-pin.c
11044         (Depends-on): dirname
11045         (lib_SOURCES): Add argp-pin.c
11046
11047 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11048
11049         * m4/argp.m4:  Check if program_invocation_name and
11050         program_invocation_short_name are declared and define appropriate
11051         macros if they are not.
11052
11053 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11054
11055         * lib/argp-help.c (__argp_base_name): New function
11056         (__argp_short_program_name): Rewrite using __argp_base_name
11057         * lib/argp-namefrob.h: Define program_invocation_name and
11058         program_invocation_short_name if requested
11059         (__argp_base_name): Add prototype
11060         * lib/argp-parse.c (argp_def): Use gettext wrappers
11061         (argp_default_parser): Use __argp_base_name
11062         * lib/argp-pin.c: New file. Defines program_invocation_name and
11063         program_invocation_short_name on systems that lack them.
11064
11065 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11066
11067         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
11068         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
11069         porting problem reported by Georg Schwarz in
11070         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
11071
11072 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11073
11074         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
11075         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
11076         porting problem reported by Georg Schwarz in
11077         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
11078
11079 2005-12-05  Bruno Haible  <bruno@clisp.org>
11080
11081         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
11082         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
11083         Reported by Mark Junker <mjscod@gmx.de>.
11084
11085 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
11086
11087         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
11088         Use implementation from Albert Chin, with some
11089         comments/corrections by Stepan Kasal and myself.
11090
11091 2005-12-02  Bruno Haible  <bruno@clisp.org>
11092
11093         * gnulib-tool (func_import): Accept GPLed build tool modules when
11094         --lgpl is given.
11095         * modules/csharpcomp-script: New file.
11096         * modules/csharpcomp: Depend on it.
11097         * modules/javacomp-script: New file.
11098         * modules/javacomp: Depend on it.
11099         Suggested by Simon Josefsson.
11100
11101 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
11102
11103         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
11104         statement, to work around an HP-UX 10.20 compiler bug reported by
11105         Peter O'Gorman.
11106
11107 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
11108
11109         * modules/savedir (Depends-on): Add openat.
11110
11111 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
11112
11113         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
11114         (uintmax_t) [defined uintmax_t]: Do not declare.
11115         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
11116         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
11117         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
11118         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
11119         sake of portability to weird hosts that C allows (though we don't
11120         know of any practical examples).
11121
11122         * lib/savedir.h (fdsavedir): New decl.
11123         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
11124         contains most of the former guts of savedir.
11125         (savedir): Use savedirstream.
11126         Include "openat.h".
11127
11128 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11129
11130         * modules/obstack (Files): Add m4/ulonglong.m4.
11131         Problem reported by Davide Angelocola.
11132
11133 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
11134
11135         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
11136         coreutils no longer futzes with rounding modes.
11137
11138 2005-11-14  Jim Meyering  <jim@meyering.net>
11139
11140         * lib/mkstemp-safer.c: Include <config.h>, required for possible
11141         replacement of mkstemp.
11142
11143 2005-11-10  Simon Josefsson  <jas@extundo.com>
11144
11145         * lib/readline.c: Remove EOL.
11146
11147 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11148
11149         * modules/gethrxtime (Depends-on): Add gettime.
11150
11151 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11152
11153         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
11154         or gettimeofday; no longer needed.
11155
11156 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11157
11158         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
11159         time business.
11160         (gethrxtime) [! (HAVE_NANOUPTIME
11161         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
11162         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
11163         our own approximation.
11164
11165 2005-11-08  Eric Blake  <ebb9@byu.net>
11166
11167         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11168
11169 2005-11-08  Eric Blake  <ebb9@byu.net>
11170
11171         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11172
11173 2005-11-04  Bruno Haible  <bruno@clisp.org>
11174
11175         * gnulib-tool: Implement --update mode.
11176
11177 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11178
11179         Fix porting problem reported by Theodoros V. Kalamatianos.
11180         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
11181         Don't assume that futimes failing means we must fail.
11182
11183 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11184
11185         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
11186         variables to suggest the intended function of the PATH_MAX check.
11187
11188 2005-10-30  Kean Johnston  <jkj@sco.com>
11189
11190         Trivial changes to support SCO systems.
11191         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
11192         as PATH_MAX.
11193         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
11194         where __ptr is null when no I/O is pending.
11195
11196 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11197
11198         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
11199         leave errno alone.  Problem reported by Dmitry V. Levin.
11200
11201 2005-10-28  Simon Josefsson  <jas@extundo.com>
11202
11203         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
11204         Test more.
11205
11206         * tests/test-gc-md2.c, tests/test-md2.c: New files.
11207
11208         * modules/md2, modules/md2-tests: New files.
11209
11210 2005-10-28  Simon Josefsson  <jas@extundo.com>
11211
11212         * m4/inet_ntop.m4: More tests.
11213
11214         * m4/gc-md2.m4, md2.m4: New file.
11215
11216 2005-10-28  Simon Josefsson  <jas@extundo.com>
11217
11218         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
11219         "restrict" keywords, as per POSIX.  Protect the function
11220         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
11221         Don't use K&R prototypes.  Check the sprintf return values.
11222         Re-define EAFNOSUPPORT if not present.  Indent.
11223
11224         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
11225         suggested by Bruno Haible <bruno@clisp.org>.
11226
11227         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
11228
11229         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
11230
11231         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
11232         libgcrypt).
11233
11234         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
11235
11236         * lib/md2.h, lib/md2.c: New files.
11237
11238 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
11239
11240         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
11241         errno alone.  Problem reported by Frederic Jolliton.
11242
11243 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11244
11245         * modules/verify (License): Change from GPL to LGPL.  This is a
11246         tiny module and there are apparently near-equivalents that are
11247         under the BSD license.
11248
11249 2005-10-24  Simon Josefsson  <jas@extundo.com>
11250
11251         * modules/sha1: Relicense to LGPL.
11252
11253 2005-10-24  Simon Josefsson  <jas@extundo.com>
11254
11255         * lib/md4.h: Shrink buffer size, now that we changed the type.
11256
11257 2005-10-23  Simon Josefsson  <jas@extundo.com>
11258
11259         * gnulib-tool (func_import): Fix --tests-base.
11260
11261 2005-10-22  Simon Josefsson  <jas@extundo.com>
11262
11263         * modules/arcfour (Depends-on): Need stdint.
11264
11265 2005-10-22  Simon Josefsson  <jas@extundo.com>
11266
11267         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
11268         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
11269
11270 2005-10-22  Simon Josefsson  <jas@extundo.com>
11271
11272         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
11273         suggested by Bruno Haible <bruno@clisp.org>.
11274
11275 2005-10-22  Simon Josefsson  <jas@extundo.com>
11276
11277         * lib/crc.h: Include stddef.h, for size_t.
11278
11279 2005-10-22  Simon Josefsson  <jas@extundo.com>
11280
11281         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
11282         arcfour_context struct (simplify test vector testing in GNU
11283         Shishi).
11284
11285 2005-10-21  Simon Josefsson  <jas@extundo.com>
11286
11287         * modules/des, modules/des-tests: New files.
11288
11289         * modules/gc-des, modules/gc-des-tests: New files.
11290
11291         * tests/test-des.c, tests/test-gc-des.c: New file.
11292
11293 2005-10-21  Simon Josefsson  <jas@extundo.com>
11294
11295         * modules/arctwo, modules/arctwo-tests: New files.
11296
11297         * tests/test-arctwo.c: New file.
11298
11299         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
11300
11301         * tests/test-gc-arctwo.c: New file.
11302
11303 2005-10-21  Simon Josefsson  <jas@extundo.com>
11304
11305         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
11306         Bruno Haible <bruno@clisp.org>.
11307
11308         * m4/gc-des.m4: New file.
11309
11310 2005-10-21  Simon Josefsson  <jas@extundo.com>
11311
11312         * m4/arctwo.m4: New file.
11313
11314         * m4/gc-arctwo.m4: New file.
11315
11316 2005-10-21  Simon Josefsson  <jas@extundo.com>
11317
11318         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
11319         block.
11320
11321 2005-10-21  Simon Josefsson  <jas@extundo.com>
11322
11323         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
11324         <bruno@clisp.org>.
11325
11326         * lib/hmac-sha1.c (hmac_sha1): Likewise.
11327
11328         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
11329         Bruno Haible <bruno@clisp.org>.
11330
11331         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
11332         <bruno@clisp.org>.
11333
11334 2005-10-21  Simon Josefsson  <jas@extundo.com>
11335
11336         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
11337
11338 2005-10-21  Simon Josefsson  <jas@extundo.com>
11339
11340         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
11341
11342 2005-10-21  Simon Josefsson  <jas@extundo.com>
11343
11344         * lib/des.h, lib/des.c: New files.
11345
11346         * lib/gc-gnulib.c: Support DES.c
11347
11348 2005-10-21  Simon Josefsson  <jas@extundo.com>
11349
11350         * lib/arctwo.h, lib/arctwo.c: New files.
11351
11352         * lib/gc-gnulib.c: Support ARCTWO.
11353
11354 2005-10-21  Simon Josefsson  <jas@extundo.com>
11355
11356         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
11357         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11358
11359 2005-10-21  Simon Josefsson  <jas@extundo.com>
11360
11361         * gnulib-tool (func_import, func_create_testdir): Define automake
11362         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
11363         Makefile.am snippet),
11364         suggested by Bruno Haible <bruno@clisp.org>.
11365
11366         * modules/gc (Makefile.am): Use it.
11367
11368 2005-10-21  Bruno Haible  <bruno@clisp.org>
11369
11370         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
11371         patch.
11372
11373 2005-10-19  Simon Josefsson  <jas@extundo.com>
11374
11375         * tests/test-gc-rijndael.c: New file.
11376
11377         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
11378
11379 2005-10-19  Simon Josefsson  <jas@extundo.com>
11380
11381         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
11382         interface too.
11383
11384 2005-10-19  Simon Josefsson  <jas@extundo.com>
11385
11386         * tests/test-gc-arcfour.c: New file.
11387
11388         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
11389
11390 2005-10-19  Simon Josefsson  <jas@extundo.com>
11391
11392         * modules/gc-md4, modules/gc-md4-tests: New file.
11393
11394         * tests/test-gc-md4.c: New file.
11395
11396 2005-10-19  Simon Josefsson  <jas@extundo.com>
11397
11398         * m4/gc-md4.m4: New file.
11399
11400 2005-10-19  Simon Josefsson  <jas@extundo.com>
11401
11402         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
11403         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
11404         <kasal@ucw.cz>.
11405
11406 2005-10-19  Simon Josefsson  <jas@extundo.com>
11407
11408         * m4/gc-arcfour.m4: New file.
11409
11410         * m4/gc-rijndael.m4: New file.
11411
11412 2005-10-19  Simon Josefsson  <jas@extundo.com>
11413
11414         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
11415
11416 2005-10-19  Simon Josefsson  <jas@extundo.com>
11417
11418         * lib/gc-gnulib.c: Support ARCFOUR.
11419
11420 2005-10-19  Simon Josefsson  <jas@extundo.com>
11421
11422         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
11423         support.
11424
11425         * lib/gc.h: Add ECB enum type.
11426
11427         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
11428
11429 2005-10-18  Simon Josefsson  <jas@extundo.com>
11430
11431         * tests/test-md5.c: New file.
11432
11433         * modules/md5-tests: New file.
11434
11435 2005-10-18  Simon Josefsson  <jas@extundo.com>
11436
11437         * tests/test-md4.c: New file.
11438
11439         * modules/md4, modules/md4-tests: New files.
11440
11441 2005-10-18  Simon Josefsson  <jas@extundo.com>
11442
11443         * m4/md4.m4: New file.
11444
11445 2005-10-18  Simon Josefsson  <jas@extundo.com>
11446
11447         * lib/md4.h, lib/md4.c: New files, based on md5.?.
11448
11449 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
11450
11451         * gnulib-tool (func_create_testdir): Omit the second check whether
11452         BUILT_SOURCES in nonempty.
11453
11454 2005-10-17  Simon Josefsson  <jas@extundo.com>
11455
11456         * tests/test-rijndael.c: New file.
11457
11458 2005-10-17  Simon Josefsson  <jas@extundo.com>
11459
11460         * modules/sha1: Depend on stdint instead of md5.
11461
11462         * modules/md5: Depend on stdint, remove uint32_t.
11463
11464 2005-10-17  Simon Josefsson  <jas@extundo.com>
11465
11466         * modules/gc-sha1-tests: New file.
11467
11468         * tests/test-gc-sha1.c: New file.
11469
11470 2005-10-17  Simon Josefsson  <jas@extundo.com>
11471
11472         * m4/md5.m4: Remove call to uint32_t.m4.
11473
11474 2005-10-17  Simon Josefsson  <jas@extundo.com>
11475
11476         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
11477
11478         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
11479         md5.h.
11480
11481         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
11482
11483         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
11484
11485 2005-10-17  Simon Josefsson  <jas@extundo.com>
11486
11487         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
11488
11489 2005-10-17  Simon Josefsson  <jas@extundo.com>
11490
11491         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
11492
11493 2005-10-17  Simon Josefsson  <jas@extundo.com>
11494
11495         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
11496
11497         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
11498
11499 2005-10-17  Bruno Haible  <bruno@clisp.org>
11500
11501         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
11502         that it can also be used in a test.
11503
11504 2005-10-16  Bruno Haible  <bruno@clisp.org>
11505
11506         * gnulib-tool (func_emit_tests_Makefile_am): Also define
11507         TESTS_ENVIRONMENT, so that individual tests can augment it.
11508
11509         * gnulib-tool (func_create_testdir): Use an intermediate target for
11510         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
11511         macros, like $(ALLOCA_H), which cannot be passed through the command
11512         line.
11513
11514 2005-10-15  Simon Josefsson  <jas@extundo.com>
11515
11516         * modules/rijndael-tests: New file.
11517
11518         * modules/rijndael: New file.
11519
11520 2005-10-15  Simon Josefsson  <jas@extundo.com>
11521
11522         * m4/rijndael.m4: New file.
11523
11524 2005-10-15  Simon Josefsson  <jas@extundo.com>
11525
11526         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
11527
11528         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
11529
11530 2005-10-14  Simon Josefsson  <jas@extundo.com>
11531
11532         * tests/test-arcfour.c: New file.
11533
11534         * modules/arcfour, modules/arcfour-tests: New files.
11535
11536 2005-10-14  Simon Josefsson  <jas@extundo.com>
11537
11538         * m4/arcfour.m4: New file.
11539
11540 2005-10-14  Simon Josefsson  <jas@extundo.com>
11541
11542         * lib/arcfour.h, lib/arcfour.c: New files.
11543
11544 2005-10-14  Roland McGrath  <roland@redhat.com>
11545
11546         Import from libc.  [BZ #1331]
11547         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
11548         macro argument.
11549         Reported by Matej Vela <vela@debian.org>.
11550
11551 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11552
11553         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
11554         include <wchar.h>; no longer needed.
11555
11556 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11557
11558         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
11559
11560 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
11561         and  Ulrich Drepper  <drepper@redhat.com>
11562
11563         Import from libc.
11564         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
11565         instead of inline stream orientation test and two separate
11566         function calls.  Pay no attention to USE_IN_LIBIO.
11567
11568 2005-10-13  Simon Josefsson  <jas@extundo.com>
11569
11570         * modules/gc-hmac-md5-tests: New file.
11571
11572         * tests/test-gc-hmac-sha1.c: New file.
11573
11574         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
11575
11576         * modules/gc-hmac-md5-tests: New file.
11577
11578         * tests/test-gc-md5.c: New file.
11579
11580         * modules/gc-md5-tests: New file.
11581
11582 2005-10-13  Simon Josefsson  <jas@extundo.com>
11583
11584         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
11585         Move memory allocation outside of loop.
11586
11587 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11588
11589         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
11590         intermediate directory is in a read-only file system.  Problem
11591         reported by Eric Blake.
11592
11593 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
11594
11595         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
11596
11597 2005-10-12  Simon Josefsson  <jas@extundo.com>
11598
11599         * tests/test-hmac-sha1.c: New file.
11600
11601         * modules/hmac-sha1-tests: New file.
11602
11603         * modules/hmac-sha1: New file.
11604
11605 2005-10-12  Simon Josefsson  <jas@extundo.com>
11606
11607         * modules/gc-sha1: New file.
11608
11609 2005-10-12  Simon Josefsson  <jas@extundo.com>
11610
11611         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
11612
11613         * tests/test-gc-pbkdf2-sha1.c: New file.
11614
11615 2005-10-12  Simon Josefsson  <jas@extundo.com>
11616
11617         * modules/gc-md5, modules/gc-hmac-md5: New files.
11618
11619         * modules/gc (Files): Remove md5, memxor and hmac files.
11620
11621 2005-10-12  Simon Josefsson  <jas@extundo.com>
11622
11623         * m4/gc-pbkdf2-sha1.m4: New file.
11624
11625         * m4/gc-hmac-sha1.m4: New file.
11626
11627         * m4/gc-sha1: New file.
11628
11629         * m4/hmac-sha1.m4: New file.
11630
11631 2005-10-12  Simon Josefsson  <jas@extundo.com>
11632
11633         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
11634
11635         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
11636
11637 2005-10-12  Simon Josefsson  <jas@extundo.com>
11638
11639         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
11640         suggested by Bruno Haible <bruno@clisp.org>.
11641
11642 2005-10-12  Simon Josefsson  <jas@extundo.com>
11643
11644         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
11645
11646 2005-10-12  Simon Josefsson  <jas@extundo.com>
11647
11648         * lib/gc-pbkdf2-sha1.c: New file.
11649
11650         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
11651
11652 2005-10-12  Simon Josefsson  <jas@extundo.com>
11653
11654         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
11655
11656         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
11657
11658 2005-10-12  Simon Josefsson  <jas@extundo.com>
11659
11660         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
11661         GC_USE_HMAC_MD5, respectively.
11662
11663         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
11664         (gc_md5): Fix typo.
11665
11666         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
11667
11668         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
11669
11670         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
11671
11672 2005-10-12  Bruno Haible  <bruno@clisp.org>
11673
11674         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
11675         Reported by Stepan Kasal <kasal@ucw.cz>.
11676
11677 2005-10-11  Simon Josefsson  <jas@extundo.com>
11678
11679         * tests/test-crc.c: New file.
11680
11681         * modules/crc, modules/crc-tests: New files.
11682
11683 2005-10-11  Simon Josefsson  <jas@extundo.com>
11684
11685         * m4/crc.m4: New file.
11686
11687 2005-10-11  Simon Josefsson  <jas@extundo.com>
11688
11689         * lib/gc.h: Add gc_hash and gc_hash_buffer.
11690
11691         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
11692
11693         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
11694
11695 2005-10-11  Simon Josefsson  <jas@extundo.com>
11696
11697         * lib/crc.h, lib/crc.c: New files.
11698
11699         * lib/gc.h (gc_hash_buffer): Add doc.
11700
11701 2005-10-11  Bruno Haible  <bruno@clisp.org>
11702
11703         * modules/c-strcasestr: New file.
11704         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
11705
11706 2005-10-11  Bruno Haible  <bruno@clisp.org>
11707
11708         * modules/c-strcase: New file.
11709         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
11710
11711 2005-10-11  Bruno Haible  <bruno@clisp.org>
11712
11713         * lib/strcasecmp.c: Include limits.h.
11714         (strcasecmp): Avoid integer overflow on exotic platforms.
11715         * lib/strncasecmp.c: Include limits.h.
11716         (strncasecmp): Avoid integer overflow on exotic platforms.
11717         Reported by Paul Eggert.
11718
11719 2005-10-11  Bruno Haible  <bruno@clisp.org>
11720
11721         * lib/c-strcasestr.h: New file, from GNU gettext.
11722         * lib/c-strcasestr.c: New file, from GNU gettext.
11723
11724 2005-10-11  Bruno Haible  <bruno@clisp.org>
11725
11726         * lib/c-strcase.h: New file, from GNU gettext.
11727         * lib/c-strcasecmp.c: New file, from GNU gettext.
11728         * lib/c-strncasecmp.c: New file, from GNU gettext.
11729
11730 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11731
11732         * modules/mempcpy (License): GPL -> LGPL.
11733         * modules/strchrnul (License): Likewise.
11734         * modules/sysexits (License): Likewise.
11735
11736 2005-10-08  Simon Josefsson  <jas@extundo.com>
11737
11738         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
11739
11740 2005-10-07  Simon Josefsson  <jas@extundo.com>
11741
11742         * m4/memxor.m4: Remove gl_C_RESTRICT call.
11743
11744 2005-10-06  Simon Josefsson  <jas@extundo.com>
11745
11746         * tests/test-hmac-md5.c: New file.
11747
11748         * modules/hmac-md5-tests: New file.
11749
11750         * modules/hmac-md5: New file.
11751
11752 2005-10-06  Simon Josefsson  <jas@extundo.com>
11753
11754         * m4/hmac-md5.m4: New file.
11755
11756         * m4/memxor.m4: Require gl_C_RESTRICT.
11757
11758 2005-10-06  Simon Josefsson  <jas@extundo.com>
11759
11760         * lib/memxor.c (memxor): Avoid casts and warnings.
11761
11762 2005-10-06  Simon Josefsson  <jas@extundo.com>
11763
11764         * lib/hmac-md5.c: New file.
11765
11766         * lib/hmac.h: New file.
11767
11768 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
11769
11770         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
11771         promotes to int, not unsigned int, to catch the AIX 5.3
11772         compiler bug.
11773
11774 2005-10-05  Simon Josefsson  <jas@extundo.com>
11775
11776         * modules/memxor: New file.
11777
11778         * modules/iconv (Files): Move config.rpath to havelib, it is used
11779         there.
11780
11781         * modules/havelib (Files): Add config.rpath.
11782
11783 2005-10-05  Simon Josefsson  <jas@extundo.com>
11784
11785         * m4/memxor.m4: New file.
11786
11787 2005-10-05  Simon Josefsson  <jas@extundo.com>
11788
11789         * lib/memxor.c (memxor): Fix compiler error.
11790
11791         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
11792         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
11793
11794         * lib/memxor.h, lib/memxor.c: New files.
11795
11796         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
11797         we assume all systems have it, suggested by Jim Meyering
11798         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
11799         any systems lack sys/socket.h; mingw32 is known to lack it, but we
11800         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
11801         same reasons.
11802
11803 2005-10-05  Simon Josefsson  <jas@extundo.com>
11804
11805         * config/srclist.txt: Add glibc bug 1423 for md5.h.
11806
11807 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11808
11809         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
11810         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
11811         needed, since the source code now assumes these .h files.
11812
11813 2005-10-05  Derek Price  <derek@ximbiot.com>
11814
11815         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
11816
11817 2005-10-05  Bruno Haible  <bruno@clisp.org>
11818
11819         * modules/stdint (License): Change to LGPL.
11820
11821 2005-10-04  Simon Josefsson  <jas@extundo.com>
11822
11823         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
11824         D. Baushke" <mdb@gnu.org>.
11825
11826 2005-10-04  Bruno Haible  <bruno@clisp.org>
11827
11828         * lib/verify.h (verify_true): Provide alternative definition for C++.
11829
11830 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
11831
11832         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
11833         (SSIZE_MAX): New macro, if not already defined.
11834         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
11835         than 2 GiB.
11836
11837 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11838
11839         Sync from coreutils.
11840         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
11841         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
11842         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
11843         ULLONG_MAX doesn't work with 2.7.2.1.
11844
11845 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11846
11847         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
11848         From Ben Pfaff.
11849
11850         * modules/exclude (Depends-on): Depend on verify.
11851         * modules/strtoimax (Depends-on): Likewise.
11852         * modules/utimecmp (Depends-on): Likewise.
11853
11854 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11855
11856         * lib/exclude.c: Include verify.h.
11857         (verify): Remove.  All callers changed to use verify.h's version.
11858         * lib/strtoimax.c: Likewise.
11859         * lib/utimecmp.c: Likewis.e
11860
11861         Sync from coreutils.
11862         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
11863         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
11864         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
11865         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
11866         bother returning ENOSYS if settimeofday or stime fails; just let
11867         them return whatever errno they want to return.
11868         * lib/utimens.c: Include unistd.h, for dup2.
11869         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
11870         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
11871
11872 2005-10-02  Jim Meyering  <jim@meyering.net>
11873
11874         Sync from coreutils.
11875         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
11876         from glibc-2.2.5 that fails for read-only files.
11877
11878 2005-10-02  Jim Meyering  <jim@meyering.net>
11879
11880         Sync from coreutils.
11881         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
11882         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
11883         `#if HAVE_CONFIG_H'.
11884         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
11885         Remove AT_FDCWD test.
11886         Do not consume the fd unless successful.
11887         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
11888         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
11889         block, so that we don't even try to compile it if settimeofday is
11890         available.  This works around a compilation failure on OSF1 V5.1,
11891         due to stime requiring a `long int*' while tv_sec is `int'.
11892
11893 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
11894
11895         Sync from coreutils.
11896         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
11897         against `yes', rather than just testing for nonempty.
11898
11899 2005-10-01  Simon Josefsson  <jas@extundo.com>
11900
11901         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
11902         and Darwin.
11903
11904         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
11905         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
11906         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
11907         freeaddrinfo and gai_strerror are declared by the POSIX headers.
11908         Check if struct addrinfo is declared.
11909
11910 2005-10-01  Simon Josefsson  <jas@extundo.com>
11911
11912         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
11913         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
11914         AI_* and EAI_* definitions.  Protect function declarations.
11915
11916 2005-10-01  Jim Meyering  <jim@meyering.net>
11917
11918         Sync from coreutils.
11919
11920         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
11921         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
11922         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
11923         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
11924         in the inet and nsl libraries.  Required on Solaris 5.7.
11925
11926 2005-10-01  Jim Meyering  <jim@meyering.net>
11927
11928         Sync from coreutils.
11929         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
11930         in the inet and nsl libraries.  Required on Solaris 5.7.
11931
11932 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
11933
11934         * lib/getdelim.c (getdelim): Remove unused variables.
11935
11936 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
11937
11938         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
11939         so that the code works even with ancient cpp.  Portability problem
11940         with GCC 2.7.2.1 reported by Thomas M.Ott.
11941
11942 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
11943
11944         * modules/regex (Depends-on): Add strcase.
11945
11946         * modules/gethostname (Licence): Change from GPL to LGPL, since
11947         gethostname.c is a trivial implementation of a standard library
11948         function.
11949         * modules/poll (License): Change from GPL to LGPL, since it's
11950         derived from LGPL code.
11951
11952 2005-09-27  Jim Meyering  <jim@meyering.net>
11953
11954         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
11955         HAVE_CONFIG_H.
11956
11957         * lib/intprops.h (signed_type_or_expr__): Define.
11958         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
11959         for unsigned types.
11960
11961 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
11962
11963         * lib/verify.h (verify_expr): Remove, replacing with:
11964         (verify_true): New macro that returns true instead of void.
11965         (verify_type__): Remove.
11966         (verify): Use verify_true rather than verify_type__.
11967
11968 2005-09-26  Bruno Haible  <bruno@clisp.org>
11969
11970         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
11971         is necessary.
11972         (lib_SOURCES): Remove mbchar.c.
11973         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
11974         (Files): Add m4/mbrtowc.m4.
11975         * modules/mbiter: Likewise.
11976         * modules/mbuiter: Likewise.
11977
11978 2005-09-26  Bruno Haible  <bruno@clisp.org>
11979
11980         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
11981         compile mbchar.c if they are not both present.
11982         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
11983         * m4/mbiter.m4 (gl_MBITER): Likewise.
11984         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
11985         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
11986         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
11987
11988 2005-09-25  Jim Meyering  <jim@meyering.net>
11989
11990         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
11991         also uses socklen_t.
11992
11993 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
11994
11995         * lib/utimens.c (ENOSYS): Define if not already defined.
11996         (futimens): Support having a null PATH if the file descriptor
11997         is nonnegative.
11998
11999         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
12000         Remove.
12001         (__attribute): Define to empty unless GCC 3.1 or later.
12002         This works around a core dump on OpenBSD 3.4, which has GCC
12003         2.95.3, which dumps core when given __attribute__(()).  It also
12004         simplifies other tests, since we really don't want to bother with
12005         worrying about which ancient version of GCC supported what.
12006         Original problem reported by Yoann Vandoorselaere, with part of
12007         the fix suggested by Derek Price.
12008
12009 2005-09-24  Jim Meyering  <jim@meyering.net>
12010
12011         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
12012         so we can once again use a positive bitfield width of 1 -- now we
12013         don't have to explain why we were using a bitfield width of 2.
12014
12015 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12016
12017         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
12018         and similarly for the other external symbols.  Problem reported
12019         by James Gallager.
12020
12021         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
12022         bug reported by Jim Meyering.
12023
12024         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
12025         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
12026         not needed, since socklen is a prerequisite module.
12027
12028 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12029
12030         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
12031         Problem reported by Eric Blake.
12032         (getaddrinfo): Initialize se so that it's not garbage.
12033         Redo internal storage allocation so that it doesn't make unportable
12034         assumptions about alignment.
12035         Fix a memory leak.
12036
12037         * lib/utimens.c (futimens): Use futimesat if available.
12038         Prefer it to futimes since it doesn't have the futimes bug.
12039
12040         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
12041         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
12042         Instead, declare a function that returns a pointer to an array,
12043         and use verify_type__ to declare the size of the array.
12044         Problem and germ of a solution reported by Bruno Haible.
12045         (verify_type__): Use 2, not 1, for bitfield size, to avoid
12046         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
12047
12048 2005-09-23  Jim Meyering  <jim@meyering.net>
12049
12050         Sync from coreutils.
12051         Correct build failure (socklen_t not defined) on at least
12052         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
12053         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
12054
12055 2005-09-23  Jim Meyering  <jim@meyering.net>
12056
12057         * modules/getaddrinfo (Depends-on): Add socklen.
12058
12059 2005-09-23  Bruno Haible  <bruno@clisp.org>
12060
12061         * tests/test-verify.c: New file.
12062
12063 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12064
12065         Sync from coreutils.
12066
12067         * modules/argmatch (Depends-on): Add verify.
12068         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
12069         unistd-safer.
12070         * modules/save-cwd (Depends-on): Likewise.
12071
12072         * modules/openat (Files): Add lib/openat-die.c.
12073         (Depends-on): Remove error, exitfail.
12074         Add dirname.
12075
12076         * modules/verify: New file.
12077         * MODULES.html.sh (Diagnostics <assert.h>): New section,
12078         with "verify" module.
12079
12080 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12081
12082         Sync from coreutils.
12083
12084         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
12085         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
12086         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
12087         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
12088         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
12089         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
12090         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
12091         Don't bother checking for string.h, stdlib.h, unistd.h.
12092         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
12093         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
12094         module's job.
12095         * m4/jm-macros.m4 (gl_MACROS): Likewise.
12096         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
12097
12098         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
12099         (gl_GETDATE): Use it.
12100
12101         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
12102
12103 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12104
12105         Sync from coreutils.
12106
12107         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
12108         stat-time.h.
12109         * lib/argmatch.h: Include verify.h
12110         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
12111         (ARGMATCH_ASSERT): Remove; unused.
12112         * lib/canonicalize.c: Assume STDC_HEADERS.
12113         * lib/exclude.c: Include "strcase.h".
12114         * lib/regex_internal.h [!defined _LIBC]: Likewise.
12115         * lib/getusershell.c: Include stdio--.h rather than stdio.h
12116         and stdio-safer.h.
12117         (getusershell): Call fopen, not fopen_safer.
12118         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
12119         Do not include unistd-safer.h.
12120         (save_cwd): Don't call fd_safer; no longer needed
12121         now that we include fcntl--.h.
12122
12123         * lib/getdate.y (relative_time): New type.
12124         (RELATIVE_TIME_0): New constant.
12125         (parser_control): Use relative_time instead of doing it ourselves.
12126         (%union): Add new relative_time rel member.
12127         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
12128         Now typeless.
12129         (relunit, relunit_snumber): Now of type rel.
12130         (zone, rel, relunit, get_date): Adjust to above changes.
12131
12132         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
12133         Do not include unistd-safer.h.
12134         (getloadavg): Don't call fd_safer; no longer needed
12135         now that we include fcntl--.h.
12136
12137         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
12138         (make_dir_parents): Treat ENOSYS like EEXIST.
12139
12140         Improve quality of diagnostics on restore_cwd failure.
12141         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
12142         (make_dir_parents): Last arg is now int * (for errno), not bool *.
12143         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
12144         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
12145         each time through the loop.  Do not diagnose restore_cwd failure;
12146         that is the caller's job (and perhaps the caller does not care).
12147
12148         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
12149         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
12150         If the file already exists but is not a directory, don't bother
12151         to try to make its parents.
12152         Close potential file descriptor leak if we can't chdir("/") (!).
12153         Don't always return true if chdir($PWD) fails; return true only
12154         if the requested action was done successfully (except for the
12155         chdir($PWD)).
12156         Don't log final directory unless we actually made it.
12157         Refactor to avoid duplicate code to fix up permissions.
12158         Don't attempt to fix up parent permissions if chdir($PWD) fails.
12159
12160         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
12161         to make it a bit faster and (I hope) clearer.
12162         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
12163         Fix bug in formats like %2N.
12164
12165         * lib/verify.h: New file.
12166
12167 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12168
12169         Sync from coreutils.
12170         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
12171
12172 2005-09-22  Jim Meyering  <jim@meyering.net>
12173
12174         Sync from coreutils.
12175
12176         * m4/lstat.m4 (gl_FUNC_LSTAT):
12177         Use AC_LIBSOURCES to require lstat.c and lstat.h.
12178         Remove obsolete comment.
12179         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
12180         * m4/xstrtod.m4: Likewise.
12181
12182         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
12183
12184 2005-09-22  Jim Meyering  <jim@meyering.net>
12185
12186         Sync from coreutils.
12187
12188         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
12189
12190         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
12191         the .tm_year member, since otherwise gcc-4.0 would now warn about
12192         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
12193
12194         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
12195         order to avoid an unsuppressible warning from gcc on 64-bit systems.
12196
12197         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
12198         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
12199         when run in a time zone for which daylight savings time is in effect
12200         for the starting date.
12201
12202         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
12203         stop us from restricting permissions of just-created absolute-named
12204         directories.
12205         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
12206         to restore initial working directory.
12207         * lib/mkdir-p.c (make_dir_parents): New parameter:
12208         different_working_dir, to tell caller if/when we change the working
12209         directory and are unable to return to the initial one.
12210         * lib/mkdir-p.h (make_dir_parents): Update prototype.
12211         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
12212         `return false'.  This fixes a bug introduced on 2004-07-30.
12213
12214         * lib/openat.c (fdopendir): Be sure to close the supplied
12215         file descriptor before returning.  This makes our replacement
12216         implementation a little closer to Solaris's, where fdopendir
12217         ties the file descriptor to the returned DIR* pointer.
12218         * lib/openat.c (unlinkat): New function.
12219         * lib/openat.h (unlinkat): Add prototype.
12220         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
12221         (openat_restore_fail): Rename from openat_restore_die.
12222         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
12223
12224         Provide an alternative to exiting immediately upon save_cwd or
12225         restore_cwd failure.  Now, an application can arrange e.g.,
12226         to perform a longjump in that case.
12227         * lib/openat.c: Include dirname.h.
12228         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
12229         (rpl_openat, fdopendir, fstatat): Call openat_save_die
12230         and openat_restore_die rather than calling error directly.
12231         Don't include "error.h" or "exitfail.h"; they're no longer needed.
12232
12233         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
12234         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
12235         define.
12236
12237         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
12238         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
12239                             int utc, int nanoseconds);
12240         Background:
12241         date should not have to allocate a megabyte of virtual memory to
12242         handle a format argument like +%1048575T.  When implemented with
12243         strftime, it must allocate such a buffer, use strftime to fill it
12244         in, print it, then free it.
12245         With fprintftime, it simply prints everything and exits.
12246         With no need for memory allocation, that's one fewer way to fail.
12247         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
12248         optional field width, not before, so we accept %9:z, not %:9z.
12249         (my_strftime): Be sure to use L_('x') for literals.
12250
12251         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
12252         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
12253         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
12254         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
12255         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
12256         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
12257         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
12258         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
12259         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
12260         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
12261         * lib/xgethostname.c, lib/xreadlink.c:
12262         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
12263
12264         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
12265         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
12266         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
12267         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
12268         and don't include <sys/file.h>).
12269
12270 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
12271
12272         Sync from coreutils.
12273
12274         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
12275         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
12276         [!LDAV_DONE]: Avoid unused variable warning.
12277
12278 2005-09-21  Bruno Haible  <bruno@clisp.org>
12279
12280         * lib/unicodeio.h (unicode_to_mb): New declaration.
12281
12282 2005-09-20  Derek Price  <derek@ximbiot.com>
12283
12284         * lib/getaddrinfo.c: Don't include <netdb.h> included from
12285         getaddrinfo.h.
12286
12287 2005-09-20  Bruno Haible  <bruno@clisp.org>
12288
12289         * gnulib-tool: Remove trailing slashes from the values specified for
12290         --source-base, --m4-base, --tests-base, --aux-dir.
12291         Suggested by Simon Josefsson <jas@extundo.com>.
12292
12293 2005-09-20  Bruno Haible  <bruno@clisp.org>
12294
12295         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
12296         func_modules_to_filelist, func_import, func_create_testdir): Make all
12297         sorting results locale-independent, so that gnulib-cache.m4 doesn't
12298         change when gnulib-tool is invoked in a different locale.
12299
12300 2005-09-19  Simon Josefsson  <jas@extundo.com>
12301
12302         * m4/socklen.m4: Fix typo.
12303
12304 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12305
12306         Use a consistent style for including <config.h>.
12307         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
12308         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
12309         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
12310         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
12311         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
12312         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
12313         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
12314         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
12315         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
12316         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
12317         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
12318         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
12319         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
12320         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
12321         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
12322         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
12323         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
12324         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
12325         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
12326         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
12327         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
12328         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
12329         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
12330         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
12331         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
12332         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
12333         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
12334         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
12335         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
12336         lib/xstrtoumax.c, lib/yesno.c:
12337         Standardize inclusion of config.h.
12338         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
12339         lib/inttostr.h:  Removed inclusion of config.h from header files.
12340         * lib/inttostr.c:  Adjusted in-tree users.
12341         * lib/timespec.h: Remove superfluous warning to include config.h.
12342         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
12343         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
12344         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
12345         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
12346         config.h with HAVE_CONFIG_H.
12347
12348 2005-09-19  Jim Meyering  <jim@meyering.net>
12349
12350         * modules/pathmax (License): Change to LGPL.
12351
12352 2005-09-19  Derek Price  <derek@ximbiot.com>
12353
12354         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
12355
12356 2005-09-19  Bruno Haible  <bruno@clisp.org>
12357
12358         * gnulib-tool (import): Provide default for --tests-base.
12359
12360 2005-09-19  Bruno Haible  <bruno@clisp.org>
12361
12362         * doc/quote.texi: New file, extracted from gnulib.texi.
12363         * doc/ctime.texi: New file, extracted from gnulib.texi.
12364         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
12365         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
12366         * doc/gnulib.texi: Include them.
12367
12368 2005-09-18  Bruno Haible  <bruno@clisp.org>
12369
12370         Portability fix.
12371         * gnulib-tool (func_readlink): New function.
12372         (func_ln_if_changed): Use it.
12373
12374 2005-09-18  Bruno Haible  <bruno@clisp.org>
12375
12376         * gnulib-tool: Support --with-tests also with --import.
12377         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
12378         (func_import): Use variables $testsbase and $inctests. Emit a
12379         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
12380         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
12381         SUBDIRS += $testsdir.
12382         (func_create_testdir): Update.
12383
12384 2005-09-18  Bruno Haible  <bruno@clisp.org>
12385
12386         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
12387         instead of $dry_run.
12388         (func_cp_if_changed, func_mv_if_changed): Remove functions.
12389         (func_ln_if_changed): Don't handle dry-run here.
12390         (func_import): In dry-run mode, detect more precisely which actions
12391         would be performed, and don't use "...ing" verbs.
12392
12393 2005-09-18  Bruno Haible  <bruno@clisp.org>
12394
12395         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
12396         (func_import): Use join on two temporary files instead of three nested
12397         loops, in order to determine which files are new or old.
12398
12399 2005-09-18  Bruno Haible  <bruno@clisp.org>
12400
12401         * gnulib-tool (func_import): Comment out code that spits out the
12402         new files with --dry-run.
12403
12404 2005-09-18  Bruno Haible  <bruno@clisp.org>
12405
12406         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
12407
12408 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12409
12410         * lib/stat-time.h: New file.
12411         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
12412         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
12413         in a different way.
12414         (timespec_cmp): New function.
12415         * lib/utimecmp.c: Include stat-time.h.
12416         (SYSCALL_RESOLUTION): Depend on whether various struct stat
12417         members exist, not on the obsolescent ST_MTIM_NSEC.
12418         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
12419
12420 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12421
12422         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
12423
12424 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12425
12426         * MODULES.html.sh (File system functions): Add stat-time.
12427         * modules/stat-time: New file.
12428         * modules/timespec (Files): Remove m4/st_mtim.m4; this
12429         is now done in a different way, by the stat-time module.
12430         * modules/utimecmp (Depends-on): Add stat-time.
12431
12432 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
12433
12434         * m4/st_mtim.m4: Remove.  Superseded by...
12435         * m4/stat-time.m4: New file.
12436         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
12437         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
12438
12439 2005-09-15  Derek Price  <derek@ximbiot.com>
12440
12441         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
12442
12443 2005-09-15  Derek Price  <derek@ximbiot.com>
12444
12445         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
12446         * lib/regex_internal.c: Ditto, using this...
12447         (__GNUC_PREREQ): ...new macro.
12448         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
12449         using...
12450         (__GNUC_PREREQ): ...this new macro.
12451
12452         * lib/strstr.h: Include string.h. Define strstr as a macro here.
12453
12454 2005-09-15  Derek Price  <derek@ximbiot.com>
12455             Paul Eggert  <eggert@cs.ucla.edu>
12456
12457         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
12458         changes, consolidating in...
12459         * lib/regex_internal.h: ...this file.
12460
12461 2005-09-13  Jim Meyering  <jim@meyering.net>
12462
12463         * lib/canon-host.c: Filter through gnu indent and reword comments
12464         slightly.
12465         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
12466
12467 2005-09-13  Derek Price  <derek@ximbiot.com>
12468
12469         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
12470         failure.
12471         Reported by Jim Meyering  <jim@meyering.net>.
12472
12473 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
12474
12475         * lib/base64.c: Typo.
12476         (base64_encode): Put b64str in initialized data section.
12477
12478 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
12479
12480         Merge glibc and coreutils changes into gnulib, plus a few
12481         extra fixes.
12482         * lib/md5.c: Use #error rather than a string.
12483         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
12484         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
12485         (__attribute__): Define to empty for non recent-GCC.
12486         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
12487         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
12488         Renamed from their non-__ counterparts, with new macros replacing
12489         them if not _LIBC.  Add __THROW attribute.
12490         (rol): Remove.
12491         (struct md5_ctx): Align buffer if using GCC.
12492         * lib/sha1.h (struct sha1_ctx): Likewise.
12493         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
12494         The old name was backwards.
12495         (NOTSWAP): Remove; not used.
12496         (rol): New macro, moved here from md5.h.
12497         (sha1_process_block): Remove a FIXME that doesn't make sense.
12498
12499 2005-09-12  Derek Price  <derek@ximbiot.com>
12500
12501         Return usable errors from canon-host.
12502         * lib/canon-host.h: New file.
12503         * lib/canon-host.c (canon_host): Wrap...
12504         (canon_host_r): ...this new function, which now relies exclusively on
12505         getaddrinfo.
12506         (ch_strerror): New function.
12507         (last_cherror): New global.
12508         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
12509         interface.
12510         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
12511         void *.
12512         (freeaddrinfo): Free ai->ai_canonname when set.
12513
12514 2005-09-12  Derek Price  <derek@ximbiot.com>
12515
12516         Make canon-host require getaddrinfo.
12517         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
12518         AC_LIBSOURCE canon-host.h.  Call...
12519         (gl_PREREQ_CANON_HOST): ...this new function, which requires
12520         gl_GETADDRINFO.
12521         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
12522
12523 2005-09-12  Derek Price  <derek@ximbiot.com>
12524
12525         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
12526         LGPL.
12527         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
12528
12529 2005-09-12  Derek Price  <derek@ximbiot.com>
12530
12531         * lib/gai_strerror.c: Include config.h when available.  Include
12532         getaddrinfo.h before other headers to test interface.
12533         Reported by Larry Jones <lawrence.jones@ugs.com>.
12534
12535 2005-09-12  Derek Price  <derek@ximbiot.com>
12536             Paul Eggert  <eggert@cs.ucla.edu>
12537
12538         * modules/glob (Files): Add glob-libc.h.
12539
12540 2005-09-12  Derek Price  <derek@ximbiot.com>
12541             Paul Eggert  <eggert@cs.ucla.edu>
12542
12543         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
12544         glob_.h, glob-libc.h.
12545         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
12546
12547 2005-09-12  Derek Price  <derek@ximbiot.com>
12548             Paul Eggert  <eggert@cs.ucla.edu>
12549
12550         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
12551         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
12552         protecting things that should be done only in gnulib contexts.
12553         * lib/glob_.h: New file, containing only the glob things needed for
12554         gnulib.
12555         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
12556         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
12557         (glob, globfree, glob_pattern_p): Now defined simply in terms of
12558         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
12559         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
12560         and to respect the namespace rules better.
12561
12562 2005-09-08  Simon Josefsson  <jas@extundo.com>
12563
12564         * modules/socklen: New file.
12565
12566 2005-09-08  Simon Josefsson  <jas@extundo.com>
12567
12568         * m4/socklen.m4: New file.
12569
12570 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12571
12572         * modules/utimens (Files): Add m4/utimbuf.m4, since
12573         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
12574         Reported by Sergey Poznyakoff.
12575
12576 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12577
12578         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
12579         definitions, since that's the preferred style in glibc.
12580         Fix a minor spacing issue, and update copyright notice to match
12581         glibc's.
12582
12583 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12584
12585         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
12586
12587 2005-09-06  Simon Josefsson  <jas@extundo.com>
12588
12589         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
12590         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
12591
12592 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
12593
12594         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
12595         warning.
12596
12597 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
12598
12599         * config/srclist.txt: Add glibc bug 1302.
12600
12601 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
12602
12603         Change bitset word type from unsigned int to unsigned long int,
12604         as this has better performance on typical 64-bit hosts.
12605         Port bitset code to hosts with unusual word sizes.
12606         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
12607         (build_collating_symbol):
12608         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
12609         argument is a bitset.  This is merely a style issue, but it makes
12610         it clearer that an entire array is expected.
12611         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
12612         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
12613         Port to the case where bitset_word is not the same as unsigned int.
12614         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
12615         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
12616         Likewise.
12617         * lib/regexec.c (check_dst_limits_calc_pos_1,
12618         check_subexp_matching_top):
12619         (build_trtable, group_nodes_into_DFAstates):
12620         Likewise.
12621         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
12622         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
12623         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
12624         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
12625         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
12626         * lib/regcomp.c (optimize_subexps, lower_subexp):
12627         Work even if bitset_word has holes in its bitwise representation.
12628         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
12629         * lib/regexec.c (check_dst_limits_calc_pos_1,
12630         check_subexp_matching_top):
12631         Likewise.
12632         * lib/regex_internal.c (re_string_reconstruct):
12633         Don't assume UCHAR_MAX == 255.
12634         * lib/regex_internal.h (bitset_set_all): Likewise.
12635         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
12636         All uses changed.
12637         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
12638         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
12639         All uses changed.
12640         (BITSET_WORD_MAX): New macro.
12641         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
12642         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
12643         (bitset_empty, bitset_copy):
12644         Prefer sizeof (bitset) to multiplying it out ourselves.
12645         (bitset_not_merge): Remove; unused.
12646         (bitset_contain): Return bool, not unsigned int with one bit on.
12647         All callers changed.
12648         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
12649         alignment than re_node_set; do this by defining a new internal
12650         type struct dests_alloc and using it to allocate memory.
12651
12652 2005-09-05  Bruno Haible  <bruno@clisp.org>
12653
12654         * gnulib-tool (func_import): Fix comparison in handling of symbolic
12655         links.
12656
12657 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
12658
12659         * modules/size_max (Makefile.am): Add size_max.h
12660
12661 2005-09-04  Derek Price  <derek@ximbiot.com>
12662
12663         * gnulib-tool (func_import): Fix reversed $symbolic logic.
12664
12665 2005-09-03  Simon Josefsson  <jas@extundo.com>
12666
12667         * gnulib-tool: Fix typo.
12668
12669 2005-09-03  Simon Josefsson  <jas@extundo.com>
12670
12671         * config/srclist.txt: Add glibc bug 1293.
12672
12673 2005-09-03  Derek Price  <derek@ximbiot.com>
12674
12675         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
12676         From Larry Jones <lawrence.jones@ugs.com>.
12677
12678 2005-09-02  Simon Josefsson  <jas@extundo.com>
12679
12680         * modules/socklen: New file.
12681
12682 2005-09-02  Simon Josefsson  <jas@extundo.com>
12683
12684         * modules/havelib: New module.
12685
12686         * modules/gettext, modules/iconv, modules/lock, modules/readline:
12687         Use havelib.
12688
12689 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12690
12691         Check for arithmetic overflow when calculating sizes, to prevent
12692         some buffer-overflow issues.  These patches are conservative, in the
12693         sense that when I couldn't determine whether an overflow was possible,
12694         I inserted a run-time check.
12695         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
12696         macros.
12697         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
12698         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
12699         (re_xnrealloc, re_x2nrealloc): New inline functions.
12700         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
12701         parse_bracket_exp):
12702         (build_equiv_class, build_charclass): Check for arithmetic overflow
12703         in size expression calculations.
12704         * lib/regex_internal.c (re_string_realloc_buffers):
12705         (build_wcs_upper_buffer, re_node_set_add_intersect):
12706         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
12707         (re_dfa_add_node, register_state): Likewise.
12708         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
12709         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
12710         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
12711         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
12712
12713 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12714
12715         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
12716         m4/ulonglong.m4.  Problem reported by Martin Lambers.
12717
12718 2005-09-02  Bruno Haible  <bruno@clisp.org>
12719
12720         Support for lib vs. lib64 distinction on biarch platforms.
12721         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
12722         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
12723         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
12724
12725 2005-09-02  Bruno Haible  <bruno@clisp.org>
12726
12727         * gnulib-tool (import): In the other first-use case, provide defaults
12728         as well.
12729
12730 2005-09-02  Bruno Haible  <bruno@clisp.org>
12731
12732         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
12733         patches not yet found in the latest gettext release.
12734
12735 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12736
12737         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
12738         to avoid a collision with bits/local_lim.h in glibc.
12739         All uses changed.  Problem reported by Dmitry V. Levin in
12740         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
12741
12742         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
12743         bugs in int versus size_t comparisons.
12744         (re_string_context_at): Fix bug where the code assumed that
12745         Idx is signed.
12746
12747         Use bool where appropriate.
12748         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
12749         All callers changed.
12750         (calc_eclosure_iter): Likewise, for ROOT arg.
12751         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
12752         (build_charclass_op): Likewise, for NON_MATCH arg.
12753         * lib/regex_internal.c (re_string_allocate, re_string_construct):
12754         (re_string_construct_common): Likewise, for ICASE arg.
12755         * lib/regexec.c (re_search_2_stub, re_search_stub):
12756         Likewise, for RET_LEN arg.
12757         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
12758         (set_regs): Likewise, for FL_BACKTRACK arg.
12759         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
12760         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
12761         (calc_eclosure_iter, parse_bracket_exp):
12762         Use bool for internal variables that are booleans.
12763         * lib/regexec.c (re_search_internal, check_matching,
12764         proceed_next_node):
12765         (set_regs, build_sifted_states, sift_states_bkref):
12766         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
12767         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
12768         (find_collation_sequence_value):
12769         Likewise.
12770         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
12771         (re_node_set_compare):
12772         Return bool, not int. All callers changed.
12773         * lib/regexec.c (check_halt_node_context, check_dst_limits):
12774         (build_trtable, check_node_accept): Likewise.
12775         * lib/regex_internal.h: Include stdbool.h.
12776
12777         Fix bugs uncovered when converting to bool.
12778         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
12779         failure instead of charging ahead blindly.
12780         * lib/regex_internal.c (register_state): Likewise.
12781         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
12782         for freeing internal storage.
12783         (group_nodes_into_DFA_states): Use unsigned int, not int, for
12784         bitset pieces used as boolean, to avoid undefined behavior
12785         on hosts that do int overflow checking.
12786
12787 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12788
12789         * config/srclist.txt: Add glibc bugs 1285-1287.
12790
12791 2005-09-01  Jim Meyering  <jim@meyering.net>
12792
12793         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
12794         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
12795         Require gl_STAT_MACROS, too.
12796
12797 2005-09-01  Bruno Haible  <bruno@clisp.org>
12798
12799         * gnulib-tool (import): In the first-use case, provide defaults.
12800
12801 2005-09-01  Bruno Haible  <bruno@clisp.org>
12802
12803         * gnulib-tool (func_import): Remove the .tmp files.
12804
12805 2005-09-01  Bruno Haible  <bruno@clisp.org>
12806
12807         * gnulib-tool (func_import): Fix handling of symbolic links.
12808
12809 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12810
12811         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
12812         old glibc regex code mishandles strings longer than 2**31 bytes.
12813         This patch fixes this when the regex code is used in gnulib
12814         (i.e., outside glibc).
12815
12816         This patch should not affect the use of the regex code inside
12817         glibc.  No doubt this problem also needs to be handled for glibc
12818         as well, but the result will be an incompatible change to the
12819         glibc ABI, and the old ABI will have to be supported too.  That
12820         can be the the subject for another patch.
12821
12822         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
12823         governing whether the rest of this patch is active.  By default,
12824         the macro is disabled and the patch has no effect.
12825         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
12826         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
12827         (struct re_pattern_buffer, re_search, re_search_2, re_match):
12828         (re_match_2, re_set_registers): Use the new types.
12829         * lib/regex_internal.h (Idx, re_hashval_t): New types.
12830         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
12831         New macros.
12832         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
12833         (re_string_context_at, bin_tree_t, re_dfastate_t):
12834         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
12835         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
12836         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
12837         (re_string_char_size_at, re_string_wchar_at):
12838         (re_string_elem_size_at):
12839         Use the new types and macros to port to 64-bit hosts.
12840         Use unsigned types for internal values, so that the code
12841         mostly works even for arrays larger than SSIZE_MAX.
12842         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
12843         (search_duplicated_node, calc_eclosure_iter, fetch_number):
12844         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
12845         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
12846         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
12847         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
12848         (calc_inveclosure, parse_dup_op, build_range_exp):
12849         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
12850         (fetch_number, create_token_tree, mark_opt_subexp):
12851         Likewise.
12852         * lib/regex_internal.c (re_string_construct_common,
12853         create_ci_newstate):
12854         (create_cd_newstate, re_string_allocate, re_string_construct):
12855         (re_string_realloc_buffers, build_wcs_upper_buffer):
12856         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
12857         (re_string_reconstruct, re_string_peek_byte_case):
12858         (re_string_fetch_byte_case, re_string_context_at):
12859         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
12860         (re_node_set_init_copy, re_node_set_add_intersect):
12861         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
12862         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
12863         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
12864         (re_acquire_state, re_acquire_state_context, register_state):
12865         Likewise.
12866         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
12867         search_cur_bkref_entry):
12868         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
12869         (re_search_internal, re_search_2_stub, re_search_stub)
12870         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
12871         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
12872         (update_cur_sifted_state, check_dst_limits):
12873         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
12874         (check_subexp_limits, sift_states_bkref, merge_state_array):
12875         (check_subexp_matching_top, get_subexp, get_subexp_sub):
12876         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
12877         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
12878         (expand_bkref_cache, check_node_accept_bytes):
12879         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
12880         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
12881         (acquire_init_state_context, check_halt_node_context):
12882         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
12883         (sift_states_backward, clean_state_log_if_needed):
12884         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
12885         (find_recover_state, transit_state_sb, transit_state_mb):
12886         (transit_state_bkref, build_trtable, match_ctx_clean):
12887         Likewise.
12888         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
12889         to work around an assumption that REG_MISSING is negative.
12890
12891         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
12892         (seek_collating_symbol_entry) [defined _LIBC]:
12893         (lookup_collation_sequence_value) [defined _LIBC]:
12894         (build_range_exp, build_collating_symbol) [defined _LIBC]:
12895         Use prototypes rather than old-style function definitions.
12896         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
12897         (transit_state_sb) [0]:
12898         (find_collation_sequence_value) [defined _LIBC]: Likewise.
12899
12900         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
12901         rm_eo.
12902
12903         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
12904         (optimize_subexps, lower_subexp):
12905         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
12906         since the signed shift might overflow.  Use 1u<<31 instead.
12907         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
12908         Likewise.
12909         * lib/regexec.c (check_dst_limits_calc_pos_1,
12910         check_subexp_matching_top): Likewise.
12911
12912         * lib/regcomp.c (optimize_subexps, lower_subexp):
12913         Use CHAR_BIT rather than 8, for clarity.
12914         * lib/regexec.c (check_dst_limits_calc_pos_1):
12915         (check_subexp_matching_top): Likewise.
12916         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
12917         have to worry about portability issues when shifting it left.
12918         Remove no-longer-needed test for table_size > 0.
12919         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
12920         in a word, as the resulting behavior is undefined.
12921         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
12922         in one case, a <= should have been an <, and in another case the
12923         whole test was missing.
12924         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
12925         the standard name CHAR_BIT.
12926         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
12927         this is not true on one's complement and signed-magnitude hosts.
12928
12929         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
12930         next_last_offset.
12931         (struct re_dfa_t): Remove unused member states_alloc.
12932         * lib/regcomp.c (init_dfa): Don't initialize unused members.
12933
12934 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12935
12936         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
12937         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
12938         and large-file glibc and in 32-bit large-file Solaris.
12939
12940 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12941
12942         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
12943         lengths fit in regoff_t; this isn't true if regoff_t is the same
12944         width as size_t.
12945         * lib/regex.c (re_search_internal): 5th arg is LAST_START
12946         (= START + RANGE) instead of RANGE.  This avoids overflow
12947         problems when regoff_t is the same width as size_t.
12948         All callers changed.
12949         (re_search_2_stub): Check for overflow when adding the
12950         sizes of the two strings.
12951         (re_search_stub): Check for overflow when adding START
12952         to RANGE; if it occurs, substitute the extreme value.
12953
12954 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12955
12956         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
12957
12958 2005-08-31  Jim Meyering  <jim@meyering.net>
12959
12960         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
12961         a pointer-to-const.
12962         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
12963         (register_state): Likewise.
12964         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
12965         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
12966         (group_nodes_into_DFAstates): Likewise.
12967
12968 2005-08-31  Jim Meyering  <jim@meyering.net>
12969
12970         * check-module: Add a FIXME comment.
12971
12972 2005-08-31  Eric Blake  <ebb9@byu.net>
12973
12974         * modules/unistd-safer (Files): Add unistd--.h.
12975         * modules/stdio-safer (Files): Add stdio--.h.
12976
12977 2005-08-31  Derek Price  <derek@ximbiot.com>
12978
12979         * lib/getdelim.c (getdelim): Return EOF on EOF.
12980         Reported by Larry Jones <lawrence.jones@ugs.com>.
12981
12982 2005-08-31  Bruno Haible  <bruno@clisp.org>
12983
12984         Avoid unnecessary diffs in the generated lib/Makefile.am.
12985         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
12986         the generated files.
12987         (func_import): Don't set cmd.
12988
12989 2005-08-31  Bruno Haible  <bruno@clisp.org>
12990
12991         * lib/strstr.c: Include <stddef.h>, for NULL.
12992         * lib/strcasestr.c: Likewise.
12993         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12994
12995 2005-08-31  Bruno Haible  <bruno@clisp.org>
12996
12997         * gnulib-tool: New option --macro-prefix.
12998         (func_import): Use macro_prefix.
12999         (import): Handle option --macro-prefix.
13000
13001 2005-08-31  Bruno Haible  <bruno@clisp.org>
13002
13003         * gnulib-tool (import): Rename most ac_* variables to cached_*.
13004         Also use new variables cached_lgpl, cached_libtool.
13005
13006 2005-08-31  Bruno Haible  <bruno@clisp.org>
13007
13008         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
13009         always instantiating them.
13010
13011 2005-08-31  Bruno Haible  <bruno@clisp.org>
13012
13013         * gnulib-tool (func_import): Read the previous cached settings
13014         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
13015         earlier added by gnulib but are now dropped. Warn when a gnulib file
13016         overwrites a non-gnulib file.
13017
13018 2005-08-31  Bruno Haible  <bruno@clisp.org>
13019
13020         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
13021         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
13022         projects that don't keep autogenerated files in CVS. Put into
13023         actioncmd only the specified modules, not the transitive closure.
13024
13025 2005-08-31  Bruno Haible  <bruno@clisp.org>
13026
13027         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
13028         Create directories that shall be filled.
13029         (import): Don't look for gl_* macros in configure.ac. Recurse across
13030         all directories containing a gnulib-cache.m4 files, if meaningful.
13031
13032 2005-08-31  Bruno Haible  <bruno@clisp.org>
13033
13034         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
13035         (import): Set seen_libtool when we see gl_LIBTOOL.
13036
13037 2005-08-31  Bruno Haible  <bruno@clisp.org>
13038
13039         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
13040         declaration macro definitions from generated gnulib.m4.
13041
13042 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
13043
13044         * lib/iconvme.h: Add prototype for iconv_alloc.
13045
13046 2005-08-29  Simon Josefsson  <jas@extundo.com>
13047
13048         * lib/iconvme.c: Fix errno.
13049
13050 2005-08-29  Bruno Haible  <bruno@clisp.org>
13051
13052         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
13053         that it works when the directory contains spaces.
13054
13055 2005-08-29  Bruno Haible  <bruno@clisp.org>
13056
13057         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
13058
13059 2005-08-29  Bruno Haible  <bruno@clisp.org>
13060
13061         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
13062         Emit more advice.
13063
13064 2005-08-29  Bruno Haible  <bruno@clisp.org>
13065         and Stepan Kasal  <kasal@ucw.cz>
13066
13067         * check-module: If more parameters are given, check each of them
13068         separately; add more exceptions, as noted by Jim Meyering.
13069         (check_module): New procedure.
13070         (%exempt_header): Now contains all exceptions.
13071
13072 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
13073
13074         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
13075
13076 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
13077
13078         * lib/iconvme.c: Split iconv_string into iconv_alloc.
13079
13080 2005-08-28  Bruno Haible  <bruno@clisp.org>
13081
13082         * m4/gnulib-tool.m4: New file.
13083
13084 2005-08-27  Jim Meyering  <jim@meyering.net>
13085
13086         * modules/unistd-safer (Files): Add pipe-safer.c.
13087         * modules/fcntl-safer (Files): Add creat-safer.c.
13088
13089 2005-08-27  Jim Meyering  <jim@meyering.net>
13090
13091         * m4/stdlib-safer.m4: New file.  From coreutils.
13092         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
13093         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
13094         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
13095         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
13096         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
13097
13098 2005-08-27  Jim Meyering  <jim@meyering.net>
13099
13100         * lib/fopen-safer.c: Merge minor changes from coreutils.
13101         * lib/dup-safer.c: Likewise.
13102         * lib/fd-safer.c: Likewise.
13103
13104         Merge from coreutils.
13105         * lib/stdio--.h: New file.
13106         * lib/stdlib--.h: New file.
13107         * lib/mkstemp-safer.c: New file.
13108
13109         GNU tar needs these.
13110         * lib/pipe-safer.c: New file.
13111         * lib/creat-safer.c: New file.
13112         * lib/fcntl--.h (creat): Define to creat_safer.
13113         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
13114         * lib/unistd--.h (pipe): Define to pipe_safer.
13115         * lib/unistd-safer.h: Declare pipe_safer.
13116
13117 2005-08-26  Simon Josefsson  <jas@extundo.com>
13118
13119         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
13120         Haible <bruno@clisp.org>.
13121
13122 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
13123
13124         * lib/regex_internal.h: Remove all references to
13125         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
13126         or better.
13127         (bitset_not, bitset_merge, bitset_not_merge):
13128         (bitset_mask, re_string_allocate, re_string_construct):
13129         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
13130         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
13131         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
13132         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
13133         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13134         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13135         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
13136         (re_acquire_state_context):
13137         Remove unnecessary forward decls.
13138         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
13139         Put __attribute at function definition,
13140         now that the function decl has been removed.
13141         * lib/regex_internal.c (re_string_peek_byte_case):
13142         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
13143         Likewise.
13144
13145 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
13146
13147         * m4/regex.m4: Add AC_PREREQ(2.50).
13148         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
13149
13150 2005-08-25  Simon Josefsson  <jas@extundo.com>
13151
13152         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
13153         __fsetlocking.
13154
13155 2005-08-25  Simon Josefsson  <jas@extundo.com>
13156
13157         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
13158         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
13159         GLIBC specific code.
13160
13161 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13162
13163         Make regex safe for g++.  This fixes one real bug (an "err"
13164         that should have been "*err").  g++ problem reported by
13165         Sam Steingold.
13166         * lib/regex_internal.h (re_calloc): New macro, consistent with
13167         re_malloc etc.  All callers of calloc changed to use re_calloc.
13168         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
13169         not int.  All callers changed.
13170         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
13171         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
13172         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
13173         (find_recover_state): Change "err" to "*err"; this fixes what
13174         appears to be a real bug.
13175         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
13176         versus int.
13177
13178 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13179
13180         * modules/regex (Depends-on): Add malloc, since the code
13181         assumes that !malloc(0) means failure.
13182
13183 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13184
13185         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
13186
13187         alloca modernization/simplification for regex.
13188         * lib/regex.c: Remove portability cruft for alloca.  This no longer
13189         needs to be at the start of the file, and can be moved into
13190         regex_internal.h and simplified.
13191         * lib/regex_internal.h: Include <alloca.h>.
13192         (__libc_use_alloca) [!defined _LIBC]: New macro.
13193         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
13194         now works outside glibc.
13195
13196 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13197
13198         * config/srclist.txt: Add glibc bugs 1241, 1245.
13199
13200 2005-08-25  Jim Meyering  <jim@meyering.net>
13201
13202         * lib/open-safer.c: Include <config.h>.
13203         Otherwise, we'd lose LARGEFILE support in any file using
13204         e.g. "fcntl--.h"
13205
13206 2005-08-25  Bruno Haible  <bruno@clisp.org>
13207
13208         * m4/minmax.m4: Require autoconf 2.52.
13209         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
13210         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
13211         alternatives of translit over the alphabet.
13212         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
13213
13214 2005-08-24  Simon Josefsson  <jas@extundo.com>
13215
13216         * tests/test-getpass.c: New file.
13217
13218 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13219
13220         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
13221         for GNU regex features.
13222
13223 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13224
13225         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
13226         * lib/regex.h (regerror): Likewise.
13227
13228         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
13229         requires this.  (The code never needed it.)
13230
13231         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
13232         All uses of recently-renamed identifiers changed to use the new,
13233         POSIX-compliant names.  The code will build and run just fine
13234         without these changes, but it's better to eat our own dog food
13235         and use the standard-conforming names.
13236
13237         * lib/regex.h: Fix a multitude of POSIX name space violations.
13238         These changes have an effect only for programs that define
13239         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
13240         do not change anything for programs compiled in the normal way.
13241         Also, there is no effect on the ABI.
13242
13243         (_REGEX_SOURCE): New macro.
13244         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
13245         defined and _GNU_SOURCE is not; this fixes a name space violation.
13246
13247         Rename the following macros to obey POSIX requirements.
13248         The old names are still visible as macros if _REGEX_SOURCE is defined.
13249         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
13250         RE_BACKSLASH_ESCAPE_IN_LISTS.
13251         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
13252         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
13253         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
13254         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
13255         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
13256         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
13257         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
13258         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
13259         (REG_INTERVALS): renamed from RE_INTERVALS.
13260         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
13261         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
13262         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
13263         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
13264         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
13265         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
13266         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
13267         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
13268         RE_UNMATCHED_RIGHT_PAREN_ORD.
13269         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
13270         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
13271         (REG_DEBUG): renamed from RE_DEBUG.
13272         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
13273         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
13274         unusual, since we can't clash with the POSIX REG_ICASE.
13275         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
13276         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
13277         (REG_NO_SUB): renamed from RE_NO_SUB.
13278         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
13279         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
13280         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
13281         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
13282         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
13283         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
13284         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
13285         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
13286         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
13287         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
13288         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
13289         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
13290         RE_SYNTAX_POSIX_MINIMAL_BASIC.
13291         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
13292         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
13293         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
13294         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
13295         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
13296         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
13297         (REG_FIXED): Renamed from REGS_FIXED.
13298         (REG_NREGS): Renamed from RE_NREGS.
13299
13300         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
13301         of other REG_* macros, since POSIX says the user is allowed to
13302         #undef these macros selectively.
13303
13304         (reg_errcode_t): Update comment stating what other tables need
13305         to be consistent.
13306
13307         Rename the following enum values to obey POSIX requirements.
13308         The old names are still visible as macros.
13309         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
13310         is not defined, since GNU is supposed to be a superset of POSIX as
13311         much as possible, and since we want reg_errcode_t to be a signed
13312         type for implementation consistency.
13313         (_REG_NOERROR): Renamed from REG_NOERROR.
13314         (_REG_NOMATCH): Renamed from REG_NOMATCH.
13315         (_REG_BADPAT): Renamed from REG_BADPAT.
13316         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
13317         (_REG_ECTYPE): Renamed from REG_ECTYPE.
13318         (_REG_EESCAPE): Renamed from REG_EESCAPE.
13319         (_REG_ESUBREG): Renamed from REG_ESUBREG.
13320         (_REG_EBRACK): Renamed from REG_EBRACK.
13321         (_REG_EPAREN): Renamed from REG_EPAREN.
13322         (_REG_EBRACE): Renamed from REG_EBRACE.
13323         (_REG_BADBR): Renamed from REG_BADBR.
13324         (_REG_ERANGE): Renamed from REG_ERANGE.
13325         (_REG_ESPACE): Renamed from REG_ESPACE.
13326         (_REG_BADRPT): Renamed from REG_BADRPT.
13327         (_REG_EEND): Renamed from REG_EEND.
13328         (_REG_ESIZE): Renamed from REG_ESIZE.
13329         (_REG_ERPAREN): Renamed from REG_ERPAREN.
13330         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
13331         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
13332         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
13333         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
13334
13335         (_REG_RE_NAME, _REG_RM_NAME): New macros.
13336         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
13337         changed.  But support the old name if the new one is not defined
13338         and if _REGEX_SOURCE.
13339
13340         Change the following member names in struct re_pattern_buffer.
13341         The old names are still supported if !_REGEX_SOURCE.
13342         The new names are always supported, regardless of _REGEX_SOURCE.
13343         (re_buffer): Renamed from buffer.
13344         (re_allocated): Renamed from allocated.
13345         (re_used): Renamed from used.
13346         (re_syntax): Renamed from syntax.
13347         (re_fastmap): Renamed from fastmap.
13348         (re_translate): Renamed from translate.
13349         (re_can_be_null): Renamed from can_be_null.
13350         (re_regs_allocated): Renamed from regs_allocated.
13351         (re_fastmap_accurate): Renamed from fastmap_accurate.
13352         (re_no_sub): Renamed from no_sub.
13353         (re_not_bol): Renamed from not_bol.
13354         (re_not_eol): Renamed from not_eol.
13355         (re_newline_anchor): Renamed from newline_anchor.
13356
13357         Change the following member names in struct re_registers.
13358         The old names are still supported if !_REGEX_SOURCE.
13359         The new names are always supported, regardless of _REGEX_SOURCE.
13360         (rm_num_regs): Renamed from num_regs.
13361         (rm_start): Renamed from start.
13362         (rm_end): Renamed from end.
13363
13364         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
13365         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
13366         Prepend __ to parameter names.
13367
13368         Undo yesterday's changes.
13369
13370 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13371
13372         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
13373         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
13374         lib/regex.c.
13375
13376 2005-08-24  Jim Meyering  <jim@meyering.net>
13377
13378         Sync from coreutils.
13379         * m4/fcntl-safer.m4: New file.
13380
13381         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
13382         and object files for this module.
13383
13384 2005-08-24  Jim Meyering  <jim@meyering.net>
13385
13386         Sync from coreutils.
13387         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
13388
13389 2005-08-24  Jim Meyering  <jim@meyering.net>
13390
13391         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
13392         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
13393
13394 2005-08-24  Jim Meyering  <jim@meyering.net>
13395
13396         * modules/fcntl-safer: New module.
13397         * modules/fts (Depends-on): Add fcntl-safer.
13398         * MODULES.html.sh (File descriptor based Input/Output):
13399         Add fcntl-safer.
13400
13401 2005-08-24  Bruno Haible  <bruno@clisp.org>
13402
13403         Support for unit test modules.
13404         * modules/README: Mention tests modules.
13405         * modules/TEMPLATE-TESTS: New file.
13406         * gnulib-tool: New options --extract-tests-module, --with-tests and
13407         --tests-base (unused for the moment).
13408         (testsbase, inctests): New variables.
13409         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
13410         (func_verify_module): Exclude TEMPLATE-TESTS.
13411         (func_verify_nontests_module, func_verify_tests_module): New functions.
13412         (func_get_dependencies): Add implicit dependency for tests modules.
13413         (func_get_tests_module): New function.
13414         (func_modules_transitive_closure): When --with-tests was specified,
13415         include the unit tests as well, unless explicitly avoided.
13416         (func_emit_lib_Makefile_am): Ignore the tests modules here.
13417         (func_emit_tests_Makefile_am): New function.
13418         (func_create_testdir): When --with-tests was specified, emit a
13419         tests/ directory.
13420         * MODULES.html.sh (Future developments): Update.
13421
13422 2005-08-24  Bruno Haible  <bruno@clisp.org>
13423
13424         * modules/tls-tests: New file.
13425         * tests/test-tls.c: New file, from GNU gettext.
13426
13427 2005-08-24  Bruno Haible  <bruno@clisp.org>
13428
13429         * modules/lock-tests: New file.
13430         * tests/test-lock.c: New file, from GNU gettext.
13431
13432 2005-08-24  Bruno Haible  <bruno@clisp.org>
13433
13434         * lib/lock.h: Add multiple inclusion guard.
13435         * lib/tls.h: Add multiple inclusion guard.
13436
13437 2005-08-24  Bruno Haible  <bruno@clisp.org>
13438
13439         * gnulib-tool: Add support for the --aux-dir option to
13440         --create-testdir, --create-megatestdir, --test, --megatest.
13441         (func_create_testdir, func_create_megatestdir): Optionally emit a
13442         AC_CONFIG_AUX_DIR directive.
13443         (create-testdir, create-megatestdir, test, megatest): Provide a
13444         default value for $auxdir.
13445
13446 2005-08-24  Bruno Haible  <bruno@clisp.org>
13447
13448         * gnulib-tool (import): Use compound statement instead of subshell
13449         where possible.
13450
13451 2005-08-24  Bruno Haible  <bruno@clisp.org>
13452
13453         * gnulib-tool (import): Change --aux-dir default to "build-aux".
13454
13455 2005-08-24  Bruno Haible  <bruno@clisp.org>
13456
13457         * gnulib-tool (func_version): Update.
13458
13459 2005-08-24  Bruno Haible  <bruno@clisp.org>
13460
13461         * gnulib-tool (func_import, func_create_testdir,
13462         func_create_megatestdir): Quote all autoconf macro arguments.
13463
13464 2005-08-24  Bruno Haible  <bruno@clisp.org>
13465
13466         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
13467         option --force, because --force causes the aclocal.m4 of each
13468         subdirectory to be newer than the corresponding config.h.in.
13469
13470 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13471
13472         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
13473         All contents moved to gl_REGEX.
13474         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
13475         assume that it does.
13476
13477 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13478
13479         * lib/regex.h (REG_NOSYS)
13480         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
13481         Define, since POSIX requires it as of 2001.
13482         (_REG_ENOSYS)
13483         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
13484         New private symbol, used to keep the enum signed in all cases.
13485         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
13486         Youngman in
13487         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
13488
13489         * lib/regex_internal.c (re_string_skip_chars, register_state):
13490         (calc_state_hash):
13491         Remove forward decls; no longer needed now that we use prototypes.
13492         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
13493         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
13494         (clean_state_log_if_needed): Likewise.
13495
13496 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13497
13498         * config/srclist.txt: Add glibc bugs 1231-1233.
13499
13500 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13501
13502         Fix problems reported by Sam Steingold in
13503         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
13504         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
13505         assumed that reg_errcode_t is a signed type, which is not
13506         necessarily true if _XOPEN_SOURCE is not defined.
13507         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
13508         since some compilers warn about it otherwise.
13509
13510 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13511
13512         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
13513         (init_word_char, create_initial_state, duplicate_node_closure):
13514         (fetch_token, peek_token_bracket, build_range_exp):
13515         (build_collating_symbol): Remove forward decls; no longer needed
13516         now that we use prototypes.
13517
13518         * lib/regcomp.c:
13519         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
13520         (re_compile_fastmap_iter, regcomp, regerror, regfree):
13521         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
13522         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
13523         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
13524         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
13525         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
13526         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
13527         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
13528         (build_range_exp, build_collating_symbol, parse_bracket_exp):
13529         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
13530         (build_charclass, build_charclass_op, fetch_number, create_tree):
13531         (create_token_tree, mark_opt_subexp, duplicate_tree):
13532         Use prototypes rather than old-style definitions.
13533
13534         * lib/regex_internal.c:
13535         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
13536         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
13537         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
13538         (re_string_reconstruct, re_string_peek_byte_case):
13539         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
13540         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
13541         (re_node_set_init_copy, re_node_set_add_intersect):
13542         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13543         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13544         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
13545         (re_acquire_state, re_acquire_state_context, register_state):
13546         (create_ci_newstate, create_cd_newstate, free_state):
13547         Likewise.
13548         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
13549         re_search_2):
13550         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
13551         (re_search_internal, prune_impossible_nodes):
13552         (acquire_init_state_context, check_matching, static):
13553         (check_halt_node_context, check_halt_state_context, proceed_next_node):
13554         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
13555         (update_regs, sift_states_backward, build_sifted_states):
13556         (clean_state_log_if_needed, merge_state_array):
13557         (update_cur_sifted_state, add_epsilon_src_nodes):
13558         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
13559         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
13560         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
13561         (find_recover_state, check_subexp_matching_top, transit_state_mb):
13562         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
13563         (check_arrival, check_arrival_add_next_nodes):
13564         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
13565         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
13566         (check_node_accept_bytes, check_node_accept, extend_buffers):
13567         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
13568         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
13569         (sift_ctx_init):
13570         Likewise.
13571
13572         * lib/regex_internal.h:
13573         (re_string_allocate, re_string_construct, re_string_reconstruct):
13574         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
13575         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
13576         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
13577         (re_string_context_at, re_string_peek_byte_case):
13578         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
13579         is defined, since we now use prototypes always.
13580
13581         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
13582         C89 or better.  All uses removed.
13583
13584 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13585
13586         * config/srclist.txt: Add glibc bugs 1220-1227.
13587
13588 2005-08-20  Jim Meyering  <jim@meyering.net>
13589
13590         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
13591         of unused local, dfa.
13592
13593 2005-08-20  Bruno Haible  <bruno@clisp.org>
13594
13595         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
13596
13597 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13598
13599         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
13600         (re_node_set_insert_last, re_dfa_add_node):
13601         Rename local variables to avoid GCC shadowing warnings.
13602
13603 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13604
13605         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
13606         [defined lint]: Suppress bogus uninitialized-variable warnings.
13607
13608         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
13609         and let the caller return REG_ESPACE if out of space.  This
13610         removes an uninitialied-variable warning with GCC 4.0.1, and also
13611         avoids taking the address of a local variable.  All callers
13612         changed.
13613
13614 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13615
13616         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
13617         $LIBCSRC/posix/regexec.c.
13618         Add glibc bug 1217 for regcomp.c.
13619
13620 2005-08-19  Jim Meyering  <jim@meyering.net>
13621
13622         * lib/regexec.c (proceed_next_node): Redo local variables to
13623         avoid GCC shadowing warnings.
13624
13625 2005-08-18  Bruno Haible  <bruno@clisp.org>
13626
13627         * lib/strstr.c (strstr): Fix return value in multibyte case.
13628         * lib/strcasestr.c (strcasestr): Likewise.
13629
13630 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13631
13632         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
13633
13634 2005-08-17  Jim Meyering  <jim@meyering.net>
13635
13636         Make the %s format (seconds since the epoch) work for a negative
13637         number and when used with a zero-padded field width, e.g. %015s.
13638
13639         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
13640         label so that it precedes the code to set `digits'.  Otherwise,
13641         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
13642         print `00-22'.  Now, it prints `-0022', as it should.
13643
13644 2005-08-17  Bruno Haible  <bruno@clisp.org>
13645
13646         * modules/strstr (Files): Add m4/mbrtowc.m4.
13647         (Depends-on): Add mbuiter.
13648
13649 2005-08-17  Bruno Haible  <bruno@clisp.org>
13650
13651         * modules/strcasestr: New file.
13652         * MODULES.html.sh (String handling, based on ANSI C 89): Add
13653         strcasestr.
13654
13655 2005-08-17  Bruno Haible  <bruno@clisp.org>
13656
13657         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
13658
13659 2005-08-17  Bruno Haible  <bruno@clisp.org>
13660
13661         * modules/mbuiter: New file.
13662         * MODULES.html.sh (Extended multibyte and wide character utilities):
13663         Add mbuiter.
13664
13665 2005-08-17  Bruno Haible  <bruno@clisp.org>
13666
13667         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
13668         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
13669
13670 2005-08-17  Bruno Haible  <bruno@clisp.org>
13671
13672         * m4/strcasestr.m4: New file.
13673
13674 2005-08-17  Bruno Haible  <bruno@clisp.org>
13675
13676         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
13677         * lib/strstr.c: Completely rewritten, with multibyte locale support.
13678
13679 2005-08-17  Bruno Haible  <bruno@clisp.org>
13680
13681         * lib/strcasestr.h: New file.
13682         * lib/strcasestr.c: New file.
13683
13684 2005-08-17  Bruno Haible  <bruno@clisp.org>
13685
13686         * lib/strcasecmp.c: Use mbuiter.h.
13687
13688 2005-08-17  Bruno Haible  <bruno@clisp.org>
13689
13690         * lib/mbuiter.h: New file.
13691
13692 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
13693
13694         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
13695         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
13696         and gl_GETOPT are both invoked via different paths (as happens
13697         with GNU tar CVS because it uses both argp and getopt), the former
13698         wins.
13699
13700 2005-08-16  Bruno Haible  <bruno@clisp.org>
13701
13702         * modules/tls: New file.
13703         * MODULES.html.sh (Multithreading): Add tls.
13704
13705 2005-08-16  Bruno Haible  <bruno@clisp.org>
13706
13707         * modules/strnlen1: New file.
13708         * MODULES.html.sh (String handling): Add strnlen1.
13709
13710 2005-08-16  Bruno Haible  <bruno@clisp.org>
13711
13712         * modules/strcase (Files): Add m4/mbrtowc.m4.
13713         (Depends-on): Add strnlen1, mbchar.
13714
13715 2005-08-16  Bruno Haible  <bruno@clisp.org>
13716
13717         * modules/mbiter: New file.
13718         * MODULES.html.sh (Extended multibyte and wide character utilities):
13719         Add mbiter.
13720
13721 2005-08-16  Bruno Haible  <bruno@clisp.org>
13722
13723         * modules/mbfile: New file.
13724         * MODULES.html.sh (Extended multibyte and wide character utilities):
13725         Add mbfile.
13726
13727 2005-08-16  Bruno Haible  <bruno@clisp.org>
13728
13729         * modules/mbchar: New file.
13730         * MODULES.html.sh (Extended multibyte and wide character utilities):
13731         New section.
13732
13733 2005-08-16  Bruno Haible  <bruno@clisp.org>
13734
13735         * m4/tls.m4: New file, from GNU gettext.
13736
13737 2005-08-16  Bruno Haible  <bruno@clisp.org>
13738
13739         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
13740         always.
13741         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
13742
13743 2005-08-16  Bruno Haible  <bruno@clisp.org>
13744
13745         * m4/mbiter.m4: New file.
13746
13747 2005-08-16  Bruno Haible  <bruno@clisp.org>
13748
13749         * m4/mbfile.m4: New file.
13750
13751 2005-08-16  Bruno Haible  <bruno@clisp.org>
13752
13753         * m4/mbchar.m4: New file.
13754
13755 2005-08-16  Bruno Haible  <bruno@clisp.org>
13756
13757         * lib/tls.h: New file, from GNU gettext.
13758         * lib/tls.c: New file, from GNU gettext.
13759
13760 2005-08-16  Bruno Haible  <bruno@clisp.org>
13761
13762         * lib/strnlen1.h: New file.
13763         * lib/strnlen1.c: New file.
13764
13765 2005-08-16  Bruno Haible  <bruno@clisp.org>
13766
13767         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
13768         (mbi_init): Update.
13769         (mbi_avail, mbi_advance): Let the iteration end before the terminating
13770         NUL byte, not after it.
13771
13772 2005-08-16  Bruno Haible  <bruno@clisp.org>
13773
13774         * lib/strcase.h (strcasecmp): Add note in comments.
13775         * lib/strncasecmp.c: Use code from strcasecmp.c.
13776         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
13777         (strcasecmp): Work correctly in multibyte locales.
13778
13779 2005-08-16  Bruno Haible  <bruno@clisp.org>
13780
13781         * lib/mbiter.h: New file.
13782
13783 2005-08-16  Bruno Haible  <bruno@clisp.org>
13784
13785         * lib/mbfile.h: New file.
13786
13787 2005-08-16  Bruno Haible  <bruno@clisp.org>
13788
13789         * lib/mbchar.h: New file.
13790         * lib/mbchar.c: New file.
13791
13792 2005-08-16  Bruno Haible  <bruno@clisp.org>
13793
13794         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
13795         the valid ones. Makes the comparison operations transitive:
13796         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
13797         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
13798
13799 2005-08-15  Simon Josefsson  <jas@extundo.com>
13800
13801         * modules/ssize_t (License): Change to 'unlimited'.
13802
13803         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
13804
13805 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13806
13807         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
13808         Add comments for each pending glibc patch.
13809
13810 2005-08-15  Bruno Haible  <bruno@clisp.org>
13811
13812         * lib/regex.h (__restrict_arr): Don't define to __restrict if
13813         __cplusplus is defined.
13814
13815 2005-08-14  Jim Meyering  <jim@meyering.net>
13816
13817         Sync from coreutils.
13818
13819         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
13820         Use the hash-table-based cycle-detection code not just when
13821         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
13822         Reported by James Youngman in
13823         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
13824         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
13825         FTS_TIGHT_CYCLE_CHECK.
13826         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
13827         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
13828         once again.
13829         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
13830         * lib/fts.c (fd_safer): Remove decl.
13831         Include fcntl--.h rather than unistd-safer.h
13832         (fts_safe_changedir): Don't call fd_safer; no longer needed
13833         now that we include fcntl--.h.
13834
13835 2005-08-12  Simon Josefsson  <jas@extundo.com>
13836
13837         * modules/getndelim2: Use ssize_t module.
13838         * modules/getnline: Likewise.
13839         * modules/safe-read: Likewise.
13840         * modules/xreadlink: Likewise.
13841
13842         * modules/ssize_t: New file.
13843
13844 2005-08-12  Simon Josefsson  <jas@extundo.com>
13845
13846         * m4/readline.m4: Look for termcap, curses or ncurses if required.
13847
13848 2005-08-12  Simon Josefsson  <jas@extundo.com>
13849
13850         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13851         ssize_t.
13852
13853 2005-08-12  Simon Josefsson  <jas@extundo.com>
13854
13855         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
13856         readline, getdelim and check_version.
13857         (Support for systems lacking ISO C 99: Sizes of integer types):
13858         Add size_max.
13859
13860 2005-08-12  Bruno Haible  <bruno@clisp.org>
13861
13862         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
13863
13864 2005-08-11  Simon Josefsson  <jas@extundo.com>
13865
13866         * modules/readline: New file.
13867
13868         * modules/strnlen (Files): Add strnlen.h.
13869
13870 2005-08-11  Simon Josefsson  <jas@extundo.com>
13871
13872         * m4/readline.m4: New file.
13873
13874 2005-08-11  Simon Josefsson  <jas@extundo.com>
13875
13876         * lib/readline.h, readline.c: New file.
13877
13878 2005-08-11  Simon Josefsson  <jas@extundo.com>
13879
13880         * doc/gnulib.texi (Initial import, Finishing touches): Mention
13881         gl_AVOID.
13882
13883 2005-08-11  Bruno Haible  <bruno@clisp.org>
13884
13885         * lib/strnlen.h (strnlen): Change parameter name to match comment.
13886
13887 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
13888
13889         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
13890
13891 2005-08-10  Simon Josefsson  <jas@extundo.com>
13892
13893         * tests/test-iconvme.c: New file.
13894
13895 2005-08-10  Simon Josefsson  <jas@extundo.com>
13896
13897         * m4/strnlen.m4: New file.
13898
13899         * m4/strndup.m4: Don't check for strnlen declaration, done in
13900         strnlen.m4.
13901
13902 2005-08-10  Simon Josefsson  <jas@extundo.com>
13903
13904         * lib/strndup.c: Use strnlen.h.
13905
13906         * lib/strnlen.h: New file.
13907
13908 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
13909
13910         * README: Typos.
13911
13912 2005-08-02  Simon Josefsson  <jas@extundo.com>
13913
13914         * modules/readline: New file.
13915
13916 2005-08-02  Simon Josefsson  <jas@extundo.com>
13917
13918         * modules/getdelim: New file.
13919
13920         * modules/getline: Rewrite, don't use getndelim2.
13921
13922 2005-08-02  Simon Josefsson  <jas@extundo.com>
13923
13924         * m4/getline.m4: Separate out getdelim stuff into separate module.
13925
13926         * m4/getdelim.m4: New file.
13927
13928 2005-08-02  Simon Josefsson  <jas@extundo.com>
13929
13930         * lib/getline.h, getline.c: Rewrite.
13931
13932         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
13933
13934 2005-07-31  Bruno Haible  <bruno@clisp.org>
13935
13936         * lib/lock.h (gl_lock_initializer): New macro.
13937         (gl_lock_define_initialized): Use it.
13938         (gl_rwlock_initializer): New macro.
13939         (gl_rwlock_define_initialized): Use it.
13940         (gl_recursive_lock_initializer): New macro.
13941         (gl_recursive_lock_define_initialized): Use it.
13942
13943 2005-07-30  Karl Berry  <karl@gnu.org>
13944
13945         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
13946         Report from Ben Pfaff, regarding getopt.
13947
13948 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
13949
13950         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
13951         normal way.
13952         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
13953         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
13954         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
13955         (gl_GETOPT): Use the new macros.  Most of the implementation
13956         is moved to the new macros.  This is for programs like Emacs
13957         that don't want all the functionality of gl_GETOPT.
13958
13959 2005-07-26  Bruno Haible  <bruno@clisp.org>
13960
13961         * m4/lock.m4: Update from GNU gettext.
13962
13963 2005-07-26  Bruno Haible  <bruno@clisp.org>
13964
13965         * lib/lock.h: Update from GNU gettext.
13966         * lib/lock.c: Update from GNU gettext.
13967
13968 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13969
13970         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
13971         obsolescent AC_TRY_RUN.  Include the default includes files, for
13972         'exit'.
13973
13974 2005-07-24  Bruno Haible  <bruno@clisp.org>
13975
13976         * modules/visibility: New file.
13977         * MODULES.html.sh (Misc): Add visibility.
13978
13979 2005-07-24  Bruno Haible  <bruno@clisp.org>
13980
13981         * m4/visibility.m4: New file.
13982
13983 2005-07-24  Bruno Haible  <bruno@clisp.org>
13984
13985         * doc/visibility.texi: New file.
13986
13987 2005-07-22  Bruno Haible  <bruno@clisp.org>
13988
13989         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
13990         $(ALLOCA_H), redundant through BUILT_SOURCES.
13991         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
13992         redundant through BUILT_SOURCES.
13993         * modules/byteswap (Makefile.am): Remove explicit dependency on
13994         $(BYTESWAP_H), redundant through BUILT_SOURCES.
13995         * modules/fnmatch (Makefile.am): Remove explicit dependency on
13996         $(FNMATCH_H), redundant through BUILT_SOURCES.
13997         * modules/getopt (Makefile.am): Remove explicit dependency on
13998         $(GETOPT_H), redundant through BUILT_SOURCES.
13999         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
14000         redundant through BUILT_SOURCES.
14001         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
14002         redundant through BUILT_SOURCES.
14003         * modules/stdbool (Makefile.am): Remove explicit dependency on
14004         $(STDBOOL_H), redundant through BUILT_SOURCES.
14005         * modules/stdint (Makefile.am): Remove explicit dependency on
14006         $(STDINT_H), redundant through BUILT_SOURCES.
14007         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
14008         Remove explicit dependency on $(SYSEXITS_H).
14009         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
14010
14011 2005-07-18  Simon Josefsson  <jas@extundo.com>
14012
14013         * lib/check-version.c (check_version): Accept identical versions too.
14014
14015 2005-07-18  Bruno Haible  <bruno@clisp.org>
14016
14017         * modules/lock: New file.
14018         * MODULES.html.sh (Multithreading): New section.
14019
14020 2005-07-18  Bruno Haible  <bruno@clisp.org>
14021
14022         * m4/lock.m4: New file, from GNU gettext.
14023
14024 2005-07-18  Bruno Haible  <bruno@clisp.org>
14025
14026         * lib/lock.h: New file, from GNU gettext.
14027         * lib/lock.c: New file, from GNU gettext.
14028
14029 2005-07-18  Bruno Haible  <bruno@clisp.org>
14030
14031         * lib/lock.h (gl_once_t): New type.
14032         (gl_once_define, gl_once): New macros.
14033         * lib/lock.c (fresh_once): New variable.
14034         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
14035         functions.
14036
14037 2005-07-16  Simon Josefsson  <jas@extundo.com>
14038
14039         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
14040         workaround, suggested by Bruno.
14041
14042 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14043
14044         * modules/xalloc (Depends-on): Add xalloc-die.
14045         * modules/xvasprintf (Depends-on): Add xalloc-die.
14046
14047 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14048
14049         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
14050         with a minor change.
14051
14052 2005-07-15  Bruno Haible  <bruno@clisp.org>
14053
14054         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
14055         When using lib/poll.c, define poll as rpl_poll.
14056
14057 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
14058
14059         * modules/argp (Depends-on): Remove unlocked-io.
14060
14061 2005-07-14  Derek Price  <derek@ximbiot.com>
14062
14063         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
14064         for glob symlink bug.
14065
14066 2005-07-14  Bruno Haible  <bruno@clisp.org>
14067
14068         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
14069         Instead, test for *_unlocked function declarations directly.
14070
14071 2005-07-11  Simon Josefsson  <jas@extundo.com>
14072
14073         * modules/size_max: New file.
14074
14075         * modules/xsize: Depend on size_max module for size_max.m4.
14076
14077 2005-07-11  Simon Josefsson  <jas@extundo.com>
14078
14079         * lib/size_max.h: New file.
14080
14081 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
14082
14083         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
14084         copyright symbol and the year.
14085         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
14086         (version_etc_va): Use parameterized copyright notice.
14087         Reword to conform to the current GNU coding standards.
14088
14089 2005-07-11  Karl Berry  <karl@gnu.org>
14090
14091         * doc/gnulib.texi (Quoting): new node.
14092         (Initial import): more info, from Patrice.
14093
14094 2005-07-11  Bruno Haible  <bruno@clisp.org>
14095
14096         * gnulib-tool (func_usage): Document option --avoid.
14097         (Command line options): Handle --avoid.
14098         (func_acceptable): New function.
14099         (func_modules_transitive_closure): Use it.
14100
14101 2005-07-11  Bruno Haible  <bruno@clisp.org>
14102
14103         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
14104         Reported by Jim Meyering.
14105
14106 2005-07-10  Bruno Haible  <bruno@clisp.org>
14107
14108         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
14109         Needed when size_t is smaller than 'unsigned int'.
14110         Reported by Paul Eggert.
14111
14112 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
14113
14114         * modules/argp (Depends-on): Add unlocked-io
14115
14116 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
14117
14118         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
14119         block of defines.
14120
14121 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14122
14123         * config/srclist.txt: Comment out regcomp.c, since we have a porting
14124         fix now.
14125
14126 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
14127         and Paul Eggert  <eggert@cs.ucla.edu>
14128
14129         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
14130         in wint_t, not wchar_t.  Remove now-unnecessary cast.
14131
14132 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14133
14134         * modules/regex (Files): Add lib/regex_internal.c,
14135         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
14136         (Depends-on): Add extensions.
14137         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
14138
14139 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14140
14141         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
14142         pathconf.
14143         * m4/same.m4 (gl_SAME): Likewise.
14144         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
14145
14146         * m4/regex.m4: Adjust to new libc regex implementation.
14147         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
14148         all the .c and .h parts of (the new) regex.
14149         Quote the m4 stuff better.
14150         Check for RE_ICASE bug of old gnulib.
14151         Check for REG_STARTEND of recent libc.
14152         Rename local variables from jm_* to gl_*.
14153         Quote operand of "test -f".
14154         Say "recent enough" version of libc, not "version 2".
14155         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
14156         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
14157         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
14158         Remove check for btowc, isascii.
14159         Require AM_LANGINFO_CODESET.
14160
14161 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14162
14163         * lib/regex.c, regex.h: Sync from libc.
14164         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
14165         * lib/regexec.c:
14166         New files, synced from libc, except that regex_internal.h
14167         currently has a small porting fix.
14168
14169 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14170
14171         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
14172         regex_internal.c, regexec.c.
14173         Add regex_internal.h too, but as a comment, since the libc version
14174         is currently broken in gnulib mode.
14175
14176 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14177
14178         Support programs like Emacs that use gnulib but not gettext.
14179         * MODULES.html.sh (Internationalization functions): Add gettext-h.
14180         * modules/gettext-h: New file.
14181         * modules/gettext (Files): Remove lib/gettext.h.
14182         (Depends-on): Add gettext-h.
14183         (Makefile.am): Remove lib_SOURCES.
14184         * modules/argmatch, modules/c-stack, modules/closeout:
14185         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
14186         * modules/execute, modules/file-type, modules/getaddrinfo:
14187         * modules/getopt, modules/human, modules/javacomp:
14188         * modules/javaexec, modules/mkdir-p, modules/obstack:
14189         * modules/openat, modules/pagealign_alloc, modules/pipe:
14190         * modules/quotearg, modules/regex, modules/rpmatch:
14191         * modules/unicodeio, modules/userspec, modules/version-etc:
14192         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
14193         * modules/xsetenv:
14194         Depend on gettext-h, not gettext.
14195
14196 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
14197
14198         * gnulib-tool (func_import): Add support for 'public domain' license.
14199         * modules/alloca, modules/atexit, modules/memmove:
14200         Now public domain, not GPL.
14201         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
14202         * modules/realloc, modules/strerror, modules/strtod:
14203         Now LGPL, not GPL.
14204
14205 2005-07-05  Bruno Haible  <bruno@clisp.org>
14206
14207         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
14208         autoconf CVS. Needed for mingw.
14209
14210 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14211
14212         Remove the dependency of the strftime module on the tzset module.
14213         * modules/strftime (Depends-on): Remove dependency on tzset.
14214
14215 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14216
14217         Remove the dependency of the strftime module on the tzset module.
14218         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
14219         gl_FUNC_TZSET_CLOBBER.
14220
14221 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14222
14223         Remove the dependency of the strftime module on the tzset module.
14224         * lib/strftime.c (my_strftime)
14225         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
14226         Copy the input structure, to work around some of the bug with
14227         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
14228         Solaris releases, you should also use the tzset module, but we won't
14229         require it as a dependency any more since we don't want LGPLed code
14230         to depend on GPLed code.
14231
14232 2005-07-02  Jim Meyering  <jim@meyering.net>
14233
14234         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
14235         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
14236         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
14237         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
14238
14239 2005-07-02  Jim Meyering  <jim@meyering.net>
14240
14241         * lib/backupfile.c (backup_args): Change a `0' to NULL.
14242
14243 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
14244
14245         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
14246         declares only 'struct timespec;' (!).
14247
14248 2005-07-01  Jim Meyering  <jim@meyering.net>
14249
14250         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
14251         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
14252         * lib/save-cwd.c, tempname.c:
14253         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
14254         and don't include <sys/file.h>).
14255
14256 2005-06-29  Jim Meyering  <jim@meyering.net>
14257
14258         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
14259         type name.  Use the variable name instead.
14260         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
14261         Likewise.
14262
14263 2005-06-28  Simon Josefsson  <jas@extundo.com>
14264
14265         * modules/check-version (Files): Add check-version.m4.
14266
14267 2005-06-28  Simon Josefsson  <jas@extundo.com>
14268
14269         * m4/check-version.m4: New file, suggested by Jim Meyering
14270         <jim@meyering.net>.
14271
14272 2005-06-28  Simon Josefsson  <jas@extundo.com>
14273
14274         * lib/check-version.h, lib/check-version.c: New files.
14275
14276 2005-06-28  Simon Josefsson  <jas@extundo.com>
14277
14278         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
14279         collision with global variable.  Better indentation.  Don't
14280         increment buffer pointer beyond buffer end.  Based on comments
14281         from Paul Eggert <eggert@cs.ucla.edu>.
14282
14283         * lib/base64.h: Indent.
14284
14285 2005-06-28  Simon Josefsson  <jas@extundo.com>
14286
14287         * doc/gnulib.texi (Library version handling): New section.
14288
14289 2005-06-28  Jim Meyering  <jim@meyering.net>
14290
14291         * check-module (find_included_lib_files): Hard-code another
14292         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
14293         but modules/fts-lgpl (correctly) does not list those files.
14294
14295         * modules/canonicalize (Files): Add lib/pathmax.h.
14296
14297 2005-06-25  Simon Josefsson  <jas@extundo.com>
14298
14299         * modules/check-version: New file.
14300
14301 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
14302
14303         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
14304         initializer of struct addrinfo, as an indication that we don't
14305         care how many members the structure has.
14306
14307 2005-06-24  Derek Price  <derek@ximbiot.com>
14308         and Bruno Haible  <bruno@clisp.org>
14309
14310         Remove stat module & update lstat.
14311         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
14312         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14313         * m4/stat.m4: Remove this file.
14314
14315 2005-06-24  Derek Price  <derek@ximbiot.com>
14316         and Bruno Haible  <bruno@clisp.org>
14317
14318         Remove stat module & update lstat.
14319         * lib/stat.c: Remove this file...
14320         (slash_aware_lstat): ...moving this content and its support...
14321         * lib/lstat.c (rpl_lstat): ...into here.
14322         * lib/lstat.h: New file.
14323
14324 2005-06-24  Derek Price  <derek@ximbiot.com>
14325         and Bruno Haible  <bruno@clisp.org>
14326
14327         Remove stat module & update lstat.
14328         * config/srclist.txt (libc sources): Remove stat.
14329
14330 2005-06-24  Derek Price  <derek@ximbiot.com>
14331         and Bruno Haible  <bruno@clisp.org>
14332
14333         Remove stat module & update lstat.
14334         * MODULES.html.sh (stat): Remove.
14335         * MODULES.html: Regenerated.
14336         * modules/lstat (Description): Correct function name.
14337         (Files): Add "lstat.h".
14338         (Depends-on): Remove stat, add xalloc, stat-macros.
14339         * modules/stat: Remove this file.
14340         (Include): Add "lstat.h", remove <sys/stat.h>.
14341
14342 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
14343
14344         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
14345         (ranged_convert): Don't save conversion in a temporary struct.
14346         This causes a warning with GCC 4.0.0, and anyway in the typical
14347         case it's not worth the extra 100 bytes or so of code.
14348         (ranged_convert, __mktime_internal): When calling a function via a
14349         pointer P, use P () rather than (*P) (), as we now assume C89 or
14350         better.
14351
14352 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14353
14354         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
14355         "who -r" failed to give output.  Problem reported by Tim Waugh.
14356
14357         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
14358         (xcalloc): Use it to avoid needless tests.
14359         Problem reported by Jim Meyering.
14360
14361 2005-06-20  Derek Price  <derek@ximbiot.com>
14362
14363         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
14364         unnecessary for Autoconfs > 2.59c.
14365
14366 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14367
14368         * lib/argp.h (__option_is_short): Check upper limit of
14369         __key. Isprint() requires its argument to have the value
14370         of an unsigned char or EOF.
14371
14372 2005-06-16  Jim Meyering  <jim@meyering.net>
14373
14374         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
14375         when either N or S is zero.
14376
14377 2005-06-16  Derek Price  <derek@ximbiot.com>
14378
14379         * m4/bison.m4: Declare YACC & YFLAGS precious.
14380
14381 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
14382
14383         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
14384         multibyte string or pattern, fall back on unibyte matching.
14385         Problem reported by James Youngman.
14386
14387 2005-06-08  Bruno Haible  <bruno@clisp.org>
14388
14389         * modules/csharpcomp: New file.
14390         * MODULES.html.sh (C#): Add csharpcomp.
14391
14392 2005-06-08  Bruno Haible  <bruno@clisp.org>
14393
14394         * m4/csharpcomp.m4: New file, from GNU gettext.
14395
14396 2005-06-08  Bruno Haible  <bruno@clisp.org>
14397
14398         * lib/csharpcomp.h: New file, from GNU gettext.
14399         * lib/csharpcomp.c: New file, from GNU gettext.
14400         * lib/csharpcomp.sh.in: New file, from GNU gettext.
14401
14402 2005-06-08  Bruno Haible  <bruno@clisp.org>
14403
14404         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
14405         warning on mingw.
14406
14407 2005-06-07  Derek Price  <derek@ximbiot.com>
14408
14409         Sync from CVS.
14410         * lib/glob_.h: Indent nested #ifdef.
14411
14412 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14413
14414         Sync from coreutils.
14415         Use "file name" when talking about file names, instead of "filename"
14416         or "path", as per the GNU coding standards.
14417         * lib/mkdir-p.c: Renamed from makepath.c.
14418         (make_dir_parents): Renamed from make_path.  All callers changed.
14419         * lib/mkdir-p.h: Likewise.  All includers changed.
14420         * lib/filenamecat.c: Renamed from path-concat.c.
14421         (file_name_concat): Renamed from path_concat.  All callers changed.
14422         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
14423         * lib/filenamecat.h: Likewise.  All includers changed.
14424         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
14425         in comments or local variable names.
14426         * lib/basename.c: Likewise.
14427         * lib/canonicalize.c, canonicalize.h: Likewise.
14428         * lib/dirname.c, dirname.h: Likewise.
14429         * lib/euidaccess.c: Likewise.
14430         * lib/exclude.c: Likewise
14431         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
14432         * lib/fsusage.c, fsuage.h: Likewise.
14433         * lib/fts.c, fts_.h: Likewise.
14434         * lib/getcwd.c: Likewise.
14435         * lib/getloadavg.c: Likewise.
14436         * lib/mkstemp.c: Likewise.
14437         * lib/mountlist.c, mountlist.h: Likewise.
14438         * lib/openat.c, openat.h: Likewise.
14439         * lib/readlink-stub.c: Likewise.
14440         * lib/readutmp.c, readutmp.h: Likewise.
14441         * lib/rename.c: Likewise.
14442         * lib/rmdir.c: Likewise.
14443         * lib/same.c: Likewise.
14444         * lib/savedir.c: Likewise.
14445         * lib/stripslash.c: Likewise.
14446         * lib/tempname.c: Likewise.
14447         * lib/xreadlink.c: Likewise.
14448         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
14449         All uses changed.
14450         * lib/exclude.h: Likewise.
14451
14452         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
14453         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14454         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
14455         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14456         * lib/pathmax.h: Include <limits.h> unconditionally, since other
14457         files have been getting away with it for years (MORE/BSD 4.3
14458         is extinct now).
14459         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
14460         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14461
14462         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
14463         Define to 256, not 255, as per modern POSIX.
14464
14465 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14466
14467         Sync from coreutils.
14468         Use "file name" when talking about file names, instead of "filename"
14469         or "path", as per the GNU coding standards.
14470         * MODULES.html.sh: mkdir-p renamed from makepath.
14471         filenamecat renamed from path-concat.
14472         * modules/filenamecat: Renamed from modules/path-concat.
14473         (Files): filenamecat.h and filenamecat.c renamed from
14474         path-concat.h and path-concat.c.
14475         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
14476         (Include): filenamecat.h, not path-concat.h.
14477         * modules/mkdir-p: Renamed from modules/makepath.
14478         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
14479         makepath.c.
14480         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
14481         (Include): mkdir-p.h, not makepath.h.
14482
14483 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14484
14485         Sync from coreutils.
14486         * m4/mkdir-p.m4: Renamed from makepath.m4.
14487         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
14488         Rename files from makepath.c to mkdir-p.c, and from
14489         makepath.h to mkdir-p.h.
14490         * m4/filenamecat.m4: Renamed from path-concat.m4.
14491         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
14492         Rename files from path-concat.c to filenamecat.c,
14493         and from path-concat.h to filenamecat.h.
14494         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
14495         "file name" in local variables or comments.
14496         * m4/rename.m4: Likewise.
14497
14498 2005-06-01  Bruno Haible  <bruno@clisp.org>
14499
14500         * modules/csharpexec: New file.
14501         * MODULES.html.sh (C#): New section.
14502
14503 2005-06-01  Bruno Haible  <bruno@clisp.org>
14504
14505         * m4/csharp.m4: New file, from GNU gettext.
14506         * m4/csharpexec.m4: New file, from GNU gettext.
14507
14508 2005-06-01  Bruno Haible  <bruno@clisp.org>
14509
14510         * lib/csharpexec.h: New file, from GNU gettext.
14511         * lib/csharpexec.c: New file, from GNU gettext.
14512         * lib/csharpexec.sh.in: New file, from GNU gettext.
14513
14514 2005-05-31  Derek Price  <derek@ximbiot.com>
14515             Paul Eggert  <eggert@cs.ucla.edu>
14516
14517         Sync from cvs.
14518         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
14519
14520 2005-05-31  Derek Price  <derek@ximbiot.com>
14521             Paul Eggert  <eggert@cs.ucla.edu>
14522
14523         Sync from cvs.
14524         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
14525
14526 2005-05-29  Derek Price  <derek@ximbiot.com>
14527
14528         * config/srclist.txt (glob_.h, glob.c): Add these files.
14529
14530 2005-05-29  Derek Price  <derek@ximbiot.com>
14531
14532         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
14533         * modules/glob: New file.
14534         * modules/getlogin_r: Add link to POSIX spec in description.
14535
14536 2005-05-29  Derek Price  <derek@ximbiot.com>
14537             Paul Eggert  <eggert@cs.ucla.edu>
14538
14539         * m4/glob.m4: New file.
14540
14541 2005-05-29  Derek Price  <derek@ximbiot.com>
14542             Paul Eggert  <eggert@cs.ucla.edu>
14543
14544         * lib/glob_.h, lib/glob.c: New files.
14545
14546 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14547
14548         * modules/fts (Files): Remove m4/inttypes-pri.m4.
14549         * modules/fts-lgpl (Depends-on): Remove gettext.
14550
14551 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14552
14553         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
14554         and don't require gt_INTTYPES_PRI.
14555
14556 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14557
14558         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
14559
14560         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
14561         the configuration hassle isn't worth it.
14562         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
14563         (LONGEST_MODIFIER, PRIuMAX): Remove.
14564
14565 2005-05-27  Bruno Haible  <bruno@clisp.org>
14566
14567         * lib/getlogin_r.h: Remove second include of <stddef.h>.
14568
14569 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
14570
14571         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
14572         _POSIX_PTHREAD_SEMANTICS for Solaris.
14573
14574 2005-05-25  Derek Price  <derek@ximbiot.com>
14575
14576         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
14577
14578 2005-05-25  Derek Price  <derek@ximbiot.com>
14579             Paul Eggert  <eggert@cs.ucla.edu>
14580
14581         * modules/getlogin_r, m4/getlogin_r.m4: New files.
14582         * lib/getlogin_r.c, getlogin_r.h: New files.
14583
14584 2005-05-25  Bruno Haible  <bruno@clisp.org>
14585             Derek Price  <derek@ximbiot.com>
14586
14587         * lib/getlogin_r.h: Simplify API documentation.
14588
14589 2005-05-23  Derek Price  <derek@ximbiot.com>
14590
14591         * modules/minmax (Files): Add m4/minmax.m4.
14592         (configure.ac): Add gl_MINMAX.
14593
14594 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14595
14596         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
14597         so that unistd-safer.h (GPL'ed code) need not be included.
14598
14599 2005-05-22  Bruno Haible  <bruno@clisp.org>
14600
14601         * m4/minmax.m4: New file.
14602         Based on a patch by Derek Price <derek@ximbiot.com>.
14603
14604 2005-05-22  Bruno Haible  <bruno@clisp.org>
14605
14606         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
14607         (INT64_MIN): Fix definition.
14608         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
14609
14610         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
14611         NEED_SIGNED_INT_TYPES.
14612
14613         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
14614         HAVE_SYSTEM_INTTYPES.
14615
14616 2005-05-22  Bruno Haible  <bruno@clisp.org>
14617
14618         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
14619         Also include <sys/param.h> if it defines MIN, MAX.
14620         Based on a patch by Derek Price <derek@ximbiot.com>.
14621
14622 2005-05-21  Jim Meyering  <jim@meyering.net>
14623
14624         * modules/fts (Files): Add m4/inttypes-pri.m4.
14625         (Depends-on): Add lstat and remove gettext.  Alphabetize.
14626
14627 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14628
14629         New fts module.
14630         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
14631         (setup_dir, free_dir): New functions.
14632         (enter_dir, leave_dir): Define trivial
14633         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
14634         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
14635         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
14636         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
14637         Move to fts-cycle.c.
14638         (fts_open): Use setup_dir.
14639         (fts_close): Use free_dir.
14640         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
14641         This adds a label and some gotos, but the alternatives were messier.
14642         Check for memory allocation failure when entering a dir.
14643         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
14644         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
14645         (FTS): New member fts_cycle, that is a union that contains the
14646         old active_dir_ht and cycle_state.  All uses changed to mention
14647         fts_cycle.ht and fts_cycle.state.
14648         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
14649         fts.c, with the following changes:
14650         (setup_dir, free_dir): New functions.
14651         (enter_dir): Now returns bool.  Return true if successful, false
14652         if memory exhausted.  All callers changed.
14653         Do not bother partly cleaning up on
14654         memory allocation failure; that is free_dir's job.
14655         However, free ad if hash_insert fails, to avoid memory leak.
14656         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
14657         fts->fts_options to see which union member to use.
14658
14659 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14660
14661         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
14662         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
14663
14664 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14665
14666         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
14667
14668 2005-05-20  Jim Meyering  <jim@meyering.net>
14669
14670         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
14671         Now a macro, to pacify GCC.
14672
14673 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
14674
14675         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
14676         of -1.
14677
14678 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
14679
14680         * lib/chown.c (rpl_chown): Return -1 on failure.
14681
14682 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
14683
14684         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
14685         Don't check for stddef.h.
14686         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
14687         don't use its results.
14688         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
14689         since we include them unconditionally.  Don't require
14690         AM_STDBOOL_H, since stdbool is a prerequisite.
14691         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
14692         since we assume C89 or better.
14693         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
14694         as we don't use their results.
14695         Don't check for fchdir, memmove, memset, strrchr, as we use
14696         them unconditionally.
14697         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
14698         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
14699
14700 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
14701
14702         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
14703         Include <stddef.h> unconditionally, since we assume C89 now.
14704         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
14705         * lib/fts.c: Include fts_.h first, to check interface.
14706         Do not include intprops.h; no longer needed.
14707         Include cycle-check.h and hash.h, since fts_.h no longer does.
14708         Remove unnecessary casts of closedir to void.
14709         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
14710         decide whether to decrement nlinks.
14711         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
14712         (FTS): Use struct hash_table * instead of Hash_table, so that
14713         we no longer need to include hash.h here.
14714
14715 2005-05-18  Jim Meyering  <jim@meyering.net>
14716
14717         * modules/dirfd (License): Change to LGPL.  Most of the code
14718         is already in the public domain.
14719
14720 2005-05-18  Jim Meyering  <jim@meyering.net>
14721
14722         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
14723         Reported by Yoann Vandoorselaere.
14724
14725 2005-05-17  Jim Meyering  <jim@meyering.net>
14726
14727         * m4/fts.m4: New file, from coreutils.
14728
14729 2005-05-17  Jim Meyering  <jim@meyering.net>
14730
14731         * lib/fts.c, lib/fts_.h: New files, from coreutils.
14732
14733 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14734
14735         Sync from coreutils.
14736         * m4/unlinkdir.m4: New file.
14737
14738 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14739
14740         Sync from coreutils.
14741         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
14742         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
14743         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
14744         White space changes only.
14745         * lib/makepath.c (make_path): Port to hosts where leading "//" is
14746         special.
14747         * lib/yesno.c: Include getline.h, not ctype.h.
14748         (yesno): Don't remove leading white space; POSIX doesn't allow it.
14749         Use getline to remove arbitrary restriction on response length.
14750
14751 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14752
14753         * config/srclist-update: Spell out "Street" in FSF postal
14754         mail address; this is the style the FSF seems to prefer.
14755
14756         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
14757         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
14758         this updates FSF postal mail address.
14759
14760         Sync from coreutils.
14761         * modules/unlinkdir: New file.
14762         * modules/yesno (Depends-on): Add getline.
14763         * MODULES.html.sh (File system functions): Add unlinkdir.
14764
14765 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14766
14767         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
14768         lib/strsep.h:
14769         Change the initial comment to refer to GPL, not LGPL.
14770         gnulib-tool will change it to LGPL as needed.
14771
14772         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
14773         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
14774         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
14775         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
14776         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
14777         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
14778         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
14779         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
14780         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
14781         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
14782         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
14783         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
14784         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
14785         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
14786         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
14787         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
14788         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
14789         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
14790         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
14791         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
14792         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
14793         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
14794         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
14795         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
14796         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
14797         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
14798         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
14799         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
14800         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
14801         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
14802         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
14803         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
14804         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
14805         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
14806         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
14807         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
14808         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
14809         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
14810         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
14811         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
14812         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
14813         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
14814         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
14815         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
14816         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
14817         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
14818         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
14819         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
14820         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
14821         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
14822         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
14823         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
14824         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
14825         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
14826         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
14827         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
14828         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
14829         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
14830         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
14831         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
14832         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
14833         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
14834         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
14835         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
14836         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
14837         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
14838         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
14839         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
14840         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
14841         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
14842         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
14843         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
14844         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
14845         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
14846         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
14847         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
14848         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
14849         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
14850         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
14851         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
14852         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
14853         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
14854         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
14855         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
14856         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
14857         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
14858         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
14859         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
14860         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
14861         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
14862         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
14863         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
14864         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
14865         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
14866         lib/yesno.c, lib/yesno.h:
14867         Update FSF postal mail address.
14868
14869 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14870
14871         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
14872         tests/test-memmem.c, tests/test-stpncpy.c:
14873         Update FSF postal mail address.
14874
14875 2005-05-13  Bruno Haible  <bruno@clisp.org>
14876
14877         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
14878         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
14879         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
14880         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
14881         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
14882         Add support for 64-bit integers in the MSVC compiler.
14883
14884 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14885
14886         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
14887
14888 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
14889
14890         * gnulib-tool (func_import): Sort and uniquify recommended includes.
14891
14892 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
14893
14894         * doc/getdate.texi (General date syntax): Don't say that date
14895         date --iso-8601=ns generates acceptable dates; it doesn't yet.
14896         Problem reported by Nic Ferrier.
14897
14898 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14899
14900         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
14901         specified in ai_socktype. Fix invalid ai_protocol
14902         check. ai_protocol is usually set to 0 or depending on
14903         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
14904         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
14905         ai_socktype / ai_protocol in the returned addrinfo structure.
14906
14907 2005-05-10  Simon Josefsson  <jas@extundo.com>
14908
14909         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
14910         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
14911
14912 2005-05-10  Karl Berry  <karl@gnu.org>
14913
14914         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
14915         (from http://www.gnu.org/licenses).
14916         * doc/COPYING.LIB: also rename to COPYING.LESSER.
14917         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
14918         fdl.texi suffices.
14919
14920 2005-05-10  Karl Berry  <karl@gnu.org>
14921
14922         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
14923         (COPYING.DOC): remove.
14924
14925         * config/srclist-update: new FSF address.
14926
14927 2005-05-10  Derek Price  <derek@ximbiot.com>
14928
14929         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
14930         possible.
14931
14932 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14933             Bruno Haible  <bruno@clisp.org>
14934
14935         * modules/inet_ntop: New file.
14936         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14937         inet_ntop.
14938
14939 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14940             Bruno Haible  <bruno@clisp.org>
14941
14942         * m4/inet_ntop.m4: New file.
14943
14944 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14945             Bruno Haible  <bruno@clisp.org>
14946
14947         * lib/inet_ntop.h: New file.
14948         * lib/inet_ntop.c: New file, from glibc with modifications.
14949
14950 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
14951
14952         * modules/time_r (License): Change to LGPL.
14953         * modules/extensions (License): Change to LGPL.  Actually,
14954         the license is more permissive than that, but currently gnulib-tool
14955         doesn't know how to handle more-permissive licenses.
14956
14957         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
14958         Problem reported by Dave Love.
14959
14960 2005-05-08  Jim Meyering  <jim@meyering.net>
14961
14962         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
14963         blank.
14964
14965 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
14966
14967         * modules/argmatch (Depends-on): Add stdbool.
14968         * modules/backupfile (Depends-on): Likewise.
14969         * modules/chdir-long (Depends-on): Likewise.
14970         * modules/closeout (Depends-on): Likewise.
14971         * modules/cycle-check (Depends-on): Likewise.
14972         * modules/dirname (Depends-on): Likewise.
14973         * modules/fnmatch (Depends-on): Likewise.
14974         * modules/fsusage (Depends-on): Likewise.
14975         * modules/fwriteerror (Depends-on): Likewise.
14976         * modules/getcwd (Depends-on): Likewise.
14977         * modules/getloadavg (Depends-on): Likewise.
14978         * modules/hard-locale (Depends-on): Likewise.
14979         * modules/makepath (Depends-on): Likewise.
14980         * modules/mountlist (Depends-on): Likewise.
14981         * modules/nanosleep (Depends-on): Likewise.
14982         * modules/posixtm (Depends-on): Likewise.
14983         * modules/quotearg (Depends-on): Likewise.
14984         * modules/readtokens (Depends-on): Likewise.
14985         * modules/readtokens0 (Depends-on): Likewise.
14986         * modules/readutmp (Depends-on): Likewise.
14987         * modules/save-cwd (Depends-on): Likewise.
14988         * modules/strftime (Depends-on): Likewise.
14989         * modules/userspec (Depends-on): Likewise.
14990         * modules/utimecmp (Depends-on): Likewise.
14991         * modules/xgetcwd (Depends-on): Likewise.
14992         * modules/xnanosleep (Depends-on): Likewise.
14993         * modules/xstrtod (Depends-on): Likewise.
14994         * modules/yesno (Depends-on): Likewise.
14995
14996 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14997
14998         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
14999         needless checks.
15000
15001 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15002
15003         Merge from coreutils.  Among other things,
15004         add bulletproofing for cases where stdin, stdout, or stderr are closed.
15005         * lib/fd-safer.c: New file.
15006         * lib/fcntl-safer.h, open-safer.c: Remove.
15007         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
15008         * lib/dup-safer.c: Include unistd-safer.h first.
15009         Don't include errno.h.
15010         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
15011         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
15012         * lib/file-type.c: Rely on file-type.h change.
15013         * lib/getloadavg.c: Include unistd-safer.h.
15014         (getloadavg): Use safer open.
15015         * lib/getusershell.c: Include "stdio-safer.h".
15016         (getusershell): Use safer fopen.
15017         * lib/long-options.c (long_options): Use NULL rather than 0.
15018         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
15019         'free'.
15020         * lib/modechange.c: Likewise.
15021         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
15022         (MODE_DONE): New constant.
15023         (struct mode_change): Remove 'next' member.
15024         (make_node_op_equals): New function; like the old one of the
15025         same name, except it allocates an array.
15026         (mode_compile, mode_create_from_ref): Use it.
15027         (mode_compile): Allocate result as an array, not a linked list.
15028         Parse octal string ourself, so that we catch mistakes like "+0".
15029         (mode_adjust): Arg is an array, not a linked list.
15030         * lib/modechange.c: Include stat-macros.h, xalloc.h.
15031         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
15032         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
15033         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
15034         Remove.  This is now stat-macros.h's job.
15035         (talloc): Remove.  All callers replaced by xalloc, so that
15036         our invokers don't have to worry about reporting memory failures.
15037         (make_node_op_equals): Remove.
15038         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
15039         New constants.
15040         (struct mode_change): Moved here from modechange.h.
15041         (mode_append_entry): Remove.
15042         (mode_compile): Remove MASKED_OPS arg, since it encouraged
15043         apps to have incorrect behavior.  Use simpler algorithm for head
15044         and tail.  Don't futz with umask; that's now the job of mode_adjust.
15045         Detect more invalid usages rather than having somewhat-random behavior.
15046         Don't insert an "a=" action, as that leads to incorrect behavior.
15047         (mode_compile, mode_create_from_ref): Return NULL on error instead
15048         of an enum, since now there's only one way to have an error.  All
15049         callers changed.
15050         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
15051         at the correct time.  Simplify calculation of "+u" and its ilk.
15052         Don't mishandle "+X".
15053         (mode_free): Remove "register" and localize decls.
15054         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
15055         (struct mode_change): Move to modechange.c; callers don't
15056         need to see this stuff.
15057         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
15058         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
15059         (mode_change, mode_adjust): Reflect the new signatures noted above.
15060         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
15061         that might redefine system include files.
15062         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
15063         (my_usleep): Use NULL rather than (void *) 0.
15064         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
15065         Use siginterrupt to specify that system calls should be interrupted.
15066         (rpl_nanosleep): Move initialization of suspended closer to call of
15067         my_usleep.
15068         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
15069         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
15070         (desirable_utmp_entry): New function.
15071         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
15072         using x2nrealloc, to simplify logic.
15073         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
15074         size calculation.  Do not assume utmp file is a regular file.
15075         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
15076         (READ_UTMP_CHECK_PIDS): New constant.
15077         * lib/save-cwd.c: Include unistd-safer.h.
15078         (save_cwd): Use fd_safer.
15079         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
15080         [!_LIBC] Include "stat-macros.h" instead.
15081         * lib/unistd-safer.h (fd_safer): New decl.
15082
15083 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15084
15085         * modules/getloadavg (Depends-on): Add unistd-safer.
15086         * modules/getusershell (Depends-on): Add stdio-safer.
15087         * modules/lstat (Depends-on): Remove xalloc.
15088         * modules/mkstemp (Depends-on): Add stat-macros.
15089         * modules/modechange (Depends-on): Remove xstrtol.
15090         Add stat-macros, xalloc.
15091         * modules/save-cwd (Depends-on): Add unistd-safer.
15092         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
15093         * modules/unistd-safer (Files): Add lib/fd-safer.c
15094         (Makefile.am): Remove lib_SOURCES.
15095
15096         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
15097         Remove fcntl-safer; unistd-safer supersedes it.
15098
15099 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15100
15101         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
15102         AC_HEADER_STAT.
15103         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
15104         (gl_PREREQ_CHOWN): Remove.
15105         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
15106         it.  Don't require AC_HEADER_STAT.
15107         (gl_PREREQ_LSTAT): Remove.
15108         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
15109         Don't require AC_HEADER_STAT.
15110         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
15111         (gl_PREREQ_RMDIR): Remove.
15112         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
15113         mention stat-macros.h or AC_HEADER_STAT, since we'll make
15114         the stat-macros module a prerequisite.
15115         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
15116         * m4/filemode.m4 (gl_FILEMODE): Likewise.
15117         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
15118         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
15119         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
15120         variable names.
15121         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
15122         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
15123         variable prefixes.
15124         * m4/fcntl-safer.m4: Remove.
15125         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
15126         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
15127         Invoke gl_PREREQ_FD_SAFER.
15128         (gl_PREREQ_FD_SAFER): New macro.
15129         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
15130         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
15131         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
15132         Remove duplicate call to AC_LIBOBJ(readutmp).
15133         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
15134
15135         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
15136         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
15137
15138 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15139
15140         * MODULES.html.sh (Misc): Add byteswap.
15141
15142 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15143
15144         * modules/getcwd (Depends-on): Add extensions.
15145         * modules/openat (Depends-on): Likewise.
15146
15147 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15148
15149         * modules/byteswap: New file.
15150
15151 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15152
15153         * m4/byteswap.m4: New file.
15154
15155 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15156
15157         * lib/byteswap_.h: New file.
15158
15159 2005-04-25  Karl Berry  <karl@gnu.org>
15160
15161         * m4/gettext.m4: Update from GNU gettext 0.14.4.
15162
15163 2005-04-25  Albert Chin  <china@thewrittenword.com>
15164
15165         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
15166         Toolkit C bug.
15167
15168 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
15169
15170         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
15171         (func_ln_if_changed) Remove forcibly for no error message
15172         in case file does not exist.
15173
15174 2005-04-19  Simon Josefsson  <jas@extundo.com>
15175
15176         * gnulib-tool (Options): Make --symlink mean --symbolic.
15177
15178 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
15179
15180         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
15181
15182 2005-04-16  Simon Josefsson  <jas@extundo.com>
15183
15184         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
15185
15186 2005-04-15  Simon Josefsson  <jas@extundo.com>
15187
15188         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
15189
15190 2005-04-15  Simon Josefsson  <jas@extundo.com>
15191
15192         * gnulib-tool: Rename --symlink to --symbolic.
15193
15194 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
15195
15196         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
15197         symbolic links to files instead of copying/moving.  Add --aux-dir,
15198         specifying directory relative --dir where auxiliary build tools
15199         are placed.
15200
15201 2005-04-14  Bruno Haible  <bruno@clisp.org>
15202
15203         * modules/allocsa (License): Change to LGPL.
15204         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
15205
15206 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
15207
15208         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
15209         that "UTC +1 second" continues to work.  Problem reported
15210         by Dmitry V. Levin.
15211         (relunit_snumber): New rule.
15212         (relunit): Use it.
15213
15214 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
15215
15216         * lib/getdate.y (universal_time_zone_table): New constant.
15217         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
15218         universal_time_zone_table.
15219         (lookup_zone): Prefer universal_time_zone_table to
15220         local_time_zone_table, so that "GMT" time stamps are allowed in
15221         London during the summer.  Problem reported by Ian Abbott.
15222
15223 2005-04-12  Jim Meyering  <jim@meyering.net>
15224
15225         * lib/human.c (humblock): Set *options even when returning due to
15226         xstrtoumax conversion failure.  Thanks to a used-uninitialized
15227         warning from gcc-4.
15228
15229 2005-04-09  Jim Meyering  <jim@meyering.net>
15230
15231         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
15232         -Wuninitialized: initialize tm0.tm_year.
15233
15234 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
15235
15236         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
15237         count, since there's no maximum.  All uses changed.
15238         Add member dsts_seen.
15239         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
15240         not being INT_MAX.
15241         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
15242         Use pc_rels_seen to decide whther a date is absolute.
15243
15244         * lib/getdate.y (number): Don't overwrite year.
15245         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
15246         check.
15247
15248 2005-04-02  Simon Josefsson  <jas@extundo.com>
15249
15250         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
15251         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
15252
15253 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
15254
15255         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
15256         where no absolute path name can be longer than PATH_MAX.
15257
15258 2005-03-27  Jim Meyering  <jim@meyering.net>
15259
15260         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
15261
15262 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
15263
15264         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
15265         "one's complement" -> "ones' complement" in comment, as per Knuth.
15266         "value of type" -> "type or expression" in comment.
15267         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
15268
15269 2005-03-26  Jim Meyering  <jim@meyering.net>
15270
15271         Comment nits.
15272         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
15273         Correct typos: s/or/of/.
15274
15275 2005-03-26  Jim Meyering  <jim@meyering.net>
15276
15277         * modules/check-include-files: Move to ../ and rename to...
15278         * check-module: ...this.
15279
15280 2005-03-25  Jim Meyering  <jim@meyering.net>
15281
15282         * modules/xvasprintf (Files): Add xalloc.h.
15283
15284 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
15285
15286         * modules/gettext (Files): config/config.rpath ->
15287         build-aux/config.rpath
15288         * modules/iconv (Files): Likewise.
15289         Problem reported by Oskar Liljeblad.
15290
15291 2005-03-23  Jim Meyering  <jim@meyering.net>
15292
15293         * modules/check-include-files: New script to check for
15294         missing dependencies, multiple includes, etc.
15295
15296         * modules/c-strtold (Depends-on): Add xalloc.
15297         * modules/c-strtod (Depends-on): Add xalloc.
15298         * modules/hash (Depends-on): Add xalloc.
15299         (Files): Remove lib/xalloc.h.
15300
15301         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
15302         * modules/userspec (Files): Add lib/inttostr.h.
15303
15304 2005-03-23  Jim Meyering  <jim@meyering.net>
15305
15306         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
15307
15308 2005-03-22  Jim Meyering  <jim@meyering.net>
15309
15310         * modules/stat-macros: New module.
15311         * modules/canonicalize, modules/euidaccess, modules/file-type,
15312         * modules/filemode, modules/lchown, modules/makepath,
15313         * modules/rmdir, modules/stat: Depend on new stat-macros module
15314         rather than listing lib/stat-macros.h manually.
15315         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
15316
15317 2005-03-22  Jim Meyering  <jim@meyering.net>
15318
15319         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
15320
15321 2005-03-22  Bruno Haible  <bruno@clisp.org>
15322
15323         * config/srclist.txt: Replace target directory 'config' with
15324         'build-aux'.
15325         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
15326         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
15327         ../build-aux/.
15328
15329 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
15330
15331         * modules/chdir-long (Depends-on): Add mempcpy.
15332
15333         * modules/acl, modules/backupfile, modules/c-strtod,
15334         modules/c-strtold, modules/canon-host, modules/canonicalize,
15335         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
15336         modules/exclude, modules/exitfail, modules/file-type,
15337         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
15338         modules/getdate, modules/getline, modules/getpagesize,
15339         modules/getpass, modules/getugroups, modules/group-member,
15340         modules/hard-locale, modules/hash, modules/human, modules/idcache,
15341         modules/inttostr, modules/long-options, modules/makepath,
15342         modules/md5, modules/memcasecmp, modules/memcoll,
15343         modules/modechange, modules/mountlist, modules/path-concat,
15344         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
15345         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
15346         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
15347         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
15348         modules/strftime, modules/strndup, modules/strverscmp,
15349         modules/timespec, modules/unlocked-io, modules/userspec,
15350         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
15351         modules/yesno:
15352         Remove lib_SOURCES line from Makefile.am section, as this is now
15353         done automatically by the corresponding Autoconf macro.
15354
15355 2005-03-21  Jim Meyering  <jim@meyering.net>
15356
15357         Changes imported from coreutils.
15358
15359         * lib/cycle-check.c: Don't include xalloc.h.
15360
15361         * lib/path-concat.c: Don't include assert.h.
15362         (path_concat): Remove assertion that would have triggered
15363         for ABASE starting with more than one slash.
15364         Reported by Andreas Schwab.
15365
15366         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
15367         properly when ABASE is an absolute file name.
15368         Correct the description of this function.
15369         Include <assert.h>.
15370         Add an assertion and a test driver.
15371         This fixes a bug introduced on 2004-07-02.
15372         Andreas Schwab reported the resulting failure of cp --parents:
15373         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
15374
15375 2005-03-21  Jim Meyering  <jim@meyering.net>
15376
15377         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
15378         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
15379
15380 2005-03-21  Jim Meyering  <jim@meyering.net>
15381         and  Paul Eggert  <eggert@cs.ucla.edu>
15382
15383         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
15384         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
15385         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
15386         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
15387         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
15388         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
15389         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
15390         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
15391         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
15392         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
15393         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
15394         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
15395         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
15396         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
15397         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
15398         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
15399         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
15400         for these modules.
15401
15402 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
15403
15404         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
15405         (which shouldn't happen), generate nothing instead of returning 0
15406         immediately, so that nstrftime (NULL, ...) doesn't return 0.
15407
15408 2005-03-16  Bruno Haible  <bruno@clisp.org>
15409
15410         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
15411         HAVE_LONGLONG_64BIT.
15412
15413 2005-03-16  Bruno Haible  <bruno@clisp.org>
15414
15415         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
15416         HAVE_LONGLONG_64BIT.
15417
15418 2005-03-16  Bruno Haible  <bruno@clisp.org>
15419
15420         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
15421         HAVE_LONGLONG_64BIT.
15422
15423 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
15424
15425         * lib/strftime.c (my_strftime): Prepend space to format so that we can
15426         reliably distinguish strftime failure from empty output on POSIX
15427         hosts.
15428
15429 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
15430
15431         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
15432         (iconv_string): Don't guess a size-zero buffer, as that might cause
15433         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
15434         result would be 'too large', where 'too large' is (heuristically)
15435         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
15436         overflow concerns.  This will prevent some unwanted malloc failures
15437         when the inputs are very large.
15438
15439 2005-03-15  Karl Berry  <karl@gnu.org>
15440
15441         * config/srclist.txt (config.rpath): from gettext.
15442         * config/config.rpath: update.
15443
15444 2005-03-15  Bruno Haible  <bruno@clisp.org>
15445
15446         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
15447         to 'negate'.
15448
15449         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
15450         variable.
15451
15452         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
15453         results.
15454
15455 2005-03-14  Simon Josefsson  <jas@extundo.com>
15456
15457         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
15458         <fx@gnu.org>.
15459
15460 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
15461
15462         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
15463         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
15464         intprops.h.
15465         * lib/strtol.c: Likewise.
15466
15467 2005-03-14  Jim Meyering  <jim@meyering.net>
15468
15469         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
15470         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
15471         to be nonzero so that we (and caller) can detect the difference
15472         between a valid zero-length expansion and an error return, even
15473         when the underlying strftime fails before writing anything into
15474         that location.
15475
15476 2005-03-14  Bruno Haible  <bruno@clisp.org>
15477
15478         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
15479         Update from GNU gettext 0.14.3.
15480
15481 2005-03-10  Jim Meyering  <jim@meyering.net>
15482
15483         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
15484
15485 2005-03-10  Jim Meyering  <jim@meyering.net>
15486
15487         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
15488         so that this module works on systems without fchdir.
15489
15490 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
15491
15492         Factor int-properties macros into a single file, except for
15493         glibc-related files.
15494         * lib/intprops.h: New file.
15495         * lib/getloadavg.c: Include it instead of limits.h.
15496         (INT_STRLEN_BOUND): Remove.
15497         * lib/human.c: Include intprops.h.
15498         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
15499         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
15500         302/1000.
15501         * lib/inttostr.h: Include intprops.h instead of limits.h.
15502         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
15503         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
15504         for consistency with intprops.h.
15505         (time_t_is_integer, twos_complement_arithmetic): Use them.
15506         * lib/sig2str.h: Include <signal.h>, intprops.h.
15507         (INT_STRLEN_BOUND): Remove.
15508         * lib/strftime.c (TYPE_SIGNED): Remove.
15509         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
15510         * lib/strtol.c: Adjust comments to match intprops.h.
15511         * lib/userspec.c: Include intprops.h.
15512         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
15513         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
15514         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
15515         instead of rolling our own expressions.
15516         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
15517
15518         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
15519         instead of int.
15520         (my_strftime): Do not mishandle years close to INT_MAX, by doing
15521         the right thing even if adding 1900 would overflow.  Similarly
15522         for tm_mon + 1 and tm_yday + 1.
15523         Make %Y always equivalent to %C%y, and similarly for %G and %g.
15524         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
15525         (DO_SIGNED_NUMBER): New macro.
15526         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
15527
15528 2005-03-07  Bruno Haible  <bruno@clisp.org>
15529
15530         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
15531
15532 2005-03-07  Bruno Haible  <bruno@clisp.org>
15533
15534         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
15535
15536 2005-03-04  Derek R. Price  <derek@ximbiot.com>
15537
15538         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
15539         (func_import): Only replace files via --import when they have actually
15540         changed.
15541
15542 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15543
15544         * m4/mmap-anon.m4: New file.
15545         * m4/pagealign_alloc.m4: New file.
15546
15547 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15548             Bruno Haible  <bruno@clisp.org>
15549
15550         * modules/pagealign_alloc: New file.
15551         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
15552
15553 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15554             Bruno Haible  <bruno@clisp.org>
15555
15556         * lib/pagealign_alloc.h: New file.
15557         * lib/pagealign_alloc.c: New file.
15558
15559 2005-03-03  Bruno Haible  <bruno@clisp.org>
15560
15561         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
15562         Use an all-permissive copyright notice, recommended by RMS.
15563
15564 2005-03-02  Bruno Haible  <bruno@clisp.org>
15565
15566         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
15567         of AIX, the replacement has to be done only after <string.h> is
15568         included, therefore not in config.h. stpncpy.h does the replacement,
15569         and stpncpy.c uses it.
15570
15571 2005-03-02  Bruno Haible  <bruno@clisp.org>
15572
15573         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
15574         stpncpy.c uses it.
15575
15576 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15577
15578         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
15579         The workaround isn't strictly needed for POSIX conformance, and
15580         it's too much of a pain to configure and maintain.  We'll ask
15581         people to fix their kernels instead.
15582         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
15583         (NANOSLEEP_BUG_WORKAROUND): Remove.
15584         (xnanosleep): Remove the workaround.
15585
15586 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15587
15588         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
15589         Reported by Derek Price.
15590         (Include): Add "timespec.h".
15591
15592         * modules/xnanosleep (Depends-on): Remove gethrxtime.
15593
15594 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15595
15596         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
15597         to detect nanosleep bug.
15598
15599 2005-03-01  Bruno Haible  <bruno@clisp.org>
15600
15601         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
15602
15603 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
15604
15605         * modules/gethrxtime: New file.
15606         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
15607         (Depends-on): Add gethrxtime.
15608         (configure.ac): Add gl_XNANOSLEEP.
15609         (Makefile.am): Remove lib_SOURCES line.
15610
15611 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15612
15613         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
15614         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
15615
15616 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15617
15618         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
15619         * lib/timespec.h (gettime): Return void, since it always
15620         succeeds now.  All uses changed.
15621         * lib/gettime.c (gettime) Likewise.
15622         [HAVE_NANOTIME]: Prefer nanotime.
15623         Assume gettimeofday succeeds, as POSIX requires.
15624         Assime time () succeeds, since other code already does.
15625         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
15626         (timespec_subtract): Remove.
15627         (NANOSLEEP_BUG_WORKAROUND): New constant.
15628         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
15629         things considerably.  Use it only on GNU/Linux hosts, since the
15630         workaround shouldn't be needed elsewhere.
15631
15632 2005-02-24  Bruno Haible  <bruno@clisp.org>
15633
15634         * modules/gettext (Files): Add m4/glibc2.m4.
15635
15636 2005-02-24  Bruno Haible  <bruno@clisp.org>
15637
15638         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
15639         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
15640         * m4/progtest.m4:
15641         Update from GNU gettext 0.14.2.
15642         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
15643
15644 2005-02-24  Bruno Haible  <bruno@clisp.org>
15645
15646         * lib/localcharset.c: Update from GNU gettext 0.14.2.
15647         * lib/config.charset: Update from GNU gettext 0.14.2.
15648
15649 2005-02-24  Bruno Haible  <bruno@clisp.org>
15650
15651         * lib/gettext.h: Update from GNU gettext 0.14.2.
15652
15653 2005-02-23  Simon Josefsson  <jas@extundo.com>
15654
15655         * m4/iconvme.m4: New file.
15656
15657 2005-02-23  Jim Meyering  <jim@meyering.net>
15658
15659         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
15660         change.
15661         Thanks to Bruno Haible for catching it.
15662
15663 2005-02-22  Simon Josefsson  <jas@extundo.com>
15664
15665         * modules/iconvme: New file.
15666
15667         * MODULES.html.sh: Add iconvme.
15668
15669 2005-02-22  Simon Josefsson  <jas@extundo.com>
15670
15671         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
15672
15673 2005-02-22  Simon Josefsson  <jas@extundo.com>
15674
15675         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
15676
15677 2005-02-22  Jim Meyering  <jim@meyering.net>
15678
15679         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
15680         s/ifndef/ifdef/.
15681
15682 2005-02-20  Neil Conway  <neilc@samurai.com>
15683
15684         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
15685         returned by OSX/Darwin if the specified buffer is not large
15686         enough for the hostname.
15687
15688 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15689
15690         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
15691         pass it to _help, otherwise the latter coredumps trying to
15692         dereference state.root_argp.
15693
15694 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15695
15696         * modules/chdir-long (Depends-on): Add memrchr.
15697         * modules/memrchr (Files): Add lib/memrchr.h.
15698         (Include): "memrchr.h".
15699
15700 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15701
15702         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
15703
15704 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15705
15706         * lib/memrchr.h: New file.
15707         * lib/chdir-long.c: Include it.
15708         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
15709         Don't bother including stddef.h.
15710
15711 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
15712
15713         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
15714         inclusion.
15715         Include <sys/types.h>, for dev_t.
15716         (ME_DUMMY, ME_REMOTE): Move from here....
15717         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
15718         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
15719         Dmitry V. Levin.
15720         Include mountlist.h first, to test the interface.
15721
15722 2005-01-29  Bruno Haible  <bruno@clisp.org>
15723
15724         * lib/progname.c (program_name): Initialize.
15725         Needed when linking statically on MacOS X.
15726
15727 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
15728
15729         Sync from coreutils.
15730         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
15731         (Depends-on): Add c-strtod.
15732         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
15733
15734 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
15735
15736         Sync from coreutils.
15737         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
15738
15739         Remove files that are specific to coreutils.
15740         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
15741
15742 2005-01-28  Bruno Haible  <bruno@clisp.org>
15743
15744         * modules/javacomp: New file.
15745         * MODULES.html.sh (Java): Add javacomp.
15746
15747 2005-01-28  Bruno Haible  <bruno@clisp.org>
15748
15749         * m4/javacomp.m4: New file, from GNU gettext.
15750
15751 2005-01-28  Bruno Haible  <bruno@clisp.org>
15752
15753         * lib/javacomp.sh.in: New file, from GNU gettext.
15754         * lib/javacomp.h: New file, from GNU gettext.
15755         * lib/javacomp.c: New file, from GNU gettext.
15756
15757 2005-01-26  Simon Josefsson  <jas@extundo.com>
15758
15759         * lib/gai_strerror.c: Use GPL in header.
15760
15761 2005-01-26  Bruno Haible  <bruno@clisp.org>
15762
15763         * modules/javaexec: New file.
15764         * MODULES.html.sh (Java): Add javaexec.
15765
15766 2005-01-26  Bruno Haible  <bruno@clisp.org>
15767
15768         * m4/javaexec.m4: New file, from GNU gettext.
15769
15770 2005-01-26  Bruno Haible  <bruno@clisp.org>
15771
15772         * lib/javaexec.sh.in: New file, from GNU gettext.
15773         * lib/javaexec.h: New file, from GNU gettext.
15774         * lib/javaexec.c: New file, from GNU gettext.
15775
15776 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15777
15778         * modules/lchown (Depends-on): Remove lchown.h
15779
15780 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15781
15782         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
15783         must be defined if the header file was not found, in order
15784         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
15785
15786 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15787
15788         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
15789         initializers for struct pentry_state.
15790         (__argp_error): Check return value of __asprintf
15791         (__argp_failure): Translate error message
15792
15793         * lib/argp-parse.c: Removed braces around the expansion of N_()
15794
15795 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15796
15797         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
15798         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
15799         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
15800         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
15801         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
15802         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
15803         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
15804         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
15805         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
15806         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
15807         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
15808         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
15809         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
15810         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
15811         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
15812         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
15813         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
15814         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
15815         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
15816         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
15817         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
15818         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
15819         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
15820         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
15821         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
15822         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
15823         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
15824         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
15825         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
15826         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
15827         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
15828         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
15829         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
15830         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
15831         xstrtol.m4, xstrtoumax.m4, yesno.m4:
15832         Use an all-permissive copyright notice, recommended by RMS.
15833
15834 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
15835
15836         * modules/chdir-long (Depends-on): Remove mempcpy.
15837
15838 2005-01-21  Jim Meyering  <jim@meyering.net>
15839
15840         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
15841         same value as for Solaris 9.
15842
15843         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
15844         component length.  This included changing the parameter to be
15845         of type `char *' rather than `char const *'.
15846         * lib/chdir-long.h (chdir_long): Update prototype.
15847
15848         * lib/openat.c (fdopendir, fstatat): New functions.
15849         * lib/openat.h: Include headers required for use of DIR and struct
15850         stat.
15851         [AT_SYMLINK_NOFOLLOW]: Define.
15852         (fdopendir, fstatat): Add prototypes.
15853
15854 2005-01-21  Bruno Haible  <bruno@clisp.org>
15855
15856         * modules/classpath: New file.
15857         * MODULES.html.sh (Java): Add classpath.
15858
15859 2005-01-21  Bruno Haible  <bruno@clisp.org>
15860
15861         * lib/classpath.h: New file, from GNU gettext.
15862         * lib/classpath.c: New file, from GNU gettext.
15863
15864 2005-01-20  Simon Josefsson  <jas@extundo.com>
15865
15866         * modules/version-etc-fsf: New file.
15867
15868 2005-01-20  Simon Josefsson  <jas@extundo.com>
15869
15870         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
15871         * lib/version-etc.c: Remove version_etc_copyright.
15872         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
15873         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
15874
15875 2005-01-20  Simon Josefsson  <jas@extundo.com>
15876
15877         * lib/base64.h (isbase64): Add.
15878
15879         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
15880         using a unsigned prototype, don't inline.
15881         (base64_decode): Use it.
15882
15883 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15884
15885         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
15886         it.
15887
15888 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15889
15890         * lib/save-cwd.c (save_cwd): Remove code to support the case
15891         where fchdir is missing or flaky.
15892
15893 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15894
15895         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
15896
15897 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
15898
15899         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
15900         AC_LIBSOURCES now does this.
15901         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
15902         with new ullong_max module.
15903
15904 2005-01-19  Bruno Haible  <bruno@clisp.org>
15905
15906         * modules/sh-quote: New file.
15907         * MODULES.html.sh (Executing programs): Add sh-quote.
15908
15909 2005-01-19  Bruno Haible  <bruno@clisp.org>
15910
15911         * lib/sh-quote.h: New file, from GNU gettext.
15912         * lib/sh-quote.c: New file, from GNU gettext.
15913
15914 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15915
15916         Merge from coreutils.
15917         * m4/ullong_max.m4: New file.
15918         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
15919         (gl_MACROS): Assume localeconv exists.
15920
15921 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15922
15923         Merge changes from coreutils, as described below in several
15924         changelogs dated today.
15925
15926         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
15927         (O_DIRECTORY): Remove; not needed here, since "." must be
15928         a directory.  All uses removed.
15929         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
15930         universal on Suns, and we also need to test for IRIX.
15931         Revamp code to use 'if' rather than '#if'.
15932         Avoid unnecessary comparison of cwd->desc to 0.
15933
15934         * lib/utimens.c (futimens): Robustify the previous patch, by checking
15935         for known valid error numbers rather than observed invalid ones.
15936
15937 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15938
15939         * modules/ullong_max: New file.
15940
15941         * modules/chdir-long, modules/openat: New files.
15942         * modules/save-cwd (Depends-on): Depend on chdir-long.
15943         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
15944
15945 2005-01-18  Jim Meyering  <jim@meyering.net>
15946
15947         Merge from coreutils.
15948         * m4/chdir-long.m4, m4/openat.m4: New files.
15949         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
15950         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
15951         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
15952         is sane and DOES follow symlinks.  Besides, testing 20 different
15953         systems found no broken chown implementations.
15954         Prompted by a change in rsync's copy of this macro.
15955         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
15956
15957         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
15958
15959         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
15960         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
15961         NULL-means-set-to-current-time semantics.
15962         Remove temporary file immediately, rather than waiting
15963         for configure's at-exit trap code to do it.
15964
15965 2005-01-18  Jim Meyering  <jim@meyering.net>
15966
15967         * lib/version-etc.c (version_etc_copyright): Update copyright date.
15968
15969         * lib/utimens.c (futimens): Account for the fact that futimes
15970         can also fail with errno == ENOSYS or errno == ENOENT.
15971         Patch from Dmitry V. Levin.
15972
15973         Change the name of the robust chdir function from chdir to chdir_long.
15974         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
15975         (restore_cwd): Use chdir_long, not chdir.
15976         * lib/chdir-long.c: Renamed from chdir.c.
15977         * lib/chdir-long.h: Renamed from chdir.h.
15978         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
15979         Hurd.
15980
15981 2005-01-18  Bruno Haible  <bruno@clisp.org>
15982
15983         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
15984         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
15985         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
15986         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
15987         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
15988         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
15989         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
15990         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
15991         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
15992         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
15993         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
15994         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
15995         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
15996         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
15997         Use an all-permissive copyright notice, recommended by RMS.
15998
15999 2005-01-18  Bob Proulx  <bob@proulx.com>
16000
16001         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
16002         simplify offsetof() macro construct to avoid compile failure with
16003         native HP-UX 11.0 ANSI C compiler.
16004
16005 2005-01-17  Bruno Haible  <bruno@clisp.org>
16006
16007         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
16008         redundant because stpncpy.m4 takes care of it.
16009
16010 2005-01-17  Bruno Haible  <bruno@clisp.org>
16011
16012         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
16013
16014 2005-01-17  Bruno Haible  <bruno@clisp.org>
16015
16016         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
16017         used.
16018
16019 2005-01-17  Bruno Haible  <bruno@clisp.org>
16020
16021         * lib/fwriteerror.h (fwriteerror): Change specification to include
16022         fclose.
16023         * lib/fwriteerror.c: Include <stdbool.h>.
16024         (fwriteerror): At the end, close the file stream. Record whether
16025         stdout was already closed.
16026
16027 2005-01-17  Bruno Haible  <bruno@clisp.org>
16028
16029         * lib/execute.c (environ): Declare if needed.
16030         * lib/pipe.c (environ): Likewise.
16031         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
16032
16033 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16034
16035         * modules/argp: Depend on vsnprintf
16036
16037 2005-01-10  Jim Meyering  <jim@meyering.net>
16038
16039         * modules/closeout (Depends-on): Add atexit.
16040
16041 2005-01-06  Bruno Haible  <bruno@clisp.org>
16042
16043         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
16044
16045 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
16046
16047         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
16048         definitions to be after all include files, to avoid collisions.
16049         Problem reported by Bob Proulx.
16050
16051 2005-01-04  Jim Meyering  <jim@meyering.net>
16052
16053         Changes imported from coreutils.
16054         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
16055         as the mkstemp template, use a temporary directory and an
16056         8.3-friendly template to avoid trouble on systems like DJGPP.
16057         Reported by Juan M. Guerrero via Stepan Kasal.
16058         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
16059         close. Remove the temporary directory right away, rather than waiting
16060         for configure's at-exit trap code to do it.
16061         Suggestion from Stepan Kasal.
16062
16063 2005-01-01  Simon Josefsson  <jas@extundo.com>
16064
16065         * gnulib-tool: Print #include directives when --import'ing.
16066
16067 2004-12-28  Simon Josefsson  <jas@extundo.com>
16068
16069         * tests/test-base64.c: Include required header files.  Remove
16070         unused variables.
16071
16072 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16073
16074         * modules/error (Depends-on): Remove gettext.
16075
16076 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16077
16078         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
16079         not needed.  This removes a dependency on the gettext module.
16080         [defined _LIBC]: Do not include <libintl.h>; not needed.
16081
16082 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
16083
16084         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
16085         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
16086
16087 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
16088
16089         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
16090         HAVE_DECL_STRTOLD.
16091
16092 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16093
16094         * modules/getdate (Depends-on): Remove alloca-opt.
16095
16096 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16097
16098         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
16099
16100 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16101
16102         * lib/argp-parse.c: Include <stddef.h>.
16103         (alignof, alignto): New macros.
16104         (parser_init): Don't assume that void * is aligned sufficiently
16105         for struct option.
16106
16107         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
16108         need to extend the stack.
16109         (YYINITDEPTH): New macro, so that the initial stack isn't overly
16110         large.
16111
16112 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16113
16114         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
16115
16116 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16117
16118         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
16119         (2004-10-24) change.  Apparently this was a false alarm.
16120
16121         * modules/getdate: Depend on alloca-opt, not alloca.
16122
16123 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16124
16125         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
16126         Remove now-obsolete comment about AIX.
16127         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
16128         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
16129         (YYMAXDEPTH): New macro.
16130
16131 2004-12-18  Simon Josefsson  <jas@extundo.com>
16132
16133         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
16134
16135 2004-12-18  Bruno Haible  <bruno@clisp.org>
16136
16137         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
16138
16139 2004-12-18  Bruno Haible  <bruno@clisp.org>
16140
16141         * lib/fatal-signal.c (fatal_signals): Make non-const.
16142         (init_fatal_signals): New function.
16143         (uninstall_handlers, install_handlers): Ignore signals that were set to
16144         SIG_IGN.
16145         (at_fatal_signal): Call init_fatal_signals.
16146         (init_fatal_signal_set): Likewise. Ignore signals that were set to
16147         SIG_IGN.
16148         Reported by Paul Eggert.
16149
16150 2004-12-18  Bruno Haible  <bruno@clisp.org>
16151
16152         * doc/alloca.texi: New file.
16153         * doc/alloca-opt.texi: New file.
16154
16155 2004-12-17  Jim Meyering  <jim@meyering.net>
16156
16157         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
16158         Otherwise, install-sh could exit with improper exit status when
16159         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
16160
16161 2004-12-16  Simon Josefsson  <jas@extundo.com>
16162
16163         * tests/test-base64.c: Add license.
16164
16165 2004-12-15  Stepan Kasal  <address@hidden>
16166
16167         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
16168
16169 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
16170
16171         * modules/getcwd (Files): Add m4/d-ino.m4.
16172         Suggested by Mark D. Baushke.
16173
16174 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16175
16176         * lib/getdate.y (textint): New member "negative".
16177         (time_zone_hhmm): New function.
16178         Expect 14 shift-reduce conflicts, not 13.
16179         (o_colon_minutes): New rule.
16180         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
16181         (yylex): Set the "negative" member of signed numbers.
16182
16183 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16184
16185         * doc/getdate.texi (Time of day items, Time zone items):
16186         Describe new formats +00:00, UTC+00:00.
16187
16188 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16189
16190         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
16191         spurious "-l"s.  Problem reported by Stepan Kasal.
16192
16193 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
16194
16195         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
16196         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
16197
16198 2004-12-04  Simon Josefsson  <jas@extundo.com>
16199
16200         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
16201         Vandoorselaere <yoann@prelude-ids.org>.
16202
16203 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16204
16205         Changes imported from coreutils.
16206         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
16207         exist.
16208         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
16209
16210 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16211
16212         Changes imported from coreutils.
16213         * lib/hard-locale.c: Assume <locale.h> exists.
16214         Include "strdup.h".
16215         (GLIBC_VERSION): New macro.
16216         (hard_locale): Assume setlocale exists.
16217         Rewrite to avoid #ifdef.
16218         Use strdup rather than malloc + strcpy.
16219         * lib/human.c: Assume <locale.h> exists.
16220         (human_readable): Assume localeconv exists.
16221
16222 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16223
16224         * modules/hard-locale (Depends-on): Add strdup.
16225
16226 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
16227
16228         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
16229         convert T2, not T.  (Imported from libc.)
16230
16231 2004-11-30  Simon Josefsson  <jas@extundo.com>
16232
16233         * modules/restrict (License): Change to LGPL.
16234
16235 2004-11-30  Simon Josefsson  <jas@extundo.com>
16236
16237         * m4/restrict.m4: Add copyright and copying conditions.
16238
16239 2004-11-30  Simon Josefsson  <jas@extundo.com>
16240
16241         * m4/base64.m4: New file.
16242
16243 2004-11-30  Simon Josefsson  <jas@extundo.com>
16244
16245         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
16246         base64.
16247
16248         * tests/test-base64.c: New file.
16249
16250         * modules/base64: New file.
16251
16252 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16253
16254         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
16255         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
16256
16257         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
16258
16259 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16260
16261         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
16262         (__getcwd.c): Don't restore errno; glibc doesn't.
16263         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
16264         first, falling back to our code only if its results look suspicious.
16265         Ensure that the resulting buffer is only as large as necessary.
16266
16267         * lib/readutmp.c: Include readutmp.h first.
16268         Include <errno.h>, since readutmp.h no longer does that.
16269         * lib/readutmp.h: Don't include <errno.h>,
16270         <sys/param.h>, <time.h>; not needed to establish interface.
16271         (errno): Remove decl.
16272         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
16273         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
16274         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
16275
16276 2004-11-28  Simon Josefsson  <jas@extundo.com>
16277
16278         * lib/base64.h, base64.c: New file.
16279
16280 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
16281
16282         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
16283
16284 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
16285
16286         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
16287         (Depends-on): Remove pathmax, same.  Add mempcpy.
16288         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
16289         (Makefile.am): Append getcwd.h to lib_SOURCES.
16290         (Include): Add getcwd.h.
16291         (Maintainer): Change from Jim Meyering to "all, glibc",
16292         since getdate now uses intended-for-glibc code.
16293         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
16294         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
16295
16296 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16297
16298         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
16299         HP's ANSI C compiler.
16300         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
16301         Declaring int functions causes warnings on some modern systems and
16302         shouldn't be needed to compile on ancient ones.
16303         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
16304         defined.
16305
16306         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
16307         with the following changes.
16308         (__set_errno): Parenthesize properly.
16309         Include <stdbool.h>.
16310         (MIN, MAX, MATCHING_INO): New macros.
16311         (__getcwd): Define with prototype, not K&R form.
16312         Use heuristics to allocate default buffer on stack if possible.
16313         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
16314         behavior, and to avoid the PATH_MAX limit when computing
16315         ../../../../...
16316         Use MATCHING_INO to compare inode number to file.
16317         Check for arithmetic overflow in size calculations.
16318         Fix bug in reallocation of dot array that caused getcwd to fail
16319         on directories nested deeper than 75.
16320         Be more careful about saving errno on error.
16321         Do not use realloc; use only free+malloc, as this is a bit
16322         more flexible and avoids a needless copy operation.
16323         Do not inspect st_dev and st_ino for symbolic links; POSIX
16324         doesn't specify the latter.
16325         Check for closedir errors.
16326         Avoid needless casts.
16327         Use "#ifdef weak_alias" around weak_alias, to be like other
16328         glibc code.
16329         The following changes to getcwd.c have effect only when used in
16330         gnulib; they have no effect inside glibc proper.
16331         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
16332         as alloca isn't used.
16333         (alloca, __alloca): Likewise.
16334         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
16335         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
16336         unconditionally, as gnulib assumes C89 or better.
16337         Do not include <sys/param.h>.
16338         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
16339         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
16340         better.
16341         (NULL) [!defined NULL]: Remove; we assume C89 or better.
16342         Include <dirent.h> in a way that is compatible with modern Autoconf.
16343         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
16344         New macros, if not already defined.
16345         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
16346         Use "_LIBC", not "defined _LIBC", for consistency.
16347         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
16348         a mempcpy module.
16349         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
16350         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
16351         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
16352         credit only to Jim Meyering and adjust the copyright dates.
16353         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
16354         <stdlib.h>, <unistd.h>, "pathmax.h".
16355         Instead, include "xgetcwd.h" (first) and "getcwd.h".
16356         (INITIAL_BUFFER_SIZE): Remove.
16357         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
16358
16359 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16360
16361         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
16362         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
16363         Use the _ONCE methods, for efficiency.
16364         Check for fcntl.h.  In test program, include <errno.h>
16365         and <fcntl.h> if available.  Remove old K&R cruft from
16366         test program.  Check for common errors in GNU/Linux,
16367         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
16368         don't do AC_LIBOBJ, as that's getcwd.m4's job.
16369         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
16370         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
16371         name accordingly.
16372         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
16373         accommodate new getcwd.c.
16374         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
16375         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
16376         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
16377         that's all we need now.
16378
16379 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16380
16381         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
16382         argp-parse.c depends on getopt internals, that means we should
16383         always use our getopt, to be on the safe side.
16384         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
16385         order not to spoil the result of an eventual previous invocation
16386         of gl_GETOPT_SUBSTITUTE.
16387
16388 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16389
16390         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
16391         redefinition warnings. To avoid them, include the defines
16392         in `#if !defined __need_getopt ... #endif'. The only place
16393         where __getopt_argv_const is used is in definitions
16394         of getopt_long and getopt_long_only below, which are as well
16395         protected by `#ifndef __need_getopt'.
16396         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
16397         __need_getopt after including <stdio.h> and <unistd.h> These
16398         headers might have defined it.
16399
16400 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
16401
16402         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
16403
16404 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
16405
16406         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
16407         (futimens): New function, which uses futimes if available.
16408         (futimens, utimens): Support timespec==NULL, with same semantics
16409         as utime and utimens.
16410         * lib/utimens.h (futimens): New decl.
16411
16412 2004-11-23  Jim Meyering  <jim@meyering.net>
16413
16414         * lib/getopt_.h: Remove trailing blanks.
16415
16416 2004-11-23  Jim Meyering  <jim@meyering.net>
16417
16418         * lib/__fpending.c: Add comment.
16419
16420 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
16421
16422         * modules/canonicalize (Depends-on): Add xreadlink.
16423         Problem reported by James Youngman.
16424
16425 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
16426
16427         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
16428         New macros.
16429         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
16430         optopt): Use them instead of invoking ## directly; otherwise, the
16431         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
16432
16433 2004-11-19  Bruno Haible  <bruno@clisp.org>
16434
16435         * lib/strtok_r.c: Move comments from here...
16436         * lib/strtok_r.h: ... to here.
16437
16438 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16439
16440         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
16441         implementations that mishandle size_t overflow.
16442
16443 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16444
16445         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
16446         might fail.  Problem reported by Yoann Vandoorselaere.
16447         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
16448         implementations that mishandle size_t overflow.
16449
16450 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16451
16452         * modules/canon-host (Depends-on): Add strdup.
16453
16454 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16455
16456         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
16457
16458 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16459
16460         * lib/canon-host.c: Include "strdup.h".
16461         (canon_host): Use getaddrinfo if available, so that IPv6 works.
16462         Use strdup instead of malloc/strcpy to duplicate strings.
16463
16464         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
16465         (human_space_before_unit): New constant.
16466         * lib/human.c (human_readable): Support it.
16467
16468         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
16469         (xgetcwd): Set errno correctly when failing.
16470         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
16471         the failure is actually due to a PATH_MAX problem.
16472
16473         Further getopt changes to make it more likely that glibc will
16474         buy the changes back.
16475         * lib/getopt.c (POSIXLY_CORRECT): New constant.
16476         (getopt): Use it, so to preserve glibc semantic
16477         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
16478         when compiling for libc.
16479         * lib/getopt_.h (__getopt_argv_const): Bring it back.
16480         (getopt_long, getopt_long_only): Use it.
16481
16482         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
16483         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
16484         (getopt): Argv is now char * const *, as per standard.
16485         (_getopt_internal_r, _getopt_internal): Argv is now char **,
16486         not char *__getopt_argv_const *.
16487         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
16488         _getopt_long_only_r): Likewise.
16489         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
16490         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
16491         _getopt_long_r, _getopt_long_only_r): Likewise.
16492         * lib/getopt_.h (__getopt_argv_const): Remove.
16493         (getopt): Argv is now char * const *, as per standard.
16494
16495         * lib/getdate.y (tORDINAL): New token.
16496         (day, relunit): Allow it for relative times.
16497         (relative_time_table): Use tORDINAL for ordinals.
16498
16499 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16500
16501         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
16502         Document that "second" isn't allowed as an ordinal number.
16503
16504 2004-11-16  Jim Meyering  <jim@meyering.net>
16505
16506         * modules/closeout (Depends-on): Add fpending.
16507
16508 2004-11-15  Jim Meyering  <jim@meyering.net>
16509
16510         * lib/closeout.c: Include "__fpending.h" once again.
16511         Include <stdbool.h>.
16512         (close_stdout): Don't fail just because stdout was closed initially,
16513         since some programs don't write to stdout in the normal course of
16514         operation (other than --version and --help), and we don't want this
16515         function to make e.g. `touch file >&-' fail.
16516         But do fail if it was closed and someone has tried to write to it.
16517         E.g., `printf foo >&-' must fail.
16518
16519 2004-11-13  Jim Meyering  <jim@meyering.net>
16520
16521         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
16522
16523 2004-11-12  Simon Josefsson  <jas@extundo.com>
16524
16525         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
16526         small doc fix is still pending.
16527
16528 2004-11-11  Simon Josefsson  <jas@extundo.com>
16529
16530         * modules/strtok_r: New file.
16531
16532         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16533         strtok_r.
16534
16535 2004-11-11  Simon Josefsson  <jas@extundo.com>
16536
16537         * m4/strtok_r.m4: New file.
16538
16539         * m4/getopt.m4: Replace opterr.
16540
16541 2004-11-11  Simon Josefsson  <jas@extundo.com>
16542
16543         * lib/strtok_r.h, strtok_r.c: New file.
16544
16545 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16546
16547         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
16548         of replacing opterr, getopt, etc.  This should handle the
16549         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
16550
16551 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16552
16553         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
16554         we can stop lying to compilers about the constness of argv when we
16555         are compiled outside glibc.
16556         (getopt, getopt_long, getopt_long_only): Use it.
16557         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
16558         _getopt_internal, getopt): Likewise.
16559         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
16560         _getopt_long_only_r): Likewise.
16561         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
16562         _getopt_long_r, _getopt_long_only_r): Likewise.
16563
16564         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
16565         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
16566         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
16567         the other external symbols.
16568         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
16569         declaration, since the above renaming now works around collisions.
16570
16571 2004-11-11  Jim Meyering  <jim@meyering.net>
16572
16573         * lib/linebreak.c: Remove trailing blanks.
16574         * lib/alloca_.h: Likewise.
16575         * lib/acosl.c: Likewise.
16576         * lib/euidaccess.c: Likewise.
16577         * lib/allocsa.h: Likewise.
16578
16579 2004-11-10  Simon Josefsson  <jas@extundo.com>
16580
16581         * m4/getaddrinfo.m4: New file.
16582
16583 2004-11-10  Simon Josefsson  <jas@extundo.com>
16584
16585         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
16586
16587 2004-11-10  Simon Josefsson  <jas@extundo.com>
16588
16589         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16590         getaddrinfo.
16591
16592         * modules/getaddrinfo: New file.
16593
16594 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16595
16596         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
16597
16598 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16599
16600         * lib/mktime.c (SHR): New macro, which is a portable
16601         substitute for >> that should work even on Crays.
16602         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
16603         Problem reported by Mark D. Baushke in
16604         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
16605         * lib/getdate.y (SHR): Likewise.
16606         (tm_diff): Use it.
16607         * lib/strftime.c (SHR): Likewise.
16608         (tm_diff): Use it.
16609         * lib/quotearg.c (struct quoting_options): Use unsigned int for
16610         quote_these_too, so that right shifts are well defined.  All uses
16611         changed.
16612
16613 2004-11-10  Jim Meyering  <jim@meyering.net>
16614
16615         Ensure that no close failure goes unreported.
16616         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
16617         return early when it seems there's nothing to flush.
16618         Don't include __fpending.h.
16619
16620 2004-11-10  Jim Meyering  <jim@meyering.net>
16621
16622         * modules/closeout (Depends-on): Remove fpending.
16623
16624 2004-11-10  Jim Meyering  <jim@meyering.net>
16625
16626         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
16627
16628 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16629
16630         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
16631         gl_FUNC_STRFTIME.
16632         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
16633         and AC_REQUIRE when possible, to avoid duplicate checks.
16634         Check for <wchar.h>.
16635
16636 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16637
16638         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
16639
16640 2004-11-09  Bruno Haible  <bruno@clisp.org>
16641
16642         * m4/sockpfaf.m4: New file.
16643
16644 2004-11-05  Bruno Haible  <bruno@clisp.org>
16645
16646         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
16647         Reported by Mark D. Baushke <mdb@cvshome.org>.
16648
16649 2004-11-04  Bruno Haible  <bruno@clisp.org>
16650
16651         2004-09-11  Bruno Haible  <bruno@clisp.org>
16652                 * allocsa.valgrind: New file.
16653         2004-02-06  Bruno Haible  <bruno@clisp.org>
16654                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
16655                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
16656                 Reported by Christopher Seip <chris.seip@hp.com>.
16657
16658 2004-11-04  Bruno Haible  <bruno@clisp.org>
16659
16660         * modules/allocsa (Files): Add lib/allocsa.valgrind.
16661         (Makefile.am): Distribute it.
16662
16663 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16664
16665         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
16666         with errno == ERANGE if the buffer is too small.
16667         Problem reported by Mark D. Baushke.
16668
16669 2004-11-03  Albert Chin  <china@thewrittenword.com>
16670             Paul Eggert  <eggert@cs.ucla.edu>
16671
16672         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
16673         equivalent, substitute $ac_type for equivalent type rather than
16674         blindly using uint32_t *always* which won't work if uint32_t is not
16675         available.  Define _UINT32_T to work around typedef of uint32_t if
16676         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
16677         2.5.1.
16678
16679 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16680
16681         * m4/jm-macros.m4: Sync from coreutils.
16682         (gl_MACROS): Check for mbrlen, for pathchk.
16683         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
16684
16685 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16686
16687         * lib/xreadlink.c (MAXSIZE): New macro.
16688         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
16689         size does not exceed MAXSIZE.  Avoid cast.
16690         As suggested by Mark D. Baushke in
16691         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
16692         if readlink fails with buffer size just under MAXSIZE, try again
16693         with MAXSIZE.
16694
16695 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16696
16697         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
16698
16699 2004-11-02  Derek R. Price  <derek@ximbiot.com>
16700         and  Paul Eggert  <eggert@cs.ucla.edu>
16701
16702         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
16703         (get_date): Overparenthesize to avoid GCC warning.
16704
16705 2004-11-02  Bruno Haible  <bruno@clisp.org>
16706
16707         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
16708         returns void.
16709
16710 2004-11-02  Bruno Haible  <bruno@clisp.org>
16711
16712         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
16713         function returns void.
16714
16715 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
16716
16717         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
16718         fflush_unlocked, flockfile, funlockfile, funlockfile,
16719         fputs_unlocked, putc_unlocked.
16720
16721 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
16722
16723         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
16724         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
16725         already declared.
16726
16727 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16728
16729         * modules/getdate (Files): Add doc/getdate.texi.
16730         (Depends-on): Add setenv, xalloc.
16731
16732 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16733
16734         * lib/getdate.y: Add support for TZ="foo" within a date string.
16735         Fix some bugs near time_t boundaries.  Reject dates with
16736         out-of-range components, e.g., "Sept 31".
16737         Include <stdlib.h>, "setenv.h", "xalloc.h".
16738         (ISDIGIT_LOCALE): Remove; unused.
16739         Note that the TZ and time functions used here are not reentrant.
16740         (mktime_ok, get_tz): New functions.
16741         (TZBUFSIZE): New constant.
16742         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
16743         This requires that we sometimes generate our own TZ="XXX..." setting.
16744
16745 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16746
16747         * doc/getdate.texi: New file, from coreutils with modifications for
16748         the new TZ parsing.
16749
16750 2004-10-27  Derek R. Price  <derek@ximbiot.com>
16751
16752         * lib/mktime.c (not_equal_tm): Remove redundant check.
16753
16754 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16755
16756         * modules/regex (lib_SOURCES): Add regex.c.
16757         Reported by James Youngman in
16758         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
16759
16760 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16761
16762         * lib/getdate.y: Use Bison 1.875 features, and some minor
16763         code cleanups.  This change does not affect semantics.
16764         Don't include <stdlib.h>; no longer needed.
16765         Don't include unlocked-io.h; only the "#if TEST" code uses
16766         stdio, and performance isn't crucial there.
16767         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
16768         Bison 1.875 features as described below.
16769         All uses of "PC." replaced by "pc->".
16770         (YYSTYPE): Add a forward declaration.
16771         (yylex, yyerror): Use full prototypes in forward decls.
16772         Use "%pure-parser" rather than obsolescent "%pure_parser".
16773         Use %parse-param and %lex-param instead of obsolescent
16774         YYPARSE_PARAM and YYLEX_PARAM.
16775         (meridian_table, month_and_day_table, time_units_table,
16776         relative_time_table, time_zone_table, military_table,
16777         lookup_zone, lookup_word, get_date):
16778         Use NULL instead of 0 where appropriate.
16779         (to_hour): Avoid abort (), to avoid a dependency on
16780         stdlib.h.
16781         (yyerror, yylex): Now accepts parser_control * arg.
16782         (main) [TEST]: Use '\0' rather than 0 for char.
16783
16784 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
16785
16786         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
16787
16788 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
16789
16790         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
16791         It's now the caller's responsibility to handle the case where
16792         !HAVE_GETPAGESIZE && !defined getpagesize.
16793
16794         * lib/mktime.c (leapyear): Arg is long int, not int.
16795
16796 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
16797
16798         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
16799
16800 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
16801
16802         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
16803         missing.  Problem reported by James Youngman.
16804
16805 2004-10-16  Simon Josefsson  <jas@extundo.com>
16806
16807         * gnulib-tool: Fix comments.  Fix parse problem.
16808         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
16809
16810 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
16811
16812         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
16813         implementation of getopt_long.  Problem reported by Alexander Taler in:
16814         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
16815
16816 2004-10-15  Bruno Haible  <bruno@clisp.org>
16817
16818         * gnulib-tool: Untabify. Initialize supplied_libname.
16819         (func_usage): More homogenous output.
16820         (func_modules_transitive_closure, func_modules_to_filelist,
16821         func_emit_lib_Makefile_am): New functions.
16822         (func_import): New function, extracted from big case statement. Use
16823         func_get_license, func_modules_transitive_closure,
16824         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
16825         opt_lgpl. Don't use test -a, as it's not portable.
16826         (func_create_testdir): Use func_modules_transitive_closure,
16827         func_modules_to_filelist, func_emit_lib_Makefile_am.
16828
16829 2004-10-15  Bruno Haible  <bruno@clisp.org>
16830
16831         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
16832
16833 2004-10-15  Bruno Haible  <bruno@clisp.org>
16834
16835         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
16836         the portions belonging to each module.
16837         Suggested by Derek Robert Price <derek@ximbiot.com>.
16838
16839 2004-10-12  Simon Josefsson  <jas@extundo.com>
16840
16841         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
16842         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
16843         to real functions.
16844
16845 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16846
16847         * modules/vsnprintf: New file.
16848
16849 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16850
16851         * m4/vsnprintf.m4: New file.
16852
16853 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16854
16855         * lib/vsnprintf.h: New file.
16856         * lib/vsnprintf.c: New file.
16857
16858 2004-10-11  Bruno Haible  <bruno@clisp.org>
16859
16860         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
16861         vsnprintf.
16862
16863 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16864
16865         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
16866
16867 2004-10-07  Bruno Haible  <bruno@clisp.org>
16868
16869         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
16870         fits into the provided buffer.
16871
16872 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
16873
16874         * lib/diacrit.c, diacrit.h: Add GPL notice.
16875
16876         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
16877         notice.
16878         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
16879         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
16880         This avoids a potential constant-folding bug.
16881
16882 2004-10-05  Bruno Haible  <bruno@clisp.org>
16883
16884         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
16885         for the declaration of strsep.
16886
16887 2004-10-05  Bruno Haible  <bruno@clisp.org>
16888
16889         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
16890
16891 2004-10-04  Simon Josefsson  <jas@extundo.com>
16892
16893         * modules/memmem: New file.
16894         * tests/test-memmem.c: New file.
16895         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
16896
16897 2004-10-04  Simon Josefsson  <jas@extundo.com>
16898
16899         * m4/memmem.m4: New file.
16900
16901 2004-10-04  Simon Josefsson  <jas@extundo.com>
16902
16903         * lib/memmem.h: New file.
16904         * lib/memmem.c: New file, taken from glibc.
16905
16906 2004-10-04  Simon Josefsson  <jas@extundo.com>
16907
16908         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
16909         '#ifdef USE_UNLOCKED_IO'.
16910
16911 2004-10-04  Simon Josefsson  <jas@extundo.com>
16912
16913         * config/srclist.txt: Add memmem from glibc.
16914
16915 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16916
16917         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
16918
16919         * modules/argmatch, modules/argp, modules/closeout, modules/error,
16920         modules/exclude, modules/getdate, modules/getline,
16921         modules/getndelim2, modules/getpass, modules/getpass-gnu,
16922         modules/getusershell, modules/linebuffer, modules/md5,
16923         modules/mountlist, modules/posixtm, modules/readtokens,
16924         modules/readutmp, modules/regex, modules/sha1,
16925         modules/version-etc, modules/yesno:
16926         Remove dependency on unlocked-io.
16927
16928 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16929
16930         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
16931
16932         * m4/unlocked-io.m4: Add copyright notice.
16933         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
16934
16935 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16936
16937         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
16938         * lib/xmalloc.c (xmemdup): Likewise.
16939         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
16940         XFREE): Remove these long-obsolescent macros.
16941         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
16942         * lib/xstrdup.c: Remove.
16943
16944         * lib/regex.c (re_comp): Cast gettext return value to char *,
16945         Problem reported by Martin Neitzel via Mark D. Baushke.
16946
16947 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16948
16949         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
16950         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
16951         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
16952         regex.c, sha1.c, version-etc.c, yesno.c:
16953         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
16954         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
16955         the includer's responsibility.
16956
16957         Sync from coreutils.
16958
16959         * lib/modechange.c (mode_compile): Don't decrement a pointer that
16960         points to the start of a string, as the C Standard says the
16961         resulting behavior is undefined.
16962
16963         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
16964         simple -> simple_backups, numbered_existing ->
16965         numbered_existing_backups, numbered -> numbered_backups
16966         to avoid shadowing problems.  All uses changed.
16967         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
16968         * lib/backupfile.c (check_extension, numbered_backup):
16969         Rename locals to avoid shadowing 'basename'.
16970         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
16971         once.
16972
16973         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
16974         * lib/.cvsignore: Add getopt.h.
16975
16976 2004-10-04  Bruno Haible  <bruno@clisp.org>
16977
16978         * modules/README: New file.
16979         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
16980         not a module.
16981
16982 2004-10-02  Jim Meyering  <jim@meyering.net>
16983
16984         * lib/dirfd.h, getpagesize.h: Add copyright notice.
16985
16986 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16987
16988         * modules/strsep: New file.
16989
16990 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16991
16992         * m4/strsep.m4: New file.
16993
16994 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16995
16996         * lib/strsep.h: New file.
16997         * lib/strsep.c: New file.
16998
16999 2004-10-01  Simon Josefsson  <jas@extundo.com>
17000
17001         * lib/snprintf.c (snprintf): Handle size==0.
17002
17003 2004-10-01  Simon Josefsson  <jas@extundo.com>
17004             Bruno Haible  <bruno@clisp.org>
17005
17006         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
17007         (snprintf): Declare 'args'.
17008
17009 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
17010
17011         * lib/snprintf.c: Remove comments as to why each header is needed.
17012
17013 2004-10-01  Bruno Haible  <bruno@clisp.org>
17014
17015         * MODULES.html.sh: Add strsep.
17016
17017 2004-09-30  Simon Josefsson  <jas@extundo.com>
17018
17019         * modules/snprintf: New file.
17020
17021 2004-09-30  Simon Josefsson  <jas@extundo.com>
17022
17023         * m4/snprintf.m4: New file.
17024
17025 2004-09-30  Simon Josefsson  <jas@extundo.com>
17026
17027         * lib/snprintf.h, lib/snprintf.c: New files.
17028
17029 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17030
17031         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
17032         (hol_entry_help): Never translate an empty string.
17033         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
17034         * lib/argp.h (OPTION_NO_TRANS): New option.
17035
17036 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17037
17038         * modules/argp (Maintainer): Replace Simon Josefsson
17039         by Sergey Poznyakoff.
17040
17041 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17042
17043         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
17044         changes merged back into glibc.
17045
17046 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17047
17048         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
17049
17050 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
17051
17052         * lib/xvasprintf.c: Include xalloc.h.
17053         (xvasprintf): Use xalloc_die, not xmalloc_die.
17054
17055 2004-09-29  Bruno Haible  <bruno@clisp.org>
17056
17057         * modules/alloca-opt: New file, derived from modules/alloca.
17058         * modules/allocsa: Depend on alloca-opt instead of alloca.
17059         * modules/setenv: Likewise.
17060         * modules/vasnprintf: Likewise.
17061         * MODULES.html.sh: Add alloca-opt.
17062
17063 2004-09-28  Simon Josefsson  <jas@extundo.com>
17064
17065         * gnulib-tool: New parameter --lgpl, to asseert that modules are
17066         LGPL, and to replace license template from GPL to LGPL.
17067
17068 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
17069
17070         * modules/dummy: Change license to LGPL.
17071
17072 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
17073
17074         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
17075
17076 2004-09-24  Simon Josefsson  <jas@extundo.com>
17077
17078         * modules/minmax (License): Change from GPL to LGPL.
17079
17080 2004-09-23  Simon Josefsson  <jas@extundo.com>
17081
17082         * gnulib-tool (--import): Typo.
17083
17084 2004-09-23  Simon Josefsson  <jas@extundo.com>
17085
17086         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
17087
17088 2004-09-22  Bruno Haible  <bruno@clisp.org>
17089
17090         * modules/*: Add 'License' field.
17091         * gnulib-tool: Accept --extract-license option.
17092         (func_get_license): New function.
17093
17094 2004-09-21  Bruno Haible  <bruno@clisp.org>
17095
17096         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
17097         Reported by Simon Josefsson.
17098
17099 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17100
17101         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
17102         gl_AC_TYPE_LONG_LONG.
17103
17104 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17105
17106         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
17107
17108 2004-09-18  Simon Josefsson  <jas@extundo.com>
17109         and  Paul Eggert  <eggert@cs.ucla.edu>
17110
17111         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
17112         calls with autoreconf.  Define GL_LIB.
17113
17114 2004-09-14  Karl Berry  <karl@gnu.org>
17115
17116         * config/srclist.txt: unsync setenv.c, sigh.
17117
17118 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17119
17120         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
17121         Problem reported by Bruno Haible in:
17122         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
17123
17124 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17125
17126         * config/srclist.txt: Comment out argp-pvh.c.
17127
17128 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17129
17130         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
17131         in case some system header has #define'd it.  Problem reported by
17132         Soeren D. Schulze in
17133         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
17134
17135 2004-09-09  Karl Berry  <karl@gnu.org>
17136
17137         * regex.[ch]: delete from the root.  These were supposed to be
17138                 synced with emacs cvs, but this has not happened for about
17139                 a year, and anyway nothing else uses emacs regex.[ch].
17140                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
17141                 lib/regex[.ch] is untouched.
17142
17143 2004-09-09  Bruno Haible  <bruno@clisp.org>
17144
17145         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
17146
17147 2004-09-09  Bruno Haible  <bruno@clisp.org>
17148
17149         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
17150         modifications.
17151         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
17152
17153 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17154
17155         * modules/xvasprintf: New file.
17156         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
17157
17158 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17159
17160         * lib/xvasprintf.h: New file.
17161         * lib/xvasprintf.c: New file.
17162         * lib/xasprintf.c: New file.
17163
17164 2004-09-08  Bruno Haible  <bruno@clisp.org>
17165
17166         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
17167
17168 2004-09-08  Bruno Haible  <bruno@clisp.org>
17169
17170         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
17171         length is > INT_MAX.
17172         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
17173         more.
17174
17175 2004-09-08  Bruno Haible  <bruno@clisp.org>
17176
17177         * lib/stdint_.h: New file, taken from GNU clisp.
17178
17179 2004-09-08  Bruno Haible  <bruno@clisp.org>
17180             Oskar Liljeblad  <oskar@osk.mine.nu>
17181
17182         * modules/stdint: New file.
17183         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
17184
17185 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17186
17187         Import from coreutils.
17188         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
17189         strings on unbounded length.  alloca's performance benefits aren't
17190         that important here.
17191         (V_STRDUP): Remove.
17192         (parse_with_separator): New function, with most of the internals
17193         of the old parse_user_spec.  Allow user to omit both user and group,
17194         for compatibility with FreeBSD.
17195         Clone only the user name, not the entire spec.
17196         Do not set *uid, *gid unless entirely successful.
17197         Avoid memory leak in some failing cases.
17198         Fix regression for USER.GROUP reported by Dmitry V. Levin in
17199         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
17200         (parse_user_spec): Rewrite to use parse_with_separator.
17201
17202 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17203
17204         * modules/userspec: Don't depend on alloca.
17205
17206 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17207
17208         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
17209
17210 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
17211
17212         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
17213         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
17214         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
17215
17216 2004-08-16  Simon Josefsson  <jas@extundo.com>
17217
17218         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
17219         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
17220         Add --dry-run for --import.
17221         Let user provided command line parameters override configure.ac
17222         settings.
17223
17224 2004-08-12  Simon Josefsson  <jas@extundo.com>
17225
17226         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
17227         as discussed with Paul Eggert in threads rooted at
17228         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
17229         and
17230         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
17231         Before, the test was empty, and relied on ELIDE_CODE in source
17232         code.)
17233         (gl_PREREQ_GETOPT): New macro.
17234         (gl_GETOPT): Use them.
17235
17236 2004-08-12  Simon Josefsson  <jas@extundo.com>
17237
17238         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
17239         * lib/getopt_.h: Renamed from getopt.h.
17240
17241 2004-08-12  Simon Josefsson  <jas@extundo.com>
17242
17243         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
17244         Change default library name from libfoo to libgnu.
17245         Now, if you have a configure.ac that says:
17246                 gl_SOURCE_BASE(gl)
17247                 gl_M4_BASE(gl/m4)
17248                 gl_MODULES(error getopt etcetera)
17249                 gl_INIT
17250         you can import all you need by running:
17251                 ../gnulib/gnulib-tool --import
17252
17253         * modules/getopt (Files): Rename getopt.h to getopt_.h.
17254         (Makefile.am): Rewrite, use logic from argz.
17255         (Include): Use <getopt.h> instead of "getopt.h".
17256
17257 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17258
17259         * modules/argp (Files): Add m4/unlocked-io.m4.
17260         (Depends-on): Add extensions.
17261
17262 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17263
17264         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
17265         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
17266         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
17267         Check for program_invocation_name, program_invocation_short_name,
17268         flockfile, funlockfile, features.h, _getopt_long_only_r.
17269
17270 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17271
17272         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
17273         its complicated substitute.
17274         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
17275         and program_invocation_name.
17276         (__argp_basename) [!_LIBC]: Remove; the only use was
17277         replaced by its body.
17278         (__argp_short_program_name): Change condition from
17279         !defined __argp_short_program_name to
17280         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
17281         to match argp-namefrob.h.
17282         (__argp_failure): Don't assume strerror_r returns char *.
17283         * lib/argp-parse.c (N_): Define unconditionally.
17284         (argp_default_options): Fill out initializers with 0 to avoid
17285         gcc warnings.
17286
17287 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17288
17289         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
17290         getopt1.c.
17291
17292 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17293
17294         Merge from coreutils.
17295
17296         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
17297
17298         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
17299         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
17300
17301 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17302
17303         Merge from coreutils.
17304
17305         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
17306         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
17307         for Reliant Unix 5.43.
17308
17309         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
17310         (union fooround): Use uintmax_t, not long int.
17311         The rest is a merge from libc:
17312         [defined _LIBC]: Include <shlib-compat.h>.
17313         (_obstack) [defined _LIBC]: Remove after 2.3.4.
17314
17315         * lib/settime.c (settime): Recode to avoid warning with
17316         Sun Forte C 6U2.
17317
17318         * lib/strverscmp.c: Convert to UTF-8.
17319
17320 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17321
17322         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
17323         m4/uintmax_t.m4.
17324
17325 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17326
17327         * modules/xalloc-die: New file.
17328         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
17329
17330         * modules/md5 (Files): Add m4/uint32_t.m4.
17331         * modules/sha1: Renamed from modules/sha.
17332         (Files):
17333         Rename lib/sha.h to lib/sha1.h.
17334         Rename lib/sha.c to lib/sha1.c.
17335         Rename m4/sha.m4 to m4/sha1.m4.
17336         (lib_SOURCES): Likewise.
17337         (configure.ac): Rename gl_SHA to gl_SHA1.
17338         (Include): sha.h -> sha1.h.
17339
17340 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17341
17342         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
17343         * m4/sha1.m4: Renamed from sha.m4.
17344         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
17345
17346 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17347
17348         * lib/obstack.h (obstack_empty_p):
17349         Don't assume that chunk->contents is suitably aligned.
17350         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
17351         Likewise. Problem reported by Benno in
17352         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
17353
17354         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
17355         readable.  This could be improved further but it'd take some work.
17356
17357 2004-08-08  Simon Josefsson  <jas@extundo.com>
17358
17359         * modules/xgethostname (Depends-on): Remove exit and error (not
17360         used).
17361
17362         * modules/getpass-gnu: Add getpass.h.
17363         (Depends-on): Add stdbool.
17364         * modules/getpass: Add getpass.h.
17365
17366 2004-08-08  Simon Josefsson  <jas@extundo.com>
17367
17368         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
17369         Check getpass declaration.
17370
17371 2004-08-08  Simon Josefsson  <jas@extundo.com>
17372
17373         * lib/xgethostname.c: Don't include error.h (not used).
17374
17375         * lib/getpass.h: Add.
17376         * lib/getpass.c: Include getpass.h first.
17377
17378 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
17379
17380         * lib/xalloc-die.c: New file.
17381         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
17382         All uses removed.
17383         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
17384         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
17385         xalloc-die.c.
17386         (_, N_, xalloc_die): Move to xalloc-die.c.
17387         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
17388         so that we needn't mess with xalloc_msg_memory_exhausted.
17389
17390         * lib/sha1.h: Renamed from sha.h.
17391         (SHA1_H): Renamed from _SHA_H.
17392         (sha1_ctx): Renamed from sha_ctx.
17393         (sha1_init_ctx): Renamed from sha_init_ctx.
17394         (sha1_process_block): Renamed from sha_process_block.
17395         (sha1_process_bytes): Renamed from sha_process_bytes.
17396         (sha1_finish_ctx): Renamed from sha_finish_ctx.
17397         (sha1_read_ctx): Renamed from sha_read_ctx.
17398         (sha1_stream): Renamed from sha_stream.
17399         (sha1_buffer): Renamed from sha_buffer.
17400         * lib/sha1.c: Likewise; renamed from sha.c.
17401         Do not include <sys/types.h>.
17402         Include <stddef.h> rather than <stdlib.h>.
17403
17404 2004-08-08  Bruno Haible  <bruno@clisp.org>
17405
17406         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
17407         FILESYSTEM_PREFIX_LEN.
17408         * lib/progreloc.c: Likewise.
17409         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
17410
17411 2004-08-06  Simon Josefsson  <jas@extundo.com>
17412
17413         * modules/progname (Depends-on): Don't depend on stdbool.
17414
17415 2004-08-06  Simon Josefsson  <jas@extundo.com>
17416
17417         * modules/getsubopt: New file.
17418         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17419         getsubopt.
17420
17421 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17422
17423         More merge from coreutils.
17424
17425         * m4/utimens.m4, m4/utimecmp.m4: New files.
17426         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
17427         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
17428         prereq.m4, sha.m4: Import changes from coreutils.
17429
17430 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17431
17432         More merge from coreutils.
17433         * modules/raise, modules/readtokens0, modules/utimens:
17434         * modules/utimecmp, module/xnanosleep: New files.
17435         * modules/strftime: Add lib/strftime.h.
17436         Change include from <time.h> to "strftime.h".
17437         * modules/yesno: Add lib/yesno.h.
17438         * modules/backupfile: Remove lib/addext.c.
17439         * modules/euidaccess: Add stat-macros.h.
17440         * modules/canonicalize, modules/euidaccess,
17441         modules/filemode, modules/lchown, modules/makepath,
17442         modules/rmdir, modules/stat: Likewise.
17443
17444 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17445
17446         Merge from tar.
17447         * lib/argp-help.c (make_hol, hol_append): Don't assume that
17448         SIZE_MAX is a valid preprocessor constant.
17449         (__argp_basename): Change from "#ifndef _LIBC"
17450         to "#ifndef __argp_short_program_name", so that
17451         we don't compile these functions for tar.
17452
17453         More merges from coreutils.
17454         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
17455         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
17456         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
17457         * lib/addext.c: Remove; no longer needed.
17458         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
17459         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
17460         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
17461         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
17462         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
17463         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
17464         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
17465         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
17466         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
17467         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
17468         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
17469         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
17470         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
17471         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
17472         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
17473         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
17474         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
17475         Import changes from coreutils.
17476
17477 2004-08-05  Simon Josefsson  <jas@extundo.com>
17478
17479         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
17480
17481 2004-08-05  Simon Josefsson  <jas@extundo.com>
17482
17483         * m4/getsubopt.m4: New file.
17484
17485 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17486
17487         Merge from coreutils.
17488
17489         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
17490         * m4/getcwd-path-max.m4: New files.
17491
17492         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
17493         FILESYSTEM_PREFIX_LEN ->
17494         FILE_SYSTEM_PREFIX_LEN.
17495         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
17496         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
17497         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
17498         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
17499
17500         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
17501         prerequisite modules now handle the DOS stuff.
17502         Don't check for unistd.h.
17503
17504 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17505
17506         Merge from coreutils.
17507
17508         * lib/.gdb-history: Remove; this doesn't belong here.
17509
17510         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
17511         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
17512         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
17513         * lib/getcwd.c: New files.
17514
17515         * lib/dirname.h: Include <stdbool.h>.
17516         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
17517         for consistency with POSIX terminology.  All uses changed.
17518         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
17519         (strip_trailing_slashes): Use bool for booleans.
17520         * lib/stripslash.c (strip_trailing_slashes): Likewise.
17521
17522         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
17523         sometimes returns a positive errno value even when it succeeds.
17524         (print_errno_message) [!LIBC]: Fall back on strerror if
17525         __strerror_r fails.
17526
17527         * lib/path-concat.c (mempcpy): Don't define if a system header defines
17528         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
17529         (longest_relative_suffix): New function.
17530         (path_concat): Use it.  Assume first argument is not NULL.
17531         Port to DOS.  Omit redundant separators.
17532         Report an error instead of returning NULL.
17533         Use mempcpy instead of memcpy.
17534         (xpath_concat): Remove: not declared or used.
17535
17536         * lib/same.h: Include <stdbool.h>
17537         (same_name): Return bool, not int.
17538         * lib/same.c (same_name): Likewise.
17539         (errno): Don't declare; we assume C89 or better now.
17540
17541         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
17542         if not already defined.
17543
17544         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
17545         * lib/dup-safer.c (errno): Likewise.
17546
17547 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17548
17549         Merge from coreutils.
17550         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
17551         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
17552         * modules/path-concat: Don't depend on strdup.
17553
17554 2004-08-03  Simon Josefsson  <jas@extundo.com>
17555
17556         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
17557         * lib/progname.h: Don't include stdbool.h.
17558
17559 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17560
17561         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
17562         * MODULES.html.sh (func_all_modules): Remove fatal.
17563
17564 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17565
17566         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
17567
17568 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17569
17570         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
17571         working.
17572
17573 2004-08-02  Simon Josefsson  <jas@extundo.com>
17574
17575         * lib/getsubopt.h: New file, with comments from Bruno Haible.
17576         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
17577         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
17578
17579 2004-08-01  Simon Josefsson  <jas@extundo.com>
17580
17581         * lib/xgetdomainname.c: Include stdlib.h, for free().
17582
17583 2004-07-19  Bruno Haible  <bruno@clisp.org>
17584
17585         * MODULES.html.sh (func_all_modules): Add dummy.
17586
17587 2004-07-16  Simon Josefsson  <jas@extundo.com>
17588
17589         * modules/dummy: New file.
17590
17591 2004-07-16  Simon Josefsson  <jas@extundo.com>
17592
17593         * lib/dummy.c: New file.
17594
17595 2004-07-16  Bruno Haible  <bruno@clisp.org>
17596
17597         * lib/backupfile.h: Add extern "C" for C++.
17598         * lib/closeout.h: Likewise.
17599         * lib/copy-file.h: Likewise.
17600         * lib/findprog.h: Likewise.
17601         * lib/full-write.h: Likewise.
17602         * lib/pathname.h: Likewise.
17603         * lib/progname.h: Likewise.
17604         * lib/stpcpy.h: Likewise.
17605         * lib/stpncpy.h: Likewise.
17606         * lib/strcase.h: Likewise.
17607         * lib/strstr.h: Likewise.
17608         * lib/xalloc.h: Likewise.
17609
17610         * lib/mbswidth.h: Add extern "C" for C++.
17611         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
17612
17613 2004-07-13  Robert Millan  <robertmh@gnu.org>
17614
17615         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
17616
17617 2004-07-09  Simon Josefsson  <jas@extundo.com>
17618
17619         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
17620         failed without this.)
17621
17622 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17623
17624         * modules/chown (Files): Add lib/fchown-stub.c, since
17625         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
17626
17627 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17628
17629         * lib/fchown-stub.c: New file.
17630
17631 2004-06-24  Jim Meyering  <jim@meyering.net>
17632
17633         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
17634
17635 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17636
17637         * modules/argz: Omit "#include".
17638
17639         * MODULES.html.sh (func_all_modules): Add calloc, to match
17640         2004-06-01 addition of calloc module.
17641
17642 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17643
17644         * m4/argz.m4: New file, which is autoupdated from libtool.
17645
17646 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17647
17648         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
17649         libtool.
17650
17651 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17652
17653         * config/srclist-update: Don't insist on "USA." before the
17654         close-comment, as libtool omits the period and puts the */ on a
17655         separate line.
17656         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
17657         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
17658
17659 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
17660
17661         * modules/argz: New file.
17662         * MODULES.html.sh (func_all_modules): Add argz.
17663
17664 2004-06-12  Jim Meyering  <jim@meyering.net>
17665         and  Paul Eggert  <eggert@cs.ucla.edu>
17666
17667         * modules/hash (Files): Add lib/xalloc.h.
17668         * modules/pipe (Depends-on): Add wait-process.
17669         * modules/stat (Depends-on): Add xalloc.
17670         * modules/userspec (Files): Add lib/userspec.h.
17671         * modules/xstrto
17672
17673         Upgrade from gettext-0.13.
17674         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
17675         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
17676         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
17677
17678 2004-06-10  Jim Meyering  <jim@meyering.net>
17679
17680         * lib/calloc.c: New file.
17681
17682 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
17683
17684         * lib/getdate.y (yylex): Allow space between sign and number.
17685         Problem reported by Dan Jacobson.
17686
17687 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17688
17689         Merge from coreutils CVS.
17690
17691         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
17692         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
17693         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
17694         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
17695         xstrtol.m4: Fix copyright date and/or serial number.
17696
17697         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
17698         See if we need an fchown replacement.
17699         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
17700         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
17701         and use the replacement function if we detect either defect.
17702
17703         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
17704         gl_UTIMECMP.
17705
17706 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17707         and  Jim Meyering  <jim@meyering.net>
17708
17709         Merge from coreutils CVS.
17710
17711         * lib/stat-macros.h: New file, with contents from file-type.h
17712         and coreutils' system.h.
17713         * lib/file-type.c: Include "stat-macros.h".
17714         * lib/file-type.h (file_type): Move all macro definitions to new file,
17715         stat-macros.h.
17716
17717         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
17718         Wrap old code with this conditional.
17719         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
17720         function that does not dereference symlinks.
17721         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
17722
17723         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
17724         dependency problems.
17725         (xreadlink): Accept new arg SIZE, for efficiency.
17726         All decls and uses changed.
17727         * lib/xreadlink.h: Include <stddef.h>, for size_t.
17728
17729         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
17730         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
17731
17732         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
17733         sysexits.h.
17734
17735 2004-06-01  Jim Meyering  <jim@meyering.net>
17736
17737         * m4/calloc.m4: New file.
17738
17739 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
17740
17741         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
17742         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
17743         Also, fix a typo in a diagnostic.
17744
17745 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17746
17747         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
17748         or AC_FUNC_REALLOC.
17749
17750 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17751
17752         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
17753         macros to be defined.
17754         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
17755         the allocator returns NULL because the requested size is zero.
17756
17757 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
17758
17759         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
17760         var.  Add comment explaining why libc still defines it.  This
17761         merges the following patch from glibc:
17762         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
17763
17764 2004-05-20  Andreas Schwab  <schwab@suse.de>
17765
17766         * m4/free.m4: Replace free if it not known to work, not the other
17767         way round.
17768
17769 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17770
17771         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
17772         present in glibc since revision 1.1 of this file.
17773         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
17774         obstack_alignment_mask, obstack_alloc, obstack_base,
17775         obstack_blank, obstack_blank_fast, obstack_chunk_size,
17776         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
17777         obstack_grow0, obstack_init, obstack_int_grow,
17778         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
17779         obstack_next_free, obstack_object_size, obstack_ptr_grow,
17780         obstack_ptr_grow_fast, obstack_room): Remove declarations of
17781         nonexistent functions.
17782
17783 2004-05-18  Karl Berry  <karl@gnu.org>
17784
17785         * config/srclist.txt: break link for vasnprintf.c.
17786
17787 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17788
17789         Port obstack to the AS/400, where pointers are 16 bytes wide and
17790         you cannot cast an integer to a valid pointer.  This patch is
17791         currently waiting to be integrated into glibc; see
17792         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
17793
17794         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
17795         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
17796         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
17797         (struct obstack): temp member is now a union of a pointer and
17798         an integer, instead of an integer.  All integer uses changed.
17799         This does not affect the physical layout of struct obstack,
17800         except on hosts (like the AS/400) where the size or alignment of
17801         void * is greater than that of ptrdiff_t.
17802         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
17803         __STDC__)]: Store temporary in pointer member of union, not
17804         integer member.
17805         * lib/obstack.c: Include <stddef.h>, for offsetof.
17806         (struct fooalign): Remove; it doesn't need a name.
17807         (union fooround): Change double to long double, and add void *.
17808         (DEFAULT_ALIGNMENT): Use offsetof to compute.
17809         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
17810         not a macro.  Hence the values are always int; so remove all
17811         casts-to-int in uses.
17812
17813 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17814
17815         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
17816         we can get this patch merged into glibc.
17817
17818 2004-05-17  Derek R. Price  <derek@ximbiot.com>
17819             Paul Eggert  <eggert@cs.ucla.edu>
17820
17821         * m4/argp: Depend on alloca.
17822
17823 2004-05-17  Derek R. Price  <derek@ximbiot.com>
17824             Paul Eggert  <eggert@cs.ucla.edu>
17825
17826         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
17827         freecoding.
17828
17829 2004-05-17  Bruno Haible  <bruno@clisp.org>
17830
17831         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
17832         precision that consists of a '.' followed by an empty digit string.
17833         Patch by Tor Lillqvist <tml@iki.fi>.
17834
17835 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17836
17837         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
17838         for backward compatibility with older code.  We need our own
17839         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
17840         it under some other name, and our alloca.h will define it.
17841
17842 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17843             Derek Price  <derek@ximbiot.com>
17844
17845         * lib/alloca.c: Include <alloca.h>, to get our interface.
17846         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
17847         include <alloca.h> first.  Use C89 prototype for alloca; this
17848         requires including <stddef.h> for size_t.  Use extern "C" if C++.
17849         Use #elif for simplicity, since we can assume C89 now.
17850         Don't try to source the system alloca.h since it will not be found
17851         and to prevent recursively including its replacement.
17852         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
17853         * lib/regex.c: Likewise.
17854
17855 2004-05-16  Derek Price  <derek@ximbiot.com>
17856             Paul Eggert  <eggert@cs.ucla.edu>
17857
17858         getline cleanup.  This changes the getndelim2 API: both order of
17859         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
17860         no delimiter).
17861
17862         * lib/getline.c: Don't include stddef.h or stdio.h, since our
17863         interface does that.
17864         (getline): Always use getdelim, so that we don't have two
17865         copies of this code.
17866         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
17867         if available.
17868         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
17869         (GETNDELIM2_MAXIMUM): New macro.
17870         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
17871         instead of the old practice of delim2==0.  All callers changed.
17872         Return -1 on overflow, instead of returning junk.
17873         Do not set *linesize unless allocation succeeds.
17874         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
17875         that we include sys/types.h.
17876         * lib/getnline.h: Likewise.
17877         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
17878         (getndelim2): Reorder arguments.
17879         * lib/getnline.c (getnline, getndelim):
17880         Don't discard the NMAX argument.
17881         (getnline): Invoke getndelim, to avoid code duplication.
17882         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
17883         of (size_t) -1 by callers of the getnline family.
17884
17885 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17886
17887         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
17888         Check for gettimeofday.
17889         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
17890         Check for settimeofday, stime.
17891
17892 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17893
17894         * lib/nanosleep.c (suspended): Change its type from int to
17895         sig_atomic_t volatile.
17896         (first_call): Make it private to rpl_nanosleep, and have it
17897         be zero initially as that's a bit faster.
17898         (my_usleep): Round up fractional times instead of truncating them,
17899         as this is the usual meaning for 'sleep'.
17900
17901         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
17902         doesn't work.
17903         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
17904         (ENOSYS): Define if not defined.
17905         (settime): Fall back on stime if it exists and settimeofday fails.
17906         But don't bother with fallbacks if a method fails with errno == EPERM.
17907
17908 2004-05-11  Jim Meyering  <jim@meyering.net>
17909
17910         Prior to this change, the save_cwd caller required read access to the
17911         current directory on most systems (ones with the fchdir function).
17912
17913         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
17914         fails, try write-only, and finally, resort to using xgetcwd.
17915
17916 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
17917
17918         * lib/obstack.c, obstack.h: Import changes from libc.
17919
17920 2004-04-28  Bruno Haible  <bruno@clisp.org>
17921
17922         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
17923         also implicitly appends .exe to executables.
17924         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
17925         accepts Windows pathnames.
17926         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
17927         Treat Cygwin like Windows, since it now accepts Windows pathnames.
17928         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
17929         Treat Cygwin like Windows, since it now accepts Windows pathnames.
17930         Reported by Derek Robert Price <derek@ximbiot.com>.
17931
17932 2004-04-21  Karl Berry  <karl@gnu.org>
17933
17934         * config/srclist.txt (localcharset.c): break sync.
17935
17936 2004-04-20  Paul Eggert  <eggert@twinsun.com>
17937
17938         * m4/host-os.m4: Add a copyright notice.
17939
17940 2004-04-20  Jim Meyering  <jim@meyering.net>
17941
17942         Change UTILS_ to gl_ in AC_DEFINE'd names.
17943         Change utils_- and jm_-prefixed variables, too.
17944         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
17945         UTILS_FUNC_MKDIR_TRAILING_SLASH.
17946         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
17947
17948         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
17949         Don't emit trailing blanks.
17950         Also rename jm_-prefixed variables to have gl_ prefix.
17951
17952         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
17953         Also rename jm_-prefixed variables to have gl_ prefix.
17954
17955         * m4/jm-macros.m4: Reflect the renamings.
17956         * m4/prereq.m4: Likewise.
17957
17958 2004-04-20  Jim Meyering  <jim@meyering.net>
17959
17960         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
17961         memory.
17962
17963 2004-04-20  Jim Meyering  <jim@meyering.net>
17964             Bruno Haible  <bruno@clisp.org>
17965
17966         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
17967         memory when realloc fails.
17968
17969 2004-04-19  Jim Meyering  <jim@meyering.net>
17970
17971         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
17972         now that readutmp.c may call `free (0)'.
17973
17974 2004-04-19  Bruno Haible  <bruno@clisp.org>
17975
17976         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
17977         * m4/inttypes_h.m4: Likewise.
17978         * m4/stdint_h.m4: Likewise.
17979         * m4/intmax_t.m4: Likewise.
17980         * m4/uintmax_t.m4: Likewise.
17981
17982 2004-04-18  Jim Meyering  <jim@meyering.net>
17983
17984         * m4/prereq.m4: Don't forbid jm_ prefix.
17985
17986         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
17987         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
17988         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
17989         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
17990         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
17991         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
17992         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
17993         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
17994         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
17995         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
17996         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
17997         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
17998         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
17999         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
18000         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
18001         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
18002         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
18003         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
18004         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
18005
18006 2004-04-18  Jim Meyering  <jim@meyering.net>
18007
18008         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
18009         failure, don't leak memory and do call END_UTMP_ENT.
18010
18011 2004-04-16  Jim Meyering  <jim@meyering.net>
18012
18013         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
18014         coreutils' stat program.
18015         (gl_PREREQ): Don't require jm_PREREQ_STAT.
18016
18017 2004-04-11  Paul Eggert  <eggert@twinsun.com>
18018
18019         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
18020         C89.
18021         (CHAR_BIT): Remove, since we assume C89.
18022         Include <stdint.h> if available, as per current Autoconf CVS advice.
18023
18024 2004-03-31  Jim Meyering  <jim@meyering.net>
18025
18026         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
18027         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
18028         * m4/xalloc.m4: Likewise.
18029
18030 2004-03-30  Paul Eggert  <eggert@twinsun.com>
18031
18032         Merge from coreutils.
18033
18034         * m4/inttostr.m4: New file.
18035         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
18036         Require AM_STDBOOL_H and gl_TIMESPEC instead.
18037         Require gl_CLOCK_TIME.
18038         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
18039
18040 2004-03-30  Paul Eggert  <eggert@twinsun.com>
18041
18042         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
18043         not bool, to be more consistent with Unix conventions.
18044         Suggested by Bruno Haible.
18045
18046         Merge from coreutils.
18047
18048         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
18049         * lib/umaxtostr.c: New files.
18050
18051         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
18052         the usual <time.h> dance.
18053         (get_date): Change signature to support fractional time stamps.
18054         All callers changed.
18055         * lib/getdate.y: Include "getdate.h" first, as we can now
18056         assume C89 and don't need to worry about 'const'.
18057         Similarly, include "unlocked-io.h" near start, not in middle.
18058         Include <limits.h>.
18059         (textint.value): Use long int rather than int.
18060         (textint.digits): Use size_t rather than int.
18061         (BILLION, LOG10_BILLION): New constants.
18062         (parser_control): New member rel_ns.  Members day_ordinal,
18063         time_zone, month, day, hour, minutes, rel_year, rel_month,
18064         rel_day, rel_hour, rel_minutes, rel_seconds
18065         are now long int, not int.  Member seconds is now struct timespec,
18066         not int.  New member timespec_seen.  Members dates_seen, days_seen,
18067         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
18068         not int.
18069         (%union.intval): Now long int, not int.
18070         New member timespec.
18071         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
18072         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
18073         (spec): Now is a timespec or an item list.
18074         (timespec, items): New nonterminals.
18075         (time, rel, relunit, number, get_date):
18076         Add support for fractional seconds.
18077         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
18078         (gmtime, localtime, mktime): Remove decls; not needed with C89.
18079         (to_hour): First arg is now long int, not int.
18080         (to_year): Returns long int, not int.
18081         Don't treat year -70 like 70.
18082         (tm_diff): Returns long int, not int.
18083         (lookup_word): Use bool instead of int when appropriate.
18084         (yylex): Use size_t for count, not int.
18085         Detect overflow when parsing large integer constants.
18086         Add support for fractions.
18087         (get_date): Make pointers 'const' if possible.
18088         Use more-portable code to detect integer overflow.
18089         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
18090         Don't use ctime; it's not reliable if the year has >4 digits.
18091
18092         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
18093         This is for compatibility with BSD.
18094
18095         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
18096         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
18097         From coreutils' system.h.
18098
18099         * lib/userspec.c: Don't include "posixver.h".
18100         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
18101         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
18102         compatible extension.  Simplify code by removing a boolean int
18103         that was always nonzero if a string was nonnull.
18104
18105 2004-03-30  Jim Meyering  <jim@meyering.net>
18106
18107         Merge from coreutils.
18108
18109         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
18110         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
18111         on some systems one must include <grp.h> before it.
18112         Reported by Christian Krackowizer.
18113
18114 2004-03-30  Jim Meyering  <jim@meyering.net>
18115
18116         Merge from coreutils.
18117
18118         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
18119
18120         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
18121         an empty input stream.
18122
18123         * lib/readtokens.c: Include <stdbool.h>.
18124         (readtoken): Use `size_t' rather than int/long.
18125         All callers adjusted.
18126         Use `bool' rather than `int' where appropriate.
18127         Use memset rather than an explicit loop.
18128         Use x2nrealloc rather than xrealloc.
18129         Allow the use of `\0' as a delimiter.
18130         (readtokens): Likewise.
18131         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
18132
18133 2004-03-30  Jim Meyering  <jim@meyering.net>
18134
18135         * m4/realloc.m4: Remove file, since now it does no more than
18136         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
18137         the `configure.ac' section of module/realloc.
18138         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
18139
18140 2004-03-30  Bruno Haible  <bruno@clisp.org>
18141
18142         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
18143         nonnull.
18144
18145 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18146
18147         Merge changes to getloadavg.c from coreutils and Emacs.
18148
18149         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
18150         Define to an expression, not to the empty string.
18151         Include cloexec.h and xalloc.h.
18152         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
18153         Use set_cloexec_flag rather than rolling our own.
18154         * lib/cloexec.c, lib/cloexec.h: New files.
18155
18156 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18157
18158         * m4/cloexec.m4: New file.
18159
18160 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18161
18162         * lib/getopt.h: Sync with libc CVS.
18163
18164 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18165             Bruno Haible  <bruno@clisp.org>
18166
18167         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
18168         mbswidth.
18169
18170 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18171             Bruno Haible  <bruno@clisp.org>
18172
18173         * lib/mbswidth.h: Include <wchar.h> only if
18174         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
18175         <wchar.h>.
18176         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
18177
18178 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18179
18180         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
18181         Sync with libc CVS.
18182         * lib/getopt_int.h: New file, also synced from libc.
18183
18184 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18185
18186         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
18187         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
18188         Bring back getopt.c, getopt.h, getopt1.c.
18189
18190 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18191
18192         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
18193         All uses changed.  Check for sa_sigaction member; this fixes
18194         a bug first reported by Jason Andrade in
18195         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18196
18197 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18198
18199         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
18200         '#if' expressions.  Unlike the code it replaces, it does not
18201         depend on (defined _SC_PAGESIZE).  However, it does depend on
18202         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
18203         first reported by Jason Andrade in
18204         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18205
18206 2004-02-25  Simon Josefsson  <jas@extundo.com>
18207
18208         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
18209
18210 2004-02-25  Simon Josefsson  <jas@extundo.com>
18211
18212         * lib/strdup.h: New file.
18213         * lib/strdup.c: Include it.
18214         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
18215         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
18216
18217 2004-02-23  Karl Berry  <karl@gnu.org>
18218
18219         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
18220         (from fencepost.gnu.org:/gd/gnuorg).
18221
18222 2004-02-23  Karl Berry  <karl@gnu.org>
18223
18224         * config/srclistvars.sh (GNUORG) [karl]: redefine.
18225         * config/srclist.txt: add maintain/standards documents.
18226
18227 2004-02-18  Bruno Haible  <bruno@clisp.org>
18228
18229         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
18230         Reported by Derek Robert Price <derek@ximbiot.com>.
18231
18232 2004-02-16  Karl Berry  <karl@gnu.org>
18233
18234         * config/mkinstalldirs, install-sh: update from automake.
18235
18236 2004-02-06  Karl Berry  <karl@gnu.org>
18237
18238         * m4/po.m4: update from gettext 0.14.1.
18239
18240 2004-02-06  Karl Berry  <karl@gnu.org>
18241
18242         * lib/config.charset: update from gettext 0.14.1.
18243
18244 2004-02-05  Paul Eggert  <eggert@twinsun.com>
18245
18246         Add comments and code, prompted by suggestions from Bruno Haible
18247         for sh-quote.
18248         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
18249         describing the enum quoting_style values.
18250         * lib/quotearg.c (quotearg_alloc): New function.
18251         (quotearg_buffer_restyled): Treat lone { and } as special.
18252         Treat = as special.  Work around bug with older shells
18253         that "see" a '\' that is really the 2nd byte of a multibyte char.
18254         Quote empty string with shell_quoting_style.
18255
18256 2004-02-03  Bruno Haible  <bruno@clisp.org>
18257
18258         * m4/pipe.m4: New file, from GNU gettext.
18259
18260 2004-02-03  Bruno Haible  <bruno@clisp.org>
18261
18262         * lib/pipe.h: New file, from GNU gettext.
18263         * lib/pipe.c: New file, from GNU gettext.
18264
18265 2004-01-27  Bruno Haible  <bruno@clisp.org>
18266
18267         * m4/execute.m4: New file, from GNU gettext.
18268
18269 2004-01-27  Bruno Haible  <bruno@clisp.org>
18270
18271         * lib/execute.h: New file, from GNU gettext.
18272         * lib/execute.c: New file, from GNU gettext.
18273         * lib/w32spawn.h: New file, from GNU gettext.
18274
18275 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18276
18277         Merge from diffutils.
18278
18279         * lib/file-type.c (file_type): Add typed memory objects.
18280         * lib/file-type.h (S_TYPEISTMO): New macro.
18281
18282         * lib/c-stack.h (c_stack_action): Remove argv argument.
18283         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
18284         (die): Don't calculate message unless segv_action returns.
18285         (get_stack_location, min_address_from_argv, max_address_from_argv,
18286         volatile stack_base, volatile_stack_size): Remove.
18287         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
18288         that every segmentation violation is a stack overflow.  (Ouch!)
18289         See Debian bug 136249 (still outstanding) for more info about why
18290         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
18291
18292 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18293
18294         Exit-status fix from coreutils.
18295
18296         Use exit_failure consistently in place of EXIT_FAILURE,
18297         so that program exit statuses are consistent on failure.
18298
18299         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
18300         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
18301         * lib/argmatch.h: Comment fix to match the above.
18302         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
18303         Now a macro referring to exit_failure, instead of a separate
18304         variable.  Include "exitfail.h" to get it.
18305         * lib/xstrtol.h: Include "exitfail.h".
18306         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
18307
18308         * lib/long-options.c (parse_long_options): Use prototype
18309         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
18310         for clarity.
18311
18312 2004-01-21  Jim Meyering  <jim@meyering.net>
18313
18314         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
18315         so as not to conflict with a different-sized __mktime_internal
18316         function in GNU libc.
18317         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
18318         Problem building statically-linked `ls' reported by Michael Brunnbauer.
18319
18320 2004-01-20  Karl Berry  <karl@gnu.org>
18321
18322         * config/config.guess: update from config.
18323
18324         * config/srclistvars.sh: GNUWWWLICENSES for karl.
18325
18326 2004-01-20  Bruno Haible  <bruno@clisp.org>
18327
18328         Safer stack allocation.
18329         * lib/setenv.c: Include allocsa.h.
18330         (alloca): Remove fallback definition.
18331         (freea): Remove macro.
18332         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
18333         instead of freea.
18334
18335 2004-01-20  Bruno Haible  <bruno@clisp.org>
18336
18337         * m4/eealloc.m4: New file, from GNU gettext.
18338
18339 2004-01-20  Bruno Haible  <bruno@clisp.org>
18340
18341         * m4/allocsa.m4: New file, from GNU gettext.
18342
18343 2004-01-20  Bruno Haible  <bruno@clisp.org>
18344
18345         * lib/xallocsa.h: New file, from GNU gettext.
18346         * lib/xallocsa.c: New file, from GNU gettext.
18347
18348 2004-01-20  Bruno Haible  <bruno@clisp.org>
18349
18350         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
18351
18352 2004-01-20  Bruno Haible  <bruno@clisp.org>
18353
18354         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
18355         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
18356         specially.
18357
18358 2004-01-20  Bruno Haible  <bruno@clisp.org>
18359
18360         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
18361         patch.
18362
18363 2004-01-20  Bruno Haible  <bruno@clisp.org>
18364
18365         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
18366
18367 2004-01-20  Bruno Haible  <bruno@clisp.org>
18368
18369         * lib/eealloc.h: New file.
18370
18371 2004-01-20  Bruno Haible  <bruno@clisp.org>
18372
18373         * lib/binary-io.h: Avoid warnings on Cygwin.
18374
18375 2004-01-20  Bruno Haible  <bruno@clisp.org>
18376
18377         * lib/allocsa.h: New file, from GNU gettext.
18378         * lib/allocsa.c: New file, from GNU gettext.
18379
18380 2004-01-18  Karl Berry  <karl@gnu.org>
18381
18382         * doc/gpl.texi, doc/lgpl.texi: new files.
18383
18384 2004-01-18  Karl Berry  <karl@gnu.org>
18385
18386         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
18387         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
18388
18389 2004-01-15  Paul Eggert  <eggert@twinsun.com>
18390
18391         Merge from coreutils.
18392
18393         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
18394         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
18395         (gl_DEFAULT_POSIX2_VERSION): Move
18396         the documentation from 'configure' into 'config.hin',
18397         so that 'configure --help' isn't burdened by it and
18398         we don't have to worry about its formatting there.
18399         Reword the documentation so that it's more succinct
18400         and can be run together into a single paragraph.
18401         * m4/same.m4 (gl_SAME): Check for pathconf.
18402
18403 2004-01-15  Paul Eggert  <eggert@twinsun.com>
18404
18405         Merge from coreutils.
18406
18407         * lib/posixver.c: Include posixver.h.
18408
18409         * lib/same.c: Include <stdbool.h>, <limits.h>.
18410         (_POSIX_NAME_MAX): Define if not defined.
18411         (MIN): New macro.
18412         (same_name): If file names are silently truncated, report
18413         that the file names are the same if they are the same after
18414         the silent truncation.
18415
18416         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
18417         conversion function.
18418         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
18419         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
18420         longer needed.
18421
18422 2004-01-15  Jim Meyering  <jim@meyering.net>
18423
18424         Merge from coreutils.
18425
18426         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
18427         if no library is required.
18428         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
18429         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
18430         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
18431         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
18432         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
18433         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
18434         value, $ac_cv_search_crypt, if it's "none required".
18435         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
18436         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
18437         not gl_FUNC_GETLOADAVG.
18438         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
18439         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
18440
18441 2004-01-15  Jim Meyering  <jim@meyering.net>
18442
18443         Merge from coreutils.
18444
18445         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
18446         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
18447         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
18448
18449         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
18450         optional configure-time default.
18451
18452         * lib/version-etc.c (version_etc_copyright): Update copyright date.
18453
18454         * lib/xreadlink.c (xreadlink): Correct outdated comment.
18455
18456 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
18457
18458         Merge from coreutils.
18459
18460         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
18461         value, $ac_cv_search_nanosleep, if it's "none required".
18462
18463 2004-01-14  Paul Eggert  <eggert@twinsun.com>
18464
18465         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
18466         with like-named macro in fnmatch.c.
18467         (EXT): Use an internal constant instead.
18468
18469         Merge fnmatch patches from glibc.
18470         * lib/fnmatch.c (mbsinit): Remove define.
18471         Add libc_hidden_ver (__fnmatch, fnmatch).
18472         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
18473         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
18474
18475 2004-01-14  Karl Berry  <karl@gnu.org>
18476
18477         * config/install-sh: update from automake.
18478
18479 2004-01-13  Karl Berry  <karl@gnu.org>
18480
18481         * config/install-sh: update from automake.
18482
18483 2004-01-09  Karl Berry  <karl@gnu.org>
18484
18485         * config/install-sh: update from automake.
18486
18487 2004-01-05  Karl Berry  <karl@gnu.org>
18488
18489         * config/config.{sub,guess}: update from config.
18490
18491 2003-12-31  Karl Berry  <karl@gnu.org>
18492
18493         * config/depcomp: update from automake.
18494
18495 2003-12-14  Karl Berry  <karl@gnu.org>
18496
18497         * lib/config.charset: update from gettext-runtime.
18498
18499 2003-12-03  Paul Eggert  <eggert@twinsun.com>
18500
18501         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
18502         Bug reported by Alfred M. Szmidt.
18503
18504 2003-12-03  Bruno Haible  <bruno@clisp.org>
18505
18506         * m4/gettext.m4: Upgrade from gettext-0.13.
18507         * m4/po.m4: Upgrade from gettext-0.13.
18508         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
18509         * m4/intmax.m4: New file, from gettext-0.13.
18510         * m4/printf-posix.m4: New file, from gettext-0.13.
18511
18512 2003-11-29  Karl Berry  <karl@gnu.org>
18513
18514         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
18515
18516 2003-11-25  Paul Eggert  <eggert@twinsun.com>
18517             Bruno Haible  <bruno@clisp.org>
18518
18519         * lib/printf-parse.h: Don't include sys/types.h.
18520         (ARG_NONE): New macro.
18521         (char_directive): Change type of *arg_index fields to size_t.
18522         * lib/printf-parse.c: Don't include sys/types.h.
18523         (SSIZE_MAX): Remove macro.
18524         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
18525         Remove unnecessary overflow check.
18526         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
18527         fields.
18528
18529 2003-11-25  Bruno Haible  <bruno@clisp.org>
18530
18531         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
18532
18533 2003-11-25  Bruno Haible  <bruno@clisp.org>
18534
18535         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
18536         gt_TYPE_SSIZE_T.
18537
18538 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18539
18540         * modules/alloca: Remove dependency on xalloc.
18541
18542 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18543
18544         * lib/alloca.c: Remove dependency on xalloc module.
18545         (xalloc_die): Remove.
18546         (memory_full) [!defined emacs]: New macro.
18547         [!defined emacs]: Don't include xalloc.h.
18548         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
18549         address arithmetic overflows.  Change datatypes a bit to avoid
18550         unnecessary casts.
18551
18552 2003-11-22  Jim Meyering  <jim@meyering.net>
18553
18554         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
18555         s/size/size_t/.
18556
18557 2003-11-21  Karl Berry  <karl@gnu.org>
18558
18559         * config/config.{sub,guess}: update from config.
18560
18561 2003-11-18  Karl Berry  <karl@gnu.org>
18562
18563         * config/config.{sub,guess}: update from config.
18564
18565         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
18566
18567 2003-11-17  Paul Eggert  <eggert@twinsun.com>
18568
18569         * README: Mention that S+T cannot overflow if S is the size of
18570         an existing object and T is sufficiently small.
18571
18572 2003-11-17  Jim Meyering  <jim@meyering.net>
18573
18574         On systems without utime and without a utimes function capable of
18575         dealing with a NULL struct utimbuf* argument, this utime replacement
18576         could -- in unusual circumstances -- leak a file descriptor.
18577         * lib/utime.c: Include <unistd.h> and <errno.h>.
18578         (utime_null): Be sure to close `fd' and to preserve errno.
18579         Reported by Geoff Collyer via Arnold Robbins.
18580
18581 2003-11-17  Bruno Haible  <bruno@clisp.org>
18582
18583         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
18584         (Depends-on): Add xsize.
18585
18586 2003-11-17  Bruno Haible  <bruno@clisp.org>
18587
18588         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
18589
18590 2003-11-17  Bruno Haible  <bruno@clisp.org>
18591
18592         * lib/vasnprintf.c (alloca): Remove fallback definition.
18593         (freea): Remove definition.
18594         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
18595         Reported by Paul Eggert.
18596
18597 2003-11-16  Paul Eggert  <eggert@twinsun.com>
18598             Bruno Haible  <bruno@clisp.org>
18599
18600         Protect against address arithmetic overflow.
18601         * lib/printf-args.h: Include stddef.h.
18602         (arguments): Change type of field 'count' to size_t.
18603         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
18604         'unsigned int' where appropriate.
18605         * lib/printf-parse.h: Include sys/types.h.
18606         (char_directive): Change type of *arg_index fields to ssize_t.
18607         (char_directives): Change type of fields 'count', max_*_length to
18608         size_t.
18609         * lib/printf-parse.c: Include sys/types.h and xsize.h.
18610         (SSIZE_MAX): Define fallback value.
18611         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
18612         instead of 'int' where appropriate. Check a_allocated, d_allocated
18613         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
18614         * lib/vasnprintf.c: Include xsize.h.
18615         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
18616         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
18617         overflow. Avoid wraparound when converting a width or precision from
18618         decimal to binary.
18619
18620 2003-11-16  Bruno Haible  <bruno@clisp.org>
18621
18622         Update from GNU gettext.
18623         * lib/printf-parse.c: Generalize to it can be compiled for wide
18624         strings.
18625         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
18626         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
18627         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
18628         SNPRINTF): New macros.
18629         Don't include <alloca.h> if the file is used inside libintl.
18630         (local_wcslen): New function, for Solaris 2.5.1.
18631         (VASNPRINTF): Use it instead of wcslen.
18632
18633 2003-11-16  Bruno Haible  <bruno@clisp.org>
18634
18635         * lib/xsize.h (xmax): New function.
18636         (xsum, xsum3, xsum4): Declare as "pure" functions.
18637
18638 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18639
18640         * modules/xalloc (Files): Undo latest change, since xalloc.h
18641         no longer needs SIZE_MAX or PTRDIFF_MAX.
18642
18643 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18644
18645         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
18646         gl_PTRDIFF_MAX.
18647
18648 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18649
18650         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
18651         "return", to pacify some unknown compiler.  Problem reported
18652         by Joerg Schilling.
18653
18654 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18655
18656         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
18657         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
18658         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
18659         heuristic is just as accurate as far as we know, and it removes a
18660         dependency on size_max.m4 and ptrdiff_max.m4.
18661
18662 2003-11-11  Bruno Haible  <bruno@clisp.org>
18663
18664         * modules/xsize (Files): Add m4/size_max.m4.
18665         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
18666
18667 2003-11-11  Bruno Haible  <bruno@clisp.org>
18668
18669         * m4/size_max.m4: New file.
18670         * m4/ptrdiff_max.m4: New file.
18671         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
18672         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
18673         (gl_XALLOC): Invoke it.
18674
18675 2003-11-11  Bruno Haible  <bruno@clisp.org>
18676
18677         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
18678         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
18679         defined.
18680
18681 2003-11-10  Paul Eggert  <eggert@twinsun.com>
18682
18683         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
18684         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
18685         rejected some allocations of exactly SIZE_MAX - 2 bytes.
18686         From Bruno Haible.
18687         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
18688         not (size_t) -1, since it's defined here.
18689
18690 2003-11-09  Karl Berry  <karl@gnu.org>
18691
18692         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
18693
18694 2003-11-06  Paul Eggert  <eggert@twinsun.com>
18695
18696         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
18697         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
18698         Reject sizes of exactly SIZE_MAX bytes.
18699         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
18700         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
18701
18702 2003-11-05  Bruno Haible  <bruno@clisp.org>
18703
18704         * lib/xsize.h: Include limits.h, to avoid a possible collision with
18705         SIZE_MAX defined in <limits.h> on Solaris.
18706
18707 2003-11-04  Jim Meyering  <jim@meyering.net>
18708
18709         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
18710         variable names, rather than @VAR@.
18711         * modules/poll: Likewise.
18712
18713 2003-11-04  Bruno Haible  <bruno@clisp.org>
18714
18715         * modules/xsize: New file.
18716         * modules/linebreak: Depend on xsize.
18717         * MODULES.html.sh (func_all_modules): Add xsize.
18718
18719 2003-11-04  Bruno Haible  <bruno@clisp.org>
18720
18721         * m4/xsize.m4: New file.
18722
18723 2003-11-04  Bruno Haible  <bruno@clisp.org>
18724
18725         * lib/xsize.h: New file.
18726         * lib/linebreak.c: Include xsize.h.
18727         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
18728         argument for overflow.
18729         Suggested by Paul Eggert.
18730
18731 2003-11-03  Karl Berry  <karl@gnu.org>
18732
18733         * config/config.{guess,sub}: update from config.
18734
18735 2003-11-03  Jim Meyering  <jim@meyering.net>
18736
18737         * modules/userspec (lib_SOURCES): Add userspec.h.
18738         (Include): Add "userspec.h".
18739         Improve description.
18740
18741 2003-11-03  Jim Meyering  <jim@meyering.net>
18742
18743         * lib/userspec.c: Include "userspec.h".
18744         * lib/userspec.h: New file.
18745
18746 2003-11-03  Bruno Haible  <bruno@clisp.org>
18747
18748         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
18749
18750 2003-11-03  Bruno Haible  <bruno@clisp.org>
18751
18752         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
18753         available, to avoid (extremely rare) race condition.
18754         Suggested by Paul Eggert.
18755
18756 2003-11-02  Karl Berry  <karl@gnu.org>
18757
18758         * config/srclist.txt (vasprintf.c): sync broken, sigh.
18759
18760 2003-10-31  Paul Eggert  <eggert@twinsun.com>
18761
18762         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
18763         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
18764         (read_filesystem_list): Set and use me_type_malloced.
18765         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
18766         whatever the type happens to be), for brevity and consistency.
18767         Check for size calculation overflow on Alphas running OSF/1.
18768
18769 2003-10-31  Jim Meyering  <jim@meyering.net>
18770
18771         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
18772
18773         * lib/linebuffer.c: Include <string.h> for declaration of memset.
18774
18775 2003-10-30  Paul Eggert  <eggert@twinsun.com>
18776             Bruno Haible  <bruno@clisp.org>
18777
18778         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
18779         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
18780
18781 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
18782
18783         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
18784         netbsd*-gnu*.  Suggested by Robert Millan.
18785
18786 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18787
18788         * modules/group-member: Depend on stdbool.
18789
18790 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18791
18792         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
18793
18794 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18795
18796         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
18797         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
18798         after the 'gnu' in these cases.  This fixes some bugs in the
18799         previous change, and is based on suggestions by Robert Millan.
18800
18801 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18802
18803         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
18804         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
18805         no longer needed.
18806         * lib/quotearg.c (quotearg_n_options): Use it.
18807         * lib/group-member.c: Include <stdbool.h>.
18808         (free_group_info): Arg is now const *; don't free arg.
18809         (get_group_info): Now returns bool and accepts struct group_info *,
18810         rather than returning a malloc'ed struct group_info *.
18811         All uses changed.  Check for overflow in internal size calculation.
18812
18813         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
18814         rather than xmalloc/xrealloc.
18815         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
18816         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
18817         conformance bug: the old code used a pointer after freeing the
18818         storage that it addressed.
18819         * lib/hash.c (hash_initialize): Simplify the code by using
18820         xalloc_oversized rather than doing it by hand.
18821         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
18822         the buffer preserved.  Use free and xmalloc instead.
18823         * lib/quotearg.c (quotearg_n_options): Likewise.
18824         Use a simpler test for size overflow.  Don't use xalloc_oversized
18825         because unsigned int might be wider than size_t (!); this suggests
18826         that we should switch from unsigned int to size_t for slot numbers.
18827
18828 2003-10-28  Paul Eggert  <eggert@twinsun.com>
18829
18830         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
18831         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
18832         NetBSD kernels.  Requested by Richard Stallman.
18833
18834 2003-10-27  Paul Eggert  <eggert@twinsun.com>
18835
18836         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
18837         to allocate the returned structure.  Do not allocate a subarray,
18838         as x2nrealloc will do that.
18839         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
18840         instead of xnrealloc.
18841         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
18842
18843 2003-10-27  Bruno Haible  <bruno@clisp.org>
18844
18845         * lib/stdbool_.h: Better support for BeOS.
18846
18847 2003-10-26  Paul Eggert  <eggert@twinsun.com>
18848
18849         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
18850         now uses inline.
18851
18852 2003-10-26  Paul Eggert  <eggert@twinsun.com>
18853
18854         * lib/xalloc.h (xalloc_oversized): New static inline function, for
18855         callers that want to do their own size-overflow checking.  Include
18856         <stdbool.h>, since xalloc_oversized returns bool.
18857         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
18858         to use xalloc_oversized.
18859
18860         Add two functions x2realloc, x2nrealloc, for programs that grow
18861         arrays dynamically by doubling their sizes.
18862         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
18863         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
18864         New functions.
18865
18866         Port to C99 semantics for 'inline' of external functions.
18867         Bug reported by Bruno Haible.
18868         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
18869         with the old contents of xnmalloc.
18870         (xnmalloc, xmalloc): Use it.
18871         (xnrealloc_inline): New static inline function,
18872         with the old contents of xnrealloc.
18873         (xnrealloc, xrealloc): Use it.
18874
18875         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
18876         that.
18877
18878 2003-10-26  Karl Berry  <karl@gnu.org>
18879
18880         * config/srclist.txt (COPYING.DOC): no longer available from
18881         /gd/gnuorg; don't know where the ultimate source is.
18882
18883 2003-10-25  Paul Eggert  <eggert@twinsun.com>
18884
18885         Fix several address-calculation bugs in the hash modules,
18886         plus some minor code cleanup.
18887
18888         * lib/hash.h: Include <stdbool.h>, for bool.
18889         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
18890         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
18891         hash_get_n_entries, hash_get_max_bucket_length,
18892         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
18893         hash_rehash): Use size_t rather than unsigned.
18894         * lib/hash.c (struct hash_table, hash_get_n_buckets,
18895         hash_get_n_buckets_used, hash_get_n_entries,
18896         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
18897         hash_get_entries, hash_do_for_each, hash_string, is_prime,
18898         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
18899         Likewise.
18900         (SIZE_MAX): Define if not defined.
18901         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
18902         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
18903         hash_print):
18904         Use const * when possible.
18905         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
18906         (check_tuning): Fix bug: if tuning parameters were very close to
18907         0 or 1, rounding errors could have caused subscript violations.
18908         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
18909         (hash_initialize): Add 'fail:' label
18910         to free table and return NULL, and use it to simplify code.
18911         Use calloc rather than clearing the storage ourself.
18912         (hash_initialize, hash_rehash): Check for arithmetic overflow in
18913         buffer size calculations.
18914         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
18915         Include <stddef.h>, for size_t.
18916         * lib/hash-pjw.c (hash_pjw): Likewise.
18917         Switch to method described by Bruno Haible.
18918         Include <limits.h>, for CHAR_BIT.
18919         (SIZE_BITS): New macro.
18920
18921 2003-10-23  Paul Eggert  <eggert@twinsun.com>
18922
18923         * m4/getline.m4 (AM_FUNC_GETLINE):
18924         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
18925         hosts.  Problem reported by Derek Robert Price in
18926         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
18927         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
18928         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
18929
18930 2003-10-21  Paul Eggert  <eggert@twinsun.com>
18931
18932         * lib/getndelim2.c (getndelim2): When size calculation overflows,
18933         ceiling the allocation at NMAX bytes rather than silently
18934         discarding input bytes before NMAX is reached.  This makes
18935         a difference only if NMAX exceeds SIZE_MAX / 2.
18936
18937         * lib/obstack.c: Merge from glibc.
18938         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
18939         Add libc_hidden_def (_obstack_newchunk).
18940         (_obstack_free) [! defined _LIBC]: Remove.
18941         [defined _LIBC]: Make a strong alias from obstack_free, rather than
18942         a clone of the function body.
18943         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
18944         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
18945
18946         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
18947         glibc.
18948         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
18949         arg to memcpy.
18950
18951         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
18952         (obstack_ptr_grow_fast, obstack_int_grow_fast):
18953         Don't use lvalue casts, as GCC plans to remove support for them
18954         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
18955         was also present in the non-GCC version, indicating that this
18956         code had always been buggy and had never been widely used.
18957         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
18958         Use the fast variant of each macro, rather than copying the
18959         definiens of the fast variant; that way, we'll be more likely to
18960         catch future bugs in the fast variants.
18961
18962 2003-10-20  Bruno Haible  <bruno@clisp.org>
18963
18964         * modules/wait-process: New file.
18965         * MODULES.html.sh (func_all_modules): Add wait-process.
18966
18967 2003-10-20  Bruno Haible  <bruno@clisp.org>
18968
18969         * m4/wait-process.m4: New file.
18970
18971 2003-10-20  Bruno Haible  <bruno@clisp.org>
18972
18973         * lib/wait-process.h: New file, from GNU gettext.
18974         * lib/wait-process.c: New file, from GNU gettext.
18975
18976 2003-10-19  Jim Meyering  <jim@meyering.net>
18977
18978         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
18979         HPUX 10.20.
18980
18981 2003-10-18  Karl Berry  <karl@gnu.org>
18982
18983         * config/config.guess: update from config.
18984
18985 2003-10-16  Paul Eggert  <eggert@twinsun.com>
18986
18987         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
18988         (getgroups): First arg is int, not size_t.
18989         Don't let 'free' mangle errno.
18990
18991 2003-10-16  Paul Eggert  <eggert@twinsun.com>
18992
18993         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
18994
18995 2003-10-16  Karl Berry  <karl@gnu.org>
18996
18997         * config/config.{guess,sub}: update from config.
18998
18999 2003-10-16  Jim Meyering  <jim@meyering.net>
19000
19001         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
19002         memcpy.
19003
19004 2003-10-15  Paul Eggert  <eggert@twinsun.com>
19005
19006         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
19007         (SIZE_MAX): Remove.
19008         (new_exclude, add_exclude_file): Initial size no longer needs to
19009         be a power of 2.
19010         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
19011         our own address arithmetic overflow checking.
19012
19013         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
19014         (fnmatch): Do not alloca more than 2000 wide characters;
19015         instead, use malloc for large buffers.
19016         Check for address arithmetic overflow, and return -1
19017         with errno set to ENOMEM in that case.
19018         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
19019         (NEW_PATTERN): Do not alloca more than 8000 bytes;
19020         instead, return -1.  Check for address arithmetic overflow.
19021
19022 2003-10-14  Paul Eggert  <eggert@twinsun.com>
19023
19024         Handle invalid suffixes and overflow independently, so that
19025         callers can treat them independently as needed.  Fix some bugs in
19026         suffix handling, e.g., "100k@" was not diagnosed as an invalid
19027         suffix for a human-readable blocksize.  The major caller-visible
19028         change is the addition of a new
19029         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
19030         that both overflow and suffix chars were found.
19031
19032         * lib/human.c (humblock): Don't check separately for invalid suffix
19033         char; that is xstrtoumax's job (now that its bug is fixed).
19034         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
19035         INTMAX_MAX]: New macros.
19036         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
19037         TYPE_MAXIMUM): New macros.
19038         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
19039         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
19040         if overflow occurs, as it's what __strtol does and it's more useful
19041         in practice.
19042         (__xstrtol): If __strtol reports some error other than ERANGE,
19043         reflect it to the caller as LONGINT_INVALID.  If it reports
19044         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
19045         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
19046         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
19047         value.
19048         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
19049         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
19050         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
19051         [defined UINTMAX_MAX]: New macros.
19052
19053 2003-10-14  Bruno Haible  <bruno@clisp.org>
19054
19055         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
19056
19057 2003-10-14  Bruno Haible  <bruno@clisp.org>
19058
19059         * m4/sig_atomic_t: New file, from GNU gettext.
19060         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
19061
19062 2003-10-14  Bruno Haible  <bruno@clisp.org>
19063
19064         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
19065         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
19066         Also use volatile where needed.
19067
19068 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19069
19070         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
19071         Change maintainer from Bruno Haible to 'all'.
19072
19073 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19074
19075         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
19076
19077 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19078
19079         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
19080         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
19081         and define in terms of the other primitives.
19082         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
19083         (SIZE_MAX): Define if not already defined.
19084         (array_size_overflow): New function.
19085         (xalloc_die): Abort instead of exiting if 'error' returns.
19086         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
19087         (xmalloc, xrealloc): Use them.
19088         (xcalloc): Check for address arithmetic overflow.
19089         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
19090         a bit faster than strcpy.
19091
19092 2003-10-10  Simon Josefsson  <jas@extundo.com>
19093
19094         * modules/argp (Depends-on): Add restrict and strcase.
19095
19096 2003-10-10  Simon Josefsson  <jas@extundo.com>
19097
19098         * m4/argp.m4: Add AC_C_INLINE.
19099
19100 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19101
19102         Merge getpass from libc, plus a few fixes.
19103
19104         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
19105         Include <stdbool.h>.
19106         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
19107         __fsetlocking to empty.
19108         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
19109         do include <bits/libc-lock.h>.
19110         Do not include <fcntl.h>; not needed.
19111         [_LIBC]: Include <wchar.h>.
19112         (NOTCANCEL_MODE): New macro.
19113         (flockfile, funlockfile) [_LIBC]: New macros.
19114         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
19115         [!_LIBC]: New macros.
19116         (call_fclose): New function.
19117         (getpass): Use it.  Save tty stream separately; this simplifies the
19118         code and makes it more reliable if stdin happens to equal stdout.
19119         Invoke __fsetlocking on tty.
19120         Handle thread cancellation if needed.
19121         Namespace cleanup (use __tcgetattr, __getline).
19122         Use bool for Booleans.
19123         [USE_IN_LIBIO]: Handle wide streams.
19124         [!_LIBC]: Unconditionally do the fseek, since we don't know what
19125         stream might go where.
19126
19127         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
19128         doesn't have to include <stdio.h> before us.
19129         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
19130         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
19131         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
19132         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
19133         if not declared, so that we can use getpass.c code from libc without
19134         rewriting it.
19135         (flockfile, ftrylockfile, funlockfile): New macros.
19136
19137 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19138
19139         * modules/getpass: Depend on stdbool.
19140
19141 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19142
19143         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
19144
19145 2003-10-07  Karl Berry  <karl@gnu.org>
19146
19147         * config/config.{guess,sub}: update from config.
19148
19149 2003-10-06  Jim Meyering  <jim@meyering.net>
19150             Bruno Haible  <bruno@clisp.org>
19151
19152         This lets translators provide better translations for the
19153         "Written by ..." part of --version output.
19154         * lib/version-etc.h: Include stdarg.h.
19155         (version_etc_copyright): Declare as readonly.
19156         (version_etc): Make this function variadic with a NULL-terminated list
19157         of author name strings.
19158         (version_etc_va): New declaration.
19159         * lib/version-etc.c: Include stdarg.h, stdlib.h.
19160         (version_etc_copyright): Declare as readonly.
19161         (version_etc_va): New function. Provide a different translatable string
19162         for each possible number of authors < 10. Abbreviate when there are 10
19163         authors or more.
19164         (version_etc): Make this function variadic. Call version_etc_va.
19165         Suggestion from Gary V. Vaughan.
19166
19167         * lib/long-options.h (parse_long_options): Change prototype: the
19168         authors string is moved to the end and becomes variadic.
19169         * lib/long-options.c: Include stdarg.h.
19170         (parse_long_options): Make this function variadic, too.
19171         Call version_etc_va, not version_etc.
19172
19173 2003-10-06  Bruno Haible  <bruno@clisp.org>
19174
19175         * modules/version-etc-2: Remove file.
19176         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
19177
19178 2003-10-06  Bruno Haible  <bruno@clisp.org>
19179
19180         * modules/fatal-signal: New file.
19181         * MODULES.html.sh (func_all_modules): Add fatal-signal.
19182
19183 2003-10-06  Bruno Haible  <bruno@clisp.org>
19184
19185         * m4/fatal-signal.m4: New file.
19186         * m4/signalblocking.m4: New file, from GNU gettext.
19187
19188 2003-10-06  Bruno Haible  <bruno@clisp.org>
19189
19190         * lib/version-etc-2.h: Remove file.
19191         * lib/version-etc-2.c: Remove file.
19192
19193 2003-10-06  Bruno Haible  <bruno@clisp.org>
19194
19195         * lib/fatal-signal.h: New file, from GNU gettext.
19196         * lib/fatal-signal.c: New file, from GNU gettext.
19197
19198 2003-10-05  Paul Eggert  <eggert@twinsun.com>
19199
19200         * README: Rework advice for preventing empty .o files.
19201         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
19202         not <sys/types.h>.
19203
19204 2003-10-04  Karl Berry  <karl@gnu.org>
19205
19206         * lib/argp*: update from libc.
19207
19208 2003-10-04  Karl Berry  <karl@gnu.org>
19209
19210         * config/config.{guess,sub}: update from config.
19211
19212 2003-10-02  Bruno Haible  <bruno@clisp.org>
19213
19214         * modules/lchown (Include): Add lchown.h.
19215         * modules/time_r (Include): Use "..." syntax.
19216         * modules/xgetdomainname (Include): Add xgetdomainname.h.
19217
19218 2003-10-01  Simon Josefsson  <jas@extundo.com>
19219
19220         * MODULES.html.sh (func_all_modules): Move gethostname from section
19221         'based on' to section 'lacking' POSIX:2001.
19222
19223 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
19224
19225         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
19226         to output mode on the same stream.
19227
19228 2003-09-29  Paul Eggert  <eggert@twinsun.com>
19229
19230         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
19231         Fix arg typo in previous patch.
19232
19233 2003-09-28  Jim Meyering  <jim@meyering.net>
19234
19235         * lib/error.c: Correct cpp indentation.
19236
19237 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19238
19239         * modules/free: New file.
19240
19241 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19242
19243         * m4/free.m4: New file.
19244
19245 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19246
19247         * lib/minmax.h (MIN, MAX)
19248         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
19249         Omit the special code that used __typeof__, since we worry that
19250         it could be more trouble than it's worth.  See:
19251         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
19252         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
19253
19254         * lib/free.c: New file.
19255
19256 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
19257
19258         Trivial fixes to Makefile.am parts of module listings.
19259         * modules/strstr: Append strstr.h to lib_SOURCES.
19260         * modules/strcase: Likewise, for strcase.h.
19261
19262 2003-09-27  Karl Berry  <karl@gnu.org>
19263
19264         * config/mkinstalldirs: update from automake.
19265
19266 2003-09-26  Paul Eggert  <eggert@twinsun.com>
19267
19268         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
19269         (error_tail): Do not loop, reallocating temporary buffer, since
19270         the output cannot contain more wide characters than the input
19271         contains bytes, the size must be big enough already.  This avoids
19272         one potential size overflow calculation.  Check for size overflow
19273         when calculating temporary buffer size.  Free temporary buffer
19274         when done, if it was allocated with malloc; this plugs a memory
19275         leak.  Remove casts from void * to pointers, that are no longer
19276         needed now that we're assuming C89 or better.
19277
19278         Merge error changes from glibc.
19279
19280         * lib/error.c, error.h: Update copyright notice header to match glibc.
19281         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
19282         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
19283         Disable cancellation while printing error.
19284         * lib/error.h: Prepend __ to parameter names.
19285
19286 2003-09-26  Jim Meyering  <jim@meyering.net>
19287
19288         * lib/error.c (error_tail): Move some declarations
19289         into inner scope where the local variables are used.
19290
19291 2003-09-26  Bruno Haible  <bruno@clisp.org>
19292
19293         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
19294         stpncpy().
19295         Don't define stpncpy through config.h; it's now done through stpncpy.h.
19296
19297 2003-09-26  Bruno Haible  <bruno@clisp.org>
19298
19299         * lib/stpncpy.h (gnu_stpncpy): New declaration.
19300         (stpncpy): Define as alias for gnu_stpncpy.
19301         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
19302
19303 2003-09-25  Simon Josefsson  <jas@extundo.com>
19304
19305         * lib/xgetdomainname.h: New file.
19306         * lib/xgetdomainname.c: New file.
19307
19308 2003-09-25  Simon Josefsson  <jas@extundo.com>
19309             Bruno Haible  <bruno@clisp.org>
19310
19311         * modules/getdomainname: New file.
19312         * modules/xgetdomainname: New file.
19313         * MODULES.html.sh (func_all_modules): Add getdomainname,
19314         xgetdomainname.
19315
19316 2003-09-25  Simon Josefsson  <jas@extundo.com>
19317             Bruno Haible  <bruno@clisp.org>
19318
19319         * m4/getdomainname.m4: New file.
19320
19321 2003-09-25  Simon Josefsson  <jas@extundo.com>
19322             Bruno Haible  <bruno@clisp.org>
19323
19324         * lib/getdomainname.h: New file.
19325         * lib/getdomainname.c: New file.
19326
19327 2003-09-25  Karl Berry  <karl@gnu.org>
19328
19329         * lib/argp-fmtstream.c, argp-help.c: update from libc.
19330
19331 2003-09-25  Karl Berry  <karl@gnu.org>
19332
19333         * config/install-sh: update from automake.
19334
19335 2003-09-25  Bruno Haible  <bruno@clisp.org>
19336
19337         * modules/version-etc-2: New file, from modules/version-etc with
19338         modifications.
19339         * MODULES.html.sh (func_all_modules): Add version-etc-2.
19340
19341 2003-09-25  Bruno Haible  <bruno@clisp.org>
19342
19343         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
19344         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
19345
19346 2003-09-24  Simon Josefsson  <jas@extundo.com>
19347
19348         * modules/xgethostname: Add xgethostname.h.
19349
19350 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19351
19352         * lib/linebuffer.c (freebuffer): Don't free the argument, just
19353         the buffer associated with the argument.  Bug reported by
19354         Simon Josefsson.
19355
19356 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19357
19358         * README: Document assumptions that 'int' is at least 32 bits
19359         wide, that integer arithmetic is 2's complement without overflow,
19360         that there are no holes in integer values, that adding sizes of
19361         two nonoverlapping objects can't overflow, and that all-bits-zero
19362         yields scalar zero.  Fix spelling and capitalization typos.
19363
19364 2003-09-19  Karl Berry  <karl@gnu.org>
19365
19366         * lib/argp.h: update from libc.
19367
19368 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19369
19370         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
19371         to avoid spurious warnings like "AC_RUN_IFELSE was called before
19372         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
19373
19374 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19375
19376         * gnulib-tool: Use "test -h", not "test -L", for portability
19377         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
19378         (tags_regexp): Remove, since \| doesn't conform to POSIX.
19379         (sed_extract_prog): Issue s commands one-by-one, rather than
19380         using \| in one s command.
19381
19382 2003-09-16  Paul Eggert  <eggert@twinsun.com>
19383
19384         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
19385         input error, instead of returning NULL the next time we are called
19386         (and therefore losing track of errno).
19387
19388 2003-09-16  Bruno Haible  <bruno@clisp.org>
19389
19390         * gnulib-tool (func_create_testdir): Warn about duplicated
19391         dependencies.
19392
19393 2003-09-15  Paul Eggert  <eggert@twinsun.com>
19394
19395         * modules/argmatch, modules/fatal, modules/obstack,
19396         modules/xalloc, modules/xgethostname: Sort dependencies by
19397         importance, not alphabetically.
19398
19399 2003-09-15  Paul Eggert  <eggert@twinsun.com>
19400
19401         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
19402         fails, so that the caller gets the proper errno.
19403
19404         * lib/readutmp.c (read_utmp): Likewise.
19405         Check for fstat error.  Close stream and free storage
19406         when failing.
19407
19408 2003-09-14  Karl Berry  <karl@gnu.org>
19409
19410         * config/srclist.txt (strdup.c): disable for c89 changes.
19411
19412 2003-09-14  Jim Meyering  <jim@meyering.net>
19413
19414         * lib/getloadavg.c: Correct cpp indentation.
19415         * lib/strdup.c: Likewise.
19416         * lib/vasnprintf.c: Likewise.
19417
19418 2003-09-14  Bruno Haible  <bruno@clisp.org>
19419
19420         * modules/fwriteerror: New file.
19421         * MODULES.html.sh (func_all_modules): Add fwriteerror.
19422
19423 2003-09-14  Bruno Haible  <bruno@clisp.org>
19424
19425         * lib/fwriteerror.h: New file.
19426         * lib/fwriteerror.c: New file.
19427
19428 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19429
19430         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
19431         modules/xgethostname, modules/xalloc: Depend on exit.
19432
19433 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19434
19435         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
19436
19437         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
19438         and AC_MINIX, too, so that their extensions are available.
19439
19440         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
19441         This macro has been superseded by gl_BACKUPFILE.
19442
19443         More patches to assume C89 or better.
19444
19445         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
19446
19447         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
19448         unconditionally.
19449         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
19450         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
19451         Include <string.h>, <stdlib.h> unconditionally.
19452         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
19453         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
19454         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
19455         headers or for string.h.
19456         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
19457         or strtoul.
19458
19459         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
19460         headers.
19461         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
19462         * m4/userspec.m4 (gl_USERSPEC): Likewise.
19463         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
19464         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
19465         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
19466         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
19467         memcpy, memset.
19468         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
19469         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
19470         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
19471         strtol.
19472         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
19473         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
19474         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
19475         strtoul.
19476
19477 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19478
19479         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
19480         * lib/obstack.c [!defined _LIBC]: Likewise.
19481         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
19482         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
19483         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
19484
19485         More changes to assume C89 or better.
19486
19487         * lib/error.c (error_tail): Assume vprintf.
19488
19489         * lib/argmatch.c (getenv): Remove decl.
19490         * lib/progreloc.c (get_full_program_name): Define via prototype.
19491         * lib/setenv.c (clearenv): Likewise.
19492         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
19493         needed.
19494         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
19495         (malloc, memcpy): Remove decls.
19496         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
19497         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
19498         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
19499         (memcpy): Remove macro.
19500         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
19501         (__P): Remove.  All uses removed.
19502         (PTR): Remove.  All uses changed to void *.
19503         (CHAR_BIT, NULL): Remove.
19504         (spaces, zeros, memset_space, memset_zero)
19505         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
19506         Remove.
19507         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
19508         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
19509         Define with prototype.
19510         Remove now-unnecessary prototype decl.
19511         (extra_args_spec): Assume ANSI C.  All uses changed.
19512         (extra_args_spec_iso): Remove.
19513         (my_strftime, emacs_strftimeu): Define via prototype.
19514         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
19515         unconditionally.
19516         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
19517         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
19518         (strtoul, strtol): Remove decls.
19519         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
19520         LONG_MAX): Remove.
19521         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
19522         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
19523         (LOCALE_PARAM_PROTO): New macro.
19524         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
19525         (INTERNAL (strtol), strtol): Define with a prototype.
19526         (PARAMS): Remove.  All uses removed.
19527         * lib/tempname.c: Include <string.h> unconditionally.
19528         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
19529         * lib/xgethostname.c (main): Define with a prototype.
19530         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
19531         Include <stdlib.h> unconditionally.
19532         (calloc, malloc, realloc, free): Remove decls.
19533         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
19534         Include <stdlib.h> unconditionally.  Sort include file names.
19535         (strtod): Remove.
19536         (xstrtod): Define with a prototype.
19537         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
19538         (strtol, strtoul): Remove decls.
19539
19540 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19541
19542         More patches to assume C89 or better.
19543         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
19544         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
19545         string.h, memchr, STDC_HEADERS.
19546
19547 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19548
19549         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
19550         Include <stdlib.h>, <string.h> unconditionally.
19551         Remove now-unnecessary cast to char *.
19552         * lib/strnlen.c: Include <string.h> unconditionally.
19553         * lib/yesno.c (yesno): Define with a prototype.
19554
19555 2003-09-11  Bruno Haible  <bruno@clisp.org>
19556
19557         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
19558
19559 2003-09-10  Jim Meyering  <jim@meyering.net>
19560
19561         * lib/error.c: Correct indentation of cpp directives.
19562
19563 2003-09-10  Bruno Haible  <bruno@clisp.org>
19564
19565         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
19566         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
19567         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
19568         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
19569         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
19570         <stdlib.h> and <string.h> checks.
19571         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
19572         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
19573
19574 2003-09-10  Bruno Haible  <bruno@clisp.org>
19575
19576         * lib/strcspn.c: Include <string.h> unconditionally.
19577         * lib/strpbrk.c: Include <string.h> unconditionally.
19578         * lib/strstr.c: Include <string.h> unconditionally.
19579         * lib/unicodeio.c: Include <string.h> unconditionally.
19580         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
19581         * lib/unsetenv.c: Likewise.
19582         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
19583         * lib/yesno.c: Include <stdlib.h> unconditionally.
19584         (rpmatch): Add prototype.
19585
19586 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19587
19588         More patches to assume C89 or better.
19589         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
19590         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
19591         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
19592         or for string.h.
19593         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
19594         stdlib.h.
19595         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
19596         C headers.
19597         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
19598         string.h.
19599         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
19600         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
19601         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
19602         or for string.h.
19603         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
19604         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
19605         C headers.
19606         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
19607         memcpy.
19608         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
19609         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
19610         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
19611         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
19612         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
19613         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
19614         string.h, free.
19615         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
19616         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
19617         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
19618         C headers, or for string.h.
19619         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
19620         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
19621         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
19622         headers, memory.h, stdlib.h, string.h, strings.h.
19623         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
19624         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
19625         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
19626         strchr.
19627         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
19628         headers, memory.h, string.h.
19629         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
19630         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
19631         free.
19632         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
19633         headers.
19634         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
19635         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
19636         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
19637         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
19638         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
19639
19640 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19641
19642         More K&R removal.
19643
19644         * lib/acosl.c (main): Use a prototype.
19645         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
19646         tanl.c: Likewise.
19647
19648         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
19649
19650         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
19651         (getopt, etopt_long, getopt_long_only, _getopt_internal)
19652         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
19653         with a prototype.
19654         * lib/getopt.c (const): Remove macro.
19655         Include <string.h> unconditionally.
19656         (my_index): Remove; all uses changed to strchr.
19657         (strlen): Remove decl.
19658         (exchange): Remove forward decl; no longer needed.
19659         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
19660         Define with prototype.
19661         * lib/getopt1.c (const): Remove macro.
19662         (getopt_long, getopt_long_only, main): Define with prototype.
19663
19664         * lib/getugroups.c: Include <string.h> unconditionally.
19665
19666         * lib/getusershell.c: Include <stdlib.h> unconditionally.
19667         (getusershell, setusershell, endusershell, readname, main):
19668         Define with prototypes.
19669
19670         * lib/group-member.c: Include group-member.h first.
19671         Include <stdlib.h> unconditionally.
19672
19673         * lib/hard-locale.c: Include hard-locale.h first.
19674         Include <stdlib.h>, <string.h> unconditionally.
19675
19676         * lib/hash.c (free, malloc): Remove decls.
19677         Include <stdlib.h> unconditionally.
19678
19679         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
19680         (getenv): Do not declare.
19681
19682         * lib/idcache.c: Include <string.h> unconditionally.
19683
19684         * lib/long-options.c: Include long-options.h first, to test interface.
19685         Include <stdlib.h> unconditionally.
19686
19687         * lib/makepath.c: Include makepath.h first, to test interface.
19688         Include <stdlib.h> and <string.h> unconditionally.
19689
19690         * lib/linebuffer.c: Include <stdlib.h>.
19691         (free): Remove decl.
19692
19693         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
19694         stddef.h. rpl_malloc returns void *, not char *.
19695         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
19696         prototype.
19697
19698         * lib/md5.h: Include <limits.h> unconditionally.
19699         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
19700         (__P): Remove; all uses removed.
19701         * lib/md5.c: Include "md5.h" first.
19702         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
19703         md5_buffer, md5_process_bytes, md5_process_block):
19704         Define with prototypes.
19705         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
19706         * lib/sha.c: Include "sha.h" first.
19707         Include <stdlib.h>, <string.h> unconditionally.
19708
19709         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
19710         * lib/memcmp.c (__ptr_t): Likewise.
19711         * lib/memrchr.c (__ptr_t): Likewise.
19712         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
19713         Include <string.h> unconditionally.
19714         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
19715         * lib/memchr.c: Include <stdlib.h> unconditionally.
19716         * lib/memchr.c (LONG_MAX): Remove.
19717         * lib/memrchr.c (LONG_MAX): Likewise.
19718         * lib/memchr.c (__memchr): Define via a prototype.
19719         * lib/memrchr.c (__memrchr): Likewise.
19720         * lib/memcmp.c (__P): Remove, and remove all uses.
19721         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
19722         Remove forward decls; no longer needed.
19723         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
19724         Use types required by C89 in prototype.
19725
19726         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
19727         * lib/savedir.c: Likewise.
19728         * lib/mkdir.c (free): Remove decl.
19729         * lib/rmdir.c (rmdir): Define with a prototype.
19730         * lib/savedir.c: Include savedir.h first, to test interface.
19731
19732         * lib/mktime.c (STDC_HEADERS): Remove.
19733         Include <stdlib.h>, <string.h> unconditionally.
19734
19735         * lib/modechange.c: Include <stdlib.h> unconditionally.
19736         (malloc): Remove decl.
19737
19738         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
19739         (free): Remove decl.
19740
19741         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
19742         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
19743         (This type really should be intptr_t, but that's a C99ism.)
19744         (_obstack_memcpy): Remove: all uses changed to memcpy.
19745         Include <string.h> unconditionally.
19746         (struct obstack): Assume __STDC__ for types of members
19747         chunkfun, freefun, extra_arg.
19748         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
19749         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
19750         obstack_begin, obstack_specify_allocation,
19751         obstack_specify_allocation_with_arg, obstack_chunkfun,
19752         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
19753         Remove unprototyped decls and the macros that use them.
19754         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
19755         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
19756         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
19757         (defined __STDC__ && __STDC__)]:
19758         Remove nonprototyped code.
19759         Include <stdlib.h> unconditionally.
19760         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
19761         _obstack_allocated_p, _obstack_free, obstack_free,
19762         _obstack_memory_used, print_and_abort):
19763         Define using prototypes.
19764         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
19765         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
19766         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
19767         obstack_next_free, obstack_object_size, obstack_room) [0]:
19768         Remove unused, unprototyped code.
19769
19770         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
19771
19772         * lib/physmem.c (physmem_total, physmem_available, main): Define
19773         with prototypes.
19774
19775         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
19776         (main): Define with a prototype.
19777
19778         * lib/posixver.c (getenv): Remove decl.
19779
19780         * lib/putenv.c (malloc): Returns void *, not char *.
19781         Include <string.h> unconditionally.
19782         (strchr, memcpy, NULL): Do not define.
19783
19784         * lib/readtokens.c: Include readtokens.h first, to test interface.
19785         Include <stdlib.h>, <string.h> unconditionally.
19786         (init_tokenbuffer): Define with a prototype.
19787
19788         * lib/regex.c (PARAMS): Remove.  All uses removed.
19789         All uses of _RE_ARGS removed, too.
19790         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
19791         unconditionally.
19792         (bzero): Assume memset exists.
19793         (memcmp, memcpy, NULL): Remove.
19794         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
19795         char, or assignments to local vars of type signed char.
19796         (init_syntax_once, PREFIX(extract_number_and_incr),
19797         PREFIX(print_partial_compiled_pattern),
19798         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
19799         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
19800         PREFIX(regex_grow_registers), PREFIX(regex_compile),
19801         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
19802         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
19803         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
19804         wcs_compile_range, byte_compile_range, truncate_wchar,
19805         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
19806         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
19807         count_mbs_length, wcs_re_match_2_internal,
19808         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
19809         PREFIX(alt_match_null_string_p),
19810         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
19811         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
19812         regfree, PREFIX(extract_number)): Define with prototype.  Remove
19813         now-unnecessary declaration, if any.
19814         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
19815         regcomp, regexec):
19816         Remove now-unnecessary casts among pointer types.
19817         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
19818
19819         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
19820         (free): Remove decl.
19821
19822         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
19823
19824         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
19825         (free): Remove decl.
19826
19827         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
19828         * lib/xgetcwd.c: Likewise.
19829
19830         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
19831         (free): Remove decl.
19832
19833         * lib/strchrnul.c (strchrnul): Define with a prototype.
19834         Fix bug: c_in was not converted to char before searching.
19835
19836         The following changes are not K&R related:
19837
19838         * lib/group-member.h: Include <sys/types.h>, so that this file is
19839         self-contained.
19840         * lib/makepath.h: Likewise.
19841
19842         * lib/getusershell.c (readname, default_index, line_size, readname):
19843         Use size_t, not int, for sizes.
19844         (readname): If the size overflows, report an error instead of
19845         looping forever.
19846
19847 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19848
19849         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
19850         libc.
19851
19852 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19853
19854         * README: New section: portability guidelines.
19855
19856 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
19857
19858         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
19859         C89 spec.
19860
19861 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
19862
19863         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
19864
19865 2003-09-08  Paul Eggert  <eggert@twinsun.com>
19866
19867         Assume C89 or better; remove K&R cruft.
19868         A few of these changes were first proposed by Derek Robert Price
19869         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
19870
19871         * lib/addext.c: Include <string.h> unconditionally.
19872         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
19873         Don't declare getenv or malloc.
19874
19875         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
19876         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
19877         (NULL): Remove.
19878         (find_stack_direction, alloca): Use prototypes.
19879
19880         * lib/atexit.c (atexit): Define using a prototype.
19881
19882         * lib/basename.c, dirname.c, stripslash.c:
19883         Include <string.h> unconditionally.
19884
19885         * lib/bcopy.c: Include <stddef.h>.
19886         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
19887
19888         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
19889
19890         * lib/error.h (error, error_at_line, error_print_progname)
19891         [! (defined (__STDC__) && __STDC__)]: Remove decls.
19892         * lib/error.c: Include error.h first, to check interface.
19893         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
19894         (VA_START): Remove; all uses changeed to va_start.
19895         (exit, strerror): Remove decls.
19896         (error_print_progname): Prototype uncondionally.
19897         Don't include <errno.h>; no longer needed.
19898         (private_strerror): Remove.
19899         (error_tail): Always define.
19900         (error, error_at_line): Assume C89 or better; always use prototypes.
19901         * lib/fatal.c: Include "fatal.h" first, to test interface.
19902         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
19903         (VA_START): Remove; all uses changed to va_start.
19904         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
19905         this case.
19906         (exit): Remove decl.
19907         (fatal): Prototype unconditionally.  Assume va_start works.
19908         Abort at end, to pacify gcc.
19909
19910         * lib/euidaccess.c (main): Define with a prototype.
19911
19912         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
19913
19914         * lib/exitfail.c: Include <stdlib.h> unconditionally.
19915
19916         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
19917         prototypes.
19918         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
19919         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
19920         (getenv): Remove decl.
19921         (fnmatch): Define using a prototype.
19922         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
19923         (FCT): Define using a prototype.
19924
19925         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
19926
19927         * lib/gethostname.c: Include <stddef.h>.
19928         (gethostname): Define with prototype.  Length is size_t, not int.
19929
19930 2003-09-08  Paul Eggert  <eggert@twinsun.com>
19931
19932         Assume C89 or better; remove K&R cruft.
19933         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
19934         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
19935         string.h, getenv, malloc.
19936         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
19937         headers.
19938         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
19939         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
19940         do not check for strerror.
19941         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
19942         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
19943         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
19944         do not check for doprnt or vprintf.
19945         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
19946         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
19947
19948 2003-09-08  Paul Eggert  <eggert@twinsun.com>
19949
19950         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
19951         getversion.c should have been removed then, but was accidentally
19952         preserved.
19953
19954         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
19955         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
19956
19957 2003-09-08  Karl Berry  <karl@gnu.org>
19958
19959         * config/config.sub, config.guess, srclistvars.sh: update from savannah
19960                 config, forget about prep.
19961
19962         * config/depcomp, missing: update from automake.
19963
19964 2003-09-07  Paul Eggert  <eggert@twinsun.com>
19965
19966         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
19967         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
19968
19969 2003-09-07  Paul Eggert  <eggert@twinsun.com>
19970
19971         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
19972         copy_tm_result.  Bug reported by Simon Josefsson in
19973         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
19974
19975 2003-09-06  Paul Eggert  <eggert@twinsun.com>
19976
19977         * m4/time_r.m4: New file.
19978         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
19979         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
19980         is. Check for timegm declaration.
19981         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
19982         Do not check for gmtime_r.
19983         Replace mktime if __mktime_internal does not exist and if mktime
19984         hasn't been replaced already.
19985
19986 2003-09-06  Paul Eggert  <eggert@twinsun.com>
19987
19988         * lib/time_r.c, lib/time_r.h: New files.
19989
19990         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
19991         __localtime_r.
19992         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
19993         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
19994
19995         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
19996         __gmtime_r.
19997         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
19998         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
19999         Include <time_r.h>.
20000
20001         * lib/timegm.c: Switch to glibc implementation, with the following
20002         changes:
20003         [defined HAVE_CONFIG_H]: Include <config.h>.
20004         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
20005         (__mktime_internal) [!defined _LIBC]: New decl.
20006         (__gmtime_r) [!defined _LIBC]: New macro and function.
20007         (timegm): Use a prototype, since gnulib assumes C89.
20008         Do not bother declaring tmp to be const, as it's not really usefu.
20009         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
20010         (timegm): Declare only if HAVE_DECL_TIMEGM.
20011
20012 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20013
20014         * MODULES.html.sh (func_all_modules): Add time_r.
20015         * modules/time_r: New file.
20016         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
20017         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
20018
20019 2003-09-03  Paul Eggert  <eggert@twinsun.com>
20020
20021         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
20022         Bug reported by Lute Kamstra in
20023         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
20024
20025         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
20026         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
20027         course with correspondingly smaller numbers for tomorrow and
20028         yesterday.  From Tadayoshi Funaba.  Originally installed into
20029         sh-utils on 1999-08-07, but the patch got lost (I guess during the
20030         coreutils merge?).
20031
20032 2003-08-31  Simon Josefsson  <jas@extundo.com>
20033
20034         * modules/timegm: New file.
20035         * MODULES.html.sh (func_all_modules): Add timegm.
20036
20037 2003-08-31  Simon Josefsson  <jas@extundo.com>
20038
20039         * m4/timegm.m4: New file.
20040
20041 2003-08-31  Simon Josefsson  <jas@extundo.com>
20042
20043         * lib/timegm.h: New file.
20044         * lib/timegm.c: New file.  Based on
20045         wget-1.8.2/src/http.c:mktime_from_utc.
20046
20047 2003-08-31  Karl Berry  <karl@gnu.org>
20048
20049         * lib/argp.h: update from libc.
20050
20051 2003-08-28  Bruno Haible  <bruno@clisp.org>
20052
20053         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
20054         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
20055         followed by '#define fnmatch fnmatch_posix' gives an error.
20056
20057 2003-08-28  Bruno Haible  <bruno@clisp.org>
20058
20059         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
20060         warning on QNX, which defines O_BINARY to 000000.
20061
20062 2003-08-27  Jim Meyering  <jim@meyering.net>
20063
20064         * m4/mkstemp.m4: Require that the system mkstemp be able to create
20065         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
20066         would fail after 32.  Reported by Danny Levinson.  Details here:
20067         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
20068
20069 2003-08-24  Bruno Haible  <bruno@clisp.org>
20070
20071         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
20072         MSVC7 <stdio.h> is included later.
20073
20074 2003-08-22  Simon Josefsson  <jas@extundo.com>
20075
20076         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
20077
20078 2003-08-20  Karl Berry  <karl@gnu.org>
20079
20080         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
20081
20082 2003-08-20  Bruno Haible  <bruno@clisp.org>
20083
20084         * modules/progname: New file.
20085         * MODULES.html.sh (func_all_modules): Add progname.
20086
20087 2003-08-20  Bruno Haible  <bruno@clisp.org>
20088
20089         * lib/progname.h: New file, from GNU gettext.
20090         * lib/progname.c: New file, from GNU gettext.
20091         * lib/progreloc.c: New file, from GNU gettext.
20092
20093 2003-08-19  Jim Meyering  <jim@meyering.net>
20094
20095         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
20096         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
20097
20098 2003-08-19  Bruno Haible  <bruno@clisp.org>
20099
20100         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
20101         more.
20102
20103 2003-08-19  Bruno Haible  <bruno@clisp.org>
20104
20105         * lib/xstrdup.c: Assume <string.h> exists.
20106
20107 2003-08-18  Paul Eggert  <eggert@twinsun.com>
20108
20109         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
20110         in makefile rules.
20111
20112 2003-08-18  Jim Meyering  <jim@meyering.net>
20113
20114         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
20115         * m4/lib-ld.m4: Likewise.
20116
20117 2003-08-18  Jim Meyering  <jim@meyering.net>
20118
20119         * lib/setenv.h: Indent nested cpp directive.
20120         * lib/vasnprintf.c: Remove trailing blanks.
20121
20122 2003-08-17  Simon Josefsson  <jas@extundo.com>
20123
20124         * modules/xstrndup: New file.
20125         * MODULES.html.sh (func_all_modules): Add xstrndup.
20126
20127 2003-08-17  Simon Josefsson  <jas@extundo.com>
20128
20129         * modules/argp: Fix autoconf macro name. Add more dependencies.
20130
20131 2003-08-17  Simon Josefsson  <jas@extundo.com>
20132
20133         * m4/xstrndup.m4: New file.
20134
20135 2003-08-17  Simon Josefsson  <jas@extundo.com>
20136
20137         * m4/argp.m4: New file.
20138
20139 2003-08-17  Simon Josefsson  <jas@extundo.com>
20140             Bruno Haible  <bruno@clisp.org>
20141
20142         * lib/xstrndup.h: New file.
20143         * lib/xstrndup.c: New file.
20144
20145 2003-08-17  Bruno Haible  <bruno@clisp.org>
20146
20147         * modules/strndup (Files, Include): Add lib/strndup.h.
20148
20149 2003-08-17  Bruno Haible  <bruno@clisp.org>
20150
20151         * modules/euidaccess (Files): Add lib/euidaccess.h.
20152
20153 2003-08-17  Bruno Haible  <bruno@clisp.org>
20154
20155         * lib/strndup.h: New file.
20156
20157 2003-08-17  Bruno Haible  <bruno@clisp.org>
20158
20159         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
20160         like AC_GNU_SOURCE.
20161         * modules/extensions (configure.ac): Comment out the invocation of
20162         gl_USE_SYSTEM_EXTENSIONS.
20163
20164 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20165
20166         Merges from coreutils, etc.
20167         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
20168         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
20169         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
20170         fixing a typo.
20171         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
20172         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
20173
20174 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20175
20176         Document merge from coreutils.
20177         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
20178         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
20179         * modules/utime: Add m4/utimes-null.m4.
20180
20181 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20182
20183         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
20184         space, undoing this 2003-08-12 change:
20185         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20186
20187 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20188
20189         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
20190         strtoul.c from libc, undoing this 2003-08-12 change:
20191         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20192
20193 2003-08-16  Jim Meyering  <jim@meyering.net>
20194
20195         Merges from coreutils.
20196         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
20197         prefix.  Adjust cache variables similarly.  Create 500 rather than
20198         just 300 files, to exercise bug on Darwin6.5, too.
20199         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
20200         $missing_dir.
20201         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
20202         AM_SYS_POSIX_TERMIOS.
20203         Reported by mkc@mathdogs.com.
20204         Also change use of $am_cv_sys_posix_termios
20205         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
20206         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
20207         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
20208         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
20209         in /proc/mounts until it finds one with matching device number.  This
20210         is unnecessary when the FILE argument *is* a mount point.  No stat call
20211         is necessary in that case.  So, disable the statvfs-testing code on
20212         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
20213         as RedHat bug# 84846.
20214         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20215         to 1MB, so as not to render systems with no stack size limit (e.g.,
20216         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20217         Include <unistd.h>.  On some systems,
20218         it is required for the definition of _SC_PAGESIZE.
20219
20220 2003-08-16  Jim Meyering  <jim@meyering.net>
20221
20222         Merge from coreutils.
20223         * lib/xstrtoimax.c: #else #if -> #elif.
20224         * lib/xstrtoumax.c: Likewise.
20225
20226 2003-08-16  Jim Meyering  <jim@meyering.net>
20227
20228         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
20229         * m4/utimes.m4: Removed.
20230         * m4/utimes-null.m4: Renamed from utimes.m4.
20231
20232         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20233         to 1MB, so as not to render systems with no stack size limit (e.g.,
20234         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20235         Include <unistd.h>.  On some systems,
20236         it is required for the definition of _SC_PAGESIZE.
20237
20238 2003-08-16  Jim Meyering  <jim@meyering.net>
20239         and Paul Eggert  <eggert@cs.ucla.edu>
20240
20241         Merges from coreutils, etc.
20242
20243         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
20244         using the latest version from cvs.  This avoids problems with #line
20245         directives using a vendor (Sun) compiler.
20246         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
20247         Don't set GETGROUPS_LIB here; now it's
20248         done via getgroups.m4's wrapper function.
20249         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
20250         rather than just in sh-util/configure.in, so that the
20251         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
20252         same.
20253         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
20254         AC_FUNC_GETLOADAVG where to find getloadavg.c.
20255         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
20256         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
20257         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
20258         Remove code that is now done by the newly-required macros.
20259         Append $(EXEEXT) to DF_PROG.
20260         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
20261         Do not invoke or require the following here,
20262         since prereq.m4 or some gnulib .m4 now does this for us:
20263         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
20264         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
20265         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
20266         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
20267         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
20268         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
20269         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
20270         AC_FUNC_OBSTACK.
20271         Do not replace the following functions, as this is now the job
20272         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
20273         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
20274         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
20275         atexit getpass, strdup, getpagesize.
20276         Replace 'raise'.
20277         Do not check for the following functions, as this is now the job
20278         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
20279         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
20280         setregid.
20281         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
20282         Check for sys/sysctl.h.
20283         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
20284         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
20285         of checking for ssize_t ourselves.
20286
20287         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
20288         Require every macro that gnulib/modules/* suggests for us.
20289         (jm_PREREQ_ADDEXT): New macro.
20290         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
20291         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
20292
20293         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
20294         (gl_PHYSMEM): Use it.
20295         Also check for `table' function.
20296         Check for new headers and functions.
20297         Add check for sys/sysmp.h.
20298         With suggestions from Kaveh Ghazi.
20299         Ignore headers that are present but cannot be compiled.  This
20300         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
20301         C 5.4.
20302
20303 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20304
20305         Document merge from coreutils.
20306         * modules/userspec: Depend on posixver.
20307         * modules/strftime: Depend on tzset.
20308
20309 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20310
20311         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
20312         rather than tab, after '#' in shell-script copyright notices.
20313         Suggested by Bruno Haible.
20314
20315 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20316
20317         * config/srclist-update: Use three spaces, rather than tab, after '#'
20318         in shell-script copyright notices.  Suggested by Bruno Haible.
20319         Remove unnecessary parenthesization in regular expression.
20320
20321 2003-08-15  Jim Meyering  <jim@meyering.net>
20322
20323         Merge from coreutils.
20324         * lib/xgethostname.c: Include <stdlib.h>.
20325         (xghostname): Don't exit for anything other than memory-related
20326         failure; just return NULL.
20327         * lib/userspec.c: Include "posixver.h".
20328         (parse_user_spec): Accept `.' as a separator only
20329         in pre-POSIX-200112 mode.
20330         * lib/strtoimax.c: Use #elif rather than #else #if.
20331         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
20332         Remove function, now that we can rely on a working tzset function.
20333         [!_LIBC]: Ensure that the required autoconf test has been run.
20334         [!defined _NL_CURRENT && HAVE_STRFTIME]:
20335         Use underlying_strftime for %r.
20336         * lib/sha.c: Merge in some clean-up and optimization changes from
20337         glibc.
20338         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
20339         Ensure that it is a multiple of 64.
20340         Rearrange loop exit tests so as to avoid performing an
20341         additional fread after encountering an error or EOF.
20342         * lib/realloc.c: Update copyright date.
20343
20344 2003-08-15  Jim Meyering  <jim@meyering.net>
20345         and Paul Eggert  <eggert@twinsun.com>
20346
20347         Merge from coreutils.
20348         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
20349         member but strut utmpx does not.  Needed for AIX 4.3.3.
20350         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
20351
20352 2003-08-15  Jim Meyering  <jim@meyering.net>
20353         and Paul Eggert  <eggert@cs.ucla.edu>
20354
20355         Merges from coreutils, etc.
20356         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
20357         Require gl_FUNC_TZSET_CLOBBER.
20358         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
20359         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
20360         members.
20361
20362 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20363
20364         Help the merge from coreutils.
20365         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
20366         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
20367         * m4/tzset.m4: Use it too.
20368
20369 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20370
20371         * modules/tzset: New file.
20372
20373 2003-08-14  Jim Meyering  <jim@meyering.net>
20374
20375         Merges from coreutils.
20376         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
20377         variable names, rather than @FNMATCH_H@.
20378         * modules/alloca: Likewise for $(ALLOCA_H).
20379
20380         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
20381         the three copies of the literal target, `fnmatch.h'.
20382         * modules/alloca (alloca.h): Likewise.
20383
20384 2003-08-14  Jim Meyering  <jim@meyering.net>
20385
20386         Merge from coreutils.
20387         * m4/tzset.m4: New file.
20388         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
20389         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
20390         otherwise, AIX 5.1 systems would end up using the latter.
20391         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
20392         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
20393         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
20394         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
20395
20396 2003-08-14  Jim Meyering  <jim@meyering.net>
20397
20398         Merge from coreutils.
20399         * lib/obstack.h: Whitespace changes.
20400         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
20401         and xcalloc return values.
20402         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
20403         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
20404         hang on OSF/1 5.1 for DIR on both local and remote file systems.
20405         Reported by (and fix confirmed by) Nelson H. F. Beebe.
20406         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
20407         error from mntctl.
20408         Use mntctl's return value to drive the entry-processing loop, since
20409         we can't rely on the value of the vmt_length member in the last
20410         entry.  On some systems doing so could result in exhausting
20411         virtual memory.  Based in part on a patch from Mike Jetzer.
20412
20413 2003-08-14  Jim Meyering  <jim@meyering.net>
20414         and Paul Eggert  <eggert@twinsun.com>
20415
20416         Merges from coreutils, plus other fixes.
20417         * lib/physmem.c: Merge in portability changes from gcc/libiberty
20418         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
20419         for credits and details.  Thanks to Kaveh Ghazi for helping
20420         to keep these files in sync.
20421         (ARRAY_SIZE): Define it.
20422         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
20423         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
20424         (memcasecmp): Don't assume size_t fits in unsigned int.
20425         Remove casts and duplicate code.
20426         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
20427         (memcpy): Remove definition.
20428         Merge in some clean-up and optimization changes from glibc.
20429         [BLOCKSIZE]: Move definition to top of file.
20430         Ensure that it is a multiple of 64.
20431         Rearrange loop exit tests so as to avoid performing an
20432         additional fread after encountering an error or EOF.
20433         * lib/md5.h (md5_uintptr): Define.
20434         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
20435         return to the initial working directory.  Preserve errno
20436         for caller.
20437         * lib/idcache.c: Include "xalloc.h".
20438         (xmalloc, xrealloc): Remove decls.
20439         (getuser): Remove casts no longer required in C89.
20440         * lib/human.c: Include stdio.h, for sprintf.
20441         * lib/group-member.c: Include "xalloc.h".
20442         (xmalloc, xrealloc): Remove decls.
20443         (get_group_info): Remove casts no longer required in C89.
20444         * lib/getusershell.c (readname): Remove casts no longer required in
20445         C89.
20446         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
20447         * lib/getline.c: Whitespace fix, from coreutils.
20448
20449 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20450
20451         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
20452         Check for isascii.
20453
20454         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
20455         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
20456         Undo previous (whitespace-only) change.
20457
20458 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20459
20460         * lib/exclude.c: Include <ctype.h>
20461         (IN_CTYPE_DOMAIN): New macro.
20462         (is_space): New fn.
20463         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
20464         and empty lines.
20465
20466         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
20467         Undo previous (whitespace-only) change.
20468
20469 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20470
20471         * config/srclist-update: Change update back to the old behavior,
20472         leaving whitespace alone.  Use one 'sed' command rather than a
20473         pipeline.
20474         (fixlicense): Now a variable, not a function.
20475         (remove_trailing_blanks): Remove.
20476         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
20477         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
20478         Undo previous (whitespace-only) change.
20479
20480 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20481
20482         Merge from coreutils.
20483         * modules/euidaccess: Add lib_SOURCES, include for new
20484         file euidaccess.h
20485
20486 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20487
20488         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
20489         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
20490         Normalize leading white space and remove trailing white space.
20491
20492         Merge from coreutils
20493         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
20494
20495         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
20496         0.12.1.  These files are now being upgraded automatically by
20497         ../config/srclist-update.
20498
20499 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20500
20501         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
20502         Normalize leading white space and remove trailing white space.
20503         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
20504         notice, as per ../config/srclist-update.
20505
20506         Merge from coreutils.
20507         * lib/euidaccess.h: New file.
20508         * lib/euidaccess.c: Include it.
20509         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
20510         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
20511         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
20512
20513 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20514
20515         * config/srclist-update: Add copyright notice.
20516         (remove_id_lines, remove_trailing_blanks): New constants.
20517         (fixfile): Use them to normalize spacing a bit in copied files.
20518         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
20519         Normalize leading white space and remove trailing white space.
20520
20521         * config/texinfo.tex: Sync with texinfo.
20522
20523         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
20524         strtoul.c from libc, to merge coreutils whitespace changes.
20525
20526         * config/srclist.txt: Get the following m4 files from gettext:
20527         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
20528         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
20529         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
20530         wint_t.m4.
20531
20532 2003-08-12  Karl Berry  <karl@gnu.org>
20533
20534         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
20535         been made.
20536
20537 2003-08-11  Paul Eggert  <eggert@twinsun.com>
20538
20539         * modules/gnu-source, m4/gnu-source.m4:
20540         Remove; we're assuming Autoconf 2.54 or later now.
20541         Suggested by Bruno Haible.
20542         * MODULES.html.sh (func_all_modules): Remove gnu-source.
20543
20544 2003-08-11  Bruno Haible  <bruno@clisp.org>
20545
20546         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
20547
20548 2003-08-11  Bruno Haible  <bruno@clisp.org>
20549
20550         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
20551         (vasnprintf): Use it instead of wcslen.
20552
20553 2003-08-11  Bruno Haible  <bruno@clisp.org>
20554
20555         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
20556         value to ensure that _Bool promotes to int. Use #define for _Bool when
20557         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
20558
20559 2003-08-10  Karl Berry  <karl@gnu.org>
20560
20561         * lib/regex.h: update from libc (whitespace fix).
20562
20563 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20564
20565         Merge some files from coreutils.  These changes were
20566         originally made by Jim Meyering.
20567         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
20568         many older Unixes require this.
20569         * lib/alloca.c (alloca): Remove cast to argument of free;
20570         no longer needed in C89.
20571         * lib/alloca_.h, regex.h: Fix white space to match
20572         what GNU indent does.
20573
20574 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20575
20576         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
20577         apparently Emacs's Unicode mode got confused before my 2003-08-05
20578         checkin.
20579
20580 2003-08-08  Paul Eggert  <eggert@twinsun.com>
20581
20582         * m4/extensions.m4: New file.
20583         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
20584         Require gl_USE_SYSTEM_EXTENSIONS.
20585         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
20586         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
20587
20588 2003-08-08  Paul Eggert  <eggert@twinsun.com>
20589
20590         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
20591         * modules/extensions, modules/gnu-source: New files.
20592         * modules/timespec, modules/unlocked-io: Depend on extensions.
20593
20594 2003-08-07  Paul Eggert  <eggert@twinsun.com>
20595
20596         * modules/restrict: New file.
20597         * MODULES.html.sh (func_all_modules): Add restrict.
20598         * modules/regex: Depend on restrict.
20599
20600 2003-08-07  Paul Eggert  <eggert@twinsun.com>
20601
20602         * m4/restrict.m4: New file.
20603         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
20604
20605 2003-08-07  Bruno Haible  <bruno@clisp.org>
20606
20607         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
20608         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
20609
20610 2003-08-07  Bruno Haible  <bruno@clisp.org>
20611
20612         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
20613         makes the module 'getndelim2' compatible with the module 'getline'.
20614
20615 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20616
20617         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
20618         byte with "\201" to avoid glitches when editing that source file
20619         with multi-gnome-terminal.
20620
20621 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20622
20623         * lib/bumpalloc.h: Remove.
20624
20625 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20626
20627         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
20628         * modules/bumpalloc: Remove.
20629
20630 2003-08-04  Paul Eggert  <eggert@twinsun.com>
20631
20632         * lib/getloadavg.c: Change copyright notice and spacing to conform to
20633         GNU coding style.
20634
20635         Merge from coreutils.
20636         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
20637         1. From glibc.
20638         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
20639         from Karl Berry, implemented by Jim Meyering.
20640         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
20641         from Dmitry V. Levin.
20642         Remove anachronistic cast of xrealloc.
20643         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
20644         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
20645         type. Otherwise, it wouldn't compile with at least /bin/cc on
20646         ymp-cray-unicos9.0.2.X.
20647         Combine two mostly-identical uses of alloca into one.
20648         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
20649
20650 2003-08-04  Dave Love  <d.love@dl.ac.uk>
20651
20652         [From Emacs.]
20653
20654         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
20655         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
20656         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
20657         obsolete NLIST_NAME_UNION.
20658         [__GNU__]: Undef BSD and FSCALE.
20659         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
20660
20661 2003-08-03  Paul Eggert  <eggert@twinsun.com>
20662
20663         * lib/stdbool_.h (_Bool): Make it signed char, instead of
20664         an enum type, so that it's guaranteed to promote to int.  See:
20665         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
20666
20667 2003-08-03  Karl Berry  <karl@gnu.org>
20668
20669         * config/depcomp: update from automake.
20670
20671 2003-07-31  Paul Eggert  <eggert@twinsun.com>
20672
20673         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
20674         (strerror): Don't assume that a printable int fits in 14 bytes.
20675
20676 2003-07-31  Bruno Haible  <bruno@clisp.org>
20677
20678         * modules/getpass-gnu: New file.
20679         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
20680
20681 2003-07-31  Bruno Haible  <bruno@clisp.org>
20682
20683         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
20684
20685 2003-07-24  Karl Berry  <karl@gnu.org>
20686
20687         * config/missing: update from automake.
20688
20689 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
20690             Bruno Haible  <bruno@clisp.org>
20691
20692         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
20693         * lib/getline.c (getline, getdelim): Likewise.
20694         Remove _GNU_SOURCE define; now it's defined in config.h through
20695         m4/getline.m4.
20696
20697 2003-07-23  Karl Berry  <karl@gnu.org>
20698
20699         * config/config.sub: update from prep.
20700
20701 2003-07-22  Paul Eggert  <eggert@twinsun.com>
20702
20703         * modules/xalloc (Depends-on): Add exitfail.
20704         * modules/xmemcoll: Likewise.
20705
20706 2003-07-22  Paul Eggert  <eggert@twinsun.com>
20707
20708         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
20709         over-parenthesization in macros.
20710
20711         Sync with coreutils.
20712
20713         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
20714         required by C99.
20715
20716         Use `exit_failure' for xalloc and xmemcoll instead of their own
20717         private exit-failure variables.
20718         * lib/xalloc.h (xalloc_exit_failure): Remove.
20719         * lib/xmalloc.c: Likewise.  Include exitfail.h.
20720         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
20721         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
20722         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
20723         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
20724
20725 2003-07-20  Jim Meyering  <jim@meyering.net>
20726
20727         * modules/closeout (Depends-on): Add exitfail.
20728         Suggestion from Bruno Haible.
20729
20730 2003-07-19  Karl Berry  <karl@gnu.org>
20731
20732         * config/config.sub: update from prep.
20733
20734 2003-07-18  Paul Eggert  <eggert@twinsun.com>
20735
20736         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
20737         Remove.
20738         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
20739         to test that it can stand by itself.  Include "exitfail.h".
20740         Clients should set exit_failure instead.
20741         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
20742
20743 2003-07-18  Bruno Haible  <bruno@clisp.org>
20744
20745         * modules/getndelim2: New file.
20746         * modules/getline: Share files with module getndelim2.
20747         * modules/getnline: Depend on getndelim2 instead of sharing files with
20748         it. Add getnline.c to lib_SOURCES.
20749         * MODULES.html.sh (func_all_modules): Add getndelim2.
20750
20751 2003-07-18  Bruno Haible  <bruno@clisp.org>
20752
20753         * m4/getndelim2.m4: New file.
20754         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
20755         invoke gl_PREREQ_GETNDELIM2.
20756         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
20757         gl_PREREQ_GETNDELIM2.
20758         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
20759         gl_GETNDELIM2.
20760
20761 2003-07-18  Bruno Haible  <bruno@clisp.org>
20762
20763         * lib/getndelim2.h: New file.
20764         * lib/getndelim2.c: Make into a module of its own. Include config.h,
20765         getndelim2.h.
20766         (getndelim2): Make non-static. Change return type to ssize_t.
20767         * lib/getline.h: Change argument names.
20768         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
20769         * lib/getnline.c: Include getndelim2.h.
20770
20771 2003-07-18  Andreas Schwab  <schwab@suse.de>
20772
20773         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
20774
20775 2003-07-17  Karl Berry  <karl@gnu.org>
20776
20777         * config/config.sub: update from prep.
20778
20779 2003-07-17  Bruno Haible  <bruno@clisp.org>
20780
20781         * modules/getnline: New file.
20782         * modules/getline: Add lib/getndelim2.c to source file list.
20783         * MODULES.html.sh (func_all_modules): Add getnline.
20784
20785 2003-07-17  Bruno Haible  <bruno@clisp.org>
20786
20787         * m4/getnline.m4: New file.
20788
20789 2003-07-17  Bruno Haible  <bruno@clisp.org>
20790
20791         * m4/Makefile.am.in: Remove file.
20792         * m4/Makefile.am: Remove file.
20793         * m4/Makefile.in: Remove file.
20794
20795 2003-07-17  Bruno Haible  <bruno@clisp.org>
20796
20797         * lib/getnline.h: New file.
20798         * lib/getnline.c: New file.
20799         * lib/getndelim2.c: New file, extracted from getline.c.
20800         (getndelim2): Renamed from getdelim2, with added nmax argument.
20801         * lib/getline.c: Include getndelim2.c.
20802         (getdelim2): Moved out to getndelim2.c.
20803         (getline, getdelim): Update.
20804
20805 2003-07-17  Bruno Haible  <bruno@clisp.org>
20806
20807         * lib/Makefile.am: Remove file.
20808         * lib/Makefile.in: Remove file.
20809
20810 2003-07-17  Bruno Haible  <bruno@clisp.org>
20811
20812         * configure.in: Remove file.
20813         * Makefile.in: Remove file.
20814
20815 2003-07-17  Bruno Haible  <bruno@clisp.org>
20816
20817         * MODULES.html.sh: Put the </BODY> right before </HTML>.
20818
20819 2003-07-16  Karl Berry  <karl@gnu.org>
20820
20821         * config/srclist-update: was running fixlicense twice, which caused
20822                 texinfo.tex to be nullified for some reason.  Simplify,
20823                 $gplsrc is no longer needed as far as I can see?
20824
20825 2003-07-16  Jim Meyering  <jim@meyering.net>
20826
20827         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
20828
20829 2003-07-15  Paul Eggert  <eggert@twinsun.com>
20830
20831         * config/srclist.txt: Get the following files from gettext-runtime/intl
20832         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
20833         ref-del.sin.  From Bruno Haible.
20834         * config/srclist-update (fixfile): Change grep pattern again, since the
20835         previous fix didn't work (there was another trailing $).  Use
20836         '[$]' to escape the $s.
20837
20838 2003-07-15  Karl Berry  <karl@gnu.org>
20839
20840         * lib/vasnprintf.c: update from gettext.
20841
20842 2003-07-15  Karl Berry  <karl@gnu.org>
20843
20844         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
20845         gets expanded when surrounded by '$'.
20846
20847 2003-07-15  Jim Meyering  <jim@meyering.net>
20848
20849         * modules/save-cwd: Don't depend on error.  From Derek Price.
20850
20851 2003-07-15  Jim Meyering  <jim@meyering.net>
20852
20853         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
20854
20855 2003-07-14  Simon Josefsson  <jas@extundo.com>
20856
20857         * modules/mempcpy: New file.
20858         * MODULES.html.sh (func_all_modules): Add mempcpy.
20859
20860 2003-07-14  Simon Josefsson  <jas@extundo.com>
20861
20862         * m4/mempcpy.m4: New file.
20863
20864 2003-07-14  Simon Josefsson  <jas@extundo.com>
20865
20866         * lib/mempcpy.h: New file.
20867         * lib/mempcpy.c: New file.
20868
20869 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20870
20871         * modules/getdate, modules/posixtm: Depend on mktime.
20872
20873 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20874
20875         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
20876         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
20877         unicodeio.c, unicodeio.h, unlocked-io.h:
20878         Switch from LGPL to GPL.
20879
20880 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20881
20882         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
20883         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
20884         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
20885         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
20886         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
20887         updated automatically by ../config/srclist-update.  This changes
20888         their license from LPGL to GPL.
20889
20890 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20891
20892         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
20893         assumed to refer to the root of the most recent stable gettext version.
20894         * config/srclistvars.sh: Add defaults for eggert.
20895         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
20896         Match "This program" as well as "The program".  This is needed
20897         for gettext.
20898
20899 2003-07-14  Jim Meyering  <jim@meyering.net>
20900
20901         Don't emit diagnostics.  Let callers do that.
20902         * lib/save-cwd.c: Don't include "error.h".
20903         (save_cwd): Don't call error.  Ensure that errno is valid
20904         when returning nonzero.
20905
20906         * lib/save-cwd.h (restore_cwd): Update prototype.
20907         * lib/save-cwd.c (restore_cwd): Remove two parameters.
20908         Simplify.  Don't call error upon failure.  Let callers do that.
20909         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
20910         when auditing is enabled.  But don't bother updating the #if.
20911
20912 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
20913
20914         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
20915         it breaks C++ compilation.
20916         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
20917
20918 2003-07-10  Simon Josefsson  <jas@extundo.com>
20919
20920         * modules/strchrnul (Makefile.am): Add strchrnul.h.
20921
20922 2003-07-10  Jim Meyering  <jim@meyering.net>
20923
20924         * m4/clock_time.m4: Remove trailing blank.
20925         * m4/intmax_t.m4: Likewise.
20926
20927 2003-07-10  Jim Meyering  <jim@meyering.net>
20928
20929         * lib/vasnprintf.c: Remove trailing blanks.
20930         Make cpp indentation consistent.
20931
20932 2003-07-09  Paul Eggert  <eggert@twinsun.com>
20933
20934         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
20935         posixver.c, strftime.c, strnlen.c, strverscmp.c:
20936         Switch from LGPL to GPL.
20937
20938 2003-07-09  Paul Eggert  <eggert@twinsun.com>
20939
20940         * config/srclist.txt: Sort sublists.  Add
20941         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
20942         that differ from gnulib for one reason or another; we'd like this list
20943         to be smaller but for now let's document what we have.
20944
20945 2003-07-08  Paul Eggert  <eggert@twinsun.com>
20946
20947         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
20948         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
20949         and sweeter "eval x=$x".
20950         * config/srclist.txt: Get lib/argp* from glibc.
20951
20952 2003-07-07  Paul Eggert  <eggert@twinsun.com>
20953
20954         * lib/mktime.c: Fix some boundary cases and remove need for floating
20955         point.
20956
20957         Issue a compile-time diagnostic if time_t is floating point, or if
20958         two's complement arithmetic is not in effect, or if arithmetic
20959         right shift does not propagate the sign.  These assumptions were
20960         all in the original code but they weren't checked.
20961
20962         (TIME_T_MIDPOINT, verify): New macros.
20963         (__isleap): Remove; it has integer overflow problems.
20964         (leapyear): New function, without those problems.
20965         (ydhms_tm_diff): Remove; splitting into two parts.
20966         (ydhms_diff): New function, containing the arithmetic part of
20967         the old ydhms_tm_diff function.  Issue a compile-time
20968         diagnostic if we are not using C99 integer division.
20969         Avoid casts when possible.
20970         (guess_time_tm): New function, containing the checking part of
20971         the old ydhms_tm_diff function.  Return the new value, rather than
20972         the difference between it and the old.  Accept a new argument T
20973         so that *T specifies the old value.  Check for overflow in the result.
20974
20975         (__mktime_internal): Use a time_t offset, not a long int offset.
20976         This undoes the 2003-06-04 change, which is no longer needed now
20977         that we have better overflow checking.
20978         (localtime_offset): Likewise.
20979
20980         (__mktime_internal): Avoid harmful overflow on hosts where time_t
20981         and long are 64-bit but int is only 32-bit.
20982         (ydhms_diff): Use long int to store year1 and yday1.
20983         Issue a compile-time diagnostic if long int is not wide enough.
20984
20985         (__mktime_internal): Use long int to store adjusted year and yday.
20986         Use plain C rather than preprocessor commands, if that doesn't
20987         affect efficiency.
20988         Check for overflow (and try to repair) after each probe
20989         rather than checking only at the very end.  This avoids some bugs
20990         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
20991         does not equal GMT offset at maximum time).
20992         Use integer to check for overflow rather than floating point; this
20993         is more portable to non-IEEE hosts, and is a tad faster.
20994         When we detect that we are oscillating between two values,
20995         don't check whether tm_isdst has the requested value, since
20996         we already know the answer.  When tm_isdst has the wrong value,
20997         use a different heuristic to find the right one, based on the
20998         extreme values actually observed in practice in tz2003a,
20999         rather than the (overly optimistic) "previous 3 calendar quarters".
21000
21001         (not_equal_tm, print_tm, check_result): Use "const T" rather than
21002         "T const" to accommodate glibc style.
21003         (check_result): Use less-confusing report format.  "long" -> "long int.
21004         (main): Likewise.
21005         Don't loop if the iteration overflows time_t.
21006         Allow a negative step in the iteration.
21007
21008 2003-07-06  Karl Berry  <karl@gnu.org>
21009
21010         * config/depcomp: update from automake.
21011         * config/config.sub: update from prep.
21012
21013 2003-07-03  Karl Berry  <karl@gnu.org>
21014
21015         * config/config.guess: update from prep.
21016
21017 2003-07-01  Paul Eggert  <eggert@twinsun.com>
21018
21019         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
21020         xreadlink.c now includes it unconditionally.
21021
21022 2003-07-01  Paul Eggert  <eggert@twinsun.com>
21023
21024         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
21025         having it depend on HAVE_SYS_TYPES_H.
21026
21027 2003-07-01  Bruno Haible  <bruno@clisp.org>
21028
21029         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
21030         <sys/types.h> should be sufficient.
21031         Reported by Paul Eggert.
21032
21033 2003-06-26  Karl Berry  <karl@gnu.org>
21034
21035         * config/depcomp: update from automake.
21036
21037 2003-06-26  Bruno Haible  <bruno@clisp.org>
21038
21039         * modules/human: Depend on module stdbool.
21040
21041 2003-06-25  Bruno Haible  <bruno@clisp.org>
21042
21043         * modules/readlink: New file.
21044         * modules/xreadlink: Depend on it.
21045         * MODULES.html.sh (func_all_modules): Add readlink.
21046
21047 2003-06-25  Bruno Haible  <bruno@clisp.org>
21048
21049         * m4/readlink.m4: New file.
21050
21051 2003-06-25  Bruno Haible  <bruno@clisp.org>
21052
21053         * lib/readlink.c: New file.
21054
21055 2003-06-22  Karl Berry  <karl@gnu.org>
21056
21057         * config/srclist.txt: update mkinstalldirs from automake.
21058         * config/mkinstalldirs: update.
21059
21060 2003-06-22  Bruno Haible  <bruno@clisp.org>
21061
21062         Portability to mingw32.
21063         * m4/ssize_t.m4: New file, from GNU gettext.
21064         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
21065         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
21066
21067 2003-06-22  Bruno Haible  <bruno@clisp.org>
21068
21069         * modules/safe-read: Add m4/ssize_t.m4.
21070         * modules/xreadlink: Add m4/ssize_t.m4.
21071
21072 2003-06-20  Bruno Haible  <bruno@clisp.org>
21073
21074         Assume C89, so PARAMS isn't needed.
21075         * lib/unicodeio.h (PARAMS): Remove.
21076         * lib/unicodeio.c: Don't use PARAMS.
21077
21078 2003-06-18  Karl Berry  <karl@gnu.org>
21079
21080         * config/config.{guess,sub}: update from prep.
21081
21082 2003-06-18  Jim Meyering  <jim@meyering.net>
21083
21084         Merge changes from coreutils.
21085         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
21086         Remove explicit declarations of xmalloc and realloc.
21087         Include xalloc.h.
21088         (read_utmp): Remove anachronistic cast of xmalloc.
21089
21090 2003-06-17  Paul Eggert  <eggert@twinsun.com>
21091
21092         Assume C89, so PARAMS isn't needed.
21093         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
21094         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
21095         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
21096         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
21097         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
21098         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
21099         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
21100         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
21101         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
21102         lib/xstrtod.h, lib/xstrtol.h: Likewise.
21103         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
21104         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
21105         no longer needed. Anyway, config.h should always be included before any
21106         other file.
21107
21108 2003-06-11  Simon Josefsson  <jas@extundo.com>
21109
21110         * modules/sysexits: New file.
21111         * MODULES.html.sh (func_all_modules): Add sysexits.
21112
21113 2003-06-11  Simon Josefsson  <jas@extundo.com>
21114
21115         * lib/sysexit_.h: New file.
21116
21117 2003-06-11  Derek Price  <derek@ximbiot.com>
21118
21119         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
21120         necessary.
21121
21122 2003-06-11  Bruno Haible  <bruno@clisp.org>
21123
21124         * m4/sysexits.m4: New file.
21125
21126 2003-06-10  Simon Josefsson  <jas@extundo.com>
21127
21128         * lib/argp.h: New file, from glibc.
21129         * lib/argp-ba.c: New file, from glibc.
21130         * lib/argp-eexst.c: New file, from glibc.
21131         * lib/argp-fmtstream.c: New file, from glibc.
21132         * lib/argp-fmtstream.h: New file, from glibc.
21133         * lib/argp-fs-xinl.c: New file, from glibc.
21134         * lib/argp-help.c: New file, from glibc.
21135         * lib/argp-namefrob.h: New file, from glibc.
21136         * lib/argp-parse.c: New file, from glibc.
21137         * lib/argp-pv.c: New file, from glibc.
21138         * lib/argp-pvh.c: New file, from glibc.
21139         * lib/argp-xinl.c: New file, from glibc.
21140
21141 2003-06-10  Simon Josefsson  <jas@extundo.com>
21142
21143         * modules/strchrnul: New file.
21144
21145 2003-06-10  Simon Josefsson  <jas@extundo.com>
21146
21147         * modules/argp: New file.
21148
21149 2003-06-10  Simon Josefsson  <jas@extundo.com>
21150
21151         * m4/strchrnul.m4: New file.
21152
21153 2003-06-10  Simon Josefsson  <jas@extundo.com>
21154
21155         * lib/strchrnul.h: New file.
21156         * lib/strchrnul.c: New file.
21157
21158 2003-06-10  Bruno Haible  <bruno@clisp.org>
21159
21160         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
21161
21162 2003-06-07  Karl Berry  <karl@gnu.org>
21163
21164         * config/config.{guess,sub}: update from prep.
21165
21166 2003-06-07  Jim Meyering  <jim@meyering.net>
21167
21168         * modules/strtod: Use $(...) notation, not @...@ for
21169         AC_REPLACE'd variables.
21170         * modules/localcharset: Likewise.
21171
21172 2003-06-07  Jim Meyering  <jim@meyering.net>
21173
21174         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
21175         in place of my name in the copyright comment.
21176         Remove definition and uses of __P.
21177
21178         From coreutils.
21179         * lib/stat.c: Don't declare xmalloc explicitly.
21180         Instead, include "xalloc.h".
21181         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
21182         xrealloc, and xcalloc return values.
21183         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
21184         Improve comment.
21185         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
21186
21187 2003-06-07  Bruno Haible  <bruno@clisp.org>
21188
21189         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
21190         avoid AC_CONFIG_LINKS.
21191         * modules/fnmatch (Makefile.am): Use explicit creation rule for
21192         fnmatch.h, to avoid AC_CONFIG_LINKS.
21193         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
21194
21195 2003-06-07  Bruno Haible  <bruno@clisp.org>
21196
21197         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
21198         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
21199         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21200         directory.
21201         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
21202         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21203         directory.
21204
21205 2003-06-06  Jim Meyering  <jim@meyering.net>
21206
21207         Merge from coreutils.
21208         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
21209         Consolidate declarations and initializations of *_base* locals.
21210
21211         Merge from coreutils.
21212         This avoids a core dump on systems without GNU putenv,
21213         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
21214         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
21215         (unsetenv): New static function, from GNU libc.
21216         (rpl_putenv): Use it.
21217
21218         * lib/modechange.c: Remove trailing blanks.
21219
21220         Merge from coreutils.
21221         * lib/fsusage.c: Remove declaration of statfs.
21222         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
21223
21224         * lib/posixtm.c: Include <stdbool.h> unconditionally.
21225
21226 2003-06-06  Jim Meyering  <jim@meyering.net>
21227
21228         * lib/stdbool_.h: Renamed from stdbool.h.in.
21229
21230 2003-06-06  Jim Meyering  <jim@meyering.net>
21231             Bruno Haible  <bruno@clisp.org>
21232
21233         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
21234         Adjust Makefile.am snippet not to redirect directly to target.
21235         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
21236
21237 2003-06-05  Paul Eggert  <eggert@twinsun.com>
21238
21239         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
21240         mismatch, look in future quarters as well as past.  This fixes a
21241         bug when processing fall-backwards gaps immediately after a long
21242         period of daylight-saving time.
21243
21244         * lib/mktime.c: Assume freestanding C89 or better.
21245         (HAVE_LIMITS_H): Remove.  Assume it's 1.
21246         (__P): Remove; not used.
21247         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
21248         (mktime, not_equal_tm, print_tm, check_result,
21249         main): Use prototypes.  Use const * where appropriate.
21250         (main): Fix typo in testing code that uncovered by above changes.
21251         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
21252
21253 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21254
21255         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
21256         locale.h, localeconv.  This merges changes from coreutils.
21257
21258         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
21259         It can be removed after the next Autoconf is released.
21260         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
21261         needed.
21262
21263 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21264
21265         * lib/mktime.c: Fix Debian bug 177940
21266         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
21267         (localtime_offset): Now long int, not time_t, because we want it
21268         to be guaranteed to be signed.  All uses changed.
21269         (__mktime_internal): If overflow would occur when adding offset,
21270         don't add it.
21271
21272         Merge 'human' changes from coreutils.  Rewrite to support
21273         locale-specific notations like thousands separators.
21274         * lib/human.c: Simplify authorship notice.
21275         Include human.h immediately after config.h.
21276         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
21277         <limits.h>: Do not include, since human.h does.
21278         (SIZE_MAX, UINTMAX_MAX): New macros.
21279         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
21280         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
21281         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
21282         (power_letter): Renamed from suffixes.
21283         (generate_suffix_backwards): Remove.
21284         (adjust_value): Now takes int style (because of human.h changes)
21285         and long double value (for greater precision on some platforms).
21286         (group_number): New function.
21287         (human_readable): Use it.  Use integer options, not enum.
21288         Put the options before the sizes in the arg list.
21289         Support all the new options.
21290         The old human_readable function has been removed;
21291         use inttostr.h instead.
21292         (human_readable, default_block_size, humblock):
21293         Use uintmax_t, not int, for block sizes.
21294         (human_readable_inexact, block_size_types): Remove.
21295         (block_size_opts): New constant.
21296         (human_options): Renamed from human_block_size, with new signature
21297         that allows block sizes up to UINTMAX_MAX.  All callers changed.
21298         * lib/human.h: Add copyright and authorship notice.
21299         Include <limits.h> and <stdbool.h> unconditionally.
21300         (PARAMS): Remove.  All uses removed.
21301         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
21302         (enum human_inexact_style): Remove tag; now a nameless enum.
21303         (human_floor, human_ceiling, human_round_to_even): Now have
21304         values 2, 0, 1 rather than -1, 1, 0.
21305         (human_group_digits, human_suppress_point_zero, human_autoscale,
21306         human_base_1024, human_SI, human_B): New constants.
21307         (human_readable_inexact, human_block_size): Remove.
21308         (human_readable): Size args are now uintmax_t, not int.
21309         (human_options): New decl.
21310
21311         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
21312         unnecessary now that we assume C89 or better.  This change
21313         imported from coreutils.
21314
21315         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
21316         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
21317         in the 2003-05-30 sync from glibc.
21318
21319         .h files should stand alone, but we shouldn't include <sys/types.h>
21320         if we can get away with just <stddef.h>.
21321
21322         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
21323         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
21324         rather than <sys/types.h>, as we merely need size_t.
21325         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
21326         to get size_t.
21327         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
21328         Include <stdio.h>, to get FILE.
21329         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
21330         memcasecmp.h has included <stddef.h> and all we need is size_t.
21331         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
21332         our interface, instead of including <sys/types.h>
21333
21334 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21335
21336         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
21337         now, as glibc mktime is buggy on non-glibc systems.
21338
21339 2003-06-03  Karl Berry  <karl@gnu.org>
21340
21341         * config/config.sub: update from prep.
21342
21343 2003-06-02  Paul Eggert  <eggert@twinsun.com>
21344
21345         [from coreutils]
21346         Fix some minor time-related bugs with POSIX time arguments.
21347         Some valid time stamps were being rejected (notably -1, and
21348         time stamps before 1900 on 64-bit hosts).  And some invalid
21349         time stamps were being accepted, e.g. September 31.
21350
21351         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
21352         that we can return (time_t) -1 successfully.
21353         * lib/posixtm.c: Likewise.
21354         [HAVE_STDBOOL_H]: Include <stdbool.h>.
21355         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
21356         (t): Remove static var.
21357         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
21358         of static var.  All uses changed.
21359         (year): Do not reject years before 1900; they can occur with
21360         64-bit time_t.
21361         (posix_time_parse): Do not check for out-of-range components;
21362         that is now the caller's responsibility, since our checks were
21363         only approximations.
21364         (posixtime): Use mktime to check for out-of-range components,
21365         since it knows them exactly.
21366         If mktime returns (time_t) -1, check whether an error actually occurred
21367         by invoking localtime on -1.
21368         (main) [TEST_POSIXTIME]: Check for input data errors, and report
21369         posixtime failures better.
21370         Improve the test data (in comments only).
21371
21372 2003-06-02  Karl Berry  <karl@gnu.org>
21373
21374         * config/mkinstalldirs (version): new variable.
21375         (--version): new option.
21376         (usage): improve message.
21377
21378 2003-05-30  Karl Berry  <karl@gnu.org>
21379
21380         * lib/mktime.c: update from libc.
21381
21382 2003-05-30  Bruno Haible  <bruno@clisp.org>
21383
21384         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
21385         * config/config.rpath: Upgrade to gettext-0.12.1.
21386
21387 2003-05-30  Bruno Haible  <bruno@clisp.org>
21388
21389         * m4/gettext.m4: Upgrade to gettext-0.12.1.
21390         * m4/nls.m4: New file, from gettext-0.12.1.
21391         * m4/po.m4: New file, from gettext-0.12.1.
21392         * m4/progtest.m4: Upgrade to gettext-0.12.1.
21393
21394 2003-05-30  Bruno Haible  <bruno@clisp.org>
21395
21396         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
21397         * lib/localcharset.h: Likewise.
21398         * lib/localcharset.c: Likewise.
21399
21400 2003-05-29  Karl Berry  <karl@gnu.org>
21401
21402         * config/config.rpath: update from gettext.
21403
21404 2003-05-28  Paul Eggert  <eggert@twinsun.com>
21405
21406         Assume the headers required for C89 freestanding compilers.
21407         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
21408         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
21409         * m4/human.m4 (gl_HUMAN): Likewise.
21410         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
21411         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
21412         * m4/userspec.m4 (gl_USERSPEC): Likewise.
21413         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
21414         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
21415         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
21416
21417 2003-05-28  Paul Eggert  <eggert@twinsun.com>
21418
21419         Assume the headers required for C89 freestanding compilers.
21420         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
21421         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
21422         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
21423         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
21424         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
21425         define, since <limits.h> is guaranteed to do that.
21426         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
21427         * lib/exclude.c: Include <stdbool.h> unconditionally.
21428         * lib/tempname.c: Include <stddef.h> unconditionally.
21429         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
21430         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
21431         <stddef.h> does that.
21432         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
21433         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
21434         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
21435         needed.
21436         * lib/xstrtol.c: Likewise.
21437         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
21438         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
21439
21440         * lib/addext.c (addext): Use assignment rather than cast, to avoid
21441         warnings on some platforms.
21442
21443         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
21444         arbitrarily.
21445
21446 2003-05-26  Jim Meyering  <jim@meyering.net>
21447
21448         Merge in a change from coreutils:
21449         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
21450         that is guaranteed to be `no'.  Use `no_such_member' to indicate
21451         that condition, rather than `-1' which is slightly misleading.
21452         Change the name of the cache variable to have the gl_ prefix.
21453         Prompted by a patch from Richard Dawe for DJGPP.
21454
21455 2003-05-24  Karl Berry  <karl@gnu.org>
21456
21457         * config/config.guess: update from prep.
21458
21459 2003-05-22  Karl Berry  <karl@gnu.org>
21460
21461         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
21462
21463 2003-05-20  Karl Berry  <karl@gnu.org>
21464
21465         * config/config.guess: update from prep.
21466
21467 2003-05-18  Karl Berry  <karl@gnu.org>
21468
21469         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
21470         might actually be set by the user.
21471
21472         * config/depcomp, install-sh, mdate-sh: update from automake.
21473
21474 2003-05-17  Bruno Haible  <bruno@clisp.org>
21475
21476         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
21477         invalid expansion for AC_EGREP_CPP.
21478         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
21479         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21480         Suggested by Akim Demaille <akim@epita.fr> in
21481         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
21482
21483 2003-05-12  Jim Meyering  <jim@meyering.net>
21484
21485         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
21486         the space-padded-by-default conversion specifiers, %e, %k, %l.
21487
21488 2003-05-12  Bruno Haible  <bruno@clisp.org>
21489
21490         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
21491         the string is longer than 4 KB.
21492
21493 2003-05-11  Karl Berry  <karl@gnu.org>
21494
21495         * config/config.{guess,sub}: update from prep.
21496
21497 2003-05-09  Bruno Haible  <bruno@clisp.org>
21498
21499         * modules/error: Add m4/strerror_r.m4 to file list.
21500
21501 2003-05-03  Bruno Haible  <bruno@clisp.org>
21502
21503         Upgrade to Unicode-4.0.
21504         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
21505         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
21506         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
21507         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
21508         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
21509         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
21510         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
21511         Change width of U+E0100..U+E01EF from 1 to 0.
21512
21513 2003-04-25  Jim Meyering  <jim@meyering.net>
21514
21515         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
21516         of type size_t, not int.
21517
21518 2003-04-25  Bruno Haible  <bruno@clisp.org>
21519
21520         * lib/copy-file.c: Include <stddef.h>, for size_t.
21521
21522 2003-04-21  Paul Eggert  <eggert@twinsun.com>
21523
21524         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
21525         code which expansion is under static control.  Patch imported from
21526         Akim Demaille's patch to Bison; see
21527         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
21528
21529 2003-04-14  Bruno Haible  <bruno@clisp.org>
21530
21531         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
21532
21533 2003-04-11  Jim Meyering  <jim@meyering.net>
21534
21535         Merge changes from Coreutils.
21536
21537         2003-03-22  Jim Meyering  <jim@meyering.net>
21538
21539         * lib/strftime.c (widen): Cast alloca return value to proper type.
21540
21541         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
21542
21543         From GNU libc.
21544         * lib/strftime.c (my_strftime): Handle very large width
21545         specifications for numeric values correctly.  Improve checks for
21546         overflow.
21547
21548         2003-01-19  Jim Meyering  <jim@meyering.net>
21549
21550         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
21551         definitions.
21552         (nl_get_alt_digit) [! defined my_strftime]: Define.
21553         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
21554         _nl_get_alt_digit and _nl_get_walt_digit.
21555
21556         * lib/strftime.c (my_strftime): Merge in locale-related changes from
21557         libc. These changes have no effect outside of _LIBC.
21558
21559 2003-04-10  Bruno Haible  <bruno@clisp.org>
21560
21561         * modules/findprog: New file.
21562         * MODULES.html.sh (func_all_modules): Add it.
21563
21564 2003-04-10  Bruno Haible  <bruno@clisp.org>
21565
21566         * m4/findprog.m4: New file.
21567         * m4/eaccess.m4: New file.
21568
21569 2003-04-10  Bruno Haible  <bruno@clisp.org>
21570
21571         * lib/findprog.h: New file, from GNU gettext.
21572         * lib/findprog.c: New file, from GNU gettext.
21573
21574 2003-04-05  Jim Meyering  <jim@meyering.net>
21575
21576         Merge changes from Coreutils.
21577
21578         * lib/exclude.h (PARAMS): Remove definition and uses.
21579         * lib/exclude.c: Remove uses of `PARAMS'.
21580
21581         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
21582         Add test-cases for DOS filenames. Declare program_name.
21583         (main): Set up program_name.  Patch by Rich Dawe.
21584
21585         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
21586         error from mntctl.
21587         Use mntctl's return value to drive the entry-processing loop, since
21588         we can't rely on the value of the vmt_length member in the last
21589         entry.  On some systems doing so could result in exhausting
21590         virtual memory.  Based in part on a patch from Mike Jetzer.
21591
21592 2003-04-04  Bruno Haible  <bruno@clisp.org>
21593
21594         * modules/linebreak: New file.
21595         * MODULES.html.sh (func_all_modules): Add it.
21596
21597 2003-04-04  Bruno Haible  <bruno@clisp.org>
21598
21599         * m4/linebreak.m4: New file.
21600
21601 2003-04-04  Bruno Haible  <bruno@clisp.org>
21602
21603         * lib/linebreak.h: New file, from GNU gettext.
21604         * lib/linebreak.c: New file, from GNU gettext with slight
21605         modifications.
21606         * lib/lbrkprop.h: New file, from GNU gettext.
21607
21608 2003-04-03  Bruno Haible  <bruno@clisp.org>
21609
21610         * modules/utf8-ucs4: New file.
21611         * modules/utf16-ucs4: New file.
21612         * modules/ucs4-utf8: New file.
21613         * modules/ucs4-utf16: New file.
21614         * MODULES.html.sh (func_all_modules): Add them.
21615
21616 2003-04-03  Bruno Haible  <bruno@clisp.org>
21617
21618         * m4/utf-ucs4.m4: New file.
21619         * m4/ucs4-utf.m4: New file.
21620
21621 2003-04-03  Bruno Haible  <bruno@clisp.org>
21622
21623         * lib/utf8-ucs4.h: New file, from GNU gettext.
21624         * lib/utf16-ucs4.h: New file, from GNU gettext.
21625         * lib/ucs4-utf8.h: New file, from GNU gettext.
21626         * lib/ucs4-utf16.h: New file, from GNU gettext.
21627
21628 2003-04-02  Bruno Haible  <bruno@clisp.org>
21629
21630         * modules/binary-io: New file.
21631         * MODULES.html.sh (func_all_modules): Add it.
21632
21633 2003-04-02  Bruno Haible  <bruno@clisp.org>
21634
21635         * lib/binary-io.h: New file, from GNU gettext.
21636
21637 2003-04-01  Bruno Haible  <bruno@clisp.org>
21638
21639         * modules/pathname: New file.
21640         * MODULES.html.sh (func_all_modules): Add it.
21641
21642 2003-04-01  Bruno Haible  <bruno@clisp.org>
21643
21644         * lib/pathname.h: New file, from GNU gettext.
21645         * lib/concatpath.c: New file, from GNU gettext.
21646
21647 2003-03-30  Bruno Haible  <bruno@clisp.org>
21648
21649         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
21650
21651 2003-03-30  Bruno Haible  <bruno@clisp.org>
21652
21653         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
21654         function chown() doesn't exist.
21655
21656 2003-03-28  Bruno Haible  <bruno@clisp.org>
21657
21658         * modules/copy-file: New file.
21659         * MODULES.html.sh (func_all_modules): Add it.
21660
21661 2003-03-28  Bruno Haible  <bruno@clisp.org>
21662
21663         * m4/copy-file.m4: New file.
21664
21665 2003-03-28  Bruno Haible  <bruno@clisp.org>
21666
21667         * lib/copy-file.h: New file, from GNU gettext.
21668         * lib/copy-file.c: New file, from GNU gettext.
21669
21670 2003-03-18  Jim Meyering  <jim@meyering.net>
21671
21672         * lib/quote.c (quote_n): Fix typo in comment.
21673
21674 2003-03-18  Bruno Haible  <bruno@clisp.org>
21675
21676         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
21677         checking.
21678         * m4/onceonly_2_57.m4: Likewise.
21679
21680 2003-03-17  Bruno Haible  <bruno@clisp.org>
21681
21682         * m4/onceonly.m4: Require autoconf 2.54 or newer.
21683         (m4_quote): Remove macro.
21684         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
21685
21686 2003-03-14  Jim Meyering  <jim@meyering.net>
21687
21688         Merge changes from Coreutils.
21689         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
21690         to be const, in order to avoid warnings.
21691         (obstack_room): Likewise.
21692         (obstack_empty_p): Likewise.
21693
21694 2003-03-14  Bruno Haible  <bruno@clisp.org>
21695
21696         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
21697         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
21698
21699 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21700
21701         Merge changes from Bison.
21702         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
21703         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
21704         when compiling Bison 1.875's `bitset bset = obstack_alloc
21705         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
21706         * lib/hash.c: Include <stdbool.h> unconditionally.
21707
21708 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21709
21710         * m4/onceonly.m4 (m4_quote): New macro.
21711         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
21712         Quote AC_FOREACH variable-expansions properly.
21713
21714 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21715
21716         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
21717
21718 2003-03-09  Paul Eggert  <eggert@twinsun.com>
21719
21720         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
21721         Reported by Bruce Becker; see:
21722         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
21723
21724 2003-03-03  Paul Eggert  <eggert@twinsun.com>
21725             Bruno Haible  <bruno@clisp.org>
21726
21727         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
21728         Reported by John Hughes, see
21729         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
21730
21731 2003-02-20  Bruno Haible  <bruno@clisp.org>
21732
21733         * MODULES.html.sh (func_all_modules): Add poll.
21734
21735 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21736
21737         * modules/poll: New file.
21738
21739 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21740
21741         * lib/poll_.h: New file.
21742         * lib/poll.c: New file.
21743
21744 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21745
21746         * m4/poll.m4: New file.
21747
21748 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21749
21750         * modules/mathl: New file.
21751
21752 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21753
21754         * lib/mathl.h: New file.
21755         * lib/acosl.c: New file.
21756         * lib/asinl.c: New file.
21757         * lib/atanl.c: New file.
21758         * lib/ceill.c: New file.
21759         * lib/cosl.c: New file.
21760         * lib/expl.c: New file.
21761         * lib/floorl.c: New file.
21762         * lib/frexpl.c: New file.
21763         * lib/ldexpl.c: New file.
21764         * lib/logl.c: New file.
21765         * lib/sincosl.c: New file.
21766         * lib/sinl.c: New file.
21767         * lib/sqrtl.c: New file.
21768         * lib/tanl.c: New file.
21769         * lib/trigl.c: New file.
21770         * lib/trigl.h: New file.
21771
21772 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21773
21774         * m4/mathl.m4: New file.
21775
21776 2003-02-18  Bruno Haible  <bruno@clisp.org>
21777
21778         * MODULES.html.sh (func_all_modules): Add mathl.
21779
21780 2003-02-17  Bruno Haible  <bruno@clisp.org>
21781
21782         * modules/mkdtemp: New module.
21783         * MODULES.html.sh (func_all_modules): Add it.
21784
21785 2003-02-17  Bruno Haible  <bruno@clisp.org>
21786
21787         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
21788
21789 2003-02-17  Bruno Haible  <bruno@clisp.org>
21790
21791         * lib/mkdtemp.h: New file, from GNU gettext.
21792         * lib/mkdtemp.c: New file, from GNU gettext.
21793
21794 2003-02-02  Jim Meyering  <jim@meyering.net>
21795
21796         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
21797         e.g. glibc-2.2.93.
21798
21799 2003-01-31  Bruno Haible  <bruno@clisp.org>
21800
21801         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
21802         'rpl_rename'.
21803         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
21804         'rpl_strnlen'.
21805         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
21806         'rpl_strtod'.
21807         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
21808         'rpl_utime'.
21809
21810 2003-01-31  Bruno Haible  <bruno@clisp.org>
21811
21812         * lib/rename.c: #undef rename before defining rpl_rename.
21813         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
21814
21815 2003-01-30  Bruno Haible  <bruno@clisp.org>
21816
21817         * modules/vasnprintf, modules/vasprintf: New modules.
21818         * MODULES.html.sh (func_all_modules): Add them.
21819
21820 2003-01-30  Bruno Haible  <bruno@clisp.org>
21821
21822         * m4/signed.m4: New file, from GNU gettext.
21823         * m4/longdouble.m4: New file, from GNU gettext.
21824         * m4/wchar_t.m4: New file, from GNU gettext.
21825         * m4/wint_t.m4: New file, from GNU gettext.
21826         * m4/vasnprintf.m4: New file.
21827         * m4/vasprintf.m4: New file.
21828
21829 2003-01-30  Bruno Haible  <bruno@clisp.org>
21830
21831         * lib/printf-args.h: New file, from GNU gettext.
21832         * lib/printf-args.c: New file, from GNU gettext.
21833         * lib/printf-parse.h: New file, from GNU gettext.
21834         * lib/printf-parse.c: New file, from GNU gettext.
21835         * lib/vasnprintf.h: New file, from GNU gettext.
21836         * lib/vasnprintf.c: New file, from GNU gettext.
21837         * lib/asnprintf.c: New file, from GNU gettext.
21838         * lib/vasprintf.h: New file, from GNU gettext with modifications.
21839         * lib/vasprintf.c: New file, from GNU gettext.
21840         * lib/asprintf.c: New file, from GNU gettext.
21841
21842 2003-01-29  Bruno Haible  <bruno@clisp.org>
21843
21844         * modules/stpncpy: New module.
21845         * MODULES.html.sh (func_all_modules): Add it.
21846
21847 2003-01-29  Bruno Haible  <bruno@clisp.org>
21848
21849         * m4/stpncpy.m4: New file.
21850
21851 2003-01-29  Bruno Haible  <bruno@clisp.org>
21852
21853         * lib/stpncpy.h: New file, from GNU gettext with modifications.
21854         * lib/stpncpy.c: New file, from GNU gettext with modifications.
21855
21856 2003-01-28  Bruno Haible  <bruno@clisp.org>
21857
21858         * modules/c-ctype: New module.
21859         * MODULES.html.sh (func_all_modules): Add it.
21860
21861 2003-01-28  Bruno Haible  <bruno@clisp.org>
21862
21863         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
21864         Paul Eggert.
21865         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
21866         Paul Eggert.
21867
21868 2003-01-27  Bruno Haible  <bruno@clisp.org>
21869
21870         * modules/xsetenv: New module.
21871         * MODULES.html.sh (func_all_modules): Add it.
21872
21873 2003-01-27  Bruno Haible  <bruno@clisp.org>
21874
21875         * lib/xsetenv.h: New file, from GNU gettext.
21876         * lib/xsetenv.c: New file, from GNU gettext.
21877
21878 2003-01-23  Jim Meyering  <jim@meyering.net>
21879
21880         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
21881         from working on systems without dirfd (at least Irix and OSF1/Tru64).
21882
21883 2003-01-23  Bruno Haible  <bruno@clisp.org>
21884
21885         * modules/minmax: New module.
21886         * MODULES.html.sh (func_all_modules): Add it.
21887
21888 2003-01-23  Bruno Haible  <bruno@clisp.org>
21889
21890         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
21891         Eggert.
21892
21893 2003-01-22  Bruno Haible  <bruno@clisp.org>
21894
21895         * modules/exit: New module.
21896         * MODULES.html.sh (func_all_modules): Add it.
21897
21898 2003-01-22  Bruno Haible  <bruno@clisp.org>
21899
21900         * lib/exit.h: New file, from GNU gettext.
21901
21902 2003-01-19  Bruno Haible  <bruno@clisp.org>
21903
21904         * gnulib-tool: Recognize option --extract-maintainer.
21905         (func_get_maintainer): New function.
21906         * modules/*: Add Maintainer entry.
21907
21908 2003-01-16  Jim Meyering  <jim@meyering.net>
21909
21910         * m4/regex.m4: The `regex' struct is both input and output.
21911         Initialize it before each use.  Patch by Tim Waugh.
21912
21913 2003-01-16  Bruno Haible  <bruno@clisp.org>
21914
21915         * MODULES.html.sh: Add a table of contents. Add the module name as
21916         leftmost column. Add hyperlinks.
21917
21918 2003-01-15  Bruno Haible  <bruno@clisp.org>
21919
21920         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
21921
21922 2003-01-15  Bruno Haible  <bruno@clisp.org>
21923
21924         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
21925         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
21926         suffix.
21927
21928 2003-01-15  Bruno Haible  <bruno@clisp.org>
21929
21930         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
21931
21932 2003-01-15  Bruno Haible  <bruno@clisp.org>
21933
21934         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
21935         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
21936
21937 2003-01-14  Jim Meyering  <jim@meyering.net>
21938
21939         * lib/same.c (same_name): Tweak a comment.
21940
21941 2003-01-14  Bruno Haible  <bruno@clisp.org>
21942
21943         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
21944         when a string comparison is sufficient.
21945
21946 2003-01-14  Bruno Haible  <bruno@clisp.org>
21947
21948         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
21949         'unsigned int'.
21950
21951 2003-01-14  Bruno Haible  <bruno@clisp.org>
21952
21953         * lib/hash-pjw.c: Add comment about low quality of this function.
21954
21955 2003-01-13  Bruno Haible  <bruno@clisp.org>
21956
21957         * modules/stpcpy: Distribute lib/stpcpy.h.
21958         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
21959
21960 2003-01-13  Bruno Haible  <bruno@clisp.org>
21961
21962         * modules/*: Add a description.
21963         * modules/strpbrk: Fix Makefile.am snippet.
21964         * modules/strtoimax: Fix dependencies.
21965         * modules/strtoumax: Likewise.
21966
21967 2003-01-13  Bruno Haible  <bruno@clisp.org>
21968
21969         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
21970         * modules/alloca (Makefile.am): All object files depend on alloca.h.
21971         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
21972
21973 2003-01-13  Bruno Haible  <bruno@clisp.org>
21974
21975         * gnulib-tool (func_create_testdir): Store config/* files in the main
21976         directory.
21977         * config.rpath: Move to ...
21978         * config/config.rpath: ... here.
21979         * modules/gettext: Contains config/config.rpath, not config.rpath.
21980         * modules/iconv: Likewise.
21981
21982 2003-01-12  Paul Eggert  <eggert@twinsun.com>
21983
21984         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
21985         to avoid collisions with libcurses and libreadline.
21986
21987         * m4/getstr.m4: Remove.
21988         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
21989
21990 2003-01-12  Paul Eggert  <eggert@twinsun.com>
21991
21992         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
21993         to avoid collisions with libcurses and libreadline.
21994
21995         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
21996         * lib/getstr.h, getstr.c: Remove.
21997         * lib/getline.c: Include "getline.h", to check interface.
21998         Move body of old getstr.c here: this defines MIN_CHUNK and
21999         declares getdelim2, which is renamed from getstr.
22000         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
22001
22002         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
22003         All uses changed.
22004         * lib/linebuffer.h: Likewise.
22005         (readline): Remove backward-compatibility macro.
22006
22007 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22008
22009         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22010         to avoid collisions with libcurses and libreadline.
22011         * getstr: Remove.
22012         * MODULES.html.sh: Remove getstr.
22013         * modules/getline: Depend on unlocked-io, not getstr.
22014
22015 2003-01-12  Jim Meyering  <jim@meyering.net>
22016
22017         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
22018
22019 2003-01-10  Bruno Haible  <bruno@clisp.org>
22020
22021         * modules/alloca: Change Makefile.am requirements. Simplify Include
22022         requirements. Add lib/alloca_.h to file list.
22023
22024 2003-01-10  Bruno Haible  <bruno@clisp.org>
22025
22026         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
22027
22028 2003-01-10  Bruno Haible  <bruno@clisp.org>
22029
22030         * lib/alloca_.h: New file.
22031         * lib/getdate.y: Unconditionally include alloca.h.
22032         * lib/makepath.c: Likewise.
22033         * lib/setenv.c: Likewise.
22034         * lib/userspec.c: Likewise.
22035
22036 2003-01-09  Karl Berry  <karl@gnu.org>
22037
22038         * MODULES.html.sh: include `dirname $0` in PATH, to find
22039         gnulib-tool.
22040
22041 2003-01-09  Bruno Haible  <bruno@clisp.org>
22042
22043         * modules/stdbool: Change configure.ac, Makefile.am requirements.
22044         Simplify Include requirements. Add lib/stdbool.h.in to file list.
22045
22046 2003-01-09  Bruno Haible  <bruno@clisp.org>
22047
22048         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
22049
22050 2003-01-09  Bruno Haible  <bruno@clisp.org>
22051
22052         * lib/stdbool.h.in: New file.
22053
22054 2003-01-09  Bruno Haible  <bruno@clisp.org>
22055
22056         * gnulib-tool (func_all_modules): Ignore files ending in ~.
22057         * MODULES.html.sh: Likewise.
22058
22059 2003-01-08  Jim Meyering  <jim@meyering.net>
22060
22061         * lib/full-write.c: Undefine and define-away `const' after inclusion
22062         of errno.h, not before.  Suggestion from Bruno Haible.
22063
22064 2003-01-08  Bruno Haible  <bruno@clisp.org>
22065
22066         * modules/full-read: Depend on full-write.
22067
22068 2003-01-08  Bruno Haible  <bruno@clisp.org>
22069
22070         * lib/safe-read.c: Include specification header first, to ensure its
22071         selfcontainedness.
22072         * lib/full-write.c: Likewise.
22073
22074 2003-01-07  Jim Meyering  <jim@meyering.net>
22075
22076         * lib/full-write.c: Rework so that it may serve to define full_read,
22077         too.
22078         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
22079
22080 2003-01-07  Bruno Haible  <bruno@clisp.org>
22081
22082         * lib/strtoimax.c: Include <stdint.h> as an alternative to
22083         <inttypes.h>.
22084         * lib/xstrtol.h: Likewise.
22085         * lib/xstrtoimax.c: Likewise.
22086         * lib/xstrtoumax.c: Likewise.
22087         * lib/human.h: Likewise.
22088
22089         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
22090         on systems that have <inttypes.h> but not <stdint.h>.
22091
22092 2003-01-07  Bruno Haible  <bruno@clisp.org>
22093
22094         * MODULES.html.sh: Add copyright notice.
22095         (missed_files): Omit CVS directory entries.
22096         (func_module): Make it work with sed-3.02.
22097         * MODULES.txt: Remove file.
22098
22099 2003-01-06  Jim Meyering  <jim@meyering.net>
22100
22101         * lib/version-etc.c: Update year in translatable copyright string.
22102
22103 2003-01-03  Karl Berry  <karl@gnu.org>
22104
22105         * config/config.{guess,sub}: update from prep.
22106
22107 2003-01-02  Karl Berry  <karl@gnu.org>
22108
22109         * doc/COPYING.DOC: belatedly updated to 1.2.
22110
22111 2003-01-01  Karl Berry  <karl@gnu.org>
22112
22113         * gnulib-tool (func_verify_module): report module name $module in
22114         error message, not $1.
22115         * gnulib-tool (create-testdir): don't complain if destdir couldn't
22116         be created, only if it doesn't exist.
22117         * gnulib-tool (last_checkin_date): don't expand the $Date here.
22118
22119 2002-12-31  Paul Eggert  <eggert@twinsun.com>
22120
22121         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
22122
22123 2002-12-31  Paul Eggert  <eggert@twinsun.com>
22124
22125         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
22126         memcmp if strcoll doesn't work.
22127
22128 2002-12-31  Bruno Haible  <bruno@clisp.org>
22129
22130         * lib/utime.c (utime_null): No need to call ftruncate if the file was
22131         nonempty.
22132
22133 2002-12-31  Bruno Haible  <bruno@clisp.org>
22134
22135         * lib/memcoll.c (STRCOLL): New macro.
22136         (memcoll): Use it.
22137
22138 2002-12-31  Bruno Haible  <bruno@clisp.org>
22139
22140         * lib/localcharset.h: New file.
22141         * lib/localcharset.c: Include it.
22142         * lib/unicodeio.c: Likewise.
22143
22144 2002-12-31  Bruno Haible  <bruno@clisp.org>
22145
22146         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
22147         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
22148
22149 2002-12-31  Bruno Haible  <bruno@clisp.org>
22150
22151         * lib/getline.h: Include <stddef.h>, for size_t.
22152
22153         * lib/unicodeio.h: Include <stddef.h>, for size_t.
22154         * lib/unicodeio.c: Don't include <stddef.h>.
22155
22156 2002-12-31  Bruno Haible  <bruno@clisp.org>
22157
22158         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
22159         HAVE_TM_ZONE.
22160
22161 2002-12-24  Karl Berry  <karl@gnu.org>
22162
22163         * config/config.guess: update from prep.
22164
22165 2002-12-24  Bruno Haible  <bruno@clisp.org>
22166
22167         General infrasructure.
22168         * m4/README: Rewritten.
22169         * m4/onceonly.m4: New file.
22170         * m4/onceonly_2_57.m4: New file.
22171
22172         Module atexit.
22173         * m4/atexit.m4: New file.
22174
22175         Module strtod.
22176         * m4/strtod.m4: New file.
22177
22178         Module strtol.
22179         * m4/strtol.m4: New file.
22180
22181         Module strtoul.
22182         * m4/strtoul.m4: New file.
22183
22184         Module memchr.
22185         * m4/memchr.m4: New file.
22186
22187         Module memcmp.
22188         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
22189         (jm_FUNC_MEMCMP): Invoke it.
22190
22191         Module memcpy.
22192         * m4/memcpy.m4: New file.
22193
22194         Module memmove.
22195         * m4/memmove.m4: New file.
22196
22197         Module memset.
22198         * m4/memset.m4: New file.
22199
22200         Module strcspn.
22201         * m4/strcspn.m4: New file.
22202
22203         Module strpbrk.
22204         * m4/strpbrk.m4: New file.
22205
22206         Module strstr.
22207         * m4/strstr.m4: New file.
22208
22209         Module strerror.
22210         * m4/strerror.m4: New file.
22211
22212         Module mktime.
22213         * m4/mktime.m4: Renamed from jm-mktime.m4.
22214         (gl_PREREQ_MKTIME): New macro.
22215         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
22216
22217         Module malloc.
22218         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
22219         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
22220         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
22221
22222         Module realloc.
22223         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
22224         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
22225         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
22226
22227         Module strftime.
22228         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
22229         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
22230         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
22231         gl_TM_GMTOFF.
22232         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
22233
22234         Module xalloc.
22235         * m4/xalloc.m4: New file.
22236
22237         Module alloca.
22238         * m4/alloca.m4: New file.
22239
22240         Module putenv.
22241         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
22242         (jm_FUNC_PUTENV): Invoke it.
22243
22244         Module setenv.
22245         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
22246         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
22247         when invoked twice.
22248         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
22249         gt_FUNC_SETENV.
22250
22251         Module memrchr.
22252         * m4/memrchr.m4: New file.
22253
22254         Module stpcpy.
22255         * m4/stpcpy.m4: New file.
22256
22257         Module strcase.
22258         * m4/strcase.m4: New file.
22259
22260         Module strdup.
22261         * m4/strdup.m4: New file.
22262
22263         Module strnlen.
22264         * m4/strnlen.m4: New file.
22265
22266         Module strndup.
22267         * m4/strndup.m4: New file.
22268
22269         Module xstrtod.
22270         * m4/xstrtod.m4: New file.
22271
22272         Module xstrtol.
22273         * m4/xstrtol.m4: New file.
22274
22275         Module getdate.
22276         * m4/getdate.m4: New file.
22277
22278         Module unlocked-io.
22279         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
22280         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
22281         * m4/jm-glibc-io.m4n: Remove file.
22282
22283         Module long-options.
22284         * m4/long-options.m4: New file.
22285
22286         Module md5.
22287         * m4/md5.m4: New file.
22288
22289         Module sha.
22290         * m4/sha.m4: New file.
22291
22292         Module getstr.
22293         * m4/getstr.m4: New file.
22294
22295         Module getline.
22296         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
22297         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
22298         <sys/types.h>, for size_t. Use the function name gnu_getline, not
22299         simply getline. Infoke gl_PREREQ_GETLINE.
22300
22301         Module obstack.
22302         * m4/obstack.m4: New file.
22303
22304         Module hash.
22305         * m4/hash.m4: New file.
22306
22307         Module readtokens.
22308         * m4/readtokens.m4: New file.
22309
22310         Module strverscmp.
22311         * m4/strverscmp.m4: New file.
22312
22313         Module stdbool.
22314         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
22315         OSF/1.
22316
22317         Module strtoll.
22318         * m4/strtoll.m4: New file.
22319
22320         Module strtoull.
22321         * m4/strtoull.m4: New file.
22322
22323         Module strtoimax.
22324         * m4/strtoimax.m4: New file.
22325
22326         Module strtoumax.
22327         * m4/strtoumax.m4: New file.
22328
22329         Module xstrtoimax.
22330         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
22331         jm_AC_PREREQ_XSTRTOIMAX.
22332         Moved the strtol prerequisites to strtol.m4.
22333         Moved the strtoll prerequisites to strtoll.m4.
22334         Moved the strtoimax prerequisites to strtoimax.m4.
22335
22336         Module xstrtoumax.
22337         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
22338         jm_AC_PREREQ_XSTRTOUMAX.
22339         Moved the strtoul prerequisites to strtoul.m4.
22340         Moved the strtoull prerequisites to strtoull.m4.
22341         Moved the strtoumax prerequisites to strtoumax.m4.
22342
22343         Module chown.
22344         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
22345         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
22346
22347         Module dup2.
22348         * m4/dup2.m4: New file.
22349
22350         Module ftruncate.
22351         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
22352         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
22353
22354         Module getgroups.
22355         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
22356         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
22357
22358         Module gettimeofday.
22359         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
22360         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
22361         gl_PREREQ_GETTIMEOFDAY.
22362
22363         Module mkdir.
22364         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
22365         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
22366
22367         Module mkstemp.
22368         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
22369         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
22370         jm_AC_TYPE_UINTMAX_T.
22371         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
22372
22373         Module stat.
22374         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
22375         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
22376
22377         Module lstat.
22378         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
22379         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
22380
22381         Module timespec.
22382         * m4/timespec.m4 (gl_TIMESPEC): New macro.
22383         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
22384         * m4/st_mtim.m4: Indentation.
22385
22386         Module nanosleep.
22387         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
22388         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
22389         gl_PREREQ_NANOSLEEP.
22390
22391         Module regex.
22392         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
22393         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
22394         (gl_REGEX): New macro.
22395
22396         Module rename.
22397         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
22398         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
22399
22400         Module rmdir.
22401         * m4/rmdir.m4: New file.
22402
22403         Module utime.
22404         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
22405         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
22406         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
22407
22408         Module dirname.
22409         * m4/dirname.m4: New file.
22410
22411         Module getopt.
22412         * m4/getopt.m4: New file.
22413
22414         Module unistd-safer.
22415         * m4/unistd-safer.m4: New file.
22416
22417         Module fnmatch.
22418         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
22419         declaration.
22420         (gl_PREREQ_FNMATCH_EXTRA): New macro.
22421         (gl_FUNC_FNMATCH_POSIX): New macro.
22422         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
22423         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
22424         simply fnmatch.
22425
22426         Module exclude.
22427         * m4/exclude.m4: New file.
22428
22429         Module human.
22430         * m4/human.m4: New file.
22431
22432         Module acl.
22433         * m4/acl.m4: Nop.
22434
22435         Module backupfile.
22436         * m4/backupfile.m4: New file.
22437         * m4/d-ino.m4: Indentation.
22438
22439         Module fsusage.
22440         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
22441         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
22442         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
22443
22444         Module dirfd.
22445         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
22446         requirements.
22447
22448         Module euidaccess.
22449         * m4/euidaccess.m4: New file.
22450
22451         Module file-type.
22452         * m4/file-type.m4: New file.
22453
22454         Module fileblocks.
22455         * m4/fileblocks.m4: New file.
22456
22457         Module filemode.
22458         * m4/filemode.m4: New file.
22459
22460         Module isdir.
22461         * m4/isdir.m4: New file.
22462
22463         Module lchown.
22464         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
22465         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
22466
22467         Module makepath.
22468         * m4/makepath.m4: New file.
22469
22470         Module modechange.
22471         * m4/modechange.m4: New file.
22472
22473         Module mountlist.
22474         * m4/mountlist.m4: New file.
22475         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
22476         Indentation.
22477
22478         Module path-concat.
22479         * m4/path-concat.m4: New file.
22480
22481         Module pathmax.
22482         * m4/pathmax.m4: New file.
22483
22484         Module same.
22485         * m4/same.m4: New file.
22486
22487         Module save-cwd.
22488         * m4/save-cwd.m4: New file.
22489
22490         Module savedir.
22491         * m4/savedir.m4: New file.
22492
22493         Module xgetcwd.
22494         * m4/xgetcwd.m4: New file.
22495         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
22496
22497         Module xreadlink.
22498         * m4/xreadlink.m4: New file.
22499
22500         Module safe-read.
22501         * m4/safe-read.m4: New file.
22502
22503         Module safe-write.
22504         * m4/safe-write.m4: New file.
22505
22506         Module closeout.
22507         * m4/closeout.m4: New file.
22508
22509         Module stdio-safer.
22510         * m4/stdio-safer.m4: New file.
22511
22512         Module getpass.
22513         * m4/getpass.m4: New file.
22514
22515         Module getugroups.
22516         * m4/getugroups.m4: New file.
22517
22518         Module group-member.
22519         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
22520         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
22521
22522         Module idcache.
22523         * m4/idcache.m4: New file.
22524
22525         Module userspec.
22526         * m4/userspec.m4: New file.
22527
22528         Module gettime.
22529         * m4/clock_time.m4: New file.
22530         * m4/gettime.m4: New file.
22531
22532         Module settime.
22533         * m4/settime.m4: New file.
22534
22535         Module posixtm.
22536         * m4/posixtm.m4: New file.
22537
22538         Module gethostname.
22539         * m4/gethostname.m4: New file.
22540
22541         Module canon-host.
22542         * m4/canon-host.m4: New file.
22543
22544         Module gettext.
22545         * m4/codeset.m4: New file, from gettext-0.11.5.
22546         * m4/gettext.m4: New file, from gettext-0.11.5.
22547         * m4/glibc21.m4: New file, from gettext-0.11.5.
22548         * m4/iconv.m4: New file, from gettext-0.11.5.
22549         * m4/intdiv0.m4: New file, from gettext-0.11.5.
22550         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
22551         * m4/inttypes.m4: New file, from gettext-0.11.5.
22552         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
22553         * m4/isc-posix.m4: New file, from gettext-0.11.5.
22554         * m4/lcmessage.m4: New file, from gettext-0.11.5.
22555         * m4/lib-ld.m4: New file, from gettext-0.11.5.
22556         * m4/lib-link.m4: New file, from gettext-0.11.5.
22557         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
22558         * m4/progtest.m4: New file, from gettext-0.11.5.
22559         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
22560         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
22561         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
22562
22563         Module localcharset.
22564         * m4/localcharset.m4: New file.
22565
22566         Module hard-locale.
22567         * m4/hard-locale.m4: New file.
22568
22569         Module mbswidth.
22570         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
22571         onceonly macros.
22572         * m4/mbrtowc.m4: Add comment.
22573
22574         Module memcasecmp.
22575         * m4/memcasecmp.m4: New file.
22576
22577         Module memcoll.
22578         * m4/memcoll.m4: New file.
22579
22580         Module unicodeio.
22581         * m4/unicodeio.m4: New file.
22582
22583         Module rpmatch.
22584         * m4/rpmatch.m4: New file.
22585
22586         Module yesno.
22587         * m4/yesno.m4: New file.
22588
22589         Module exitfail.
22590         * m4/exitfail.m4: New file.
22591
22592         Module c-stack.
22593         * m4/c-stack.m4 (gl_C_STACK): New macro.
22594         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
22595
22596         Module error.
22597         * m4/error.m4 (gl_ERROR): New macro.
22598         (jm_PREREQ_ERROR): Use onceonly macros.
22599
22600         Module fatal.
22601         * m4/fatal.m4: New file.
22602
22603         Module getloadavg.
22604         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
22605         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
22606
22607         Module getpagesize.
22608         * m4/getpagesize.m4: New file.
22609
22610         Module getusershell.
22611         * m4/getusershell.m4: New file.
22612
22613         Module physmem.
22614         * m4/physmem.m4: New file.
22615
22616         Module posixver.
22617         * m4/posixver.m4: New file.
22618
22619         Module quotearg.
22620         * m4/quotearg.m4: New file.
22621
22622         Module quote.
22623         * m4/quote.m4: New file.
22624
22625         Module readutmp.
22626         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
22627
22628         Module sig2str.
22629         * m4/sig2str.m4: New file.
22630
22631         Other.
22632         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
22633         ulonglong.m4.
22634         * m4/intmax_t.m4: New file.
22635         * m4/d-type.m4: Indentation.
22636         * m4/jm-macros.m4: Update.
22637         * m4/prereq.m4 (jm_PREREQ): Update.
22638         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
22639         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
22640         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
22641         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
22642         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
22643         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
22644         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
22645         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
22646         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
22647         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
22648         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
22649         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
22650         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
22651         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
22652         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
22653         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
22654         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
22655         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
22656         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
22657
22658 2002-12-24  Bruno Haible  <bruno@clisp.org>
22659
22660         * MODULES.txt: Update according to m4/ changes.
22661
22662         Module gettext.
22663         * config.rpath: New file, from gettext-0.11.5.
22664
22665         * modules/*: New module descriptions.
22666         * gnulib-tool: New file.
22667         * MODULES.html.sh: New file.
22668
22669 2002-12-21  Karl Berry  <karl@gnu.org>
22670
22671         * doc/fdl.texi: update to version 1.2.
22672
22673 2002-12-19  Karl Berry  <karl@gnu.org>
22674
22675         * config/config.guess: update from prep.
22676
22677 2002-12-18  Bruno Haible  <bruno@clisp.org>
22678
22679         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
22680         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
22681
22682 2002-12-17  Bruno Haible  <bruno@clisp.org>
22683
22684         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
22685         stdlib.h, string.h.
22686
22687 2002-12-17  Bruno Haible  <bruno@clisp.org>
22688
22689         * lib/canon-host.c (strdup): Remove unused declaration.
22690
22691         * lib/fsusage.c: Include full_read.h.
22692         (get_fs_usage): Use full_read instead of safe_read.
22693
22694         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
22695
22696 2002-12-12  Karl Berry  <karl@gnu.org>
22697
22698         * config/config.guess: update from prep.
22699
22700 2002-12-11  Bruno Haible  <bruno@clisp.org>
22701
22702         * m4/setenv.m4: New file, from gettext-0.11.5.
22703
22704 2002-12-11  Bruno Haible  <bruno@clisp.org>
22705
22706         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
22707         not unsetenv().
22708         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
22709         modifications:
22710
22711         2002-12-11  Bruno Haible  <bruno@clisp.org>
22712
22713                 * setenv.c (alloca): Fall back to malloc.
22714                 (freea): New macro.
22715                 (setenv): Use freea() to free memory allocated with alloca().
22716
22717         2002-11-13  Bruno Haible  <bruno@clisp.org>
22718
22719                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
22720                 function declarations.
22721                 * unsetenv.c (unsetenv): Likewise.
22722
22723         2002-03-04  Bruno Haible  <bruno@clisp.org>
22724
22725                 Portability to AIX 4.3.3.
22726                 * unsetenv.c: New file, extracted from setenv.c.
22727                 * setenv.c: Move the unsetenv() function to unsetenv.c.
22728
22729         2001-12-20  Bruno Haible  <bruno@clisp.org>
22730
22731                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
22732                 use malloc instead. For SunOS 4.
22733
22734         2001-12-11  Bruno Haible  <bruno@clisp.org>
22735
22736                 * setenv.c: Declare alloca.
22737                 (compar_fn_t): New typedef.
22738                 (KNOWN_VALUE, STORE_VALUE): Use it.
22739
22740         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
22741         setenv.h.
22742
22743 2002-12-10  Paul Eggert  <eggert@twinsun.com>
22744
22745         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
22746         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
22747         Choose values that are less likely to collide with system fnmatch
22748         options.
22749         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
22750         defined (e.g., a pure POSIX system).
22751         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
22752         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
22753
22754 2002-12-06  Paul Eggert  <eggert@twinsun.com>
22755
22756         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
22757         a pain in practice to deal with generated m4 files.  This change
22758         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
22759
22760         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
22761         and jm-glibc-io.m4, as they are no longer a special case.
22762         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
22763         kludge and the auto-generation stuff.  Check only whether the
22764         functions are declared, not whether they exist, since older hosts
22765         that don't declare the functions can't use the optimization anyway.
22766
22767 2002-12-06  Jim Meyering  <jim@meyering.net>
22768
22769         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
22770
22771         Merge in changes from libc's misc/error.c, in preparation
22772         for the merge of gnulib's changes back into libc.
22773
22774         * lib/error.c (_): Define only if not already defined.
22775         Move definition to follow all #include directives.
22776         Include unlocked-io.h only if !_LIBC.
22777         [_LIBC]: Include <libio/libioP.h>.
22778         [USE_IN_LIBIO]: Include <libio/iolibio.h>
22779         (fflush): Tweak definition to use INTUSE.
22780         (putc): Define.
22781
22782 2002-12-05  Paul Eggert  <eggert@twinsun.com>
22783
22784         * lib/alloca.c [defined emacs]: Include "lisp.h".
22785         (xalloc_die) [defined emacs]: New macro.
22786         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
22787         [! defined emacs]: Include <xalloc.h>.
22788         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
22789         (pointer): Typedef to POINTER_TYPE *.
22790         (malloc): Remove decl; we now always use xmalloc.
22791         (alloca): Use old-style definition, since Emacs needs this.
22792         Check for arithmetic overflow when computing combined size.
22793
22794 2002-12-04  Paul Eggert  <eggert@twinsun.com>
22795
22796         Do not generate unlocked-io.h automatically, since it's easier to
22797         maintain it by hand.
22798
22799         * lib/unlocked-io.h: New file, from GNU diffutils,
22800         but with proper copyright notice and attribution.
22801         * lib/gen-uio: Remove.
22802         * lib/Makefile.am: Add copyright notice.
22803         (libfetish_a_SOURCES): Add unlocked-io.h.
22804         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
22805         (DISTCLEANFILES, io_functions): Remove macros.
22806         (EXTRA_DIST): Remove gen_uio.
22807         (unlocked-io.h): Remove rule.
22808
22809 2002-12-04  Jim Meyering  <jim@meyering.net>
22810
22811         Reflect the fact that stat.c and lstat.c are no longer generated.
22812         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
22813         (DISTCLEANFILES): Likewise.
22814         (EXTRA_DIST): Likewise.
22815         (all_local): Don't depend on stat.c or lstat.c.
22816         (stat.c, lstat.c): Remove rules.
22817         (EXTRA_DIST): Remove xstat.in.
22818
22819         * lib/xstat.in: Remove file.  Contents moved into stat.c.
22820         * lib/stat.c: New file.  Contents mostly from xstat.in.
22821         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
22822         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
22823
22824         * lib/safe-read.c: Rework so that it may serve to define safe_write,
22825         too.
22826         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
22827
22828 2002-12-03  Jim Meyering  <jim@meyering.net>
22829
22830         * lib/safe-read.c, safe-write.c: Change variable names and comments,
22831         but not semantics, to minimize the differences between these two files.
22832         (safe_read): Change comment to mention SAFE_READ_ERROR.
22833
22834         * lib/safe-read.c (IS_EINTR): Define.
22835         (safe_read): Use IS_EINTR in place of in-function cpp directives.
22836
22837 2002-12-02  Jim Meyering  <jim@meyering.net>
22838
22839         * lib/safe-read.c (EINTR): Define.
22840         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
22841         (INT_MAX): Provide fallback.
22842         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
22843
22844         * lib/safe-read.h (SAFE_READ_ERROR): Define.
22845
22846 2002-12-02  Bruno Haible  <bruno@clisp.org>
22847
22848         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
22849         Define, taken from safe-read.c.
22850         (INT_MAX): Provide fallback.
22851         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
22852         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
22853
22854         * lib/safe-read.c (EINTR): Remove definition.
22855         (safe_read): Don't use EINTR if it is absent.
22856
22857 2002-12-01  Jim Meyering  <jim@meyering.net>
22858
22859         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
22860         zero.
22861         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
22862
22863 2002-11-27  Paul Eggert  <eggert@twinsun.com>
22864
22865         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
22866         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
22867         with `if (! (value < limit)) abort ();', for readability.
22868
22869 2002-11-26  Karl Berry  <karl@gnu.org>
22870
22871         * lib/strdup.c: copy from libc again, with jim's ok.
22872         * lib/.cppi-disable: re-add strdup.c
22873
22874 2002-11-25  Karl Berry  <karl@gnu.org>
22875
22876         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
22877         instead of "strtol.c".
22878
22879 2002-11-25  Karl Berry  <karl@gnu.org>
22880
22881         * config/install-sh: update from automake for variable quoting, $0 in
22882         error msgs, etc.
22883
22884         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
22885         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
22886         entry.
22887
22888 2002-11-25  Jim Meyering  <jim@meyering.net>
22889
22890         * lib/mktime.c: Sync from libc, now that it has the latest fix.
22891
22892 2002-11-24  Karl Berry  <karl@gnu.org>
22893
22894         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
22895         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
22896
22897 2002-11-24  Jim Meyering  <jim@meyering.net>
22898
22899         Update from coreutils:
22900
22901         * lib/mktime.c: Merge in changes from libc.
22902
22903         Avoid a link-time failure on some Linux systems.
22904         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
22905         (otherwise).
22906         (__mon_yday): Declare with the STATIC attribute.
22907         (__mktime_internal): Likewise.
22908         Based on a report from Greg Schafer.
22909
22910 2002-11-23  Jim Meyering  <jim@meyering.net>
22911
22912         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
22913         Use `unsigned', not `int', as type of index.
22914
22915         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
22916
22917         * lib/fsusage.c: Remove unneeded parentheses around operands of
22918         `defined'.
22919
22920 2002-11-22  Paul Eggert  <eggert@twinsun.com>
22921
22922         * lib/quotearg.h: Allow multiple inclusion by surrounding with
22923         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
22924         so that we can be included first.
22925         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
22926         * lib/quotearg.c: Include quotearg.h immediately after config.h.
22927         No need to include stddef.h or sys/types.h any more.
22928         Surround local include files with "", not "<>".
22929         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
22930         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
22931         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
22932         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
22933         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
22934         (ISPRINT): Remove; no longer needed now that we assume C89.
22935
22936         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
22937         Preserve errno.
22938
22939         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
22940         quotearg_char): Use SIZE_MAX rather than
22941         (size_t) -1 when we are talking about "infinity".
22942
22943         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
22944
22945 2002-11-22  Paul Eggert  <eggert@twinsun.com>
22946
22947         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
22948         hint that one should use `if (! x) abort ();' rather than `assert
22949         (x);', and anyway it's one less thing to worry about configuring.
22950         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
22951         hash_rehash, hash_insert): Use abort rather than assert.
22952
22953 2002-11-22  Bruno Haible  <bruno@clisp.org>
22954
22955         * lib/safe-read.h: Assume C89. Add comments.
22956         (safe_read): Change return type to size_t.
22957         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
22958         byte counts > SSIZE_MAX correctly.
22959         * lib/safe-write.h: New file.
22960         * lib/safe-write.c: New file.
22961         * lib/full-read.h: New file.
22962         * lib/full-read.c: New file.
22963         * lib/full-write.h: Assume C89. Add comments.
22964         * lib/full-write.c: Include safe-write.h.
22965         (full_write): Rewritten to use safe_write.
22966         Suggested by Jim Meyering and Paul Eggert.
22967
22968 2002-11-21  Jim Meyering  <jim@meyering.net>
22969
22970         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
22971
22972         Merge in changes from the coreutils.
22973
22974         2002-09-25  Paul Eggert  <eggert@twinsun.com>
22975         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
22976         <stdint.h>.
22977         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
22978         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
22979         int.  Work more efficiently if X is the same width as uintmax_t.
22980         Do not compare X to -1, to avoid bogus compiler warning.
22981         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
22982         Don't assume that f_frsize and f_bsize are the same type.
22983
22984         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
22985         warning on FreeBSD.
22986
22987         * lib/makepath.c (make_path): Restore umask *before* creating the final
22988         component.
22989         (make_path): Minor reformatting.
22990
22991         * lib/xmalloc.c: Adjust to work with new autoconf macros,
22992         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
22993         HAVE_MALLOC/HAVE_REALLOC.
22994
22995         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
22996         dummy ones.  At least on GNU/Linux systems, `auto' means something
22997         else.
22998         From Michael Stone.
22999
23000 2002-11-21  Bruno Haible  <bruno@clisp.org>
23001
23002         Remove case insensitive option matching.
23003         * lib/argmatch.h (argcasematch): Remove declaration.
23004         (ARGCASEMATCH): Remove macro.
23005         (__xargmatch_internal): Remove case_sensitive argument.
23006         (XARGMATCH): Update.
23007         (XARGCASEMATCH): Remove macro.
23008         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
23009         case_sensitive argument.
23010         (argcasematch): Remove function.
23011         (__xargmatch_internal): Remove case_sensitive argument.
23012         (main): Use XARGMATCH instead of XARGCASEMATCH.
23013
23014         * lib/xmalloc.c: Change compile-time error message. Add comment about
23015         required autoconf version.
23016
23017 2002-11-20  Paul Eggert  <eggert@twinsun.com>
23018
23019         Merge argmatch cleanups from Bison.  Assume C89.
23020
23021         * lib/argmatch.c: Include config.h here, not in argmatch.h.
23022         Include stdlib.h, for EXIT_FAILURE.
23023         Always include <string.h>, since we assume C89.
23024         (EXIT_FAILURE): Remove pre-C89 bug workaround.
23025         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
23026         Include <stddef.h> instead, since it's all we need for size_t.
23027         (PARAMS): Remove.  All uses removed.
23028         (ARRAY_CARDINALITY): Do not bother to #undef.
23029         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
23030         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
23031         Remove unnecessary parentheses.
23032         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
23033         Insert necessary parentheses.
23034         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
23035         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
23036
23037 2002-11-19  Bruno Haible  <bruno@clisp.org>
23038
23039         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
23040         * lib/mbswidth.h: Include <stddef.h>, for size_t.
23041
23042         * lib/mbswidth.h (PARAMS): Remove macro.
23043         (mbswidth, mbsnwidth): Use ANSI C function declarations.
23044         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
23045
23046         * lib/gcd.h (PARAMS): Remove macro.
23047         (gcd): Use ANSI C function declarations.
23048         * lib/gcd.c (gcd): Likewise.
23049
23050 2002-11-15  Bruno Haible  <bruno@clisp.org>
23051
23052         * lib/strcspn.c: Include <stddef.h>.
23053         (strcspn): Use ANSI C function declaration. Change return type to
23054         size_t. Use NULL.
23055         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
23056         (strpbrk): Use NULL.
23057         * lib/strpbrk.h (PARAMS): Remove macro.
23058         (strpbrk): Use ANSI C function declaration.
23059         * lib/strstr.c: Don't include <sys/types.h>.
23060         * lib/strstr.h (PARAMS): Remove macro.
23061         (strstr): Use ANSI C function declarations.
23062
23063 2002-11-14  Karl Berry  <karl@gnu.org>
23064
23065         * config/mkinstalldirs: `do' on separate line, instead of
23066         `for var; do'.
23067
23068 2002-11-06  Bruno Haible  <bruno@clisp.org>
23069
23070         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
23071         * lib/gcd.c (gcd): Likewise.
23072
23073 2002-11-05  Bruno Haible  <bruno@clisp.org>
23074
23075         * lib/gcd.h: New file, from gettext-0.11.5.
23076         * lib/gcd.c: New file, from gettext-0.11.5.
23077
23078 2002-11-05  Bruno Haible  <bruno@clisp.org>
23079
23080         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23081         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23082         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23083         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23084
23085         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
23086         <libintl.h>.
23087         * lib/makepath.c: Include gettext.h instead of <locale.h> and
23088         <libintl.h>.
23089
23090         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
23091         * lib/human.c: Include gettext.h instead of <libintl.h>.
23092         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
23093         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
23094         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
23095         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
23096         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
23097         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
23098         (textdomain): Remove definition.
23099         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
23100
23101         * lib/long-options.c: Remove include of <libintl.h> and definition of
23102         _.
23103         * lib/same.c: Remove include of <libintl.h> and definition of _.
23104
23105 2002-11-04  Owen Taylor  <otaylor@redhat.com>
23106
23107         * lib/config.charset: A few additions for Solaris.
23108
23109 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
23110
23111         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
23112         * lib/localcharset.c (locale_charset): Declare as extern "C".
23113
23114 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
23115
23116         * lib/config.charset: msdos in uk_UA uses CP1125.
23117
23118 2002-11-04  Bruno Haible  <bruno@clisp.org>
23119
23120         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
23121         * lib/strcase.h: New file, from GNU gettext-0.11.5.
23122         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
23123         * lib/strstr.h: New file, from GNU gettext-0.11.5.
23124         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
23125
23126 2002-11-04  Bruno Haible  <bruno@clisp.org>
23127
23128         * lib/localcharset.c (locale_charset): Don't return an empty string.
23129
23130 2002-11-04  Bruno Haible  <bruno@clisp.org>
23131
23132         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
23133         aliases.
23134
23135 2002-11-04  Bruno Haible  <bruno@clisp.org>
23136
23137         * lib/config.charset: Update for newest glibc. Add canonical names
23138         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
23139
23140 2002-11-04  Bruno Haible  <bruno@clisp.org>
23141
23142         * lib/config.charset: Add support for NetBSD.
23143
23144 2002-11-04  Bruno Haible  <bruno@clisp.org>
23145
23146         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
23147
23148 2002-11-01  Bruno Haible  <bruno@clisp.org>
23149
23150         * configure.in: Add AC_CONFIG_AUX_DIR call.
23151         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
23152         test/Makefile.
23153         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
23154
23155 2002-09-28  Karl Berry  <karl@gnu.org>
23156
23157         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
23158         installed automake until the next release, since changes have been
23159         made.
23160
23161 2002-09-25  Karl Berry  <karl@gnu.org>
23162
23163         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
23164         * lib/getopt*: copy from libc/posix.
23165         * lib/gettext.h: copy from gettext.
23166         * lib/.cppi-disable: add strdup.c, gettext.h.
23167
23168 2002-09-25  Karl Berry  <karl@gnu.org>
23169
23170         * config/srclist.txt: enable gettext.h check.
23171         * config/config.{guess,sub}: update from prep.
23172         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
23173                 from automake 1.6.3.
23174         See srclist*.
23175
23176 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
23177
23178         * regex.c (PATFETCH): Remove the translating fetch.
23179         (PATFETCH_RAW): Rename to PATFETCH.
23180         (set_image_of_range): New fun.
23181         (SET_RANGE_TABLE_WORK_AREA): Use it.
23182         (regex_compile): Don't translate the pattern chars so eagerly.
23183         Only do it when inserting an `exactn' bytecode or when handling
23184         a char-range.
23185         (mutually_exclusive_p): Avoid empty statement.
23186
23187 2002-07-06  Jim Meyering  <meyering@lucent.com>
23188
23189         * m4/README: Don't mention Makefile.am.in.
23190         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
23191
23192 2002-07-01  Jim Meyering  <meyering@lucent.com>
23193
23194         * lib/c-stack.c: Include sys/time.h.
23195         From Volker Borchert.
23196
23197 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23198
23199         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
23200
23201 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23202
23203         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
23204         New macro.  Use it uniformly instead of
23205         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
23206         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
23207         reported by Vin Shelton.
23208
23209 2002-06-22  Paul Eggert  <eggert@twinsun.com>
23210
23211         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
23212         Do not assume SA_SIGINFO behavior.
23213         Bug reported by Jim Meyering on NetBSD 1.5.2.
23214
23215 2002-06-22  Jim Meyering  <meyering@lucent.com>
23216
23217         * m4/c-stack.m4: New file, from diffutils-2.8.2.
23218         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
23219
23220         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
23221         now that configure.ac uses AC_GNU_SOURCE.
23222         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
23223         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
23224
23225         Update to latest tools.  Suggestions from Paul Eggert.
23226         * m4/stdbool.m4: New file, from diffutils-2.8.2.
23227         * m4/gnu-source.m4: Update from diffutils-2.8.2.
23228         * m4/fnmatch.m4: Likewise.
23229         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
23230         to AC_HEADER_STDBOOL
23231
23232 2002-06-22  Jim Meyering  <meyering@lucent.com>
23233
23234         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
23235         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
23236
23237 2002-06-22  Jim Meyering  <meyering@lucent.com>
23238
23239         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
23240
23241         * lib/exitfail.c, exitfail.h: Likewise.
23242         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
23243
23244         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
23245         of fnmatch.h.
23246         (EXTRA_DIST): Add fnmatch_loop.c.
23247         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
23248
23249         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
23250         * lib/fnmatch.c: Update from diffutils-2.8.2.
23251         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
23252         * lib/fnmatch.h: Remove file.
23253
23254 2002-06-21  Jim Meyering  <meyering@lucent.com>
23255
23256         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
23257         * m4/mbrtowc.m4: Likewise.
23258
23259         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
23260         * m4/mbswidth.m4: Reflect name change:
23261         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
23262         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
23263
23264         * m4/lib-link.m4: Update from gettext-0.11.2.
23265         * m4/gettext.m4: Likewise.
23266
23267         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
23268         From Alfred M. Szmidt.
23269
23270 2002-06-18  Paul Eggert  <eggert@twinsun.com>
23271
23272         * lib/file-type.h: Report an error if neither S_ISREG nor
23273         S_IFREG is defined, instead of using a test specific to glibc
23274         2.2.  This should be safe, since POSIX requires S_ISREG and
23275         Unix Version 7 had S_IFREG.  We don't need to check for
23276         <sys/types.h> since we don't use any symbols that it defines.
23277
23278 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
23279
23280         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
23281         $@-t, so that each temporary file name is unique and valid in the first
23282         8 characters, for operation under DOS.
23283
23284 2002-06-15  Paul Eggert  <eggert@twinsun.com>
23285
23286         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
23287
23288 2002-06-15  Jim Meyering  <meyering@lucent.com>
23289
23290         Work even with DJGPP 2.03, which lacks support for symlinks.
23291         From Richard Dawe.
23292         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
23293         is defined.
23294         * lib/lchown.c (S_ISLNK): Likewise.
23295
23296 2002-06-15  Jim Meyering  <meyering@lucent.com>
23297
23298         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
23299         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
23300         have been included before this file.
23301
23302 2002-06-14  Jim Meyering  <meyering@lucent.com>
23303
23304         * lib/file-type.h: Use the version from diffutils-2.8.2.
23305         * lib/file-type.c: Likewise.
23306
23307 2002-06-07  Jim Meyering  <meyering@lucent.com>
23308
23309         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
23310         They're needed at least for NetBSD 1.5.2.
23311         ($statxfs_includes): Include those same headers.
23312         ($statxfs_includes): Include sys/vfs.h if available.
23313         ($statxfs_includes): Likewise for sys/statvfs.h.
23314         Check for the following members in both structs statfs and statvfs:
23315         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
23316
23317 2002-06-01  Jim Meyering  <meyering@lucent.com>
23318
23319         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
23320         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
23321
23322 2002-05-28  Jim Meyering  <meyering@lucent.com>
23323
23324         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
23325         Reported by Volker Borchert.
23326
23327 2002-05-27  Jim Meyering  <meyering@lucent.com>
23328
23329         Fix a problem seen only on nonconforming systems whereby ls.c's
23330         use of localtime, and then of gettimeofday would cause trouble:
23331         the localtime call used to initialize rpl_gettimeofday's save
23332         mechanism would clobber ls's current local time information so
23333         that in any long listing the first file would always be listed
23334         with date 1970-01-01.  Analysis by Volker Borchert.
23335
23336         * lib/gettimeofday.c (localtime): Undefine.
23337         (rpl_localtime): New function.
23338
23339 2002-05-27  Jim Meyering  <meyering@lucent.com>
23340
23341         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
23342         localtime.
23343
23344         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
23345         use the replacement function; it wouldn't resolve at link time.
23346         Reported by Volker Borchert.
23347
23348 2002-05-22  Jim Meyering  <meyering@lucent.com>
23349
23350         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
23351         file-type.h.
23352         * lib/file-type.h: New file.
23353         * lib/file-type.c (file_type): New file/function.  Extracted from
23354         diffutils.
23355
23356 2002-04-30  Jim Meyering  <meyering@lucent.com>
23357
23358         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
23359
23360 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23361
23362         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
23363
23364 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23365
23366         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
23367         Do not check for alloca.h (no longer used) or stdbool.h (was never
23368         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
23369
23370 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23371
23372         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
23373
23374 2002-04-29  Jim Meyering  <meyering@lucent.com>
23375
23376         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
23377         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
23378         Use AC_FUNC_STRNLEN here instead.
23379
23380         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
23381         With autoconf-2.53a, it's part of AC_PROG_CC.
23382
23383 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23384
23385         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
23386         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
23387
23388 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23389
23390         * lib/sig2str.h, lib/sig2str.c: New files.
23391         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
23392
23393 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23394
23395         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
23396         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
23397         of 127, since 64 is the largest conceivable number for ancient
23398         nonstandard hosts.
23399         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
23400
23401 2002-04-28  Jim Meyering  <meyering@lucent.com>
23402
23403         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
23404
23405 2002-04-24  Jim Meyering  <meyering@lucent.com>
23406
23407         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
23408         (jm_PREREQ): Use it.
23409
23410         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
23411         mach/mach.h fcntl.h.
23412         Check for this function: setlocale.
23413
23414 2002-04-24  Jim Meyering  <meyering@lucent.com>
23415
23416         * lib/gettext.h: New file, from Gettext.
23417         * lib/Makefile.am (INCLUDES): Remove -I../intl.
23418         (libfetish_a_SOURCES): Add gettext.h.
23419
23420 2002-04-16  Jim Meyering  <meyering@lucent.com>
23421
23422         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
23423         ut_pid, ut_id, ut_exit.
23424
23425 2002-04-16  Jim Meyering  <meyering@lucent.com>
23426
23427         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
23428         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
23429         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
23430
23431 2002-04-12  Jim Meyering  <meyering@lucent.com>
23432
23433         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
23434         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
23435         existence of the getmntinfo function.  Needed for Darwin 5.3.
23436
23437         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
23438         This is necessary at least on Darwin 5.3.
23439
23440         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
23441         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
23442         strnlen.o in the library, and that makes some versions of ranlib
23443         object.
23444
23445 2002-04-12  Jim Meyering  <meyering@lucent.com>
23446
23447         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
23448
23449 2002-04-09  Jim Meyering  <meyering@lucent.com>
23450
23451         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
23452         to be more precise.  Rather than saying we're checking whether the
23453         function `works', say what we're testing.
23454         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
23455         Reported by Bruno Haible.
23456
23457 2002-03-10  Jim Meyering  <meyering@lucent.com>
23458
23459         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
23460         Suggestion from Santiago Vila.
23461
23462 2002-03-08  Jim Meyering  <meyering@lucent.com>
23463
23464         * lib/rename.c: Mention that this wrapper is needed also on
23465         mips-dec-ultrix4.4 systems.
23466
23467 2002-03-02  Jim Meyering  <meyering@lucent.com>
23468
23469         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
23470         not HAVE_CLOCK_SETTIME.
23471
23472 2002-02-27  Paul Eggert  <eggert@twinsun.com>
23473
23474         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
23475         Check for clock_settime.
23476
23477 2002-02-27  Paul Eggert  <eggert@twinsun.com>
23478
23479         * lib/nanosleep.h: Rename to....
23480         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
23481
23482         * lib/gettime.c: New file.
23483         * lib/settime.c: New file.
23484         * lib/stime.c: Remove.
23485
23486         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
23487         timespec.h.  Remove nanosleep.h.
23488
23489 2002-02-25  Paul Eggert  <eggert@twinsun.com>
23490
23491         * m4/acl.m4: New file.
23492         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
23493         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
23494
23495 2002-02-25  Paul Eggert  <eggert@twinsun.com>
23496
23497         * lib/acl.c, lib/acl.h: New files.
23498         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
23499
23500 2002-02-24  Jim Meyering  <meyering@lucent.com>
23501
23502         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
23503         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
23504         cause trouble.  Reported by Nelson Beebe.
23505
23506 2002-02-23  Paul Eggert  <eggert@twinsun.com>
23507
23508         * lib/path-concat.c (xpath_concat): Reorder code to pacify
23509         compilers that don't know that xalloc_die never returns.
23510
23511 2002-02-20  Jim Meyering  <meyering@lucent.com>
23512
23513         * lib/getdate.c: Regenerate using bison-1.33.
23514
23515 2002-02-17  Jim Meyering  <meyering@lucent.com>
23516
23517         * config/config.guess (main): Don't use `head -1'; it's no longer
23518         portable. Use `sed 1q' instead.
23519
23520 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
23521
23522         * m4/codeset.m4: Upgrade to gettext-0.11.
23523         * m4/gettext.m4: Upgrade to gettext-0.11.
23524         * m4/glibc21.m4: Upgrade to gettext-0.11.
23525         * m4/iconv.m4: Upgrade to gettext-0.11.
23526         * m4/isc-posix.m4: Upgrade to gettext-0.11.
23527         * m4/lcmessage.m4: Upgrade to gettext-0.11.
23528         * m4/lib-ld.m4: New file, from gettext-0.11.
23529         * m4/lib-link.m4: New file, from gettext-0.11.
23530         * m4/lib-prefix.m4: New file, from gettext-0.11.
23531         * m4/progtest.m4: Upgrade to gettext-0.11.
23532
23533 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23534
23535         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
23536         (jm_PREREQ): Use it.
23537
23538 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23539
23540         * lib/posixver.c, lib/posixver.h: New files.
23541         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23542
23543 2002-02-02  Paul Eggert  <eggert@twinsun.com>
23544             Bruno Haible  <bruno@clisp.org>
23545
23546         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
23547         (fwrite_success_callback): New declaration.
23548         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
23549         print_unicode_char. Call failure callback instead of error.
23550         (fwrite_success_callback): New function.
23551         (exit_failure_callback): New function.
23552         (fallback_failure_callback): New function.
23553         (print_unicode_char): Call unicode_to_mb.
23554
23555 2002-01-26  Jim Meyering  <meyering@lucent.com>
23556
23557         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
23558         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
23559
23560 2002-01-26  Jim Meyering  <meyering@lucent.com>
23561
23562         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
23563
23564 2002-01-22  Paul Eggert  <eggert@twinsun.com>
23565
23566         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
23567
23568 2002-01-22  Jim Meyering  <meyering@lucent.com>
23569
23570         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
23571         Otherwise, some versions of automake would omit the rule that makes
23572         Makefile from Makefile.in.
23573
23574 2002-01-21  Paul Eggert  <eggert@twinsun.com>
23575
23576         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
23577         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23578         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
23579         (memcoll): Set errno to zero if there is no error.
23580
23581         * lib/quotearg.c (quotearg_buffer_restyled):
23582         Fix bug with quoting buffers containing NUL when backslashing escapes.
23583         This bug was exposed by the other changes in this patch.
23584         (quotearg_n_options): New arg ARGSIZE.
23585         All callers changed.
23586         (quoting_options_from_style): New function.
23587         (quotearg_n_style): Use it.
23588         (quotearg_n_style_mem): New function.
23589
23590         * lib/quotearg.h (quotearg_n_style_mem): New function.
23591
23592 2002-01-19  Jim Meyering  <meyering@lucent.com>
23593
23594         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
23595         Remove useless quotes: DF_PROG="df".
23596         * m4/strnlen.m4: New file.
23597
23598 2002-01-16  Paul Eggert  <eggert@twinsun.com>
23599
23600         * lib/backupfile.c (ISDIGIT): Comment fix.
23601         * lib/getdate.y (ISDIGIT): Likewise.
23602         * lib/posixtm.c (ISDIGIT, year): Likewise.
23603         * lib/strverscmp.c (ISDIGIT): Likewise.
23604         * lib/userspec.c (ISDIGIT): Likewise.
23605
23606 2002-01-16  Jim Meyering  <meyering@lucent.com>
23607
23608         * lib/getdate.y: Add three semicolons, each just before a closing
23609         brace. Bison (as of version 1.31) no longer papers over that mistake.
23610
23611 2002-01-05  Jim Meyering  <meyering@lucent.com>
23612
23613         * lib/version-etc.c (version_etc_copyright): Update copyright year.
23614
23615 2001-12-19  Paul Eggert  <eggert@twinsun.com>
23616
23617         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
23618         not silently exit merely because the output buffer happens to
23619         have nothing pending.
23620
23621 2001-12-18  Paul Eggert  <eggert@twinsun.com>
23622
23623         See the big note in ../ChangeLog.
23624         * lib/human.c (suffixes): Prefer K to k for 1024.
23625         (generate_suffix_backwards): New function.
23626         (human_readable_inexact): Use it.
23627         * lib/xstrtol.c (__xstrtol): If there is no number but there
23628         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
23629         Accept 'K' as well as 'k'.
23630
23631 2001-12-15  Jim Meyering  <meyering@lucent.com>
23632
23633         * lib/regex.h (__restrict_arr): Update from libc.
23634
23635         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
23636         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
23637         (STREQ): Define.
23638
23639 2001-12-14  Jim Meyering  <meyering@lucent.com>
23640
23641         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
23642         Suggestion from Bruno Haible.
23643
23644 2001-12-10  Jim Meyering  <meyering@lucent.com>
23645
23646         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
23647         xrealloc, Instead, include "xalloc.h".
23648         (initbuffer): Don't cast xmalloc return value to char*.
23649         (readline): Reword comment.
23650         Don't cast xrealloc return value to char*
23651         Return NULL, not 0.
23652
23653 2001-12-09  Jim Meyering  <meyering@lucent.com>
23654
23655         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
23656         about `signed and unsigned type in conditional expression'.
23657         * lib/posixtm.c (posix_time_parse): Likewise.
23658
23659         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
23660
23661         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
23662         to avoid a pedantic warning.
23663
23664         * lib/getstr.c: Don't include assert.h.
23665         (getstr): Remove warning-evoking assertions.
23666         Return -1 if offset parameter is out of bounds.
23667         Change the type of a local from int to size_t.
23668
23669         * lib/strftime.c (my_strftime_localtime_r): Include this function
23670         definition in the `#if ! HAVE_TM_GMTOFF' block.
23671
23672         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
23673         Include xalloc.h instead.
23674
23675 2001-12-02  Jim Meyering  <meyering@lucent.com>
23676
23677         * lib/tempname.c: Don't declare getenv, thus reverting the change of
23678         2001-11-18.  It's no longer necessary, now that stdlib.h is always
23679         included.
23680
23681         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
23682         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
23683
23684 2001-11-30  Akim Demaille  <akim@epita.fr>
23685
23686         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
23687         before being defined.
23688
23689 2001-11-27  Paul Eggert  <eggert@twinsun.com>
23690
23691         * lib/quotearg.h (quotearg_n, quotearg_n_style):
23692         First arg is int, not unsigned.
23693         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
23694         (SIZE_MAX, UINT_MAX): New macros.
23695         (quotearg_n_options): Abort if N is negative.
23696         Avoid overflow check on hosts where size_t is 64 bits and int
23697         is 32 bits, as overflow is impossible there.
23698         Fix off-by-one typo that caused unnecessary reallocation.
23699
23700 2001-11-27  Jim Meyering  <meyering@lucent.com>
23701
23702         * lib/tempname.c: Merge with version from libc.
23703         * lib/regex.c: Likewise.
23704
23705         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
23706         systems for which STDC_HEADERS is 0, it was not included, resulting in
23707         a warning about an integer-to-pointer conversion problem with getenv.
23708         Reported by Volker Borchert.
23709
23710 2001-11-26  Jim Meyering  <meyering@lucent.com>
23711
23712         * lib/gtod.h: Remove file.
23713         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
23714         * lib/gettimeofday.c: Don't include gtod.h.
23715         (GTOD_init): Remove function.
23716         (rpl_gettimeofday): Do its job here instead, rather than aborting.
23717         Suggestion from Volker Borchert.
23718
23719 2001-11-23  Jim Meyering  <meyering@lucent.com>
23720
23721         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
23722         it.
23723         * lib/hash.c (struct hash_table): Define it here instead.
23724
23725 2001-11-22  Jim Meyering  <meyering@lucent.com>
23726
23727         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
23728
23729 2001-11-20  Jim Meyering  <meyering@lucent.com>
23730
23731         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
23732         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
23733
23734 2001-11-19  Jim Meyering  <meyering@lucent.com>
23735
23736         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
23737         directory.  Use "conftestXXXXXX" as the template.
23738         Suggestion from Paul Eggert.
23739
23740         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
23741         immediately, so the test doesn't mistakenly hit the max-open-files
23742         limit.
23743
23744 2001-11-18  Paul Eggert  <eggert@twinsun.com>
23745
23746         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
23747         (TEMPORARIES): New macro.
23748         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
23749         removes an artificial limitation (e.g. HP-UX 10.20, where
23750         TMP_MAX is 17576).
23751
23752 2001-11-18  Jim Meyering  <meyering@lucent.com>
23753
23754         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
23755
23756 2001-11-18  Jim Meyering  <meyering@lucent.com>
23757
23758         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
23759         on SunOS 4.
23760
23761         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
23762         files will be created before anything else.
23763
23764 2001-11-17  Paul Eggert  <eggert@twinsun.com>
23765
23766         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
23767         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
23768
23769 2001-11-17  Jim Meyering  <meyering@lucent.com>
23770
23771         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
23772         Prompted by a report from Bob Proulx.
23773
23774         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
23775         Instead, require UTILS_FUNC_MKSTEMP.
23776
23777 2001-11-17  Jim Meyering  <meyering@lucent.com>
23778
23779         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
23780         Now, that's done as part of AC_FUNC_STRTOD.
23781
23782 2001-11-17  Jim Meyering  <meyering@lucent.com>
23783
23784         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
23785         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
23786         rather than group writable.  Patch by Juan F. Codagnone.
23787
23788         * lib/readtokens.c: Remove explicit declarations of xmalloc and
23789         xrealloc, Instead, include "xalloc.h".
23790
23791         * lib/mountlist.c: Include unlocked-io.h after all system headers.
23792         Remove explicit declarations of xmalloc, xrealloc,
23793         and xstrdup.  Instead, include "xalloc.h".
23794
23795         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
23796         unlocked-io.h.
23797         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
23798         Likewise.
23799         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
23800
23801         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
23802         Reported by Padraig Brady.
23803
23804         * lib/mkstemp.c: #undef mkstemp.
23805         Include config.h.
23806         (rpl_mkstemp): Rename from mkstemp.
23807         Protoize.
23808
23809 2001-11-16  Jim Meyering  <meyering@lucent.com>
23810
23811         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
23812         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
23813         determine the amount of total physical memory, use pstat_getstatic.
23814         HPUX-11 doesn't define _SC_PHYS_PAGES.
23815         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
23816         If sysconf couldn't be used to determine the amount of available
23817         physical memory, use both pstat_getstatic and pstat_getdynamic.
23818         Based on a patch from Bob Proulx.
23819
23820 2001-11-10  Jim Meyering  <meyering@lucent.com>
23821
23822         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
23823         (jm_PREREQ): Use it.
23824
23825 2001-11-09  Jim Meyering  <meyering@lucent.com>
23826
23827         * m4/jm-macros.m4: Require autoconf-2.52f.
23828         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
23829         Use these AC_-prefixed names, not the AM_-prefixed ones.
23830
23831         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
23832
23833 2001-11-05  Jim Meyering  <meyering@lucent.com>
23834
23835         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
23836
23837 2001-11-04  Jim Meyering  <meyering@lucent.com>
23838
23839         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
23840         $DEFS.
23841
23842 2001-11-03  Jim Meyering  <meyering@lucent.com>
23843
23844         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
23845         of AC_DEFUN.
23846
23847         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
23848         know the name of the variable in the macro definition.
23849
23850 2001-11-03  Jim Meyering  <meyering@lucent.com>
23851
23852         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
23853         in argmatch_to_argument call.
23854
23855         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
23856         argument.
23857
23858         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
23859         e.g., a fault due to an attempt to free a NULL pointer.
23860
23861 2001-11-01  Jim Meyering  <meyering@lucent.com>
23862
23863         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
23864         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
23865
23866 2001-11-01  Jim Meyering  <meyering@lucent.com>
23867
23868         * lib/dirfd.c, lib/dirfd.h: New files.
23869         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
23870
23871         * lib/hash.c (hash_print) [TESTING]: Clean up.
23872
23873 2001-10-22  Paul Eggert  <eggert@twinsun.com>
23874
23875         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
23876         to avoid a warning if -Wall.
23877
23878 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
23879
23880         * README: New file
23881         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
23882         (per RMS's instructions, this is now the canonical source)
23883         * lgpl/, gpl/: New directories.
23884
23885 2001-10-21  Paul Eggert  <eggert@twinsun.com>
23886
23887         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
23888
23889 2001-10-21  Jim Meyering  <meyering@lucent.com>
23890
23891         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
23892         this code would end up calling gettext even in packages built
23893         with --disable-nls.
23894         * lib/getopt.c (_): Likewise.
23895         * lib/regex.c (_): Likewise.
23896
23897 2001-10-20  Paul Eggert  <eggert@twinsun.com>
23898
23899         * m4/error.m4 (jm_PREREQ_ERROR):
23900         Do not invoke AC_CHECK_FUNCS with strerror_r, as
23901         AC_FUNC_STRERROR_R does that.
23902         Check for strerror declaration.
23903
23904         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
23905         are supposed to have them these days.
23906         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
23907         Merge changes from latest Autoconf CVS.
23908         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
23909         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
23910         POSIX decided to standardize on the int flavor of strerror_r.
23911
23912 2001-10-20  Paul Eggert  <eggert@twinsun.com>
23913
23914         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
23915         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
23916         Use strerror_r that is only a macro, even if it is not a function.
23917         (strerror): Check for HAVE_DECL_STRERROR before declaring.
23918         (private_strerror): Use prototypes, not old-style function definition.
23919         (print_errno_message): New function.
23920         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
23921         char*-flavored one.
23922         (error_tail, error, error_at_line): Use it.
23923
23924 2001-10-11  Jim Meyering  <meyering@lucent.com>
23925
23926         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
23927         and quote_n (1, ... to avoid clobbering a buffer.
23928
23929 2001-10-05  Jim Meyering  <meyering@lucent.com>
23930
23931         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
23932         hash-pjw.h.
23933         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
23934         * lib/hash-pjw.h: New file.
23935
23936 2001-09-30  Jim Meyering  <meyering@lucent.com>
23937
23938         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
23939         `struct fsstat' has the `f_fstypename' member.
23940         Use that to define FS_TYPE, which is now used to make
23941         the getfsstat link test tighter.
23942
23943 2001-09-30  Jim Meyering  <meyering@lucent.com>
23944
23945         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
23946         Include <sys/ucred.h>, for Apple Darwin.
23947         Include sys/mount.h and sys/fs_types.h only if available.
23948         (FS_TYPE): Define.
23949         (read_filesystem_list): Use FS_TYPE.
23950
23951 2001-09-29  Paul Eggert  <eggert@twinsun.com>
23952
23953         * lib/exclude.c (excluded_filename): 0 -> false, since it's
23954         a boolean context.
23955
23956 2001-09-29  Jim Meyering  <meyering@lucent.com>
23957
23958         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
23959         [one-argument getmntent function]): Include stdio.h before mntent.h.
23960         SunOS 4.1.x needs it for the declaration of `FILE'.
23961         Patch by Volker Borchert.
23962
23963         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
23964         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
23965         sys/fs_types.h, and make the link-test for getfsstat guard #include
23966         directives with appropriate #if HAVE_*_H tests so that we can
23967         detect getfsstat on Apple Darwin1.3.7 systems.
23968         Reported by Nelson Beebe.
23969         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
23970
23971 2001-09-28  Paul Eggert  <eggert@twinsun.com>
23972
23973         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
23974         #defines strtoimax.  Also treat the other strto* functions
23975         like strtoimax.
23976
23977         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
23978         Check for strtoul and strtoumax,
23979         as those declarations are made even in the signed case.
23980         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
23981         Likewise, for strtol and strtoimax.
23982
23983 2001-09-28  Paul Eggert  <eggert@twinsun.com>
23984
23985         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
23986         #defines strtoimax.  Also treat the other strto* functions
23987         like strtoimax.
23988
23989         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
23990         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
23991         (strtoimax, strtoumax): Do not declare if already defined as a macro.
23992
23993 2001-09-26  Jim Meyering  <meyering@lucent.com>
23994
23995         Most macros in unlocked-io.h had the wrong number of arguments.
23996         * lib/gen-uio: New script.
23997         (USE_UNLOCKED_IO): Define to 1 if not already defined.
23998         * lib/unlocked-io.hin: Remove file.
23999         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
24000         rather than trying to embed it here.
24001         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
24002         Reported by Padraig Brady.
24003
24004 2001-09-25  Volker Borchert  <bt@teknon.de>
24005
24006         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
24007         `result'.
24008
24009 2001-09-24  Jim Meyering  <meyering@lucent.com>
24010
24011         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
24012
24013 2001-09-23  Jim Meyering  <meyering@lucent.com>
24014
24015         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
24016         instead of the mere test for existence of mntent.h.  The latter
24017         would get a false-positive on AIX 3.4 systems.
24018         In the outer getmntent if-block, don't die if neither of the getmntent
24019         tests succeeds.  Instead, just fall through and continue with the
24020         remaining tests.
24021
24022 2001-09-23  Jim Meyering  <meyering@lucent.com>
24023
24024         * lib/mountlist.c: Remove useless parentheses in #if directives.
24025         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
24026         the deprecated MOUNTED symbol is no longer defined in mntent.h.
24027
24028 2001-09-22  Jim Meyering  <meyering@lucent.com>
24029
24030         * m4/gettext.m4: New file.  From gettext.
24031         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
24032         * m4/progtest.m4: Likewise
24033         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
24034         * m4/glibc21.m4: Likewise.
24035
24036         * m4/libintl.m4: Remove.  No longer used.
24037
24038 2001-09-22  Jim Meyering  <meyering@lucent.com>
24039
24040         * lib/localcharset.c: Update from latest gettext.
24041         * lib/config.charset: Likewise.
24042
24043 2001-09-20  Jim Meyering  <meyering@lucent.com>
24044
24045         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
24046         strtoimax.
24047         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
24048         strtoumax.
24049
24050 2001-09-20  Jim Meyering  <meyering@lucent.com>
24051
24052         * lib/xstrtol.c (strtoimax): Guard declaration with
24053         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
24054         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
24055         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
24056         (strtoumax): Likewise, for completeness (it wasn't necessary).
24057
24058 2001-09-17  Paul Eggert  <eggert@twinsun.com>
24059
24060         * lib/strtoimax.c (HAVE_LONG_LONG):
24061         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
24062         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
24063         to work around bug in IBM C compiler.
24064
24065 2001-09-17  Jim Meyering  <meyering@lucent.com>
24066
24067         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
24068         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
24069         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
24070         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
24071         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
24072         whenever the right hand side need not be expanded by the shell.
24073
24074 2001-09-16  Paul Eggert  <eggert@twinsun.com>
24075
24076         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
24077         library.  It's not correct, as some older glibcs are buggy.
24078         fnmatch wasn't fixed until glibc 2.2.
24079
24080         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
24081         special shell magic here.
24082
24083 2001-09-16  Jim Meyering  <meyering@lucent.com>
24084
24085         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
24086         * m4/jm-macros.m4: Require it.
24087
24088 2001-09-16  Jim Meyering  <meyering@lucent.com>
24089
24090         * lib/mkdir.c: New file.
24091
24092 2001-09-15  Jim Meyering  <meyering@lucent.com>
24093
24094         * m4/jm-macros.m4: Check for help2man.
24095
24096 2001-09-11  Jim Meyering  <meyering@lucent.com>
24097
24098         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
24099         The body, by Paul Eggert, was moved here from configure.in.
24100         * m4/jm-macros.m4: Require UTILS_HOST_OS.
24101
24102 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24103
24104         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
24105         (jm_PREREQ): Use it.
24106
24107 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24108
24109         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
24110         Use ssize_t, not int, to store result of readlink.
24111         Check for ssize_t overflow as well as size_t overflow,
24112         as POSIX says the result of readlink is implementation-defined
24113         when ssize_t overflows.
24114         Remove unnecessary cast to char*.
24115         Use free+malloc instead of realloc, as the storage doesn't need
24116         to be preserved and it's clearer and can be more efficient that way.
24117         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
24118         * lib/xreadlink.h (xreadlink): Update prototype.
24119
24120 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24121
24122         * lib/xgetcwd.c: Revert some of the previous change; intead,
24123         fix the HAVE_GETCWD_NULL code to behave more like the
24124         !HAVE_GETCWD_NULL code used to.
24125
24126         Include "xalloc.h".
24127         (xgetcwd): Do not return NULL when memory is exhausted; instead,
24128         invoke xalloc_die.
24129
24130 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24131
24132         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
24133         sys/param.h, as pathmax.h includes them.
24134
24135 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24136
24137         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
24138         (jm_PREREQ_XGETCWD): New macro.
24139
24140         * m4/getcwd.m4: New file.
24141
24142 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24143
24144         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
24145         like the HAVE_GETCWD_NULL code.
24146         Include pathmax.h if not HAVE_GETCWD.
24147         Do not include xalloc.h.
24148         (INITIAL_BUFFER_SIZE): New symbol.
24149         Do not use xmalloc / xrealloc, since the caller is responsible for
24150         handling errors.  Preserve errno around `free' during failure.
24151         Do not overrun buffer when using getwd.
24152
24153 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24154
24155         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
24156         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
24157         getcwd (NULL, 0).
24158
24159 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24160
24161         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
24162         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
24163         spotted by Jim Meyering.
24164
24165 2001-09-03  Jim Meyering  <meyering@lucent.com>
24166
24167         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
24168         failure.
24169
24170 2001-09-02  Jim Meyering  <meyering@lucent.com>
24171
24172         * lib/error.c: Update from GNU libc.
24173
24174 2001-09-01  Jim Meyering  <meyering@lucent.com>
24175
24176         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
24177         Used by df.
24178
24179 2001-09-01  Jim Meyering  <meyering@lucent.com>
24180
24181         * lib/xreadlink.c: New file.
24182         * lib/xreadlink.h: New file.
24183         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
24184         xreadlink.h.
24185
24186         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
24187         doesn't conflict with sparc Solaris 7's definition in
24188         /usr/include/sys/int_types.h.
24189
24190         * lib/exclude.c: Use `""', not `<>' to #include non-system header
24191         files.
24192         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
24193         and strncasecmp as r-values.  Unixware didn't have declarations.
24194
24195 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24196
24197         * lib/xstrtol.h: Add copyright notice.
24198         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
24199         LONGINT_INVALID_SUFFIX_CHAR.
24200
24201 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24202
24203         * lib/xstrtol.c (strtoimax): New decl.
24204
24205 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24206
24207         * lib/xgetcwd.c: Don't include pathmax.h.
24208         Include stdlib.h and unistd.h if available.
24209         Include xalloc.h.
24210         (xmalloc, xstrdup, free): Remove decls.
24211         (xgetcwd): Don't assume sizes fit in unsigned.
24212         Check for overflow when computing sizes.
24213         Simplify reallocation code.
24214
24215 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24216
24217         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
24218         a directory's st_size can have an arbitrary value, so the old
24219         usage could waste an arbitrary amount of memory.  All uses
24220         changed.
24221         * lib/savedir.h: Update prototype.
24222
24223 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24224
24225         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
24226
24227         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
24228         old strtoimax.c.
24229
24230         Also, make the following further changes to make this file's
24231         configuration more similar to that of strtol.c:
24232         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
24233         (strtoumax, uintmax_t, strtoull, strtol): Remove.
24234         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
24235         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
24236         changed to signed values.
24237
24238         And make the following changes as well:
24239         Fix copyright notice, as 1999 was missing.
24240         (verify): New macro.
24241         (strtoimax): Check sizes at compile-time, not run-time.
24242         Prefer strtol to strtoll if both work.
24243         (main): Remove; it was not that useful and was a pain to maintain.
24244
24245         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
24246
24247 2001-08-31  Jim Meyering  <meyering@lucent.com>
24248
24249         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
24250         Use an initial, malloc'd, buffer of length 128 rather than
24251         a statically allocated one of length 1024.
24252
24253 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24254
24255         Simplify code, partly by assuming autoconf 2.52 semantics.
24256
24257         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
24258
24259         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
24260         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
24261         All uses removed.
24262         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
24263         Move AC_REQUIRE to next-to-top level, to avoid confusion.
24264         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
24265         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
24266         jm_AC_HEADER_INTTYPES_H.
24267         * m4/jm-macros.m4 (jm_MACROS): Likewise.
24268
24269         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
24270
24271         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
24272         Quote first arg of AC_DEFUN.
24273         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
24274         since they are needed to parse the include file even if we need
24275         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
24276         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
24277         but with opposite signedness.
24278
24279 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24280
24281         Merge 'exclude' changes from tar 1.13.22.
24282         This fixes one or two unlikely storage allocation overflow bugs,
24283         but doesn't change user-visible behavior otherwise.
24284
24285 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24286
24287         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
24288         (jm_PREREQ_EXCLUDE): New macro.
24289
24290 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24291
24292         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
24293         tm to be declared.
24294
24295 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24296
24297         * lib/hash.c: Remove '2001' from copyright notice.
24298
24299 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24300
24301         * lib/full-write.h: New file.
24302         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
24303         * lib/full-write.c: Correct credits, as cccp.c no longer
24304         exists and anyway it was so heavily changed from the old cccp
24305         code as to be unrecognizable.  Include full-write.h.
24306         (full_write) Return size_t, with short writes meaning failure.
24307         All callers changed.  This fixes a bug with large buffers
24308         on 64-bit hosts.
24309         * lib/utime.c: Include full-write.h.
24310
24311 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24312
24313         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
24314         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
24315         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
24316         Include if available.
24317         (<xalloc.h>): Include
24318         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
24319         (verify): New macro.  Use it to verify that EXCLUDE macros do not
24320         collide with FNM macros.
24321         (struct patopts): New struct.
24322         (struct exclude): Use it, as exclude patterns now come with options.
24323         (new_exclude): Support above changes.
24324         (new_exclude, add_exclude_file):
24325         Initial size must now be a power of two to simplify overflow checking.
24326         (free_exclude, fnmatch_no_wildcards): New function.
24327         (excluded_filename): No longer requires options arg, as the options
24328         are determined by add_exclude.  Now returns bool, not int.
24329         (excluded_filename, add_exclude):
24330         Add support for the fancy new exclusion options.
24331         (add_exclude, add_exclude_file): Now takes int options arg.
24332         Check for arithmetic overflow when computing sizes.
24333         (add_exclude_file): xrealloc might modify errno, so don't
24334         realloc until after errno might be used.
24335
24336         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
24337         New macros.
24338         (free_exclude): New decl.
24339         (add_exclude, add_exclude_file): Now takes int options arg.
24340         (excluded_filename): No longer requires options arg, as the options
24341         are determined by add_exclude.  Now returns bool, not int.
24342
24343 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24344
24345         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
24346
24347 2001-08-27  Jim Meyering  <meyering@lucent.com>
24348
24349         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
24350
24351         * lib/version-etc.c (N_): Remove definition.
24352         Revert most of last change.
24353         Instead, simply don't mark the `Copyright...' string for translation.
24354         Based on advice from Paul Eggert.
24355
24356         * lib/strtoxmax.c: Tweak comment.
24357
24358 2001-08-26  Jim Meyering  <meyering@lucent.com>
24359
24360         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
24361
24362         * m4/xstrtoimax.m4: New file.
24363         * m4/xstrtoumax.m4: Add comments explaining why we
24364         AC_REPLACE_FUNCS(strtol).
24365
24366 2001-08-26  Jim Meyering  <meyering@lucent.com>
24367
24368         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
24369         of copyright with `%s' so translators don't get an untranslated
24370         message in 2002.
24371         (COPYRIGHT_YEAR): Define.
24372         (version_etc): Use fprintf rather than fputs.
24373         Suggestion from Ulrich Drepper.
24374
24375         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
24376
24377         * lib/strtoll.c: New file, from GNU libc.
24378         * lib/xstrtoimax.c: New file.
24379
24380         * lib/xstrtol.h: Add xstrtoimax.
24381         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
24382         * lib/strtoimax.c: New file.  Likewise, but first define
24383         STRTOUXMAX_SIGNED.
24384
24385         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
24386         ...
24387         * lib/strtoxmax.c: ... then renamed to this.
24388
24389 2001-08-18  Paul Eggert  <eggert@twinsun.com>
24390
24391         * m4/inttypes.m4: Add AC_PREREQ(2.13).
24392         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
24393         (jm_AC_TYPE_INTMAX_T): New macro.
24394         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
24395
24396         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
24397
24398         * m4/longlong.m4: Renamed from ulonglong.m4.
24399         * m4/inttypes.m4: Renamed from inttypes_h.m4.
24400         * m4/uintmax_t.m4: Removed.
24401
24402 2001-08-13  Paul Eggert  <eggert@twinsun.com>
24403
24404         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
24405         Port to Solaris 8, where 'sed' requires a space after the 'r'
24406         command, and where sh dislikes "$/".  Clean up the spacing a bit.
24407         Redirect output to $tmp just once.
24408
24409 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
24410
24411         * lib/addext.c (<errno.h>): Include.
24412         (errno): Declare if not defined.
24413         (addext): Work correctly when pathconf returns -1 and leaves
24414         errno alone because there is no limit.  Also, work even if
24415         pathconf returns a value greater than SIZE_MAX.
24416
24417 2001-08-12  Jim Meyering  <meyering@lucent.com>
24418
24419         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
24420         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
24421         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
24422         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
24423         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
24424         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
24425         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
24426         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
24427         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
24428         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
24429         utime.m4, utimes.m4, xstrtoumax.m4:
24430         Quote the first argument in each use of AC_DEFUN.
24431
24432 2001-08-12  Jim Meyering  <meyering@lucent.com>
24433
24434         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
24435         Simply `return getcwd (NULL, 0);'.
24436         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
24437         Use 1300 as initial value for length, not PATH_MAX.
24438
24439         * lib/pathmax.h: Clean up cpp syntax.
24440
24441 2001-08-12  Jim Meyering  <meyering@lucent.com>
24442
24443         * lib/gettimeofday.c: New file.
24444         * lib/gtod.h: New file.
24445         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
24446
24447 2001-08-05  Jim Meyering  <meyering@lucent.com>
24448
24449         * m4/jm-macros.m4: Require autoconf-2.52.
24450
24451 2001-08-04  Jim Meyering  <meyering@lucent.com>
24452
24453         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
24454         stmt, to get in sync with glibc.
24455
24456 2001-08-03  Paul Eggert  <eggert@twinsun.com>
24457
24458         The following changes are from gettext 0.10.39 as maintained by
24459         Bruno Haible.
24460
24461         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
24462         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
24463         with inverted sense.  All uses changed.
24464
24465         * lib/mbswidth.c: Don't include <limits.h>.
24466         Include <stdlib.h> and <string.h> unconditionally.
24467         (iswcntrl, mbsinit, ISCNTRL): New macros.
24468         (mbsnwidth): Use K&R style function declarations.
24469         Don't bother checking for MB_LEN_MAX == 1, since the compiler
24470         can optimize it when MB_CUR_MAX == 1.
24471         The width of control characters is zero, not 1.
24472
24473 2001-08-03  Paul Eggert  <eggert@twinsun.com>
24474
24475         The following changes are from gettext 0.10.39 as maintained by
24476         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
24477
24478         * m4/codeset.m4: Upgrade to serial AM1.
24479         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
24480         all uses changed.  Quote first arg of AC_DEFUN.
24481         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
24482
24483         * m4/iconv.m4: Upgrade to serial AM2.
24484         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
24485         Add --with-libconv-prefix.
24486         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
24487         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
24488         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
24489         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
24490         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
24491
24492         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
24493         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
24494         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
24495         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
24496         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
24497         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
24498         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24499         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
24500         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
24501
24502         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
24503         string.h any more.
24504
24505         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
24506         not the default value.
24507
24508         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
24509         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
24510         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
24511         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
24512         Also check for iswcntrl, used for wcwidth fallback.
24513         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
24514         to Autoconf 2.13.
24515
24516 2001-08-03  Jim Meyering  <meyering@lucent.com>
24517
24518         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
24519         as it was in the original.  Reported by Paul Eggert.
24520
24521 2001-07-16  Jim Meyering  <meyering@lucent.com>
24522
24523         * m4/gettimeofday.m4: New file.
24524         Prompted by a report from Bernhard Baehr.
24525
24526 2001-07-15  Jim Meyering  <meyering@lucent.com>
24527
24528         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
24529         stuff. Now it's in ../Makefile.cfg.
24530
24531 2001-07-15  Jim Meyering  <meyering@lucent.com>
24532
24533         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
24534         (BUILT_SOURCES): Add unlocked-io.h.
24535         (io_functions): Define.
24536         (unlocked-io.h): New rule.
24537         (DISTCLEANFILES): Add unlocked-io.h.
24538         (all-local): Depend on unlocked-io.h, to ensure it is created.
24539
24540         * lib/unlocked-io.hin: New file
24541
24542         * lib/regex.c: Update from glibc.
24543
24544 2001-07-05  Jim Meyering  <meyering@lucent.com>
24545
24546         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
24547         recommendation.
24548         (libfetish_a_SOURCES): Put all .h files here instead.
24549         Remove a thus-exposed (better checks in automake) duplicate and
24550         two unnecessary .h files.
24551
24552 2001-07-04  Jim Meyering  <meyering@lucent.com>
24553
24554         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
24555         that generates jm-glibc-io.m4 so that it doesn't trigger any make
24556         distcheck failure.
24557
24558 2001-07-02  Jim Meyering  <meyering@lucent.com>
24559
24560         The following changes were prompted by suggestions from Bruno Haible.
24561
24562         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
24563         is now generated.
24564         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
24565         definition of EXTRA_DIST.
24566         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
24567         ensure that the generated file is created/updated whenever the list
24568         of $(unlocked_functions) is changed.
24569         (jm-glibc-io.m4): New rule.
24570         (unlocked-io.h): New rule -- currently unused.
24571
24572 2001-06-24  Jim Meyering  <meyering@lucent.com>
24573
24574         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
24575         unmatched right bracket, rather than kludging it with an extra,
24576         falsely-matching quote in a comment.  Patch by Akim Demaille.
24577
24578 2001-06-11  Jim Meyering  <meyering@lucent.com>
24579
24580         * lib/regex.c: Update from GNU libc.
24581
24582 2001-05-27  Jim Meyering  <meyering@lucent.com>
24583
24584         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
24585         Check for ut_type in struct utmp.
24586
24587 2001-05-27  Jim Meyering  <meyering@lucent.com>
24588
24589         * lib/readutmp.h (UT_TYPE): Define.
24590
24591 2001-05-24  Jim Meyering  <meyering@lucent.com>
24592
24593         * lib/argmatch.c: Include "quote.h".
24594         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
24595         quote function.  Reported by Göran Uddeborg.
24596
24597 2001-05-22  Jim Meyering  <meyering@lucent.com>
24598
24599         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
24600         now that we use the package-supplied version unconditionally.
24601         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
24602
24603 2001-05-21  Jim Meyering  <meyering@lucent.com>
24604
24605         * m4/regex.m4: Change a couple backticks to single quotes to avoid
24606         shell syntax errors.
24607
24608 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
24609
24610         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
24611
24612 2001-05-20  Paul Eggert  <eggert@twinsun.com>
24613
24614         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
24615         Don't bother to check library strftime, since
24616         we'll be using our own my_strftime function anyway.
24617         Define my_strftime instead of strftime.
24618
24619 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
24620
24621         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
24622         which is not yet declared.
24623
24624 2001-05-15  Jim Meyering  <meyering@lucent.com>
24625
24626         * m4/regex.m4: Use proper quoting so brackets appear in the test
24627         program.
24628         Reported by, and with help from, Bruno Haible.
24629
24630 2001-05-13  Jim Meyering  <meyering@lucent.com>
24631
24632         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
24633         undefined.
24634
24635 2001-05-11  Paul Eggert  <eggert@twinsun.com>
24636
24637         dirname code cleanup.  base_name now behaves more compatibly
24638         with POSIX basename when given file names that have trailing
24639         slashes, and similarly for dir_name.  Add new primitives
24640         base_len and dir_len.  Put the directory-name-related decls
24641         into dirname.h.
24642
24643         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
24644         * lib/backupfile.c (base_name): Likewise.
24645         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
24646         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
24647         * lib/makepath.c (strip_trailing_slashes): Likewise.
24648         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
24649         ISSLASH): Likewise.
24650         * lib/rename.c (strip_trailing_slashes): Likewise.
24651         * lib/same.c (base_name): Likewise.
24652         * lib/stripslash.c (ISSLASH): Likewise.
24653
24654         * lib/addext.c: Include <dirname.h> after size_t is defined.
24655         * lib/backupfile.c: Likewise.
24656
24657         * lib/addext.c (addext): Use base_len to trim redundant
24658         trailing slashes instead of doing it ourselves.
24659         But do not trim the last slash if it is not redundant.
24660
24661         * lib/backupfile.c (find_backup_file_name,
24662         max_backup_version): Use base_len instead of rolling it ourselves.
24663         Handle the case of "" and (on DOS) "C:" correctly.
24664
24665         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
24666         needed. Include <string.h>, <dirname.h>.
24667         (base_name): Allow file names ending in slashes, other than names
24668         that are all slashes.  In this case, return the basename followed
24669         by the slashes.  This is more general, and can be used in places
24670         where the original base_name purposely had an assertion failure.
24671         (base_len): New function.
24672
24673         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
24674         Do not include <assert.h>; no longer needed.
24675         Include xalloc.h.
24676         (memrchr): Remove decl.
24677         (dir_name_r): Remove.
24678         (dir_len): Renamed from dirlen.  All callers changed.
24679         Rewrite in terms of base_name, for simplicity and consistency.
24680         (dir_name): Never return NULL.  All callers changed.
24681         Do not include <stdlib.h> in test program; no longer needed.
24682         return 0; is fine for test program.
24683
24684         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
24685         New macros.
24686         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
24687
24688         * lib/path-concat.c (path_concat): Use base_len to compute
24689         base length, not strlen; this means we cannot rely on memcpy
24690         to null-terminate.
24691
24692         * lib/same.c (STREQ): Remove.
24693         (same_name): Handle the case where the basename ends in trailing '/'.
24694
24695         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
24696         a slash was stripped.  Do not strip the last slash after a
24697         file system prefix.
24698
24699 2001-05-11  Paul Eggert  <eggert@twinsun.com>
24700
24701         * lib/Makefile.am (libfetish_a_SOURCES):
24702         Add strftime.c, since we now compile it on all hosts.
24703
24704         * lib/strftime.c (my_strftime):
24705         Define to nstrftime if emacs, but only if my_strftime is not defined.
24706         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
24707         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
24708         Add one more extra argument: a nanoseconds value.
24709         All uses changed.
24710         (ns): New macro.
24711         (my_strftime function): Add %N format.
24712         (emacs_strftimeu): Renamed from emacs_strftime,
24713         with extra ut argument.
24714
24715 2001-05-09  Paul Eggert  <eggert@twinsun.com>
24716
24717         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
24718
24719 2001-04-21  Jim Meyering  <meyering@lucent.com>
24720
24721         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
24722         doesn't interfere.
24723
24724 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
24725
24726         * m4/ftruncate.m4: Check for chsize.
24727         Link with ftruncate.o unconditionally if ftruncate is missing.
24728         This was required when cross-compiling to i586-mingw32msvc.
24729
24730 2001-04-08  Jim Meyering  <meyering@lucent.com>
24731
24732         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
24733         recomputed; that's necessary when the offset spans a DST transition.
24734         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
24735
24736 2001-04-02  Jim Meyering  <meyering@lucent.com>
24737
24738         * lib/regex.h, regex.c: Update from GNU libc.
24739
24740 2001-03-24  Jim Meyering  <meyering@lucent.com>
24741
24742         * m4/jm-macros.m4: Require autoconf-2.49d.
24743
24744 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
24745
24746         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
24747
24748 2001-03-19  Paul Eggert  <eggert@twinsun.com>
24749
24750         * lib/version-etc.c (version_etc_copyright): Update to 2001.
24751
24752 2001-03-17  Jim Meyering  <meyering@lucent.com>
24753
24754         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
24755         now that the version in autoconf is equivalent.
24756         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
24757
24758         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
24759         Suggestion from Akim Demaille.
24760
24761         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
24762         (jm_PREREQ_TEMPNAME): New function.
24763
24764 2001-03-16  Paul Eggert  <eggert@twinsun.com>
24765
24766         * lib/tempname.c (uint64_t): Define to uintmax_t if
24767         not defined, and if UINT64_MAX is not defined.
24768         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
24769         Reported by John David Anglin.
24770
24771 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
24772
24773         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
24774         resolve alias if codeset is empty.
24775         * lib/config.charset (BeOS): Use wildcard syntax.
24776
24777 2001-03-13  Jim Meyering  <meyering@lucent.com>
24778
24779         * lib/path-concat.c (path_concat)
24780         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
24781         concatenating e.g., `C:' and `foo'.
24782         From Bruno Haible.
24783
24784 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
24785
24786         * lib/localcharset.c (locale_charset): Don't use
24787         setlocale(LC_CTYPE,NULL). Don't return NULL.
24788         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
24789
24790 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
24791
24792         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
24793         support for DOS/DJGPP.
24794
24795 2001-03-01  Paul Eggert  <eggert@twinsun.com>
24796
24797         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
24798         lacks mkstemp.  Compile our own tempname.c if we compile our own
24799         mkstemp.c, as mkstemp relies on tempname.
24800
24801 2001-03-01  Jim Meyering  <meyering@lucent.com>
24802
24803         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
24804         AH_VERBATIM really does output its argument verbatim.
24805
24806 2001-02-28  Paul Eggert  <eggert@twinsun.com>
24807
24808         * lib/Makefile.am (libfetish_a_SOURCES):
24809         Add dup-safer.c, fopen-safer.c.
24810         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
24811
24812         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
24813         * lib/unistd-safer.h: New files.
24814
24815 2001-02-25  Paul Eggert  <eggert@twinsun.com>
24816
24817         The mkstemp replacement is taken from glibc 2.2.2, with some
24818         portability fixes for use outside glibc, as follows:
24819
24820         * lib/tempname.c (struct_stat64): New macro.
24821         (direxists, __gen_tempname): Use it.
24822         This avoids a portability problem with Solaris 8.
24823
24824         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
24825         (<stddef.h>, <stdint.h>, <string.h>):
24826         Include only if STDC_HEADERS || _LIBC.
24827         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
24828         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
24829         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
24830         (__set_errno): Define this macro if <errno.h> doesn't.
24831         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
24832         Define these macros if <stdio.h> doesn't.
24833         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
24834         Define these macros if <sys/stat.h>
24835         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
24836         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
24837         __xstat64): Define if not _LIBC.
24838         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
24839         (__gen_tempname): Invoke gettimeofday only if
24840         HAVE_GETTIMEOFDAY || _LIBC;
24841         otherwise, fall back on plain "time".
24842         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
24843
24844         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
24845
24846         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
24847
24848 2001-02-18  Paul Eggert  <eggert@twinsun.com>
24849
24850         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
24851
24852 2001-02-17  Paul Eggert  <eggert@twinsun.com>
24853
24854         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
24855         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
24856         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
24857         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
24858
24859 2001-02-17  Paul Eggert  <eggert@twinsun.com>
24860
24861         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
24862         Remove workaround macros for hosts that have mbrtowc but not
24863         mbstate_t, as we now insist on proper declarations for both
24864         before using mbrtowc.
24865
24866 2001-02-17  Jim Meyering  <meyering@lucent.com>
24867
24868         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
24869         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
24870         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
24871         UnixWare 7.1.1.
24872
24873         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
24874         rather than AC_CACHE_VAL.
24875
24876 2001-02-17  Jim Meyering  <meyering@lucent.com>
24877
24878         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
24879         around included file name.
24880
24881         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
24882
24883         * lib/strftime.c: Update from GNU libc (the only changes were to
24884         comments).
24885
24886 2001-02-17  Jim Meyering  <meyering@lucent.com>
24887
24888         * lib/regex.c: Update from libc.
24889
24890 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
24891
24892         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
24893         clash.
24894
24895 2001-02-16  Paul Eggert  <eggert@twinsun.com>
24896
24897         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
24898         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
24899         Reported by Mark Hounschell via Paul Eggert.
24900
24901 2001-02-07  Jim Meyering  <meyering@lucent.com>
24902
24903         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
24904
24905 2001-02-05  Jim Meyering  <meyering@lucent.com>
24906
24907         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
24908         it includes the patch required for `large file' support with at least
24909         HP-UX's 10.20 /bin/cc.
24910
24911 2001-02-03  Jim Meyering  <meyering@lucent.com>
24912
24913         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
24914         AS_IF, now that it works once again (mysteriously).
24915         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
24916
24917 2001-01-30  Jim Meyering  <meyering@lucent.com>
24918
24919         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
24920         * m4/chown.m4: Rename conftestchown to conftest.chown.
24921         * m4/rename.m4: s/conftestdir/conftest.d1/ and
24922         s/conftestdir2/conftest.d2/.
24923         * m4/utimes.m4: s/conftestdata/conftest.data/
24924         Inspired by Pavel Roskin's change in autoconf.
24925
24926 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
24927
24928         * lib/config.charset: Update for FreeBSD 4.2.
24929
24930 2001-01-27  Jim Meyering  <meyering@lucent.com>
24931
24932         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
24933         a use of AS_IF.
24934         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
24935
24936 2001-01-26  Jim Meyering  <meyering@lucent.com>
24937
24938         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
24939         quotearg.c includes it.
24940
24941 2001-01-26  Jim Meyering  <meyering@lucent.com>
24942
24943         * lib/quotearg.c: Include stddef.h.
24944         * lib/quote.c: Include stddef.h.
24945         Reported by Axel Kittenberger.
24946
24947         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
24948         line in double quotes so that it evokes a better diagnostic.
24949         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
24950         Reported by Axel Kittenberger.
24951
24952 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
24953
24954         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
24955         as if it was a `charset'.
24956
24957 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
24958
24959         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
24960         has const.
24961
24962 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
24963
24964         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
24965         to avoid a warning.  Add back 'const' to inptr.
24966
24967 2001-01-20  Jim Meyering  <meyering@lucent.com>
24968
24969         Be sure that headers are checked before used in code compiled
24970         for the type checks.
24971         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
24972         In place of that, invoke jm_CHECK_ALL_TYPES.
24973         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
24974         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
24975         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
24976         The check for ssize_t was mistakenly run before the test for unistd.h.
24977
24978         The configure-time check for stdbool.h was missing.
24979         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
24980         (jm_PREREQ_HASH): New function.
24981
24982 2001-01-17  Jim Meyering  <meyering@lucent.com>
24983
24984         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
24985         for autoconf-2.49c.
24986         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
24987
24988 2001-01-16  Jim Meyering  <meyering@lucent.com>
24989
24990         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
24991         From Bruno Haible.
24992
24993 2001-01-14  Jim Meyering  <meyering@lucent.com>
24994
24995         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
24996         foo and bar.  Create conftestdir/ in the script, not in the C code.
24997         Remove directories in the script, not in the C code.
24998         Remove conftestdir{,2} before trying to create the directory.
24999         Make the entire configure script fail if the mkdir fails.
25000
25001 2001-01-14  Jim Meyering  <meyering@lucent.com>
25002
25003         * lib/rename.c: New file.  From Volker Borchert.
25004         Include stdlib.h, string.h or strings.h, and xalloc.h.
25005         Use strip_trailing_slashes rather than open-coding it.
25006
25007 2001-01-03  Paul Eggert  <eggert@twinsun.com>
25008
25009         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
25010
25011 2001-01-03  Jim Meyering  <meyering@lucent.com>
25012
25013         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
25014         of local `inptr' to avoid warning with some system declarations of
25015         iconv.
25016
25017 2001-01-02  Volker Borchert  <bt@teknon.de>
25018
25019         * m4/rename.m4: New file.
25020         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
25021
25022 2001-01-01  Jim Meyering  <meyering@lucent.com>
25023
25024         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
25025         even on systems with utmpx.h.  It's necessary for the declaration of
25026         utmp's ut_user member.  Reported by Andreas Jaeger.
25027
25028         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
25029         available. They are required for the declarations of getgrgid and
25030         getpwuid resp.
25031         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
25032         Reported by Andreas Jaeger.
25033
25034 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
25035
25036         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
25037         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
25038         so `make install' also works in VPATH builds.
25039
25040 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
25041
25042         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
25043         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
25044         can be used in subdirectories.
25045
25046 2000-12-29  Paul Eggert  <eggert@twinsun.com>
25047
25048         * lib/modechange.c: Do not assume that mode_t uses the
25049         traditional octal encoding.  E.g. "chmod 1 FOO" should set
25050         the other-execute bit of FOO even if S_IXOTH != 1.
25051
25052         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
25053         WOTH, XOTH, ALLM): New macros.
25054         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
25055          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
25056         Use them.
25057         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
25058         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
25059         (mode_compile):
25060         No need to use uintmax_t; unsigned long is long enough.
25061         Don't bother to get suffix since we don't use it.
25062
25063 2000-12-26  Jim Meyering  <meyering@lucent.com>
25064
25065         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
25066         better with autoheader.
25067
25068 2000-12-24  Jim Meyering  <meyering@lucent.com>
25069
25070         * lib/hash.c (is_prime): Return explicit boolean values.
25071         (hash_get_first): Return NULL to appease Irix5.6's 89.
25072         Reported by Nelson Beebe.
25073
25074 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
25075
25076         * lib/localcharset.c (locale_charset): Add support for Win32.
25077
25078 2000-12-18  Paul Eggert  <eggert@twinsun.com>
25079
25080         * lib/physmem.h, lib/physmem.c: New files.
25081
25082         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
25083         (noinst_HEADERS): Add physmem.h.
25084
25085         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
25086         't' for compatibility with Solaris 8 sort.
25087
25088 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
25089
25090         * lib/config.charset: Add support for BeOS.
25091
25092 2000-12-17  Jim Meyering  <meyering@lucent.com>
25093
25094         * m4/dos.m4 (jm_AC_DOS): New file and macro.
25095         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
25096
25097 2000-12-16  Jim Meyering  <meyering@lucent.com>
25098
25099         This bug had a serious impact on chown: `chown N:M FILE' (for integer
25100         N and M) would have treated it like `chown N:N FILE'.
25101
25102         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
25103
25104 2000-12-16  Jim Meyering  <meyering@lucent.com>
25105
25106         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
25107         SHELLS_FILE to a file name that's useful on djgpp systems.
25108         Include stdlib.h.
25109         (ADDITIONAL_DEFAULT_SHELLS): Define.
25110         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
25111         Based mostly on a patch from Prashant TR.
25112
25113 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
25114
25115         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
25116         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
25117         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
25118
25119 2000-12-08  Andreas Schwab  <schwab@suse.de>
25120
25121         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
25122         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
25123
25124 2000-12-07  Jim Meyering  <meyering@lucent.com>
25125
25126         * lib/stripslash.c (ISSLASH): Define.
25127         (strip_trailing_slashes): Use ISSLASH rather than comparing against
25128         `/'.
25129         From Prashant TR.
25130
25131         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
25132         (dir_name_r): Declare this function as static.
25133         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
25134         manifest itself on a name containing a mix of slashes and
25135         backslashes.
25136         Make this function work with names starting with a DOS-style
25137         drive letter and colon prefix.
25138         (dir_name): Append `.' if necessary.
25139         Based mostly on patches from Prashant TR and Eli Zaretskii.
25140
25141         * lib/dirname.h (dir_name_r): Remove prototype.
25142
25143 2000-12-06  Paul Eggert  <eggert@twinsun.com>
25144
25145         * m4/off_t-format.m4: Remove this file.
25146         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
25147
25148 2000-12-06  Jim Meyering  <meyering@lucent.com>
25149
25150         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
25151         replacement strtoull, we may well need the replacement strtoul, too.
25152         Check for declarations of strtoul and strtoull.
25153         Check for strtol.  Mainly as a cue to cause automake to include
25154         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
25155         Check for limits.h -- strtol.c needs it.
25156
25157 2000-12-05  Jim Meyering  <meyering@lucent.com>
25158
25159         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
25160
25161 2000-12-04  Jim Meyering  <meyering@lucent.com>
25162
25163         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
25164         Also include memory.h, stdlib.h, unistd.h if appropriate.
25165         Reported by Andreas Jaeger (conflicting declaration of malloc).
25166
25167 2000-12-02  Jim Meyering  <meyering@lucent.com>
25168
25169         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
25170         * m4/jm-macros.m4 (jm_MACROS): require it.
25171
25172 2000-12-02  Jim Meyering  <meyering@lucent.com>
25173
25174         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
25175
25176 2000-12-01  Paul Eggert  <eggert@twinsun.com>
25177
25178         * lib/memrchr.c: Include <config.h> before any system include file.
25179
25180 2000-11-30  Jim Meyering  <meyering@lucent.com>
25181
25182         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
25183
25184 2000-11-30  Jim Meyering  <meyering@lucent.com>
25185
25186         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
25187
25188 2000-11-29  Paul Eggert  <eggert@twinsun.com>
25189
25190         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
25191
25192 2000-11-26  Jim Meyering  <meyering@lucent.com>
25193
25194         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
25195
25196 2000-11-22  Paul Eggert  <eggert@twinsun.com>
25197
25198         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
25199         size of (size_t) -1; it's not portable.
25200
25201 2000-11-17  Jim Meyering  <meyering@lucent.com>
25202
25203         * lib/strstr.c: Update from GNU libc.
25204
25205 2000-11-17  Akim Demaille  <akim@epita.fr>
25206
25207         * lib/obstack.h: Formatting changes.
25208         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
25209         prevent type checking.
25210         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
25211         cast the value to (void *): assigning a `foo *' to a `void *'
25212         variable is valid.
25213         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
25214
25215 2000-11-16  Jim Meyering  <meyering@lucent.com>
25216
25217         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
25218
25219 2000-11-11  Jim Meyering  <meyering@lucent.com>
25220
25221         * lib/error.c: Add a couple #includes, merging from GNU libc version.
25222
25223 2000-11-10  Jim Meyering  <meyering@lucent.com>
25224
25225         * lib/obstack.h: Update from GNU libc.
25226         * lib/obstack.c: Likewise.
25227
25228 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
25229
25230         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
25231
25232 2000-11-06  Paul Eggert  <eggert@twinsun.com>
25233
25234         * lib/getusershell.c (setusershell): Use rewind rather than
25235         fseek/fseeko, to avoid configuration hassles with fseeko.
25236         Don't bother opening SHELLS_FILE if shellstream is NULL;
25237         it's not necessary.
25238
25239 2000-11-05  Jim Meyering  <meyering@lucent.com>
25240
25241         * lib/makepath.h (make_dir): Declare.
25242         * lib/makepath.c (make_dir): Remove `static' attribute.
25243         Tweak a comment.
25244
25245 2000-11-04  Jim Meyering  <meyering@lucent.com>
25246
25247         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
25248
25249 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
25250
25251         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
25252         last one in a bucket, advance to the next bucket.
25253
25254 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
25255
25256         * lib/fnmatch.c: Do not comment out all the code if we are using
25257         the GNU C library, because in some cases we are replacing buggy
25258         code in the GNU C library itself.
25259
25260 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
25261
25262         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
25263         (regex_compile): Catch bogus \(\1\).
25264
25265 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25266
25267         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
25268         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
25269         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
25270
25271 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25272
25273         * lib/error.h, getline.h, modechange.h:
25274         Remove "2000" from Copyright line, as the file hasn't been
25275         changed this year other than in the copyright notice.
25276
25277         * lib/xalloc.h: Add "2000" to Copyright line, as this file
25278         was changed this year.
25279
25280 2000-10-29  Jim Meyering  <meyering@lucent.com>
25281
25282         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
25283         renaming.
25284         * m4/ls-mntd-fs.m4: Likewise
25285
25286 2000-10-29  Jim Meyering  <meyering@lucent.com>
25287
25288         * lib/xstat.in: Fix grammar in comment.
25289
25290 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
25291
25292         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
25293         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
25294         doesn't define __restrict_arr.
25295
25296 2000-10-28  Jim Meyering  <meyering@lucent.com>
25297
25298         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
25299         (jm_PREREQ_MEMCHR): New function.
25300
25301 2000-10-28  Jim Meyering  <meyering@lucent.com>
25302
25303         * lib/memchr.c: Update from libc.
25304         Adjust for portability:
25305         [HAVE_STDLIB_H]: Include stdlib.h.
25306         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
25307         Undef __memchr, too.
25308         [!weak_alias]: Define __memchr to memchr.
25309
25310         * lib/regex.c: Update from libc.
25311         * lib/regex.h: Likewise.
25312         * lib/getopt1.c: Likewise.
25313         * lib/memcmp.c: Likewise.
25314
25315         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
25316         Avoid using fseek, when possible -- it's broken by design.
25317         Patch by Ulrich Drepper.
25318
25319 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
25320
25321         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
25322         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
25323         Giving in to popular pressure to shut up the compiler with casts.
25324
25325 2000-10-26  Jim Meyering  <meyering@lucent.com>
25326
25327         * lib/strftime.c: Update from libc.
25328
25329 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
25330
25331         * regex.c: More `unsigned char' -> `re_char' changes.
25332         Also change several `int' into `re_wchar_t'.
25333         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
25334         (PUSH_FAILURE_POINTER): Don't cast any more.
25335         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
25336         We want GCC to complain, since this piece of code makes
25337         re_match non-reentrant, which *should* be fixed.
25338         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
25339         (EXTEND_BUFFER): Use RETALLOC.
25340         (SET_LIST_BIT): Don't cast.
25341         (re_wchar_t): New type.
25342         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
25343         that those two functions will always properly return.
25344         (IMMEDIATE_QUIT_CHECK): Cast to void.
25345         (analyse_first): Use recursion rather than an explicit stack.
25346         (re_compile_fastmap): Can't fail anymore.
25347         (re_search_2): Don't check re_compile_fastmap for failure.
25348         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
25349         Now also sets the new value (passed in a new argument).
25350         (re_match_2_internal): Use it.
25351         Also, use a new var `reg' of type size_t when looping through regs
25352         rather than reuse the inappropriate `mcnt'.
25353
25354 2000-10-25  Jim Meyering  <meyering@lucent.com>
25355
25356         * lib/obstack.c: Update from libc.
25357
25358 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
25359
25360         * regex.c (regex_compile): Change the way of handling a range from
25361         a char less than 256 to a char not less than 256.
25362
25363 2000-10-24  Andrew Innes  <andrewi@gnu.org>
25364
25365         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
25366         NT-Emacs only.
25367         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
25368         so that re_search functions only quit when callers expect them to.
25369
25370 2000-10-23  Jim Meyering  <meyering@lucent.com>
25371
25372         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
25373         wrong.  That set_locale call must not have any side effects.
25374         From Paul Eggert.
25375
25376 2000-10-22  Jim Meyering  <meyering@lucent.com>
25377
25378         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
25379         [CYCLIC]: Remove now-unused definition.
25380
25381         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
25382         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
25383         Suggestion from Ulrich Drepper.
25384
25385 2000-10-21  Jim Meyering  <meyering@lucent.com>
25386
25387         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
25388         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
25389         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
25390
25391 2000-10-21  Jim Meyering  <meyering@lucent.com>
25392
25393         * lib/dirname.c (memrchr): Declare if necessary.
25394         (dir_name): Remove the restriction that there be no
25395         trailing slashes.  Now, this code skips past them, effectively
25396         ignoring them.
25397         [TEST_DIRNAME] (main): New unit tests.
25398
25399         * lib/memrchr.c: New file from GNU libc.
25400         Undef __memrchr, too.
25401         [!weak_alias]: Define __memrchr to memrchr.
25402         Guard weak_alias use with `#ifdef weak_alias'.
25403
25404 2000-10-21  Jim Meyering  <meyering@lucent.com>
25405
25406         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
25407         (dir_name): Use dir_name_r.
25408         * lib/dirname.h (dir_name_r): Declare it.
25409
25410 2000-10-17  Jim Meyering  <meyering@lucent.com>
25411
25412         * lib/quote.h (PARAMS): Define and use.
25413         Reported by Akim Demaille.
25414
25415         * lib/getopt.c: Update from libc.
25416
25417 2000-10-16  Jim Meyering  <meyering@lucent.com>
25418
25419         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
25420         setlocale.
25421         From Jan Fedak.
25422
25423 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
25424
25425         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
25426
25427 2000-09-25  Jim Meyering  <meyering@lucent.com>
25428
25429         * lib/md5.h (rol): Define (from GnuPG).
25430
25431         * lib/sha.c: Give credit (GnuPG) where due.
25432         (M): Use rol rather than open-coding it.
25433         Add a FIXME comment.
25434
25435 2000-09-21  Jim Meyering  <meyering@lucent.com>
25436
25437         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
25438         Reported by Michael Stone.
25439
25440 2000-09-20  Jim Meyering  <meyering@lucent.com>
25441
25442         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
25443         (noinst_HEADERS): Add sha.h.
25444         Based on code from Scott G. Miller and from GnuPG.
25445
25446 2000-09-18  Jim Meyering  <meyering@lucent.com>
25447
25448         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
25449         LIBS. Otherwise, everyone ends up linking with -lelf for some
25450         configurations.
25451         Reported by Mike Stone.
25452
25453 2000-09-15  Jim Meyering  <meyering@lucent.com>
25454
25455         * lib/regex.c: Update from libc.
25456
25457 2000-09-10  Jim Meyering  <meyering@lucent.com>
25458
25459         * lib/getopt.c (_getopt_internal): Update from glibc.
25460
25461 2000-09-09  Jim Meyering  <meyering@lucent.com>
25462
25463         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
25464         think it should be used as a general replacement for isascii.
25465         * lib/fnmatch.c: Likewise.
25466         * lib/mbswidth.c: Likewise
25467         * lib/regex.c: Likewise.
25468
25469         Don't use atoi.
25470         * lib/userspec.c: Include sys/param.h and limits.h.
25471         Include xstrtol.h.
25472         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
25473         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
25474         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
25475         UID, GID.  Check range.
25476
25477 2000-09-06  Jim Meyering  <meyering@lucent.com>
25478
25479         * lib/getopt.c (_getopt_internal): Update from glibc.
25480
25481 2000-08-30  Jim Meyering  <meyering@lucent.com>
25482
25483         * lib/strftime.c: Merge in changes from GNU libc.
25484
25485 2000-08-26  Jim Meyering  <meyering@lucent.com>
25486
25487         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
25488         * m4/fpending.m4: New file.
25489
25490 2000-08-26  Jim Meyering  <meyering@lucent.com>
25491
25492         * lib/closeout.c: Include "__fpending.h".
25493         (close_stdout_status): Return right away if there's nothing to flush.
25494
25495         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
25496         * lib/__fpending.c: New file.
25497         * lib/__fpending.h: New file.
25498
25499 2000-08-20  Jim Meyering  <meyering@lucent.com>
25500
25501         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
25502         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
25503         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
25504
25505 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
25506
25507         Improve fileutils installation on systems where running
25508         programs (like install) can't be unlinked.
25509         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
25510         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
25511
25512 2000-08-07  Paul Eggert  <eggert@twinsun.com>
25513
25514         Standardize on "memory exhausted" instead of "Memory exhausted"
25515         or "virtual memory exhausted".
25516         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
25517         "virtual memory exhausted".
25518         * lib/same.c (same_name): Invoke xalloc_die instead of printing
25519         our own message.
25520         * lib/userspec.c (parse_user_spec): Likewise.
25521         * lib/bumpalloc.h: comment fix
25522         * lib/same.c, userspec.c: Include xalloc.h.
25523
25524         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
25525         not char *const and pointing to a constant array.
25526         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
25527         (xrealloc): Comment fix.
25528
25529         * lib/userspec.c (parse_user_spec):
25530         Don't translate a message until just before returning,
25531         to avoid unnecessary translation.
25532
25533 2000-08-07  Jim Meyering  <meyering@lucent.com>
25534
25535         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
25536         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
25537         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
25538         getgroups.c, gethostname.c, getopt.h, group-member.c,
25539         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
25540         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
25541         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
25542         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
25543         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
25544         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
25545         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
25546         yesno.c: Back out Copyright date changes for each file with no change
25547         this year.  This eases coordination with other programs using the same
25548         source code modules.  From Paul Eggert.
25549
25550 2000-08-06  Paul Eggert  <eggert@twinsun.com>
25551
25552         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
25553         not char, for compatibility with glibc 2.1.3 strftime.c.
25554
25555 2000-08-03  Greg McGary  <greg@mcgary.org>
25556
25557         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
25558         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
25559         (EXTEND_BUFFER): Use them.
25560
25561 2000-08-01  Jim Meyering  <meyering@lucent.com>
25562
25563         * lib/dirname.c (ISSLASH): Define.
25564         (BACKSLASH_IS_PATH_SEPARATOR): Define.
25565         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
25566         both `\' and `/' may be use as path separators.
25567         Based on a patch from Prashant TR.
25568
25569 2000-07-31  Paul Eggert  <eggert@twinsun.com>
25570
25571         * lib/quotearg.c (quotearg_n_options): Don't make the initial
25572         slot vector a constant, since it might get modified.
25573
25574 2000-07-31  Jim Meyering  <meyering@lucent.com>
25575
25576         * lib/xmalloc.c: Use `virtual memory exhausted', not
25577         `Memory exhausted'.
25578         * lib/obstack.c (print_and_abort): Likewise.
25579
25580 2000-07-30  Paul Eggert  <eggert@twinsun.com>
25581
25582         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
25583         buffer, so that the caller can always quote one small
25584         component of a "memory exhausted" message in slot 0.
25585         From a suggestion by Jim Meyering.
25586
25587 2000-07-30  Jim Meyering  <meyering@lucent.com>
25588
25589         * lib/makepath.c (make_path): Quote the other instance, too.
25590
25591         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
25592         (STATIC_BUF_SIZE): Define.
25593         (quotearg_n_options): Use only statically allocated storage when
25594         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
25595         than STATIC_BUF_SIZE.
25596
25597 2000-07-29  Jim Meyering  <meyering@lucent.com>
25598
25599         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
25600         * lib/dirname.c (dir_name): Likewise.
25601
25602         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
25603         `/'.
25604
25605         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
25606         (dir_name): Assert that there are no trailing slashes.
25607
25608 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
25609
25610         * lib/mbswidth.h (mbswidth): Add a flags argument.
25611         (mbswidth): New declaration.
25612         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
25613         * lib/mbswidth.c (mbswidth): Add a flags argument.
25614         (mbsnwidth): New function.
25615
25616 2000-07-24  Jim Meyering  <meyering@lucent.com>
25617
25618         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
25619
25620 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25621
25622         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
25623
25624 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25625
25626         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
25627         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
25628         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
25629         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
25630         invoke multibyte primitives.
25631
25632 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25633
25634         * lib/quotearg.c:
25635         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
25636         so that mbstate_t is always defined.
25637
25638         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
25639         be 1 in at least one GCC installation, and this configuration
25640         error is likely to be common.  Ignoring MB_LEN_MAX hurts
25641         performance on hosts that have mbrtowc but have only unibyte
25642         locales, but I assume these hosts are rare.
25643
25644 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25645
25646         * lib/mbswidth.c (_XOPEN_SOURCE):
25647         Don't define; this causes problems on Solaris 7.
25648         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
25649
25650 2000-07-23  Jim Meyering  <meyering@lucent.com>
25651
25652         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
25653         too: getgrgid, getpwuid, getuid.
25654
25655 2000-07-23  Jim Meyering  <meyering@lucent.com>
25656
25657         * lib/basename.c (base_name): Add an assertion.
25658
25659 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
25660
25661         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
25662         shadow its mbsinit function.
25663
25664 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
25665
25666         * lib/mbswidth.h: New file.
25667         * lib/mbswidth.c: New file.
25668         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
25669         (noinst_HEADERS): Add mbswidth.h.
25670
25671 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
25672
25673         * lib/config.charset: Add support for FreeBSD. Improve support for
25674         HP-UX and IRIX 6.
25675
25676 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
25677
25678         * m4/mbswidth.m4: New file.
25679         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
25680
25681 2000-07-15  Jim Meyering  <meyering@lucent.com>
25682
25683         * lib/makepath.c: Include quote.h.
25684         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
25685         corresponding argument in a `quote (...)' call.
25686         Give better diagnostics.
25687
25688         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
25689         (noinst_HEADERS): Add quote.h.
25690
25691         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
25692         from tar's src/misc.c.
25693         * lib/quote.h: New file.  Prototypes for same.
25694
25695 2000-07-14  Paul Eggert  <eggert@twinsun.com>
25696
25697         From a suggestion by Bruno Haible.
25698         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
25699         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
25700         to decide whether to define the BeOS workaround macro;
25701         this adjusts to the change to AC_MBSTATE_T.
25702
25703 2000-07-14  Jim Meyering  <meyering@lucent.com>
25704
25705         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
25706         jm_AC_TYPE_UINTMAX_T.
25707
25708 2000-07-13  Paul Eggert  <eggert@twinsun.com>
25709
25710         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
25711
25712         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
25713         quotearg_buffer_restyled): Add support for
25714         clocale_quoting_style.  Undo previous change to
25715         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
25716         and "{RIGHT QUOTATION MARK}" msgids.
25717
25718 2000-07-10  Paul Eggert  <eggert@twinsun.com>
25719
25720         From a suggestion by Bruno Haible.
25721         * m4/mbstate_t.m4 (AC_MBSTATE_T):
25722         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
25723         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
25724         and mbstate_t, to a single-part test that simply defines mbstate_t.
25725         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
25726         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
25727
25728 2000-07-10  Jim Meyering  <meyering@lucent.com>
25729
25730         * m4/strerror_r.m4: Mirror the correction made in autoconf.
25731
25732         * m4/gnu-source.m4: Output to confdefs.h directly.
25733         Suggestion from Akim Demaille.
25734
25735 2000-07-09  Paul Eggert  <eggert@twinsun.com>
25736
25737         The old behavior of quoting `like this' doesn't look good with
25738         newer, ISO-style fonts.  See:
25739         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
25740
25741         Instead, quote "like this" by default.  Let the translator
25742         tailor the locale-specific quoting behavior by providing
25743         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
25744
25745         * lib/quotearg.c (N_): New macro.
25746         (gettext_default): New function.
25747         (quotearg_buffer_restyled): Use
25748         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
25749         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
25750
25751 2000-07-09  Jim Meyering  <meyering@lucent.com>
25752
25753         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
25754         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
25755
25756         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
25757         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
25758
25759 2000-07-09  Jim Meyering  <meyering@lucent.com>
25760
25761         * lib/Most files: Update copyright dates to include 2000.
25762
25763 2000-07-08  Jim Meyering  <meyering@lucent.com>
25764
25765         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
25766         if not defined.
25767         (xgethostname): Remove now-unnecessary #ifdef.
25768         Move declaration of `err' into loop where it's used.
25769
25770 2000-07-05  Paul Eggert  <eggert@twinsun.com>
25771         and Bruno Haible  <haible@clisp.cons.org>
25772
25773         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
25774         only if the test for an object-type mbstate_t fails.  This
25775         prevents us from mistakenly reporting that mbstate_t is a
25776         system object type after we "#define mbstate_t int" to work
25777         around its lack.
25778
25779 2000-07-05  Paul Eggert  <eggert@twinsun.com>
25780         and Bruno Haible  <haible@clisp.cons.org>
25781
25782         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
25783
25784 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25785
25786         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
25787         to strerror_r.
25788         Include <ctype.h> for use of isalpha.
25789
25790 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25791
25792         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
25793         by allocating a larger buffer. Test the gethostname return value for
25794         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
25795         returns an error and ENAMETOOLONG isn't defined.
25796
25797 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25798
25799         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
25800         dimension.
25801
25802 2000-07-04  Jim Meyering  <meyering@lucent.com>
25803
25804         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
25805         of the deprecated AC_CHECKING.
25806
25807 2000-07-04  Jim Meyering  <meyering@lucent.com>
25808
25809         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
25810         Reported by Bruno Haible.
25811
25812 2000-07-04  Jim Meyering  <meyering@lucent.com>
25813
25814         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
25815         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
25816         lacks mbrtowc.
25817
25818 2000-07-03  Paul Eggert  <eggert@twinsun.com>
25819
25820         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
25821         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
25822
25823 2000-07-03  Paul Eggert  <eggert@twinsun.com>
25824         and Bruno Haible  <haible@clisp.cons.org>
25825
25826         * lib/quotearg.c (mbrtowc):
25827         Assign to *pwc, and return 1 only if result is nonzero.
25828         (iswprint): Use ISPRINT when substituting our own mbrtowc.
25829
25830 2000-07-03  Jim Meyering  <meyering@lucent.com>
25831
25832         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
25833
25834 2000-07-03  Jim Meyering  <meyering@lucent.com>
25835
25836         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
25837         This is necessary to get a definition of e.g., UTMP_FILE on
25838         HP-UX 10.20.
25839         From Bob Proulx.
25840
25841 2000-07-02  Jim Meyering  <meyering@lucent.com>
25842
25843         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
25844
25845         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
25846         AC_LIBOBJ(function_name).
25847         * m4/chown.m4: Likewise.
25848         * m4/fnmatch.m4: Likewise.
25849         * m4/ftruncate.m4: Likewise.
25850         * m4/getgroups.m4: Likewise.
25851         * m4/getline.m4: Likewise.
25852         * m4/group-member.m4: Likewise.
25853         * m4/jm-macros.m4: Likewise.
25854         * m4/lstat.m4: Likewise.
25855         * m4/malloc.m4: Likewise.
25856         * m4/memcmp.m4: Likewise.
25857         * m4/nanosleep.m4: Likewise.
25858         * m4/putenv.m4: Likewise.
25859         * m4/realloc.m4: Likewise.
25860         * m4/regex.m4: Likewise.
25861         * m4/stat.m4: Likewise.
25862         * m4/strftime.m4: Likewise.
25863
25864 2000-07-02  Jim Meyering  <meyering@lucent.com>
25865
25866         * lib/quotearg.c (mbstate_t): Don't define here.
25867
25868 2000-07-02  Jim Meyering  <meyering@lucent.com>
25869
25870         * lib/nanosleep.c (SIGCONT): Define if not already defined.
25871
25872 2000-07-01  Jim Meyering  <meyering@lucent.com>
25873
25874         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
25875
25876 2000-07-01  Jim Meyering  <meyering@lucent.com>
25877
25878         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
25879         problem.
25880
25881 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
25882
25883         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
25884         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
25885
25886 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
25887
25888         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
25889         per change in ../m4/ls-mntd-fs.m4.
25890         (read_filesystem_list): Ignore symbolic links.
25891
25892 2000-06-29  Jim Meyering  <meyering@lucent.com>
25893
25894         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
25895         for declaration of strcmp.
25896
25897         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
25898
25899         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
25900         Avoid warning by casting result to `char *' to remove `const'.
25901
25902 2000-06-28  Jim Meyering  <meyering@lucent.com>
25903
25904         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
25905         included by quotearg.c, for which we perform this test.  From
25906         Bruno Haible.
25907
25908 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
25909
25910         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
25911         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
25912         <utmpx.h> exists, put readutmp.o into LIBOBJS.
25913
25914 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
25915
25916         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
25917
25918 2000-06-26  Paul Eggert  <eggert@twinsun.com>
25919
25920         savedir now sets errno on failure and invokes xmalloc to get memory.
25921         Fix a couple of other minor bugs while we're at it.
25922
25923         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
25924         (NAMLEN): Remove macro.
25925         (malloc, realloc): Remove decls.
25926         (stpcpy): Likewise.
25927         ("xalloc.h"): Include.
25928         (NAME_SIZE_DEFAULT): New macro.
25929         (savedir): Use xmalloc / xrealloc to allocate memory.
25930         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
25931         Skip "" directory entries.
25932         Use strlen to calculate directory entry length, since the old method
25933         is rarely used these days and isn't worth supporting.
25934         Don't use a pointer after freeing it.
25935         Check for integer overflow when calculating allocation size.
25936         Use memcpy to copy entries, instead of stpcpy.
25937         Set errno properly when returning NULL.
25938         Check for readdir error.
25939
25940 2000-06-26  Jim Meyering  <meyering@lucent.com>
25941
25942         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
25943
25944 2000-06-25  Jim Meyering  <meyering@lucent.com>
25945
25946         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
25947         Linux header bug when _XOPEN_SOURCE is defined to 500.
25948
25949 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
25950
25951         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
25952         deficiency.
25953
25954 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
25955
25956         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
25957         Include xalloc.h.
25958         Don't include <stdlib.h>.  Don't declare malloc, realloc.
25959
25960 2000-06-24  Jim Meyering  <meyering@lucent.com>
25961
25962         * m4/strerror_r.m4: Revive this file -- to try out an experimental
25963         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
25964         for which strerror does return char*, but which lacks a conveniently
25965         accessible declaration of the function.  If the compile-test says
25966         strerror_r doesn't work, then resort to a `run'-test that works on
25967         BeOS and segfaults on DEC Unix.
25968
25969 2000-06-24  Jim Meyering  <meyering@lucent.com>
25970
25971         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
25972
25973 2000-06-23  Paul Eggert  <eggert@twinsun.com>
25974
25975         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
25976         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
25977
25978 2000-06-23  Paul Eggert  <eggert@twinsun.com>
25979
25980         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
25981         (mbrtowc, mbstate_t): Define substitutes if
25982         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
25983         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
25984         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
25985
25986 2000-06-23  Jim Meyering  <meyering@lucent.com>
25987
25988         * m4/afs.m4: Add missing AC_MSG_RESULT.
25989         Reported by Bruno Haible.
25990
25991         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
25992         Suggestion from Bruno Haible.
25993
25994 2000-06-23  Jim Meyering  <meyering@lucent.com>
25995
25996         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
25997
25998 2000-06-21  Jim Meyering  <meyering@lucent.com>
25999
26000         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
26001
26002 2000-06-21  Jim Meyering  <meyering@lucent.com>
26003
26004         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
26005         (noinst_HEADERS): Add getstr.h.
26006
26007         * lib/getline.c (getstr): Move into a separate file.
26008         * lib/getstr.c (getstr): New file, extracted from getline.c, with
26009         the following changes: new parameter, delim2; both delim[12]
26010         parameters have type `int', not `char'.  The latter would lose
26011         with 8-bit delimiters.
26012         * lib/getstr.h: New file.
26013
26014 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26015
26016         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
26017         than 1024, return a memory chunk of least possible size, instead
26018         of size PATH_MAX + 2. In the loop, increment the size proportionally.
26019         Use free/xmalloc instead of xrealloc to avoid copying for very long
26020         paths.
26021
26022 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26023
26024         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
26025         the empty string.
26026
26027 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26028
26029         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
26030         address, not strdup.  Include <stdlib.h> and don't declare free().
26031
26032 2000-06-19  Jim Meyering  <meyering@lucent.com>
26033
26034         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
26035
26036 2000-06-18  Jim Meyering  <meyering@lucent.com>
26037
26038         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
26039
26040         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
26041         `checking whether...' message to be consistent with that of the
26042         lstat test.
26043
26044 2000-06-18  Jim Meyering  <meyering@lucent.com>
26045
26046         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
26047         Besides, these days every porting target provides a mkdir function.
26048
26049         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
26050         needed. (this snippet comes from src/system.h).
26051
26052 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
26053
26054         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
26055
26056 2000-06-15  Paul Eggert  <eggert@twinsun.com>
26057
26058         * lib/human.c (adjust_value): New function.
26059         (human_readable_inexact): Apply rounding style even when
26060         printing approximate values.
26061
26062 2000-06-14  Paul Eggert  <eggert@twinsun.com>
26063
26064         * lib/human.c (human_readable_inexact): Allow an input block
26065         size that is not a multiple of the output block size, and vice versa.
26066         Reported by Piergiorgio Sartor.
26067
26068 2000-06-14  Paul Eggert  <eggert@twinsun.com>
26069
26070         * lib/getdate.y (get_date): Apply relative times after time
26071         zone indicator, not before.  Reported by Todd A. Jacobs.
26072
26073 2000-06-13  Jim Meyering  <meyering@lucent.com>
26074
26075         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
26076
26077         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
26078
26079 2000-06-12  Paul Eggert  <eggert@twinsun.com>
26080
26081         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
26082
26083 2000-06-12  Jim Meyering  <meyering@lucent.com>
26084
26085         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
26086         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
26087         optional argument.
26088         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
26089         the optional argument, `lib'.
26090
26091 2000-06-08  Jim Meyering  <meyering@lucent.com>
26092
26093         * m4/largefile.m4: Remove file (now that it's part of autoconf).
26094
26095 2000-06-04  Paul Eggert  <eggert@twinsun.com>