New macro gl_CANONICALIZE_LGPL_SEPARATE.
[gnulib.git] / ChangeLog
1 2007-03-03  Bruno Haible  <bruno@clisp.org>
2
3         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
4
5 2007-03-03  Bruno Haible  <bruno@clisp.org>
6
7         * lib/xreadlink.c: Include <unistd.h> unconditionally.
8         * modules/xreadlink (Depends-on): Add unistd.
9         * modules/xreadlink-with-size (Depends-on): Likewise.
10
11 2007-03-03  Bruno Haible  <bruno@clisp.org>
12
13         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
14         extracted from gt_FUNC_SETENV.
15         (gt_FUNC_SETENV): Remove macro.
16         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
17         remove gt_FUNC_SETENV.
18
19 2007-03-03  Bruno Haible  <bruno@clisp.org>
20
21         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
22         ENABLE_RELOCATABLE here.
23         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
24
25 2007-03-03  Bruno Haible  <bruno@clisp.org>
26
27         * modules/rbtreehash-list-tests (Depends-on): Add progname.
28         * tests/test-rbtreehash_list.c: Include progname.h.
29         (main): Call set_program_name.
30
31         * modules/rbtree-oset-tests (Depends-on): Add progname.
32         * tests/test-rbtree_oset.c: Include progname.h.
33         (main): Call set_program_name.
34
35         * modules/rbtree-list-tests (Depends-on): Add progname.
36         * tests/test-rbtree_list.c: Include progname.h.
37         (main): Call set_program_name.
38
39         * modules/linked-list-tests (Depends-on): Add progname.
40         * tests/test-linked_list.c: Include progname.h.
41         (main): Call set_program_name.
42
43 2007-03-03  Bruno Haible  <bruno@clisp.org>
44
45         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
46         All uses of __restrict changed to _Restrict_.
47         * lib/glob_.h (__restrict): Remove macro.
48
49 2007-03-02  Bruno Haible  <bruno@clisp.org>
50
51         * modules/gettext (configure.ac): Require gettext infrastructure
52         from version 0.16.1.
53
54 2007-03-02  Bruno Haible  <bruno@clisp.org>
55
56         * modules/linkedhash-list-tests (Depends-on): Add progname.
57         * tests/test-linkedhash_list.c: Include progname.h.
58         (main): Call set_program_name.
59
60         * modules/carray-list-tests (Depends-on): Add progname.
61         * tests/test-carray_list.c: Include progname.h.
62         (main): Call set_program_name.
63
64         * modules/avltreehash-list-tests (Depends-on): Add progname.
65         * tests/test-avltreehash_list.c: Include progname.h.
66         (main): Call set_program_name.
67
68         * modules/avltree-oset-tests (Depends-on): Add progname.
69         * tests/test-avltree_oset.c: Include progname.h.
70         (main): Call set_program_name.
71
72         * modules/avltree-list-tests (Depends-on): Add progname.
73         * tests/test-avltree_list.c: Include progname.h.
74         (main): Call set_program_name.
75
76         * modules/array-oset-tests (Depends-on): Add progname.
77         * tests/test-array_oset.c: Include progname.h.
78         (main): Call set_program_name.
79
80         * modules/array-list-tests (Depends-on): Add progname.
81         * tests/test-array_list.c: Include progname.h.
82         (main): Call set_program_name.
83
84         * modules/argp-tests (Depends-on): Add progname.
85         * tests/test-argp.c: Include argp.h first. Include progname.h.
86         (main): Call set_program_name.
87
88 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
89
90         * doc/gnulib-tool.texi (Initial import): Reword description of
91         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
92         limited effect even if defined after the first system include.
93
94 2007-03-01  Bruno Haible  <bruno@clisp.org>
95
96         * build-aux/config.libpath: Update to libtool-1.5.22.
97         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
98
99 2007-03-01  Bruno Haible  <bruno@clisp.org>
100
101         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
102         foo_CFLAGS.
103         Reported by Ralf Wildenhues.
104
105 2007-03-01  Bruno Haible  <bruno@clisp.org>
106
107         * build-aux/install-reloc: Remove object files left over by some
108         compilers.
109         Reported by Ralf Wildenhues.
110
111 2007-03-01  Bruno Haible  <bruno@clisp.org>
112
113         * build-aux/install-reloc: Break long lines.
114
115 2007-03-01  Bruno Haible  <bruno@clisp.org>
116
117         * doc/relocatable.texi: Document that it may not work on OpenBSD.
118         Reported by Ralf Wildenhues.
119
120 2007-03-01  Bruno Haible  <bruno@clisp.org>
121
122         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
123         include ordering constraints.
124
125 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
126
127         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
128         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
129         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
130         as another example.
131         * lib/time_.h: Fix misspelling.
132         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
133         Require gl_HEADER_TIME_H_DEFAULTS.
134         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
135         * m4/time_r.m4 (gl_TIME_R): Likewise.
136         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
137
138 2007-03-01  Bruno Haible  <bruno@clisp.org>
139
140         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
141         * m4/utimens.m4 (gl_UTIMENS): Likewise.
142
143 2007-03-01  Jim Meyering  <jim@meyering.net>
144
145         * modules/xreadlink (Maintainer): Add my name.
146         * modules/xreadlink-with-size (Depends-on): Alphabetize.
147
148 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
149             Bruno Haible  <bruno@clisp.org>
150
151         * build-aux/install-reloc: Compile also c-ctype.c.
152         * build-aux/relocatable.sh.in: New file.
153         * doc/relocatable.texi: New file.
154         * doc/relocatable-maint.texi: New file.
155         * doc/gnulib.texi: Include relocatable-maint.texi.
156         * lib/progreloc.c: Include unistd.h unconditionally.
157         * lib/relocwrapper.c: Include unistd.h unconditionally.
158         Include c-ctype.h.
159         (add_dotbin): Use c_tolower.
160         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
161         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
162         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
163         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
164         to m4/relocatable-lib.m4.
165         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
166         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
167         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
168         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
169         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
170         * modules/relocatable: New file.
171         * modules/relocatable-lib: New file.
172         * modules/relocatable-script: New file.
173
174 2007-02-28  Bruno Haible  <bruno@clisp.org>
175
176         Import --enable-relocatable infrastructure.
177         * build-aux/config.libpath: New file, from GNU gettext.
178         * build-aux/install-reloc: New file, from GNU gettext.
179         * build-aux/reloc-ldflags: New file, from GNU gettext.
180         * lib/relocatable.h: New file, from GNU gettext.
181         * lib/relocatable.c: New file, from GNU gettext.
182         * lib/relocwrapper.c: New file, from GNU gettext.
183         * m4/relocatable.m4: New file, from GNU gettext.
184
185 2007-02-28  Bruno Haible  <bruno@clisp.org>
186
187         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
188
189         * modules/xreadlink: New file, from GNU gettext with modifications.
190         * lib/xreadlink.c: New file, from GNU gettext.
191         * lib/xreadlink.h: Add comments.
192         (xreadlink): New declaration.
193
194         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
195         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
196         lib/xreadlink-with-size.c.
197         (configure.ac): Remove gl_XREADLINK invocation.
198         (Makefile.am): Augment lib_SOURCES.
199         * m4/xreadlink.m4: Remove file.
200         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
201         (xreadlink_with_size): Renamed from xreadink.
202         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
203         * modules/canonicalize (Depends-on): Replace xreadlink with
204         xreadlink-with-size.
205         * lib/canonicalize.c (canonicalize_filename_mode): Update.
206
207 2007-02-25  Jim Meyering  <jim@meyering.net>
208
209         * build-aux/announce-gen: When complaining about excess arguments,
210         list them.
211
212 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
213
214         * README: Document signed integer overflow situation more
215         accurately.
216
217 2007-02-25  Bruno Haible  <bruno@clisp.org>
218
219         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
220         'a' or 'A' conversion.
221
222 2007-02-25  Bruno Haible  <bruno@clisp.org>
223
224         * modules/filename: Renamed from modules/pathname.
225         (Files): Replace lib/pathname.h with lib/filename.h. Replace
226         lib/concatpath.c with lib/concat-filename.c.
227         (Makefile.am): Update.
228         (Include): Replace pathname.h with filename.h.
229         * lib/filename.h: Renamed from lib/pathname.h.
230         (concatenated_filename): Renamed from concatenated_pathname.
231         * lib/concat-filename.c: Renamed from lib/concatpath.c.
232         (concatenated_filename): Renamed from concatenated_pathname.
233         * lib/findprog.c: Include filename.h instead of pathname.h.
234         (find_in_path): Update.
235         * lib/javacomp.c: Include filename.h instead of pathname.h.
236         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
237         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
238         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
239         is_oldgcj_14_13_usable, is_javac_usable): Update.
240         * lib/javaexec.c: Include filename.h instead of pathname.h.
241         (execute_java_class): Update.
242         * modules/findprog: Update.
243         * modules/javacomp: Update.
244         * modules/javaexec: Update.
245         * MODULES.html.sh (File system functions): Add 'filename', remove
246         'pathname'.
247
248 2007-02-25  Bruno Haible  <bruno@clisp.org>
249
250         * modules/printf-frexpl-tests: New file.
251         * tests/test-printf-frexpl.c: New file.
252
253         * modules/printf-frexpl: New file.
254         * lib/printf-frexpl.h: New file.
255         * lib/printf-frexpl.c: New file.
256         * m4/printf-frexpl.m4: New file.
257
258 2007-02-25  Bruno Haible  <bruno@clisp.org>
259
260         * modules/printf-frexp-tests: New file.
261         * tests/test-printf-frexp.c: New file.
262
263         * modules/printf-frexp: New file.
264         * lib/printf-frexp.h: New file.
265         * lib/printf-frexp.c: New file.
266         * m4/printf-frexp.m4: New file.
267
268 2007-02-25  Bruno Haible  <bruno@clisp.org>
269
270         Assume automake >= 1.10 for the tests.
271         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
272         * modules/arctwo-tests: Likewise.
273         * modules/argp-tests: Likewise.
274         * modules/avltree-list-tests: Likewise.
275         * modules/avltree-oset-tests: Likewise.
276         * modules/avltreehash-list-tests: Likewise.
277         * modules/carray-list-tests: Likewise.
278         * modules/crc-tests: Likewise.
279         * modules/des-tests: Likewise.
280         * modules/gc-arcfour-tests: Likewise.
281         * modules/gc-arctwo-tests: Likewise.
282         * modules/gc-des-tests: Likewise.
283         * modules/gc-hmac-md5-tests: Likewise.
284         * modules/gc-hmac-sha1-tests: Likewise.
285         * modules/gc-md2-tests: Likewise.
286         * modules/gc-md4-tests: Likewise.
287         * modules/gc-md5-tests: Likewise.
288         * modules/gc-pbkdf2-sha1-tests: Likewise.
289         * modules/gc-rijndael-tests: Likewise.
290         * modules/gc-sha1-tests: Likewise.
291         * modules/gc-tests: Likewise.
292         * modules/getaddrinfo-tests: Likewise.
293         * modules/hmac-md5-tests: Likewise.
294         * modules/hmac-sha1-tests: Likewise.
295         * modules/linked-list-tests: Likewise.
296         * modules/linkedhash-list-tests: Likewise.
297         * modules/lock-tests: Likewise.
298         * modules/md2-tests: Likewise.
299         * modules/md4-tests: Likewise.
300         * modules/md5-tests: Likewise.
301         * modules/rbtree-list-tests: Likewise.
302         * modules/rbtree-oset-tests: Likewise.
303         * modules/rbtreehash-list-tests: Likewise.
304         * modules/read-file-tests: Likewise.
305         * modules/rijndael-tests: Likewise.
306         * modules/stdint-tests: Likewise.
307         * modules/tls-tests: Likewise.
308
309 2007-02-24  Bruno Haible  <bruno@clisp.org>
310
311         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
312         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
313         function; instead check whether isnan with a double argument links.
314         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
315         function; instead check whether isnan with a 'long double' argument
316         links.
317         Reported by Eric Blake <ebb9@byu.net>.
318
319 2007-02-24  Bruno Haible  <bruno@clisp.org>
320
321         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
322         defined.
323         * lib/isnanl.c: Remove all code. Just include isnan.c.
324         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
325
326 2007-02-25  Jim Meyering  <jim@meyering.net>
327
328         Avoid conflicting types for 'unsetenv' on FreeBSD.
329         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
330         conflicting with FreeBSD's (5.0 and 6.1) function declaration
331         in stdlib.h.
332
333 2007-02-24  Bruno Haible  <bruno@clisp.org>
334
335         * modules/isnanl-nolibm-tests: New file.
336         * tests/test-isnanl.c: New file.
337
338         * modules/isnanl-nolibm: New file.
339         * lib/isnanl.h: New file.
340         * lib/isnanl.c: New file.
341         * m4/isnanl.m4: New file.
342
343 2007-02-24  Bruno Haible  <bruno@clisp.org>
344
345         * modules/isnan-nolibm-tests: New file.
346         * tests/test-isnan.c: New file.
347
348         * modules/isnan-nolibm: New file.
349         * lib/isnan.h: New file.
350         * lib/isnan.c: New file.
351         * m4/isnan.m4: New file.
352
353 2007-02-24  Bruno Haible  <bruno@clisp.org>
354
355         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
356         assume that an exponent fits in 20 bits.
357
358 2007-02-24  Jim Meyering  <jim@meyering.net>
359
360         * m4/regex.m4: Update the description of the configure-time option,
361         --without-included-regex, to state accurately what the defaults are,
362         and perhaps to give people an idea why using this option is risky.
363
364 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
365
366         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
367         loops on small arguments.  This attempts to avoid the problem
368         Bruno Haible reported for AIX 4.3.2 in
369         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
370
371 2007-02-23  Bruno Haible  <bruno@clisp.org>
372
373         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
374         Needed for help2man.
375
376 2007-02-23  Karl Berry  <karl@gnu.org>
377
378         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
379         exists, foo.h should be cvs-ignored, not committed.
380
381 2007-02-23  Eric Blake  <ebb9@byu.net>
382
383         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
384         * lib/stat-time.h (includes): Likewise.
385         * lib/utimecmp.c (includes): Likewise.
386         * lib/utimens.h (includes): Likewise.
387         * lib/getdate.y (includes): Also include "timespec.h" for use
388         internal to the module.
389         * modules/utimens (Depends-on): Revert yesterday's patch.
390         * modules/nanosleep (Depends-on): Add missing dependency.
391
392 2007-02-22  Bruno Haible  <bruno@clisp.org>
393
394         * lib/glob.c: Don't include getlogin_r.h.
395
396 2007-02-22  Jim Meyering  <jim@meyering.net>
397
398         * modules/utimens (Depends-on): Add timespec, required for
399         utimens.h's inclusion of timespec.h.
400
401 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
402
403         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
404         long unreadable paths in GNU/Linux.  Problem reported by Andreas
405         Schwab in
406         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
407         I'll try to think of a better way to fix the Solaris problem.
408
409         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
410         like glibc; on Solaris 10, it fails with errno == EINVAL.
411         POSIX says the behavior is unspecified if the first argument is NULL,
412         so play it safe and never pass NULL to the system getcwd.
413
414 2007-02-21  Jim Meyering  <jim@meyering.net>
415
416         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
417         of gettimeofday.  It would conflict with the one now always
418         provided via sys_time_.h.  Reported by Matthew Woehlke, as
419         an IRIX 6.5 build failure.
420
421 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
422
423         Minor fixups to port to Solaris 10 with Sun C 5.8.
424         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
425         * modules/getcwd (Depends-on): Add dirfd.
426         * lib/putenv.c (putenv): #undef it.
427         (rpl_putenv): New decl.
428         (malloc, free): Include <stdlib.h> rather than prototyping separately.
429
430 2007-02-20  Bruno Haible  <bruno@clisp.org>
431
432         * modules/stdio-tests: New file.
433         * tests/test-stdio.c: New file.
434
435         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
436         (Depends-on): Add stdio.
437         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
438         (Include): Use <stdio.h> instead of vsnprintf.h.
439         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
440         HAVE_DECL_VSNPRINTF.
441         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
442
443         * modules/snprintf (Files): Remove lib/snprintf.h.
444         (Depends-on): Add stdio.
445         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
446         (Include): Use <stdio.h> instead of snprintf.h.
447         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
448         HAVE_DECL_SNPRINTF.
449         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
450         * lib/getaddrinfo.c: Likewise.
451
452         * modules/stdio: New file.
453         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
454         * lib/snprintf.h: Remove file.
455         * lib/vsnprintf.h: Remove file.
456         * lib/.cppi-disable: Remove snprintf.h.
457         * m4/stdio_h.m4: New file.
458         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
459
460 2007-02-20  Jim Meyering  <jim@meyering.net>
461
462         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
463         used by e.g., mingw.  From Bruno Haible.
464
465 2007-02-19  Bruno Haible  <bruno@clisp.org>
466
467         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
468         warnings.
469         Reported by Ben Pfaff <blp@cs.stanford.edu>.
470
471 2007-02-19  Bruno Haible  <bruno@clisp.org>
472
473         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
474         from mingw users.
475
476 2007-02-19  Bruno Haible  <bruno@clisp.org>
477
478         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
479         warnings.
480         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
481
482 2007-02-19  Jim Meyering  <jim@meyering.net>
483
484         Don't use FD after a successful "fdopendir (fd)".
485         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
486         Reset it by calling dirfd on the just-obtained DIR*.
487
488         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
489         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
490
491 2007-02-18  Bruno Haible  <bruno@clisp.org>
492
493         * lib/readlink.c: Include <unistd.h>.
494         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
495         HAVE_READLINK.
496         * modules/readlink (Depends-on): Add unistd.
497         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
498         (Include): Add <unistd.h>.
499
500         * lib/getlogin_r.h: Remove file.
501         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
502         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
503         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
504         HAVE_DECL_GETLOGIN_R.
505         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
506         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
507         (Include): Use <unistd.h> instead of getlogin_r.h.
508
509         * lib/getcwd.h: Remove file.
510         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
511         * lib/xgetcwd.c: Likewise.
512         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
513         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
514         * modules/getcwd (Files): Remove lib/getcwd.h.
515         (Depends-on): Add unistd.
516         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
517         (Include): Use <unistd.h> instad of getcwd.h.
518
519         * lib/ftruncate.c: Include <unistd.h> first.
520         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
521         Set HAVE_FTRUNCATE.
522         * modules/ftruncate (Depends-on): Add unistd.
523         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
524
525         * lib/fchdir.c: Include <unistd.h> first.
526         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
527         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
528         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
529         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
530         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
531
532         * lib/dup2.c: Include <unistd.h> first.
533         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
534         HAVE_DUP2.
535         * modules/dup2 (Depends-on): Add unistd.
536         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
537
538         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
539         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
540         REPLACE_CHOWN. Don't define chown as a macro here.
541         * modules/chown (Depends-on): Add unistd.
542         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
543
544         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
545         Add definition for GL_LINK_WARNING.
546         (chown, dup2): New declarations.
547         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
548         link warning.
549         (ftruncate): New declaration.
550         (getcwd): New declaration, taken from old getcwd.h.
551         (getlogin_r): New declaration, taken from old getlogin_r.h.
552         (readlink): New declaration.
553         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
554         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
555         (gl_PREREQ_UNISTD): Remove macro.
556         (gl_UNISTD_MODULE_INDICATOR): New macro.
557         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
558         many new variables. Don't set UNISTD_H.
559         * modules/unistd (Description): Change.
560         (Depends-on): Add link-warning.
561         (configure.ac): Update.
562         (Makefile.am): Create unistd.h always. Substitute many new variables
563         into it.
564
565 2007-02-18  Bruno Haible  <bruno@clisp.org>
566
567         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
568         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
569         HAVE_GETSUBOPT.
570         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
571         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
572         * lib/getsubopt.h: Remove file.
573         * modules/getsubopt (Files): Remove lib/getsubopt.h.
574         (Depends-on): Add stdlib.
575         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
576         (Includes): Use <stdlib.h> instead of getsubopt.h.
577         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
578         Set HAVE_GETSUBOPT.
579         * lib/getsubopt.c: Don't include getsubopt.h.
580
581 2007-02-18  Bruno Haible  <bruno@clisp.org>
582
583         * modules/fchdir (Depends-on): Add dup2.
584
585 2007-02-18  Bruno Haible  <bruno@clisp.org>
586
587         * lib/stdlib_.h: Handle glibc's special invocation convention
588         specially.
589
590 2007-02-18  Bruno Haible  <bruno@clisp.org>
591
592         * modules/stdlib-tests: New file.
593         * tests/test-stdlib.c: New file.
594
595         * modules/mkstemp (Files): Remove lib/mkstemp.h.
596         (Depends-on): Add stdlib.
597         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
598         (Includes): Use <stdlib.h> instead of mkstemp.h.
599         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
600         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
601         * lib/mkstemp.c: Don't include mkstemp.h.
602         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
603         * lib/stdlib--.h: Don't include mkstemp.h.
604
605         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
606         (Depends-on): Add stdlib.
607         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
608         (Includes): Use <stdlib.h> instead of mkdtemp.h.
609         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
610         HAVE_MKDTEMP.
611         * lib/mkdtemp.c: Don't include mkdtemp.h.
612         * lib/clean-temp.c: Don't include mkdtemp.h.
613
614         * modules/exit (Files): Remove lib/exit.h.
615         (Depends-on): Add stdlib.
616         (Makefile.am): Remove lib_SOURCES.
617         (Include): Use <stdlib.h> instead of exit.h.
618         * lib/argmatch.c: Don't include exit.h.
619         * lib/execute.c: Likewise.
620         * lib/pagealign_alloc.c: Likewise.
621         * lib/pipe.c: Likewise.
622         * lib/wait-process.c: Likewise.
623         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
624         * lib/exitfail.c: Likewise.
625         * lib/savewd.c: Likewise.
626         * lib/xsetenv.c: Likewise.
627
628         * modules/stdlib: New file.
629         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
630         and extra comments about mkstemp().
631         * lib/exit.h: Remove file.
632         * lib/mkdtemp.h: Remove file.
633         * lib/mkstemp.h: Remove file.
634         * m4/stdlib_h.m4: New file.
635         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
636
637 2007-02-18  Bruno Haible  <bruno@clisp.org>
638
639         * modules/math-tests: New file.
640         * tests/test-math.c: New file.
641
642         * modules/math: New file.
643         * modules/mathl (Files): Remove lib/mathl.h.
644         (Depends-on): Add math.
645         (Makefile.am): Don't mention mathl.h.
646         (Include): Use <math.h> instead of mathl.h.
647         * lib/math_.h: New file.
648         * lib/mathl.h: Remove file.
649         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
650         mathl.h.
651         * lib/asinl.c: Likewise.
652         * lib/atanl.c: Likewise.
653         * lib/ceill.c: Likewise.
654         * lib/cosl.c: Likewise.
655         * lib/expl.c: Likewise.
656         * lib/floorl.c: Likewise.
657         * lib/frexpl.c: Likewise.
658         * lib/ldexpl.c: Likewise.
659         * lib/logl.c: Likewise.
660         * lib/sincosl.c: Likewise.
661         * lib/sinl.c: Likewise.
662         * lib/sqrtl.c: Likewise.
663         * lib/tanl.c: Likewise.
664         * lib/trigl.c: Likewise.
665         * m4/math_h.m4: New file.
666         * MODULES.html.sh (Mathematics): Add math.
667
668 2007-02-17  Bruno Haible  <bruno@clisp.org>
669
670         * modules/wctype-tests: New file.
671         * tests/test-wctype.c: New file.
672
673         * modules/wchar-tests: New file.
674         * tests/test-wchar.c: New file.
675
676         * modules/unistd-tests: New file.
677         * tests/test-unistd.c: New file.
678
679         * modules/time-tests: New file.
680         * tests/test-time.c: New file.
681
682         * modules/sysexits-tests: New file.
683         * tests/test-sysexits.c: New file.
684
685         * modules/sys_time-tests: New file.
686         * tests/test-sys_time.c: New file.
687
688         * modules/sys_stat-tests: New file.
689         * tests/test-sys_stat.c: New file.
690
691         * modules/sys_socket-tests: New file.
692         * tests/test-sys_socket.c: New file.
693
694         * modules/sys_select-tests: New file.
695         * tests/test-sys_select.c: New file.
696
697         * modules/string-tests: New file.
698         * tests/test-string.c: New file.
699
700         * modules/stdbool-tests: New file.
701         * tests/test-stdbool.c: New file.
702
703         * modules/netinet_in-tests: New file.
704         * tests/test-netinet_in.c: New file.
705
706         * modules/inttypes-tests: New file.
707         * tests/test-inttypes.c: New file.
708
709         * modules/fcntl-tests: New file.
710         * tests/test-fcntl.c: New file.
711
712         * modules/byteswap-tests: New file.
713         * tests/test-byteswap.c: New file.
714
715         * modules/arpa_inet-tests: New file.
716         * tests/test-arpa_inet.c: New file.
717
718 2007-02-17  Bruno Haible  <bruno@clisp.org>
719
720         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
721         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
722         if the corresponding module is not enabled. Emit link warnings if
723         the function is used nevertheless.
724         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
725         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
726         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
727         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
728         * modules/inttypes (Depends-on): Add link-warning.
729         (Makefile.am): Copy the contents of build-aux/link-warning.h into
730         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
731         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
732         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
733         * modules/imaxdiv (configure.ac): Likewise.
734         * modules/strtoimax (configure.ac): Likewise.
735         * modules/strtoumax (configure.ac): Likewise.
736
737 2007-02-17  Bruno Haible  <bruno@clisp.org>
738
739         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
740         gl_STRING_MODULE_INDICATOR_DEFAULTS.
741         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
742         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
743
744 2007-02-17  Bruno Haible  <bruno@clisp.org>
745
746         * modules/link-warning: New file.
747         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
748         * lib/string_.h (GL_LINK_WARNING): Remove definition.
749         * modules/string (Depends-on): Add link-warning.
750         (Makefile.am): Copy the contents of build-aux/link-warning.h into
751         string.h.
752         * MODULES.html.sh (Support for building libraries and executables): Add
753         link-warning.
754
755 2007-02-17  Bruno Haible  <bruno@clisp.org>
756
757         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
758         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
759         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
760         long lines.
761
762 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
763             Bruno Haible  <bruno@clisp.org>
764
765         * modules/tmpfile: New file.
766         * lib/tmpfile.c: New file.
767         * m4/tmpfile.m4: New file.
768         * MODULES.html.sh (func_all_modules): New section "Input/output".
769
770 2007-02-15  Bruno Haible  <bruno@clisp.org>
771
772         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
773         (supports_delete_on_close): New function.
774         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
775
776 2007-02-14  Bruno Haible  <bruno@clisp.org>
777
778         * modules/mbspcasecmp-tests: New file.
779         * tests/test-mbspcasecmp.sh: New file.
780         * tests/test-mbspcasecmp.c: New file.
781
782         New module mbspcasecmp.
783         * modules/mbspcasecmp: New file.
784         * lib/mbspcasecmp.c: New file.
785         * lib/string_.h (strncasecmp): Change warning message.
786         (mbspcasecmp): New declaration.
787         * m4/mbspcasecmp.m4: New file.
788         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
789         GNULIB_MBSPCASECMP.
790         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
791         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
792
793 2007-02-14  Bruno Haible  <bruno@clisp.org>
794
795         * modules/mbsncasecmp-tests: New file.
796         * tests/test-mbsncasecmp.sh: New file.
797         * tests/test-mbsncasecmp.c: New file.
798
799         New module mbsncasecmp.
800         * modules/mbsncasecmp: New file.
801         * lib/mbsncasecmp.c: New file.
802         * lib/string_.h (mbsncasecmp): New declaration.
803         * m4/mbsncasecmp.m4: New file.
804         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
805         GNULIB_MBSNCASECMP.
806         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
807         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
808
809 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
810
811         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
812         Verify that it doesn't overlap with our flags.
813         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
814         do not have the desired effect in multibyte locales; instead, use
815         mbscasecmp.
816         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
817         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
818         we don't require GNU fnmatch ourselves (if our users require it, they
819         should do so explicitly).
820
821         Fix regex code so it doesn't rely on strcasecmp.
822         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
823         Otherwise, include gnulib's langinfo.h.
824         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
825         undesirable behavior in non-C locales.  Instead, rely on localecharset.
826         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
827         * modules/regex (FILES): Remove m4/codeset.m4.
828         (Depends-on): Add localcharset.  Remove strcase.
829
830 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
831
832         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
833         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
834
835 2007-02-13  Bruno Haible  <bruno@clisp.org>
836
837         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
838         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
839
840 2007-02-12  Bruno Haible  <bruno@clisp.org>
841
842         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
843         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
844         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
845         time warning rather than a link error.
846
847 2007-02-12  Bruno Haible  <bruno@clisp.org>
848
849         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
850         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
851         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
852
853 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
854
855         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
856         args, not 2.
857
858 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
859
860         New module 'time', so that apps can include <time.h> as per
861         POSIX and GNU instead of separate include files like time_r.h
862         and timegm.h.  This implementation tries out a simpler approach
863         for replacing decls in standard include files (as compared to
864         the string module), somewhat as an experiment.
865
866         * config/srclist.txt: Comment out mktime.c for now.
867         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
868         since it doesn't apply any more.  Use generic wording instead.
869         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
870         'time'.
871         * lib/time_.h, m4/time_h.m4, modules/time: New files.
872         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
873         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
874         Don't include <sys/types.h>; no longer needed since we assume C89.
875         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
876         * lib/strftime.c: Likewise.
877         * lib/time_r.c: Likewise.
878         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
879         * lib/nanosleep.c: Include <time.h> first, to check interface.
880         * lib/strptime.c: Likewise.
881         * lib/time_r.c: Likewise.
882         * lib/timegm.c: Likewise.
883         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
884         needed.
885         * lib/timegm.c: Don't include timegm.h; no longer needed.
886         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
887         time.h now handles any problems in that area.
888         (struct timespec, nanosleep): Remove; time.h now arranges for these.
889         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
890         that time.h defines struct timespec.
891         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
892         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
893         handles that.
894         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
895         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
896         needed.  Set REPLACE_LOCALTIME.
897         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
898         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
899         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
900         nanosleep; time_h.m4 now does that.  Don't require
901         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
902         module handles this now.
903         * modules/getdate (Depends-on): Remove timespec.  Add time.
904         * modules/nanosleep (Depends-on): Likewise.
905         * modules/stat-time (Depends-on): Likewise.
906         * modules/nanosleep (Include): Include time.h, not timespec.h.
907         * modules/strptime (Files): Remove lib/strptime.h.
908         (Depends-on): Add extensions, time.
909         (Include): Include time.h, not strptime.h.
910         * modules/time_r (Files): Remove lib/time_r.h.
911         (Depends-on): Add time.
912         (Include): Include time.h, not time_r.h.
913         * modules/timegm: Likewise.
914         * modules/timespec (Description): Now does timespec-related decls
915         of our own, instead of struct timespec itself.
916         (Depends-on): Add time; remove extensions.
917         (Maintainer): Add self.
918         * modules/utimecmp (Depends-on): Add time; remove timespec.
919         * modules/utimens (Depends-on): Likewise.
920         * modules/xnanosleep (Depends-on): Likewise.
921
922 2007-02-11  Bruno Haible  <bruno@clisp.org>
923
924         * lib/c-strstr.c: Include allocsa.h.
925         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
926         * lib/c-strcasestr.c: Include allocsa.h.
927         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
928         * lib/strcasestr.c: Include allocsa.h.
929         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
930         * lib/mbsstr.c: Include allocsa.h.
931         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
932         allocsa/freesa instead of malloc/free.
933         * lib/mbscasestr.c: Include allocsa.h.
934         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
935         allocsa/freesa instead of malloc/free.
936         * modules/c-strstr (Depends-on): Add allocsa.
937         * modules/c-strcasestr (Depends-on): Likewise.
938         * modules/strcasestr (Depends-on): Likewise.
939         * modules/mbsstr (Depends-on): Likewise.
940         * modules/mbscasestr (Depends-on): Likewise.
941
942 2007-02-11  Bruno Haible  <bruno@clisp.org>
943
944         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
945
946         * modules/mbsspn-tests: New file.
947         * tests/test-mbsspn.sh: New file.
948         * tests/test-mbsspn.c: New file.
949
950 2007-02-11  Bruno Haible  <bruno@clisp.org>
951
952         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
953
954         * modules/mbspbrk-tests: New file.
955         * tests/test-mbspbrk.sh: New file.
956         * tests/test-mbspbrk.c: New file.
957
958 2007-02-11  Bruno Haible  <bruno@clisp.org>
959
960         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
961         unneeded cast.
962
963         * modules/mbscspn-tests: New file.
964         * tests/test-mbscspn.sh: New file.
965         * tests/test-mbscspn.c: New file.
966
967 2007-02-11  Bruno Haible  <bruno@clisp.org>
968
969         * modules/mbscasecmp-tests: New file.
970         * tests/test-mbscasecmp.sh: New file.
971         * tests/test-mbscasecmp.c: New file.
972
973 2007-02-11  Bruno Haible  <bruno@clisp.org>
974
975         Ensure O(n) worst-case complexity of mbscasestr.
976         * lib/mbscasestr.c: Include stdbool.h.
977         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
978         functions.
979         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
980         the bookkeeping indicates that it's worth it.
981         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
982
983         * modules/mbscasestr-tests: New file.
984         * tests/test-mbscasestr1.c: New file.
985         * tests/test-mbscasestr2.sh: New file.
986         * tests/test-mbscasestr2.c: New file.
987         * tests/test-mbscasestr3.sh: New file.
988         * tests/test-mbscasestr3.c: New file.
989         * tests/test-mbscasestr4.sh: New file.
990         * tests/test-mbscasestr4.c: New file.
991         * m4/locale-tr.m4: New file.
992
993 2007-02-11  Bruno Haible  <bruno@clisp.org>
994
995         Ensure O(n) worst-case complexity of mbsstr.
996         * lib/mbsstr.c: Include stdbool.h.
997         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
998         functions.
999         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
1000         bookkeeping indicates that it's worth it.
1001         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
1002
1003         * modules/mbsstr-tests: New file.
1004         * tests/test-mbsstr1.c: New file.
1005         * tests/test-mbsstr2.sh: New file.
1006         * tests/test-mbsstr2.c: New file.
1007         * tests/test-mbsstr3.sh: New file.
1008         * tests/test-mbsstr3.c: New file.
1009         * m4/locale-fr.m4: New file.
1010
1011 2007-02-11  Bruno Haible  <bruno@clisp.org>
1012
1013         * lib/mbsrchr.c (mbsrchr): Fix bug.
1014
1015         * modules/mbsrchr-tests: New file.
1016         * tests/test-mbsrchr.sh: New file.
1017         * tests/test-mbsrchr.c: New file.
1018
1019 2007-02-11  Bruno Haible  <bruno@clisp.org>
1020
1021         * lib/mbschr.c (mbschr): Fix bug.
1022
1023         * modules/mbschr-tests: New file.
1024         * tests/test-mbschr.sh: New file.
1025         * tests/test-mbschr.c: New file.
1026         * m4/locale-zh.m4: New file.
1027
1028 2007-02-11  Bruno Haible  <bruno@clisp.org>
1029
1030         Support for copying multibyte string iterators.
1031         * lib/mbiter.h: Include <string.h>.
1032         (mbiter_multi_copy): New function.
1033         (mbi_copy): New macro.
1034         * lib/mbuiter.h: Include <string.h>.
1035         (mbuiter_multi_copy): New function.
1036         (mbui_copy): New macro.
1037
1038 2007-02-11  Bruno Haible  <bruno@clisp.org>
1039
1040         New module mbslen.
1041         * modules/mbslen: New file.
1042         * lib/mbslen.c: New file.
1043         * lib/string_.h (mbslen): New declaration.
1044         * m4/mbslen.m4: New file.
1045         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1046         GNULIB_MBSLEN.
1047         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
1048         * MODULES.html.sh (Internationalization functions): Add mbslen.
1049
1050 2007-02-11  Bruno Haible  <bruno@clisp.org>
1051
1052         Ensure O(n) worst-case complexity of strcasestr substitute.
1053         * lib/strcasestr.c: Include stdbool.h.
1054         (knuth_morris_pratt): New function.
1055         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
1056         bookkeeping indicates that it's worth it.
1057         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
1058
1059         * modules/strcasestr-tests: New file.
1060         * tests/test-strcasestr.c: New file.
1061
1062 2007-02-11  Bruno Haible  <bruno@clisp.org>
1063
1064         Ensure O(n) worst-case complexity of c_strcasestr.
1065         * lib/c-strcasestr.c: Include stdbool.h, string.h.
1066         (knuth_morris_pratt): New function.
1067         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
1068         the bookkeeping indicates that it's worth it.
1069         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
1070
1071         * modules/c-strcasestr-tests: New file.
1072         * tests/test-c-strcasestr.c: New file.
1073
1074 2007-02-11  Bruno Haible  <bruno@clisp.org>
1075
1076         Ensure O(n) worst-case complexity of c_strstr.
1077         * lib/c-strstr.c: Include stdbool.h, string.h.
1078         (knuth_morris_pratt): New function.
1079         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
1080         bookkeeping indicates that it's worth it.
1081         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
1082
1083         * lib/c-strstr.c: Complete rewrite for maintainability.
1084
1085         * modules/c-strstr-tests: New file.
1086         * tests/test-c-strstr.c: New file.
1087
1088 2007-02-11  Bruno Haible  <bruno@clisp.org>
1089
1090         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
1091         5.2.1 and earlier, whereby \055 was treated just like the range
1092         delimiter '-'.
1093         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
1094
1095 2007-02-08  Bruno Haible  <bruno@clisp.org>
1096
1097         * modules/regex (Depends-on): Add stdbool.
1098         Reported by Dalibor Topic <robilad@kaffe.org>.
1099
1100 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
1101
1102         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
1103         Prefer returning from main to exiting from it.
1104         Remove unnecessary parens after sizeof.
1105
1106 2007-02-05  Bruno Haible  <bruno@clisp.org>
1107
1108         New module mbssep.
1109         * modules/mbssep: New file.
1110         * lib/mbssep.c: New file.
1111         * lib/string_.h (strsep): Add a conditional link warning.
1112         (mbssep): New declaration.
1113         * m4/mbssep.m4: New file.
1114         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1115         GNULIB_MBSSEP.
1116         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
1117         * MODULES.html.sh (Internationalization functions): Add mbssep.
1118
1119 2007-02-05  Bruno Haible  <bruno@clisp.org>
1120
1121         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
1122         Optimize search in case of 1 delimiter.
1123
1124 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
1125
1126         * lib/acl.h: Include sys/types.h before sys/acl.h.
1127
1128 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
1129
1130         Merge upstream fix for glibc bugzilla #3957:
1131
1132         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
1133
1134         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
1135         bit for RE_HAT_LISTS_NOT_NEWLINE.
1136         (build_charclass_op): Remove bogus comment.
1137
1138 2007-02-05  Simon Josefsson  <simon@josefsson.org>
1139
1140         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
1141
1142 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1143
1144         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
1145         * lib/memmem.c [!defined _LIBC]: Include config.h.
1146
1147 2007-02-04  Bruno Haible  <bruno@clisp.org>
1148
1149         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
1150         warning message.
1151
1152 2007-02-04  Bruno Haible  <bruno@clisp.org>
1153
1154         New module mbstok_r.
1155         * modules/mbstok_r: New file.
1156         * lib/mbstok_r.c: New file.
1157         * lib/string_.h (strtok_r): Change argument names to match the
1158         comments. Add a conditional link warning.
1159         (mbstok_r): New declaration.
1160         * m4/mbstok_r.m4: New file.
1161         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1162         GNULIB_MBSTOK_R.
1163         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
1164         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
1165
1166 2007-02-04  Bruno Haible  <bruno@clisp.org>
1167
1168         New module mbsspn.
1169         * modules/mbsspn: New file.
1170         * lib/mbsspn.c: New file.
1171         * lib/string_.h (strspn): Add a conditional link warning.
1172         (mbsspn): New declaration.
1173         * m4/mbsspn.m4: New file.
1174         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1175         GNULIB_MBSSPN.
1176         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
1177         * MODULES.html.sh (Internationalization functions): Add mbsspn.
1178
1179 2007-02-04  Bruno Haible  <bruno@clisp.org>
1180
1181         New module mbspbrk.
1182         * modules/mbspbrk: New file.
1183         * lib/mbspbrk.c: New file.
1184         * lib/string_.h (strpbrk): Add a conditional link warning.
1185         (mbspbrk): New declaration.
1186         * m4/mbspbrk.m4: New file.
1187         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1188         GNULIB_MBSPBRK.
1189         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
1190         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
1191
1192 2007-02-04  Bruno Haible  <bruno@clisp.org>
1193
1194         New module mbscspn.
1195         * modules/mbscspn: New file.
1196         * lib/mbscspn.c: New file.
1197         * lib/string_.h (strcspn): Add a conditional link warning.
1198         (mbscspn): New declaration.
1199         * m4/mbscspn.m4: New file.
1200         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1201         GNULIB_MBSCSPN.
1202         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
1203         * MODULES.html.sh (Internationalization functions): Add mbscspn.
1204
1205 2007-02-04  Bruno Haible  <bruno@clisp.org>
1206
1207         New module mbscasestr, reduced goal of strcasestr.
1208         * modules/mbscasestr: New file.
1209         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
1210         (mbscasestr): Renamed from strcasestr.
1211         * lib/strcasestr.c: Don't include mbuiter.h.
1212         (strcasestr): Remove support for multibyte locales.
1213         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
1214         Change the conditional link warning.
1215         (mbscasestr): New declaration.
1216         * m4/mbscasestr.m4: New file.
1217         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
1218         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
1219         REPLACE_STRCASESTR.
1220         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
1221         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1222         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1223         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
1224         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
1225         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1226         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
1227         (Depends-on): Remove mbuiter.
1228         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
1229
1230 2007-02-04  Bruno Haible  <bruno@clisp.org>
1231
1232         Simplify handling of strncasecmp.
1233         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
1234         the conditional link warning.
1235         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1236         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
1237         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
1238         * modules/strcase (configure.ac): Don't invoke
1239         gl_STRING_MODULE_INDICATOR.
1240         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
1241
1242 2007-02-04  Bruno Haible  <bruno@clisp.org>
1243
1244         New module mbscasecmp, reduced goal of strcasecmp.
1245         * modules/mbscasecmp: New file.
1246         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
1247         (mbscasecmp): Renamed from strcasecmp.
1248         * lib/strcasecmp.c: Don't include mbuiter.h.
1249         (strcasecmp): Remove support for multibyte locales.
1250         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
1251         Change the conditional link warning.
1252         (mbscasecmp): New declaration.
1253         * m4/mbscasecmp.m4: New file.
1254         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
1255         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
1256         REPLACE_STRCASECMP.
1257         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
1258         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1259         GNULIB_MBSCASECMP.
1260         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
1261         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
1262         * modules/strcase (Files): Remove m4/mbrtowc.m4.
1263         (Depends-on): Remove mbuiter.
1264         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
1265
1266 2007-02-04  Bruno Haible  <bruno@clisp.org>
1267
1268         New module mbsstr. Remove module strstr.
1269         * modules/mbsstr: New file.
1270         * modules/strstr: Remove file.
1271         * lib/mbsstr.c: Renamed from lib/strstr.c.
1272         (mbsstr): Renamed from strstr.
1273         * lib/string_.h (strstr): Remove declaration. Change the conditional
1274         link warning.
1275         (mbsstr): New declaration.
1276         * m4/mbsstr.m4: New file.
1277         * m4/strstr.m4: Remove file.
1278         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
1279         REPLACE_STRSTR.
1280         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
1281         Don't initialize GNULIB_STRSTR.
1282         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
1283         substitute GNULIB_STRSTR and REPLACE_STRSTR.
1284         * MODULES.html.sh (Internationalization functions): Add mbsstr.
1285         (Support for systems lacking ANSI C 89): Remove strstr.
1286
1287 2007-02-04  Bruno Haible  <bruno@clisp.org>
1288
1289         New module mbsrchr.
1290         * modules/mbsrchr: New file.
1291         * lib/mbsrchr.c: New file.
1292         * lib/string_.h (strrchr): Add a conditional link warning.
1293         (mbsrchr): New declaration.
1294         * m4/mbsrchr.m4: New file.
1295         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1296         GNULIB_MBSRCHR.
1297         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
1298         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
1299
1300 2007-02-04  Bruno Haible  <bruno@clisp.org>
1301
1302         New module mbschr.
1303         * modules/mbschr: New file.
1304         * lib/mbschr.c: New file.
1305         * lib/string_.h (strchr): Add a conditional link warning.
1306         (mbschr): New declaration.
1307         * m4/mbschr.m4: New file.
1308         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1309         GNULIB_MBSCHR.
1310         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
1311         * MODULES.html.sh (Internationalization functions): Add mbschr.
1312
1313 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1314
1315         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
1316
1317         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
1318
1319 2007-02-04  Bruno Haible  <bruno@clisp.org>
1320
1321         New module description section 'configure.ac-early'.
1322         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
1323         (func_get_autoconf_early_snippet): New function.
1324         (func_import, func_create_testdir): Use it. Remove special cases for
1325         modules 'extensions' and 'lock'.
1326         * modules/extensions (configure.ac-early): Require
1327         gl_USE_SYSTEM_EXTENSIONS.
1328         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
1329
1330 2007-02-04  Bruno Haible  <bruno@clisp.org>
1331
1332         Make use of gcj-4.3's -fsource and -ftarget option.
1333         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
1334         and if so try the options -fsource and -ftarget.
1335         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
1336         source_version, ftarget_option, target_version arguments.
1337         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
1338         (is_envjavac_oldgcj_14_14_usable): Renamed from
1339         is_envjavac_gcj_14_14_usable.
1340         (is_envjavac_oldgcj_14_13_usable): Renamed from
1341         is_envjavac_gcj_14_13_usable.
1342         (is_gcj_present): Update.
1343         (is_gcj_43, is_gcj43_usable): New functions.
1344         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
1345         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
1346         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
1347         try the options -fsource and -ftarget.
1348
1349 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1350
1351         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
1352         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
1353         larger value.
1354
1355 2007-02-03  Jim Meyering  <jim@meyering.net>
1356
1357         Give tools a better chance to allocate space for very large buffers.
1358         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
1359
1360         Make pwd and readlink work also when run with an unreadable parent dir
1361         on systems with openat support.
1362         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
1363         provided getcwd function, even when we have openat support.
1364         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
1365
1366 2007-02-02  Bruno Haible  <bruno@clisp.org>
1367
1368         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
1369         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
1370         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
1371         portability problems if one of these functions is only used on specific
1372         platforms.
1373         Reported by Paul Eggert.
1374
1375 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
1376
1377         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
1378         is causing more trouble than it's curing.
1379         * lib/regex_internal.h (__mempcpy): Remove.
1380         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
1381         (and make the code a tad smaller to boot).
1382         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
1383
1384 2007-02-02  Jim Meyering  <jim@meyering.net>
1385
1386         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
1387         section, not in the Makefile.am: one.
1388
1389 2007-02-02  Eric Blake  <ebb9@byu.net>
1390
1391         * lib/strchrnul.c: Always include config.h first.
1392
1393         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
1394         gnulib strstr is not necessary here.
1395
1396 2007-02-02  Simon Josefsson  <simon@josefsson.org>
1397
1398         * m4/socklen.m4: Fix typo.
1399
1400 2007-02-02  Eric Blake  <ebb9@byu.net>
1401
1402         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
1403         * modules/netinet_in (Makefile.am): Likewise.
1404
1405 2007-02-01  Bruno Haible  <bruno@clisp.org>
1406
1407         * lib/string_.h (GL_LINK_WARNING): New macro.
1408         (strcasecmp, strstr, strcasestr): If provided by the system,
1409         conditionally define as a macro that leads to a warning instead of to
1410         an error.
1411         (strncasecmp): Conditionally define as a macro that leads to a warning.
1412
1413 2007-02-01  Karl Berry  <karl@gnu.org>
1414
1415         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
1416
1417 2007-02-01  Bruno Haible  <bruno@clisp.org>
1418
1419         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
1420         renamings.
1421
1422 2007-02-01  Eric Blake  <ebb9@byu.net>
1423
1424         * modules/regex (Depends-on): Revert dependence on mempcpy.
1425         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
1426         module's definition of mempcpy.
1427         Reported by Paul Eggert.
1428
1429 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
1430
1431         * lib/string_.h: If the gnulib module XYZ is not present, undefine
1432         the symbol XYZ before redefining it.  This fixes a problem with
1433         programs that don't use XYZ, when compiled on systems that define
1434         XYZ to something else.
1435
1436 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1437
1438         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
1439         occurs when "mkdir -m foo" creates a setgid directory that is (1)
1440         writeable to group or other and (2) is intended to have a special
1441         mode bit that is set or cleared.  In such a case, the directory
1442         should be neither group- nor other-writeable until the special
1443         mode bits are right.
1444
1445 2007-01-31  Eric Blake  <ebb9@byu.net>
1446
1447         * modules/mountlist (Depends-on): Add strstr.
1448
1449         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
1450         bug.
1451         * modules/string (Makefile.am): Remove redundant replacement.
1452         * modules/regex (Depends-on): Add mempcpy.
1453
1454 2007-01-31  Bruno Haible  <bruno@clisp.org>
1455
1456         New module description field 'Link'.
1457         * gnulib-tool (func_usage): Document --extract-link-directive.
1458         (sed_extract_prog): Recognize 'Link' directive.
1459         (func_get_link_directive): New function.
1460         (func_import): Show summary of link directives.
1461         Handle --extract-link-directive option.
1462         * modules/acl (Link): New section.
1463         * modules/clock-time (Link): New section.
1464         * modules/euidaccess (Link): New section.
1465         * modules/gettext (Link): New section.
1466         * modules/iconv (Link): New section.
1467         * modules/lock (Link): New section.
1468         * modules/nanosleep (Link): New section.
1469         * modules/readline (Link): New section.
1470
1471 2007-01-27  Bruno Haible  <bruno@clisp.org>
1472
1473         Enforce the use of gnulib modules for unportable <string.h> functions.
1474         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
1475         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
1476         (gl_HEADER_STRING_H_BODY): Require it.
1477         * lib/string_.h: If the gnulib module XYZ is not present, redefine
1478         the symbol XYZ to one that gives a link error.
1479         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
1480         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
1481         * modules/mempcpy (configure.ac): Likewise.
1482         * modules/memrchr (configure.ac): Likewise.
1483         * modules/stpcpy (configure.ac): Likewise.
1484         * modules/stpncpy (configure.ac): Likewise.
1485         * modules/strcase (configure.ac): Likewise.
1486         * modules/strcasestr (configure.ac): Likewise.
1487         * modules/strchrnul (configure.ac): Likewise.
1488         * modules/strdup (configure.ac): Likewise.
1489         * modules/strndup (configure.ac): Likewise.
1490         * modules/strnlen (configure.ac): Likewise.
1491         * modules/strpbrk (configure.ac): Likewise.
1492         * modules/strsep (configure.ac): Likewise.
1493         * modules/strstr (configure.ac): Likewise.
1494         * modules/strtok_r (configure.ac): Likewise.
1495
1496 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
1497
1498         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
1499
1500 2007-01-30  Jim Meyering  <jim@meyering.net>
1501
1502         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
1503
1504 2007-01-29  Bruno Haible  <bruno@clisp.org>
1505
1506         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
1507         * lib/execute.c: Likewise.
1508         * lib/pipe.c: Likewise.
1509         * lib/printf-args.h: Likewise.
1510         * lib/printf-args.c: Likewise.
1511         * lib/printf-parse.c: Likewise.
1512         * lib/vasnprintf.c: Likewise.
1513
1514 2007-01-29  Eric Blake  <ebb9@byu.net>
1515
1516         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
1517         declaration.
1518
1519 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
1520
1521         * lib/strptime.h (strptime): Use 'restrict' for args where
1522         POSIX requires this.
1523         * lib/strptime.c (strptime): Likewise.
1524         Change license notice from LGPL to GPL, since gnulib-tool will
1525         change this as needed.
1526         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
1527         defined.
1528         Include "strptime.h" first, to check interface.
1529         Do not #undef _LIBC and _NL_CURRENT.
1530         Do not include <stdlib.h>; no longer needed.
1531         Include "time_r.h" and declare ptime_locale_status
1532         only if _LIBC is not defined.
1533         (__P): Remove unused macro.
1534         (match_string): Bring back glibc version, but use it only if _LIBC
1535         is defined.
1536         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
1537         Remove unnecessary assertion and abort() call.
1538         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
1539         * m4/strptime.m4: Fix serial number comment.
1540         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
1541         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
1542         (Depends-on): Add time_r.
1543
1544 2007-01-29  Bruno Haible  <bruno@clisp.org>
1545
1546         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
1547         strptime.
1548         * modules/strptime (Depends-on): Add stdbool.
1549         * lib/strptime.h: Include <time.h> always. Add comments.
1550
1551 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
1552
1553         * modules/strptime: New file.
1554         * lib/strptime.h: New file.
1555         * lib/strptime.c: New file.
1556         * m4/strptime.m4: New file.
1557
1558 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
1559
1560         * MODULES.html.sh: New module mpsort.
1561         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
1562
1563         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
1564         a circularity problem with HP-UX ia64 reported by Bob Proulx in
1565         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
1566         All uses changed.
1567         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
1568         All uses changed.
1569         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
1570         to _Restrict_.
1571         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
1572         the parameter matches the prototype.
1573
1574 2007-01-28  Jim Meyering  <jim@meyering.net>
1575
1576         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
1577         sys/time.h here, reverting that part of the previous patch:
1578         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
1579
1580 2007-01-28  Bruno Haible  <bruno@clisp.org>
1581
1582         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
1583         value of $(SYS_TIME_H).
1584         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
1585         remove it conditionally, too. [added by Jim Meyering]
1586         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
1587         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
1588         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
1589         GETTIMEOFDAY_REPLACEMENT to 1.
1590
1591 2007-01-28  Bruno Haible  <bruno@clisp.org>
1592
1593         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
1594         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
1595         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
1596         Set UNISTD_H instead of UNISTD_H2.
1597         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
1598
1599 2007-01-28  Bruno Haible  <bruno@clisp.org>
1600
1601         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
1602         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
1603
1604 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1605
1606         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
1607         (func_create_testdir): Ensure C locale for `grep' and `tr'
1608         character ranges.
1609         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
1610         ACLOCAL_AMFLAGS parsing state machine.
1611
1612 2007-01-27  Bruno Haible  <bruno@clisp.org>
1613
1614         * modules/unistr/base: Update.
1615
1616 2007-01-27  Bruno Haible  <bruno@clisp.org>
1617
1618         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
1619         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
1620         * modules/unistr/u32-mbtouc-unsafe: Renamed from
1621         modules/unistr/u32-mbtouc.
1622         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
1623         * lib/unistr.h: Update.
1624         * lib/linebreak.c: Update.
1625         * modules/unistr/u32-mbtouc: Renamed from
1626         modules/unistr/u32-mbtouc-safe.
1627         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
1628         * lib/unistr.h: Update.
1629         * lib/unistr/u32-to-u8.c: Update.
1630         * lib/unistr/u32-to-u16.c: Update.
1631
1632 2007-01-27  Bruno Haible  <bruno@clisp.org>
1633
1634         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
1635         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
1636         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
1637         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
1638         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
1639         * modules/unistr/u16-mbtouc-unsafe: Renamed from
1640         modules/unistr/u16-mbtouc.
1641         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
1642         * lib/unistr.h: Update.
1643         * lib/linebreak.c: Update.
1644         * modules/linebreak: Update.
1645         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
1646         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
1647         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
1648         * modules/unistr/u16-mbtouc: Renamed from
1649         modules/unistr/u16-mbtouc-safe.
1650         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
1651         * lib/unistr.h: Update.
1652         * lib/unistr/u16-to-u8.c: Update.
1653         * modules/unistr/u16-to-u8: Update.
1654         * lib/unistr/u16-to-u32.c: Update.
1655         * modules/unistr/u16-to-u32: Update.
1656
1657 2007-01-27  Bruno Haible  <bruno@clisp.org>
1658
1659         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
1660         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
1661         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
1662         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
1663         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
1664         * modules/unistr/u8-mbtouc-unsafe: Renamed from
1665         modules/unistr/u8-mbtouc.
1666         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
1667         * lib/unistr.h: Update.
1668         * lib/striconveh.c: Update.
1669         * modules/striconveh: Update.
1670         * lib/linebreak.c: Update.
1671         * modules/linebreak: Update.
1672         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
1673         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
1674         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
1675         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
1676         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
1677         * lib/unistr.h: Update.
1678         * lib/striconveh.c: Update.
1679         * modules/striconveh: Update.
1680         * lib/unistr/u8-to-u16.c: Update.
1681         * modules/unistr/u8-to-u16: Update.
1682         * lib/unistr/u8-to-u32.c: Update.
1683         * modules/unistr/u8-to-u32: Update.
1684
1685 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1686
1687         Sync from Libtool.
1688         * lib/argz.c: Do not include strings.h nor memory.h, include
1689         string.h unconditionally.  Patch by Simon Josefsson.
1690
1691 2007-01-27  Bruno Haible  <bruno@clisp.org>
1692
1693         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
1694         from gl_HEADER_STRING_H_BODY.
1695         (gl_HEADER_STRING_H_BODY): Require it.
1696         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
1697         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
1698         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
1699         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
1700         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1701         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
1702         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
1703         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
1704         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
1705         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
1706         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
1707         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
1708         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
1709         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
1710         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
1711
1712 2007-01-27  Bruno Haible  <bruno@clisp.org>
1713
1714         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
1715         check_PROGRAMS into noinst_PROGRAMS.
1716         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
1717         check_PROGRAMS in this case.
1718         (func_import): Set for_test to false.
1719         (func_create_testdir): Set for_test to true.
1720
1721 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
1722             Bruno Haible  <bruno@clisp.org>
1723
1724         * modules/strcasestr (Files): Remove lib/strcasestr.h.
1725         (Depends-on): Add string.
1726         (Includes): Use <string.h> instead of strcasestr.h.
1727         * modules/string (Makefile.am): Also substitute the value of
1728         REPLACE_STRCASESTR.
1729         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
1730         assume strcasestr is declared in <string.h> not <strings.h>. Also
1731         set REPLACE_STRCASESTR.
1732         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
1733         REPLACE_STRCASESTR.
1734         * lib/strcasestr.h: Remove file.
1735         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
1736         * lib/string_.h (strcasestr): New declaration.
1737
1738 2007-01-27  Bruno Haible  <bruno@clisp.org>
1739
1740         * lib/string_.h: Use 'extern'.
1741
1742 2007-01-27  Jim Meyering  <jim@meyering.net>
1743
1744         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
1745         of set-but-not-used local, "q".
1746
1747         * lib/mempcpy.c: Include <config.h> before <string.h>.
1748         This fixes a compilation error on HP-UX, due to the system's
1749         "restrict"-using mempcpy prototype.
1750
1751 2007-01-26  Bruno Haible  <bruno@clisp.org>
1752
1753         Small optimization.
1754         * lib/javacomp.c: Include c-strstr.h.
1755          (is_envjavac_gcj): Use c_strstr instead of strstr.
1756         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
1757
1758 2007-01-26  Bruno Haible  <bruno@clisp.org>
1759
1760         * MODULES.html.sh (Unicode string functions): Add the new modules.
1761
1762         * modules/uniconv/u32-strconv-to-locale: New file.
1763         * lib/uniconv/u32-strconv-to-locale.c: New file.
1764
1765         * modules/uniconv/u16-strconv-to-locale: New file.
1766         * lib/uniconv/u16-strconv-to-locale.c: New file.
1767
1768         * modules/uniconv/u8-strconv-to-locale: New file.
1769         * lib/uniconv/u8-strconv-to-locale.c: New file.
1770
1771         * modules/uniconv/u32-strconv-from-locale: New file.
1772         * lib/uniconv/u32-strconv-from-locale.c: New file.
1773
1774         * modules/uniconv/u16-strconv-from-locale: New file.
1775         * lib/uniconv/u16-strconv-from-locale.c: New file.
1776
1777         * modules/uniconv/u8-strconv-from-locale: New file.
1778         * lib/uniconv/u8-strconv-from-locale.c: New file.
1779
1780         * modules/uniconv/u32-strconv-to-enc: New file.
1781         * lib/uniconv/u32-strconv-to-enc.c: New file.
1782         * modules/uniconv/u32-strconv-to-enc-tests: New file.
1783         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
1784
1785         * modules/uniconv/u16-strconv-to-enc: New file.
1786         * lib/uniconv/u16-strconv-to-enc.c: New file.
1787         * lib/uniconv/u-strconv-to-enc.h: New file.
1788         * modules/uniconv/u16-strconv-to-enc-tests: New file.
1789         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
1790
1791         * modules/uniconv/u8-strconv-to-enc: New file.
1792         * lib/uniconv/u8-strconv-to-enc.c: New file.
1793         * modules/uniconv/u8-strconv-to-enc-tests: New file.
1794         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
1795
1796         * modules/uniconv/u32-strconv-from-enc: New file.
1797         * lib/uniconv/u32-strconv-from-enc.c: New file.
1798         * modules/uniconv/u32-strconv-from-enc-tests: New file.
1799         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
1800
1801         * modules/uniconv/u16-strconv-from-enc: New file.
1802         * lib/uniconv/u16-strconv-from-enc.c: New file.
1803         * modules/uniconv/u16-strconv-from-enc-tests: New file.
1804         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
1805
1806         * modules/uniconv/u8-strconv-from-enc: New file.
1807         * lib/uniconv/u8-strconv-from-enc.c: New file.
1808         * lib/uniconv/u-strconv-from-enc.h: New file.
1809         * modules/uniconv/u8-strconv-from-enc-tests: New file.
1810         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
1811
1812         * modules/uniconv/u32-conv-from-enc: New file.
1813         * lib/uniconv/u32-conv-from-enc.c: New file.
1814         * modules/uniconv/u32-conv-from-enc-tests: New file.
1815         * tests/uniconv/test-u32-conv-from-enc.c: New file.
1816
1817         * modules/uniconv/u16-conv-from-enc: New file.
1818         * lib/uniconv/u16-conv-from-enc.c: New file.
1819         * lib/uniconv/u-conv-from-enc.h: New file.
1820         * modules/uniconv/u16-conv-from-enc-tests: New file.
1821         * tests/uniconv/test-u16-conv-from-enc.c: New file.
1822
1823         * modules/uniconv/u8-conv-from-enc: New file.
1824         * lib/uniconv/u8-conv-from-enc.c: New file.
1825         * modules/uniconv/u8-conv-from-enc-tests: New file.
1826         * tests/uniconv/test-u8-conv-from-enc.c: New file.
1827
1828         * modules/uniconv/base: New file.
1829         * lib/uniconv.h: New file.
1830
1831 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
1832
1833         * doc/gnulib-tool.texi (Initial import): Update to match current
1834         behavior with strdup module.
1835         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
1836         * lib/memmem.h: Remove; all uses removed.  This is now done
1837         by <string.h>.
1838         * lib/mempcpy.h: Likewise.
1839         * lib/memrchr.h: Likewise.
1840         * lib/stpcpy.h: Likewise.
1841         * lib/stpncpy.h: Likewise.
1842         * lib/strcase.h: Likewise.
1843         * lib/strchrnul.h: Likewise.
1844         * lib/strdup.h: Likewise.
1845         * lib/strndup.h: Likewise.
1846         * lib/strnlen.h: Likewise.
1847         * lib/strpbrk.h: Likewise.
1848         * lib/strsep.h: Likewise.
1849         * lib/strstr.h: Likewise.
1850         * lib/strtok_r.h: Likewise.
1851         * lib/string_.h: New file.
1852         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
1853         Rely on <string.h> instead.
1854         * lib/canon-host.c: Likewise.
1855         * lib/chdir-long.c: Likewise.
1856         * lib/concatpath.c: Likewise.
1857         * lib/exclude.c: Likewise.
1858         * lib/fchdir.c: Likewise.
1859         * lib/getaddrinfo.c: Likewise.
1860         * lib/getcwd.c: Likewise.
1861         * lib/getsubopt.c: Likewise.
1862         * lib/glob.c: Likewise.
1863         * lib/hard-locale.c: Likewise.
1864         * lib/iconvme.c: Likewise.
1865         * lib/javacomp.c: Likewise.
1866         * lib/mempcpy.c: Likewise.
1867         * lib/memrchr.c: Likewise.
1868         * lib/regex_internal.h: Likewise.
1869         * lib/stpncpy.c: Likewise.
1870         * lib/strcasecmp.c: Likewise.
1871         * lib/strchrnul.c: Likewise.
1872         * lib/strdup.c: Likewise.
1873         * lib/striconv.c: Likewise.
1874         * lib/striconveh.c: Likewise.
1875         * lib/striconveha.c: Likewise.
1876         * lib/strncasecmp.c: Likewise.
1877         * lib/strndup.c: Likewise.
1878         * lib/strnlen.c: Likewise.
1879         * lib/strsep.c: Likewise.
1880         * lib/strstr.c: Likewise.
1881         * lib/strtok_r.c: Likewise.
1882         * lib/userspec.c: Likewise.
1883         * lib/w32spawn.h: Likewise.
1884         * lib/xstrndup.c: Likewise.
1885         * lib/mountlist.c (strstr): Remove decl.
1886         * m4/string_h.m4: New file.
1887         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
1888         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
1889         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
1890         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
1891         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
1892         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
1893         Set REPLACE_STRCASECMP if necessary.
1894         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
1895         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
1896         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
1897         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
1898         HAVE_DECL_STRDUP if necessary.
1899         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
1900         since gl_FUNC_STRNDUP does that now.
1901         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
1902         Check for decl here...
1903         (gl_PREREQ_STRNLEN): ... not here.
1904         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
1905         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
1906         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
1907         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
1908         necessary.
1909         * modules/string: New file.
1910         * modules/memmem (Files): Remove special-purpose include file.
1911         (Depends-on): Add string.
1912         (Include): Include <string.h>, not the removed file.
1913         * modules/mempcpy: Likewise.
1914         * modules/memrchr: Likewise.
1915         * modules/stpcpy: Likewise.
1916         * modules/stpncpy: Likewise.
1917         * modules/strcase: Likewise.
1918         * modules/strchrnul: Likewise.
1919         * modules/strdup: Likewise.
1920         * modules/strndup: Likewise.
1921         * modules/strnlen: Likewise.
1922         * modules/strpbrk: Likewise.
1923         * modules/strsep: Likewise.
1924         * modules/strstr: Likewise.
1925         * modules/strtok_r: Likewise.
1926         * tests/test-dirname.c: Don't include "strdup.h", since
1927         <string.h> now suffices.
1928         * tests/test-memmem.c: Don't include "memmem.h", since
1929         <string.h> now suffices.
1930
1931 2007-01-25  Bruno Haible  <bruno@clisp.org>
1932
1933         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
1934         *resultp is 0.
1935
1936         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
1937         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
1938         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
1939         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
1940
1941         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
1942         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
1943         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
1944         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
1945         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
1946         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
1947
1948 2007-01-24  Bruno Haible  <bruno@clisp.org>
1949
1950         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
1951         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
1952         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
1953         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
1954         gl_FUNC_FTS_CORE.
1955         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
1956         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
1957         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
1958         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
1959         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
1960         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
1961         gl_FUNC_FCHOWNAT.
1962         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
1963         gl_FUNC_STRFTIME.
1964         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
1965         Reported by Ralf Wildenhues.
1966
1967 2007-01-24  Bruno Haible  <bruno@clisp.org>
1968
1969         Drop AC_REQUIRE calls that are redundant with the module dependencies.
1970         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
1971         gl_GETADDRINFO.
1972         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
1973         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
1974         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
1975
1976 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
1977
1978         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
1979         Don't use 'exit'; just return from 'main'.
1980         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
1981
1982         * lib/fnmatch_.h: Readjust white space and comments to match
1983         glibc, to avoid spurious diffs.
1984
1985 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1986
1987         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
1988         2004-12-01 change by Jakub Jelinek, since this code won't compile
1989         if !LIBC.  Problem reported by Bob Proulx.
1990
1991 2007-01-23  Bruno Haible  <bruno@clisp.org>
1992
1993         * lib/striconveh.c: Include c-strcaseeq.h.
1994         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
1995         * modules/striconveh (Depends-on): Add c-strcaseeq.
1996
1997 2007-01-23  Bruno Haible  <bruno@clisp.org>
1998
1999         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
2000
2001         * modules/c-strcaseeq: New file.
2002         * lib/c-strcaseeq.h: New file.
2003
2004         * modules/streq: New file.
2005         * lib/streq.h: New file.
2006
2007 2007-01-23  Bruno Haible  <bruno@clisp.org>
2008
2009         * modules/striconveha-tests: New file.
2010         * tests/test-striconveha.c: New file.
2011
2012         * lib/striconveha.h: Include <stdbool.h>.
2013         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
2014         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
2015         (mem_iconveha_notranslit): Renamed from mem_iconveha.
2016         (mem_iconveha): New function.
2017         (str_iconveha_notranslit): Renamed from str_iconveha.
2018         (str_iconveha): New function.
2019         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
2020         c-strcase.
2021
2022 2007-01-23  Bruno Haible  <bruno@clisp.org>
2023
2024         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
2025         encodings without forgiving before trying any encoding with handler.
2026         (str_iconveha): Try all encodings without forgiving before trying any
2027         encoding with handler.
2028
2029 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2030
2031         Import the following changes from libc.
2032
2033         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
2034
2035         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
2036
2037         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
2038
2039         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
2040         normal_bracket label.
2041
2042         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
2043
2044         [BZ #361]
2045         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
2046         to normal_bracket after fetching the next character.
2047
2048 2007-01-22  Bruno Haible  <bruno@clisp.org>
2049
2050         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
2051         argument.
2052         * lib/striconveh.c (iconv_carefully_1): New function.
2053         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
2054         argument.
2055         (str_cd_iconveh): Update.
2056         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
2057         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
2058         * tests/test-striconveh.c (MAGIC): New macro.
2059         (new_offsets): New function.
2060         (main): Test call with and without offsets.
2061
2062 2007-01-22  Bruno Haible  <bruno@clisp.org>
2063
2064         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
2065         * modules/sys_select (Makefile.am): Likewise.
2066         * modules/sys_socket (Makefile.am): Likewise.
2067         * modules/sys_time (Makefile.am): Likewise.
2068
2069 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
2070
2071         * modules/gettimeofday (License): Change from GPL to LGPL, since
2072         gettimeofday is a library function.
2073
2074 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2075
2076         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
2077
2078 2007-01-21  Bruno Haible  <bruno@clisp.org>
2079
2080         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
2081
2082 2007-01-21  Bruno Haible  <bruno@clisp.org>
2083
2084         * modules/striconveha: New file.
2085         * lib/striconveha.h: New file.
2086         * lib/striconveha.c: New file.
2087         * MODULES.html.sh (Internationalization functions): Add striconveha.
2088         * lib/striconv.c (str_iconv): Optimize the case of an empty input
2089         string.
2090         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
2091
2092 2007-01-21  Bruno Haible  <bruno@clisp.org>
2093
2094         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
2095         * lib/striconveh.c (str_iconveh): Likewise.
2096
2097 2007-01-21  Bruno Haible  <bruno@clisp.org>
2098
2099         * lib/striconveh.h (mem_iconveh): New declaration.
2100         * lib/striconveh.c (mem_iconveh): New function.
2101         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
2102
2103 2007-01-21  Bruno Haible  <bruno@clisp.org>
2104
2105         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
2106
2107         * lib/striconveh.h (mem_cd_iconveh): Change specification.
2108         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
2109         original result buffer.
2110         (str_cd_iconveh): Update.
2111         * tests/test-striconveh.c (main): Update.
2112
2113         * lib/striconv.h (mem_cd_iconv): Change specification.
2114         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
2115         result buffer.
2116         (str_cd_iconv): Update.
2117         * tests/test-striconv.c (main): Update.
2118
2119 2007-01-21  Bruno Haible  <bruno@clisp.org>
2120
2121         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
2122
2123 2007-01-20  Jim Meyering  <jim@meyering.net>
2124
2125         * lib/userspec.c (parse_with_separator): If a user or group string
2126         starts with "+", skip the corresponding name-to-ID look-up, since
2127         such a look-up must fail: user and group names may not include "+".
2128
2129 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
2130
2131         * lib/poll.c: Include sys/time.h and time.h unconditionally,
2132         since we now assume the sys_time module.
2133         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
2134         check for sys/time.h; no longer needed.
2135         * modules/poll (Depends-on): Depend on sys_time.
2136
2137 2007-01-18  Bruno Haible  <bruno@clisp.org>
2138
2139         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
2140         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
2141
2142         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
2143         gettimeofday.
2144
2145         * tests/test-gettimeofday.c: Include <time.h>.
2146         (dummy): Remove variable.
2147
2148         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
2149         gl_HEADER_SYS_TIME_H.
2150         (gl_HEADER_SYS_TIME_H): New macro.
2151
2152         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
2153         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2154         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
2155         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
2156         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2157         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
2158         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
2159         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2160         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
2161         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
2162         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2163
2164         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
2165         last change; it caused a compilation error when cross-compiling to
2166         Cygwin.
2167
2168 2007-01-18  Jim Meyering  <jim@meyering.net>
2169
2170         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
2171         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
2172         than the race-prone "test -d sys || mkdir sys".
2173         (configure.ac): Use AC_PROG_MKDIR_P.
2174         * modules/sys_select: Likewise.
2175         * modules/sys_socket: Likewise.
2176         * modules/sys_time: Likewise.
2177
2178 2007-01-18  Eric Blake  <ebb9@byu.net>
2179
2180         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
2181         replace gettimeofday.
2182         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
2183         name, to avoid infinite recursion.
2184
2185 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
2186
2187         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
2188         module sys_time.
2189         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
2190         assume timespec.h defines struct timeval.
2191         * lib/settime.c: Likewise.
2192         * lib/utimens.c: Likewise.
2193         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
2194         since we now assume the gettimeofday module.
2195         * lib/tempname.c (__gen_tempname): Likewise.
2196         * lib/gettimeofday.h: Remove.
2197         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
2198         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
2199         Include <time.h>, for 'time()'.
2200         (localtime_buffer_addr): Also use this workaround if
2201         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
2202         to simplify the uses.  All uses changed.
2203         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
2204         that #undef is inside {}, and 'const' follows type name consistently.
2205         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
2206         (gettimeofday): Do not use the maximum possible value for
2207         tv->tv_usec, since that might break usages other than ls.c.
2208         Instead, we'll leave ls.c alone.  This undoes today's patch
2209         by Bruno.  Add a compile-time warning for 1s-clock resolution;
2210         we've never observed the problem but might as well keep the
2211         canary.
2212         * lib/nanosleep.c: Include timespec.h first, for interface check.
2213         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
2214         now assume the sys_time module.
2215         * lib/tempname.c: Likewise.
2216         * lib/timespec.h: Likewise.
2217         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
2218         needed.
2219         * lib/strftime.c: Likewise.
2220         * lib/timespec.h: Likewise.
2221         * lib/posixtm.c: Include posixtm.h first, for interface check.
2222         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
2223         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
2224         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
2225         * lib/sys_time_.h: New file.
2226         * lib/timespec.h (struct timespec): Use long int, not long.
2227         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
2228         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
2229         Remove obsolescent call to AC_HEADER_TIME.
2230         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
2231         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
2232         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
2233         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
2234         Likewise.
2235         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
2236         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
2237         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
2238         into the sys_time module.  Check for gettimeofday just once.
2239         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
2240         for gettimeofday signature to just check the signature.  Merely
2241         compile it, since linking doesn't test signature.  Improve test for
2242         whether gettimeofday.o is actually needed.
2243         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
2244         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
2245         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
2246         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2247         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
2248         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
2249         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
2250         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
2251         than worrying about sys/time.h.
2252         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
2253         Don't bother worrying about TIME_WITH_SYS_TIME.
2254         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
2255         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
2256         * m4/sys_time_h.m4: New file.
2257         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
2258         Don't include sys/time.h.  Return from main rather than exiting.
2259         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
2260         all uses changed.
2261         * modules/gethrxtime (Depends-on): Add sys_time.
2262         * modules/gettime (Depends-on): Likewise.
2263         * modules/gettimeofday (Depends-on): Likewise.
2264         * modules/nanosleep (Depends-on): Likewise.
2265         * modules/settime (Depends-on): Likewise.
2266         * modules/tempname (Depends-on): Likewise.
2267         * modules/utimens (Depends-on): Likewise.
2268         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
2269         (Include:) Change back to <sys/time.h>.
2270         (Maintainer:) Add self.
2271         * modules/sys_time: New file.
2272         * modules/tempname (Depends-on): Add gettimeofday.
2273         * tests/test-gettimeofday.c: Include <sys/time.h>
2274         rather than gettimeofday.h.
2275
2276 2007-01-17  Bruno Haible  <bruno@clisp.org>
2277
2278         * gnulib-tool (func_get_license): Revert last patch. Instead, let
2279         the license default to GPL.
2280         (func_create_testdir): Don't complain if a module is LGPL and its
2281         tests module depends on GPLed modules.
2282
2283 2007-01-17  Bruno Haible  <bruno@clisp.org>
2284
2285         * lib/gettimeofday.c (gettimeofday): Add code for the case
2286         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
2287         maximum possible value for tv->tv_usec, rather than the minimum one.
2288
2289 2005-10-08  Martin Lambers  <marlam@marlam.de>
2290 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2291 2007-01-16  Bruno Haible  <bruno@clisp.org>
2292
2293         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
2294         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
2295         gl_FUNC_GETTIMEOFDAY.
2296         (Include): Add gettimeofday.h.
2297         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
2298         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
2299         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
2300         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
2301         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
2302         * lib/gettimeofday.h: New file.
2303         * lib/gettimeofday.c: Include <sys/timeb.h>.
2304         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
2305         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2306         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
2307         fall back on time().
2308
2309         * tests/test-gettimeofday.c: New file.
2310         * modules/gettimeofday-tests: New file.
2311
2312 2007-01-16  Eric Blake  <ebb9@byu.net>
2313
2314         * modules/fnmatch (Depends-on): Depend on wchar.
2315         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
2316         * m4/fnmatch.m4: Likewise.
2317         * modules/mbchar (Makefile.am): Assume <wchar.h>.
2318         * m4/mbchar.m4: Likewise.
2319         * modules/mbswidth (Depends-on): Depend on wchar.
2320         * lib/mbswidth.c: Assume <wchar.h>.
2321         * m4/mbswidth.m4: Likewise.
2322         * modules/quotearg (Depends-on): Depend on wchar.
2323         * lib/quotearg.c: Assume <wchar.h>.
2324         * m4/quotearg.m4: Likewise.
2325         * modules/regex (Depends-on): Depend on wchar.
2326         * lib/regex_internal.h: Assume <wchar.h>.
2327         * m4/regex.m4: Likewise.
2328         * modules/stdint (Depends-on): Depend on wchar.
2329         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
2330         * m4/stdint.m4: Likewise.
2331         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
2332         * modules/strftime (Depends-on): Depend on wchar.
2333         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
2334         * modules/strtol (Depends-on): Depend on wchar.
2335         * lib/strtol.c: Assume <wchar.h>.
2336         * modules/wcwidth (Depends-on): Depend on wchar.
2337         * lib/wcwidth.h: Assume <wchar.h>.
2338         * m4/wcwidth.m4: Likewise.
2339
2340 2007-01-16  Bruno Haible  <bruno@clisp.org>
2341
2342         * modules/csharpexec-script: New, created from...
2343         * modules/csharpexec: ... this.
2344
2345 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
2346
2347         * modules/javaexec-script: New, created from...
2348         * modules/javaexec: ... this.
2349
2350 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2351
2352         * modules/poll (Dependencies): Add sys_select.
2353
2354 2007-01-15  Jim Meyering  <jim@meyering.net>
2355
2356         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
2357         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
2358         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
2359         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
2360
2361 2007-01-15  Bruno Haible  <bruno@clisp.org>
2362
2363         * modules/striconveh: New file.
2364         * lib/striconveh.h: New file.
2365         * lib/striconveh.c: New file.
2366         * MODULES.html.sh (Internationalization functions): Add striconveh.
2367
2368         * modules/striconveh-tests: New file.
2369         * tests/test-striconveh.c: New file.
2370
2371 2007-01-15  Bruno Haible  <bruno@clisp.org>
2372
2373         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
2374         not from GNU libiconv or GNU libc.
2375
2376 2007-01-15  Bruno Haible  <bruno@clisp.org>
2377
2378         * doc/gnulib-intro.texi (Copyright): Explain the different license
2379         terms for module descriptions, autoconf macros, tests, documentation.
2380
2381 2007-01-14  Bruno Haible  <bruno@clisp.org>
2382
2383         * modules/striconv-tests: New file.
2384         * tests/test-striconv.c: New file.
2385
2386 2007-01-14  Bruno Haible  <bruno@clisp.org>
2387
2388         * modules/iconv-tests: New file.
2389         * tests/test-iconv.c: New file.
2390
2391 2007-01-14  Bruno Haible  <bruno@clisp.org>
2392
2393         * gnulib-tool (func_get_license): For test modules, use the license of
2394         the main module.
2395
2396 2007-01-14  Bruno Haible  <bruno@clisp.org>
2397
2398         * modules/iconv (Include): Clarify that <iconv.h> can only be included
2399         if iconv is found to exist.
2400
2401 2007-01-14  Bruno Haible  <bruno@clisp.org>
2402
2403         * modules/c-ctype-tests: New file.
2404         * tests/test-c-ctype.c: New file.
2405
2406 2007-01-14  Bruno Haible  <bruno@clisp.org>
2407
2408         * modules/binary-io-tests: New file.
2409         * tests/test-binary-io.sh: New file.
2410         * tests/test-binary-io.c: New file.
2411
2412 2007-01-14  Bruno Haible  <bruno@clisp.org>
2413
2414         * modules/array-oset-tests: New file.
2415         * tests/test-array_oset.c: New file.
2416
2417 2007-01-14  Bruno Haible  <bruno@clisp.org>
2418
2419         * modules/array-list-tests: New file.
2420         * tests/test-array_list.c: New file.
2421
2422 2007-01-14  Bruno Haible  <bruno@clisp.org>
2423
2424         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
2425         and make.
2426         Reported by Simon Josefsson in
2427         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
2428
2429 2007-01-14  Bruno Haible  <bruno@clisp.org>
2430
2431         * modules/allocsa-tests: New file.
2432         * tests/test-allocsa.c: New file.
2433
2434 2007-01-14  Bruno Haible  <bruno@clisp.org>
2435
2436         * modules/fchdir (Depends-on): Add absolute-header.
2437         * modules/unistd (Depends-on): Likewise.
2438
2439 2006-12-30  Bruno Haible  <bruno@clisp.org>
2440
2441         * modules/fchdir: New file.
2442         * modules/unistd (Files): Add lib/unistd_.h.
2443         (Makefile.am): Generate unistd.h from unistd_.h.
2444         * lib/fchdir.c: New file.
2445         * lib/dirent_.h: New file.
2446         * lib/unistd_.h: New file.
2447         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
2448         * m4/fchdir.m4: New file.
2449         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
2450         (gl_HEADER_UNISTD): Invoke it.
2451         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
2452         function.
2453         * lib/backupfile.c (opendir, closedir): Undefine.
2454         * lib/chown.c (open, close): Undefine.
2455         * lib/clean-temp.c (open, close): Undefine.
2456         * lib/copy-file.c (open, close): Undefine.
2457         * lib/execute.c (open, close): Undefine.
2458         * lib/fsusage.c (open, close): Undefine.
2459         * lib/gc-gnulib.c (open, close): Undefine.
2460         * lib/getcwd.c (opendir, closedir): Undefine.
2461         * lib/glob.c (opendir, closedir): Undefine.
2462         * lib/javacomp.c (open, close): Undefine.
2463         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
2464         * lib/openat-proc.c (open, close): Undefine.
2465         * lib/pagealign_alloc.c (open, close): Undefine.
2466         * lib/pipe.c (open, close): Undefine.
2467         * lib/progreloc.c (open, close): Undefine.
2468         * lib/savedir.c (opendir, closedir): Undefine.
2469         * lib/utime.c (open, close): Undefine.
2470         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
2471
2472 2007-01-10  Bruno Haible  <bruno@clisp.org>
2473
2474         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
2475
2476 2007-01-12  Eric Blake  <ebb9@byu.net>
2477
2478         Provide a robust <wchar.h>.  Further simplifications are now
2479         possible in other modules, but not included here.
2480         * modules/wchar: New module.
2481         * m4/wchar.m4: New file.
2482         * lib/wchar_.h: Likewise.
2483         * modules/mbchar (Depends-on): Depend on wchar, as the first use
2484         of the new module.
2485         * MODULES.html.sh (Extended multibyte and wide character utilities):
2486         New section.
2487
2488 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
2489
2490         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
2491         to a reasonable default for memory allocation.
2492         (xreadlink): Don't allocate a huge buffer, to work around a buggy
2493         file system that reports garbage st_size values for symlinks.
2494         Problem reported by Liyang Hu.
2495
2496 2007-01-11  Simon Josefsson  <simon@josefsson.org>
2497
2498         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
2499         Emacs .#* auto-save files).
2500
2501 2007-01-11  Bruno Haible  <bruno@clisp.org>
2502
2503         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
2504         directory.
2505
2506 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
2507
2508         Use @...@ consistently in lib/wctype_.h.
2509         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
2510         on it being set to 1 or 0.
2511         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
2512         go back to AC_SUBSTing it.
2513         * modules/wctype (Makefile.am): Undo previous change.
2514
2515 2007-01-10  Eric Blake  <ebb9@byu.net>
2516
2517         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
2518         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
2519         * modules/wctype (Makefile.am): Likewise.
2520         Reported by Chris McGuire.
2521
2522 2007-01-10  Jim Meyering  <jim@meyering.net>
2523
2524         fts.c: a small readability/maintainability improvement
2525         * lib/fts.c (fts_read): Make this code slightly more readable and
2526         maintainable by hoisting the "sp->fts_cur = p" assignments to
2527         immediately follow the statements that set P.  Derived from
2528         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
2529
2530 2007-01-10  Eric Blake  <ebb9@byu.net>
2531
2532         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
2533         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
2534         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
2535         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
2536         Reported by Chris McGuire.
2537
2538 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2539
2540         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
2541         in sed script.
2542
2543 2007-01-09  Bruno Haible  <bruno@clisp.org>
2544
2545         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
2546         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
2547         variables.
2548         (func_module): Use them.
2549
2550 2007-01-09  Bruno Haible  <bruno@clisp.org>
2551
2552         * modules/unistr/base: New file.
2553         * lib/unistr.h: New file.
2554
2555         * modules/unistr/u8-to-u16: New file.
2556         * lib/unistr/u8-to-u16.c: New file.
2557
2558         * modules/unistr/u8-to-u32: New file.
2559         * lib/unistr/u8-to-u32.c: New file.
2560
2561         * modules/unistr/u16-to-u8: New file.
2562         * lib/unistr/u16-to-u8.c: New file.
2563
2564         * modules/unistr/u16-to-u32: New file.
2565         * lib/unistr/u16-to-u32.c: New file.
2566
2567         * modules/unistr/u32-to-u8: New file.
2568         * lib/unistr/u32-to-u8.c: New file.
2569
2570         * modules/unistr/u32-to-u16: New file.
2571         * lib/unistr/u32-to-u16.c: New file.
2572
2573         * modules/unistr/u8-check: New file.
2574         * modules/unistr/u16-check: New file.
2575         * modules/unistr/u32-check: New file.
2576         * lib/unistr/u8-check.c: New file.
2577         * lib/unistr/u16-check.c: New file.
2578         * lib/unistr/u32-check.c: New file.
2579
2580         * modules/unistr/u8-chr: New file.
2581         * modules/unistr/u16-chr: New file.
2582         * modules/unistr/u32-chr: New file.
2583         * lib/unistr/u8-chr.c: New file.
2584         * lib/unistr/u16-chr.c: New file.
2585         * lib/unistr/u32-chr.c: New file.
2586
2587         * modules/unistr/u8-cmp: New file.
2588         * modules/unistr/u16-cmp: New file.
2589         * modules/unistr/u32-cmp: New file.
2590         * lib/unistr/u8-cmp.c: New file.
2591         * lib/unistr/u16-cmp.c: New file.
2592         * lib/unistr/u32-cmp.c: New file.
2593
2594         * modules/unistr/u8-cpy: New file.
2595         * modules/unistr/u16-cpy: New file.
2596         * modules/unistr/u32-cpy: New file.
2597         * lib/unistr/u8-cpy.c: New file.
2598         * lib/unistr/u16-cpy.c: New file.
2599         * lib/unistr/u32-cpy.c: New file.
2600         * lib/unistr/u-cpy.h: New file.
2601
2602         * modules/unistr/u8-cpy-alloc: New file.
2603         * modules/unistr/u16-cpy-alloc: New file.
2604         * modules/unistr/u32-cpy-alloc: New file.
2605         * lib/unistr/u8-cpy-alloc.c: New file.
2606         * lib/unistr/u16-cpy-alloc.c: New file.
2607         * lib/unistr/u32-cpy-alloc.c: New file.
2608         * lib/unistr/u-cpy-alloc.h: New file.
2609
2610         * modules/unistr/u8-endswith: New file.
2611         * modules/unistr/u16-endswith: New file.
2612         * modules/unistr/u32-endswith: New file.
2613         * lib/unistr/u8-endswith.c: New file.
2614         * lib/unistr/u16-endswith.c: New file.
2615         * lib/unistr/u32-endswith.c: New file.
2616         * lib/unistr/u-endswith.h: New file.
2617
2618         * modules/unistr/u8-mblen: New file.
2619         * modules/unistr/u16-mblen: New file.
2620         * modules/unistr/u32-mblen: New file.
2621         * lib/unistr/u8-mblen.c: New file.
2622         * lib/unistr/u16-mblen.c: New file.
2623         * lib/unistr/u32-mblen.c: New file.
2624
2625         * modules/unistr/u8-mbtouc: New file.
2626         * modules/unistr/u16-mbtouc: New file.
2627         * modules/unistr/u32-mbtouc: New file.
2628         * lib/unistr/u8-mbtouc.c: New file.
2629         * lib/unistr/u16-mbtouc.c: New file.
2630         * lib/unistr/u32-mbtouc.c: New file.
2631
2632         * modules/unistr/u8-mbtouc-safe: New file.
2633         * modules/unistr/u16-mbtouc-safe: New file.
2634         * modules/unistr/u32-mbtouc-safe: New file.
2635         * lib/unistr/u8-mbtouc-safe.c: New file.
2636         * lib/unistr/u16-mbtouc-safe.c: New file.
2637         * lib/unistr/u32-mbtouc-safe.c: New file.
2638
2639         * modules/unistr/u8-move: New file.
2640         * modules/unistr/u16-move: New file.
2641         * modules/unistr/u32-move: New file.
2642         * lib/unistr/u8-move.c: New file.
2643         * lib/unistr/u16-move.c: New file.
2644         * lib/unistr/u32-move.c: New file.
2645         * lib/unistr/u-move.h: New file.
2646
2647         * modules/unistr/u8-next: New file.
2648         * modules/unistr/u16-next: New file.
2649         * modules/unistr/u32-next: New file.
2650         * lib/unistr/u8-next.c: New file.
2651         * lib/unistr/u16-next.c: New file.
2652         * lib/unistr/u32-next.c: New file.
2653
2654         * modules/unistr/u8-prev: New file.
2655         * modules/unistr/u16-prev: New file.
2656         * modules/unistr/u32-prev: New file.
2657         * lib/unistr/u8-prev.c: New file.
2658         * lib/unistr/u16-prev.c: New file.
2659         * lib/unistr/u32-prev.c: New file.
2660
2661         * modules/unistr/u8-set: New file.
2662         * modules/unistr/u16-set: New file.
2663         * modules/unistr/u32-set: New file.
2664         * lib/unistr/u8-set.c: New file.
2665         * lib/unistr/u16-set.c: New file.
2666         * lib/unistr/u32-set.c: New file.
2667         * lib/unistr/u-set.h: New file.
2668
2669         * modules/unistr/u8-startswith: New file.
2670         * modules/unistr/u16-startswith: New file.
2671         * modules/unistr/u32-startswith: New file.
2672         * lib/unistr/u8-startswith.c: New file.
2673         * lib/unistr/u16-startswith.c: New file.
2674         * lib/unistr/u32-startswith.c: New file.
2675         * lib/unistr/u-startswith.h: New file.
2676
2677         * modules/unistr/u8-stpcpy: New file.
2678         * modules/unistr/u16-stpcpy: New file.
2679         * modules/unistr/u32-stpcpy: New file.
2680         * lib/unistr/u8-stpcpy.c: New file.
2681         * lib/unistr/u16-stpcpy.c: New file.
2682         * lib/unistr/u32-stpcpy.c: New file.
2683         * lib/unistr/u-stpcpy.h: New file.
2684
2685         * modules/unistr/u8-stpncpy: New file.
2686         * modules/unistr/u16-stpncpy: New file.
2687         * modules/unistr/u32-stpncpy: New file.
2688         * lib/unistr/u8-stpncpy.c: New file.
2689         * lib/unistr/u16-stpncpy.c: New file.
2690         * lib/unistr/u32-stpncpy.c: New file.
2691         * lib/unistr/u-stpncpy.h: New file.
2692
2693         * modules/unistr/u8-strcat: New file.
2694         * modules/unistr/u16-strcat: New file.
2695         * modules/unistr/u32-strcat: New file.
2696         * lib/unistr/u8-strcat.c: New file.
2697         * lib/unistr/u16-strcat.c: New file.
2698         * lib/unistr/u32-strcat.c: New file.
2699         * lib/unistr/u-strcat.h: New file.
2700
2701         * modules/unistr/u8-strchr: New file.
2702         * modules/unistr/u16-strchr: New file.
2703         * modules/unistr/u32-strchr: New file.
2704         * lib/unistr/u8-strchr.c: New file.
2705         * lib/unistr/u16-strchr.c: New file.
2706         * lib/unistr/u32-strchr.c: New file.
2707
2708         * modules/unistr/u8-strcmp: New file.
2709         * modules/unistr/u16-strcmp: New file.
2710         * modules/unistr/u32-strcmp: New file.
2711         * lib/unistr/u8-strcmp.c: New file.
2712         * lib/unistr/u16-strcmp.c: New file.
2713         * lib/unistr/u32-strcmp.c: New file.
2714
2715         * modules/unistr/u8-strcpy: New file.
2716         * modules/unistr/u16-strcpy: New file.
2717         * modules/unistr/u32-strcpy: New file.
2718         * lib/unistr/u8-strcpy.c: New file.
2719         * lib/unistr/u16-strcpy.c: New file.
2720         * lib/unistr/u32-strcpy.c: New file.
2721         * lib/unistr/u-strcpy.h: New file.
2722
2723         * modules/unistr/u8-strcspn: New file.
2724         * modules/unistr/u16-strcspn: New file.
2725         * modules/unistr/u32-strcspn: New file.
2726         * lib/unistr/u8-strcspn.c: New file.
2727         * lib/unistr/u16-strcspn.c: New file.
2728         * lib/unistr/u32-strcspn.c: New file.
2729         * lib/unistr/u-strcspn.h: New file.
2730
2731         * modules/unistr/u8-strdup: New file.
2732         * modules/unistr/u16-strdup: New file.
2733         * modules/unistr/u32-strdup: New file.
2734         * lib/unistr/u8-strdup.c: New file.
2735         * lib/unistr/u16-strdup.c: New file.
2736         * lib/unistr/u32-strdup.c: New file.
2737         * lib/unistr/u-strdup.h: New file.
2738
2739         * modules/unistr/u8-strlen: New file.
2740         * modules/unistr/u16-strlen: New file.
2741         * modules/unistr/u32-strlen: New file.
2742         * lib/unistr/u8-strlen.c: New file.
2743         * lib/unistr/u16-strlen.c: New file.
2744         * lib/unistr/u32-strlen.c: New file.
2745         * lib/unistr/u-strlen.h: New file.
2746
2747         * modules/unistr/u8-strmblen: New file.
2748         * modules/unistr/u16-strmblen: New file.
2749         * modules/unistr/u32-strmblen: New file.
2750         * lib/unistr/u8-strmblen.c: New file.
2751         * lib/unistr/u16-strmblen.c: New file.
2752         * lib/unistr/u32-strmblen.c: New file.
2753
2754         * modules/unistr/u8-strmbtouc: New file.
2755         * modules/unistr/u16-strmbtouc: New file.
2756         * modules/unistr/u32-strmbtouc: New file.
2757         * lib/unistr/u8-strmbtouc.c: New file.
2758         * lib/unistr/u16-strmbtouc.c: New file.
2759         * lib/unistr/u32-strmbtouc.c: New file.
2760
2761         * modules/unistr/u8-strncat: New file.
2762         * modules/unistr/u16-strncat: New file.
2763         * modules/unistr/u32-strncat: New file.
2764         * lib/unistr/u8-strncat.c: New file.
2765         * lib/unistr/u16-strncat.c: New file.
2766         * lib/unistr/u32-strncat.c: New file.
2767         * lib/unistr/u-strncat.h: New file.
2768
2769         * modules/unistr/u8-strncmp: New file.
2770         * modules/unistr/u16-strncmp: New file.
2771         * modules/unistr/u32-strncmp: New file.
2772         * lib/unistr/u8-strncmp.c: New file.
2773         * lib/unistr/u16-strncmp.c: New file.
2774         * lib/unistr/u32-strncmp.c: New file.
2775
2776         * modules/unistr/u8-strncpy: New file.
2777         * modules/unistr/u16-strncpy: New file.
2778         * modules/unistr/u32-strncpy: New file.
2779         * lib/unistr/u8-strncpy.c: New file.
2780         * lib/unistr/u16-strncpy.c: New file.
2781         * lib/unistr/u32-strncpy.c: New file.
2782         * lib/unistr/u-strncpy.h: New file.
2783
2784         * modules/unistr/u8-strnlen: New file.
2785         * modules/unistr/u16-strnlen: New file.
2786         * modules/unistr/u32-strnlen: New file.
2787         * lib/unistr/u8-strnlen.c: New file.
2788         * lib/unistr/u16-strnlen.c: New file.
2789         * lib/unistr/u32-strnlen.c: New file.
2790         * lib/unistr/u-strnlen.h: New file.
2791
2792         * modules/unistr/u8-strpbrk: New file.
2793         * modules/unistr/u16-strpbrk: New file.
2794         * modules/unistr/u32-strpbrk: New file.
2795         * lib/unistr/u8-strpbrk.c: New file.
2796         * lib/unistr/u16-strpbrk.c: New file.
2797         * lib/unistr/u32-strpbrk.c: New file.
2798         * lib/unistr/u-strpbrk.h: New file.
2799
2800         * modules/unistr/u8-strrchr: New file.
2801         * modules/unistr/u16-strrchr: New file.
2802         * modules/unistr/u32-strrchr: New file.
2803         * lib/unistr/u8-strrchr.c: New file.
2804         * lib/unistr/u16-strrchr.c: New file.
2805         * lib/unistr/u32-strrchr.c: New file.
2806
2807         * modules/unistr/u8-strspn: New file.
2808         * modules/unistr/u16-strspn: New file.
2809         * modules/unistr/u32-strspn: New file.
2810         * lib/unistr/u8-strspn.c: New file.
2811         * lib/unistr/u16-strspn.c: New file.
2812         * lib/unistr/u32-strspn.c: New file.
2813         * lib/unistr/u-strspn.h: New file.
2814
2815         * modules/unistr/u8-strstr: New file.
2816         * modules/unistr/u16-strstr: New file.
2817         * modules/unistr/u32-strstr: New file.
2818         * lib/unistr/u8-strstr.c: New file.
2819         * lib/unistr/u16-strstr.c: New file.
2820         * lib/unistr/u32-strstr.c: New file.
2821         * lib/unistr/u-strstr.h: New file.
2822
2823         * modules/unistr/u8-strtok: New file.
2824         * modules/unistr/u16-strtok: New file.
2825         * modules/unistr/u32-strtok: New file.
2826         * lib/unistr/u8-strtok.c: New file.
2827         * lib/unistr/u16-strtok.c: New file.
2828         * lib/unistr/u32-strtok.c: New file.
2829         * lib/unistr/u-strtok.h: New file.
2830
2831         * modules/unistr/u8-uctomb: New file.
2832         * modules/unistr/u16-uctomb: New file.
2833         * modules/unistr/u32-uctomb: New file.
2834         * lib/unistr/u8-uctomb.c: New file.
2835         * lib/unistr/u16-uctomb.c: New file.
2836         * lib/unistr/u32-uctomb.c: New file.
2837
2838         * MODULES.html.sh (Unicode string functions): Add the new modules.
2839
2840 2007-01-08  Bruno Haible  <bruno@clisp.org>
2841
2842         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
2843         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
2844         subdirectories.
2845
2846 2007-01-08  Karl Berry  <karl@gnu.org>
2847
2848         * doc/error.texi: mention that main() fns must set program_name
2849         when progname is used.
2850
2851 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
2852
2853         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
2854         WCTYPE_H is empty, for the benefit of builds from non-distclean
2855         directories.  Problem reported by Eric Blake in
2856         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
2857
2858 2007-01-08  Bruno Haible  <bruno@clisp.org>
2859
2860         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
2861         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
2862         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
2863         PROVIDE_CANONICALIZE_FILENAME_MODE.
2864         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
2865
2866 2007-01-08  Bruno Haible  <bruno@clisp.org>
2867
2868         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
2869         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
2870         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
2871         * lib/fts.c: Likewise.
2872         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
2873
2874 2006-12-25  Bruno Haible  <bruno@clisp.org>
2875
2876         * modules/utf8-ucs4-safe: New file.
2877         * lib/utf8-ucs4-safe.h: New file.
2878         * lib/unistr/utf8-ucs4-safe.c: New file.
2879
2880         * modules/utf16-ucs4-safe: New file.
2881         * lib/utf16-ucs4-safe.h: New file.
2882         * lib/unistr/utf16-ucs4-safe.c: New file.
2883
2884         * MODULES.html.sh (Unicode string functions): Add the new modules.
2885
2886 2007-01-08  Bruno Haible  <bruno@clisp.org>
2887
2888         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
2889         (Depends-on): Add unitypes.
2890         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
2891         (u8_mbtouc_aux): Move out to separate file.
2892         (u8_mbtouc): Use ucs4_t, uint8_t types.
2893         * lib/unistr/utf8-ucs4.c: New file.
2894
2895         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
2896         (Depends-on): Add unitypes.
2897         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
2898         (u16_mbtouc_aux): Move out to separate file.
2899         (u16_mbtouc): Use ucs4_t, uint16_t types.
2900         * lib/unistr/utf16-ucs4.c: New file.
2901
2902         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
2903         (Depends-on): Add unitypes.
2904         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
2905         (u8_uctomb_aux): Move out to separate file.
2906         (u8_uctomb): Use ucs4_t, uint8_t types.
2907         * lib/unistr/ucs4-utf8.c: New file.
2908
2909         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
2910         (Depends-on): Add unitypes.
2911         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
2912         (u16_uctomb_aux): Move out to separate file.
2913         (u16_uctomb): Use ucs4_t, uint16_t types.
2914         * lib/unistr/ucs4-utf16.c: New file.
2915
2916 2006-12-25  Bruno Haible  <bruno@clisp.org>
2917
2918         * modules/unitypes: New file.
2919         * lib/unitypes.h: New file.
2920         * MODULES.html.sh (func_all_modules): New section "Unicode string
2921         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
2922         this section. Add unitypes.
2923
2924 2007-01-08  Bruno Haible  <bruno@clisp.org>
2925
2926         Avoid variable names that conflict with those from libtool.
2927         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
2928         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
2929         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
2930         library_names_spec to acl_library_names_spec, hardcode_* to
2931         acl_hardcode_*.
2932         Reported by Ralf Wildenhues.
2933
2934 2007-01-08  Bruno Haible  <bruno@clisp.org>
2935
2936         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
2937         definition.
2938         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
2939         definition.
2940         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
2941         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
2942         definition.
2943         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
2944         definition.
2945         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
2946         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
2947         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
2948         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
2949         definition.
2950         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
2951         definition.
2952         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
2953         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
2954         GC_USE_<algorithm>.
2955         * lib/gc-libgcrypt.c: Likewise.
2956         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
2957         * modules/gc-arctwo (configure.ac): Likewise.
2958         * modules/gc-des (configure.ac): Likewise.
2959         * modules/gc-hmac-md5 (configure.ac): Likewise.
2960         * modules/gc-hmac-sha1 (configure.ac): Likewise.
2961         * modules/gc-md2 (configure.ac): Likewise.
2962         * modules/gc-md4 (configure.ac): Likewise.
2963         * modules/gc-md5 (configure.ac): Likewise.
2964         * modules/gc-random (configure.ac): Likewise.
2965         * modules/gc-rijndael (configure.ac): Likewise.
2966         * modules/gc-sha1 (configure.ac): Likewise.
2967
2968 2007-01-08  Bruno Haible  <bruno@clisp.org>
2969
2970         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
2971         macro definition.
2972         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
2973         definition.
2974         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
2975         definition.
2976         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
2977         * modules/fcntl-safer (configure.ac): Likewise.
2978         * modules/fopen-safer (configure.ac): Likewise.
2979         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
2980         GNULIB_FWRITEERROR macro definition.
2981
2982 2007-01-08  Bruno Haible  <bruno@clisp.org>
2983
2984         * m4/gnulib-common.m4: New file.
2985         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
2986         (func_get_filelist): Add m4/gnulib-common.m4.
2987
2988 2007-01-08  Bruno Haible  <bruno@clisp.org>
2989
2990         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
2991         command.
2992
2993 2007-01-08  Jim Meyering  <jim@meyering.net>
2994
2995         Use a more robust test for a "can't happen" condition.
2996         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
2997         narrowed the st_size value.  Presuming the "can't happen" condition
2998         is true, that narrowing could conceivably convert an invalid st_size
2999         value into a valid one.  Instead, use a change based on Matthew
3000         Woehlke's original patch.
3001
3002         Slight readability improvement: use an assert-like macro
3003         in place of literal "abort ()" uses.
3004         * lib/fts.c (fts_assert): Define.
3005         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
3006         Use this macro instead of a bare 'abort'.
3007
3008 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3009
3010         Don't worry about using IRIX 5.3's wctype.h broken definitions;
3011         simply work around them.
3012         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
3013         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
3014         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
3015         declaring.
3016         Don't bother to define as macros, since the standard doesn't require it.
3017         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
3018         longer worry about IRIX 5.3.
3019         (HAVE_WCTYPE_CTMP_BUG): Remove.
3020
3021 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3022
3023         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
3024         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
3025         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
3026         Problems reported by Georg Schwarz for IRIX 5.3.
3027
3028         * gnulib-tool (autoconf_minversion): Take the maximum version number
3029         found, not the minimum.  Problem reported by James Youngman.
3030
3031 2007-01-03  Karl Berry  <karl@gnu.org>
3032
3033         * doc/error.texi: new file, explaining interaction with progname.
3034         * doc/gnulib.texi: include it.  Update copyright.
3035
3036 2007-01-03  Simon Josefsson  <simon@josefsson.org>
3037
3038         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
3039         AC_CANONICAL_HOST, to improve autobuild outputs.
3040
3041 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
3042             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
3043
3044         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
3045         sockets, server sockets, and other file descriptors.  Count errors
3046         to compute the return value.  Reorder the code a bit to be easier
3047         to follow.  Don't set event bits that were not requested (except
3048         POLLERR and POLLHUP).
3049
3050 2007-01-01  Bruno Haible  <bruno@clisp.org>
3051
3052         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
3053
3054 2007-01-03  Jim Meyering  <jim@meyering.net>
3055
3056         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
3057
3058 2007-01-02  Bruno Haible  <bruno@clisp.org>
3059
3060         * modules/settime (Include): Require timespec.h.
3061         * modules/nanosleep (Include): Likewise.
3062
3063 2007-01-01  Bruno Haible  <bruno@clisp.org>
3064
3065         * gnulib-tool (func_emit_copyright_notice): Bump year.
3066         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
3067
3068 2007-01-01  Bruno Haible  <bruno@clisp.org>
3069
3070         Improve support for OpenBSD.
3071         * build-aux/config.rpath (libname_spec): Export.
3072         (library_names_spec): New variable. Export.
3073         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
3074         library_names_spec from the config.rpath output. Locate shared library
3075         through the name pattern in library_names_spec.
3076
3077 2007-01-01  Eric Blake  <ebb9@byu.net>
3078
3079         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
3080
3081 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3082
3083         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
3084         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
3085         assume the C locale, and avoid an "eval" that could cause trouble.
3086         Problem with SORT reported by Bob Proulx.
3087
3088         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
3089         Define.  Trivial patch from Henning Nielsen Lund, originally
3090         sent to bug-grep@gnu.org today.
3091
3092 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
3093
3094         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
3095         struct stat.  Problem reported by Henning Nielsen Lund.
3096         * lib/acl.c: Include acl.h first, to check interface.  Don't
3097         bother to include sys/types.h and sys/stat.h again.
3098
3099 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
3100
3101         Import the following change from libc; problem reported by
3102         Sven Verdoolaege.
3103
3104         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
3105
3106         [BZ #1373]
3107         * lib/argp.h: Remove __NTH for __argp_usage inline function.
3108
3109 2006-12-28  Jim Meyering  <jim@meyering.net>
3110
3111         * build-aux/announce-gen: Do not assume that the package
3112         builds any of tar.gz, tar.bz2, and .xdelta files.
3113         Suggestion from Simon Josefsson.
3114
3115 2006-12-28  Simon Josefsson  <simon@josefsson.org>
3116
3117         * modules/announce-gen: New file.
3118
3119 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
3120
3121         * lib/mbchar.h: Just include <wctype.h>; the wctype module
3122         handles its gotchas now.
3123         * lib/mbswidth.c: Likewise.
3124         * lib/wcwidth.h: Likewise.
3125         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
3126         and iswcntrl; the wctype module does this stuff now.
3127         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
3128         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
3129         * modules/mbchar (Depends-on): Add wctype.
3130         * modules/mbswidth (Depends-on): Likewise.
3131         * modules/wcwidth (Depends-on): Likewise.
3132
3133 2006-12-27  Eric Blake  <ebb9@byu.net>
3134
3135         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
3136         module uses more than what <wctype.h> is required to provide.
3137
3138 2006-12-26  Eric Blake  <ebb9@byu.net>
3139
3140         * gnulib-tool (sed_extract_prog): Avoid space-tab.
3141
3142 2006-12-26  Eric Blake  <ebb9@byu.net>
3143
3144         * modules/absolute-header: New module.
3145         * modules/fcntl (Depends-on): Depend on it.
3146         * modules/inttypes (Depends-on): Likewise.
3147         * modules/stdint (Depends-on): Likewise.
3148         * modules/sys_stat (Depends-on): Likewise.
3149         * modules/wctype (Depends-on): Likewise.
3150         * MODULES.html.sh (Support for building libraries and
3151         executables): Document it.
3152
3153 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3154
3155         * gnulib-tool (SED): Remove, undoing previous change.
3156         The problem was that it broke coreutils on Solaris, because
3157         "sed --posix" leaked into a makefile.
3158         (sed): New alias, if 'alias' and GNU sed.
3159
3160 2006-12-24  Jim Meyering  <jim@meyering.net>
3161
3162         Work around an fchownat bug in glibc-2.4:
3163         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
3164         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
3165         in spite of the -P option.
3166         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
3167         New macros.
3168         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
3169         * modules/openat (Files): Add lib/fchownat.c.
3170         * lib/openat.c (fchownat): Don't define here.  Move to...
3171         * lib/fchownat.c: ...this new file.
3172
3173 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
3174
3175         Fix bug reported by Bruno Haible in
3176         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
3177         where quotearg.c didn't compile on Mac OS X 10.2 because it
3178         lacks <wchar.h> and wint_t.
3179         * lib/wctype_.h (__wctype_wint_t): New type.
3180         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
3181         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
3182         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
3183         Arg is now of type __wctype_wint_t, not wint_t.
3184         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
3185         substitute HAVE_WINT_T.
3186         * modules/wctype (Files): Add m4/wint_t.m4.
3187         (wctype.h): Substitute HAVE_WINT_T.
3188
3189 2006-12-23  Bruno Haible  <bruno@clisp.org>
3190
3191         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
3192
3193 2006-12-23  Bruno Haible  <bruno@clisp.org>
3194
3195         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
3196         S_ISLNK.
3197         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
3198         mingw.
3199
3200 2006-12-22  Bruno Haible  <bruno@clisp.org>
3201
3202         * lib/copy-file.c: Include acl.h.
3203         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
3204         Close the file descriptors only after being done with copy_acl.
3205         * modules/copy-file (Depends-on): Add acl.
3206
3207 2006-12-22  Bruno Haible  <bruno@clisp.org>
3208
3209         * gnulib-tool (SED): New variable.
3210         Use $SED instead of sed everywhere.
3211
3212 2006-12-22  Bruno Haible  <bruno@clisp.org>
3213
3214         * modules/no-c++: New file.
3215         * m4/no-c++.m4: New file.
3216         * MODULES.html.sh (Support for building libraries and executables):
3217         Add no-c++.
3218
3219 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
3220
3221         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
3222         Include <limits.h>, and use its INT_MAX to rewrite the
3223         j loop so that it does not overflow 'int'.  Problem reported by
3224         Ralf Wildenhues in
3225         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
3226         Play it safe by shifting left by 1 rather than multiplying by 2,
3227         as GCC is less likely to optimize this away when the value
3228         is signed (when it assumes overflow leads to undefined behavior).
3229         Also, don't assume time_t uses two's complement.
3230
3231 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3232
3233         * MODULES.html.sh: New module wctype.
3234         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
3235         * lib/fnmatch.c: Don't bother to include <wchar.h> before
3236         <wctype.h>, since the new wctype module should fix this.
3237         * lib/quotearg.c: Include <wctype.h> unconditionally, since
3238         the wctype module should arrange for it.
3239         * lib/regex_internal.h: Likewise.
3240         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
3241         since the wctype module should handle this now.
3242         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
3243         * modules/fnmatch (Depends-on): Add wctype.
3244         * modules/quotearg (Depends-on): Likewise.
3245         * modules/regex (Depends-on): Likewise.
3246
3247 2006-12-19  Bruno Haible  <bruno@clisp.org>
3248
3249         * lib/strdup.h [C++]: Wrap definitions in extern "C".
3250         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
3251
3252 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3253
3254         * modules/savewd (Depends-on): Fix dependency on fcntl.
3255
3256 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3257
3258         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
3259         conforms to C99, rather than relying on the user's environment
3260         setting of STDINT_H.
3261
3262 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3263         and Eric Blake  <ebb9@byu.net>
3264
3265         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
3266         This is more consistent with the other defines here.
3267         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
3268         Port to z/OS.  Problem reported by Paul Gilmartin.
3269         Change local vars to use gl_ prefix rather than ac_.
3270         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
3271         with other defines.
3272         * modules/double-slash-root: New module.
3273         * modules/dirname (Files): Remove m4/double-slash-root.m4.
3274         (Depends-on): Add double-slash-root.
3275         * MODULES.html.sh (File system functions): Mention new module.
3276
3277 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
3278
3279         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
3280         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
3281         This is for the benefit of gzip, which doesn't do i18n.
3282
3283 2006-12-12  Jim Meyering  <jim@meyering.net>
3284
3285         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
3286         Reported by Andreas Schwab <schwab@suse.de>.
3287
3288 2006-12-12  Bruno Haible  <bruno@clisp.org>
3289
3290         Merge these changes.
3291         2006-09-05  Bruno Haible  <bruno@clisp.org>
3292         * lib/iconvme.c (iconv_string): No need to save and restore errno when
3293         iconv_alloc succeeded.
3294         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
3295         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
3296         test for " && dest " at the end - dest is always != NULL there. Call
3297         iconv with 4xNULL arguments initially, to reset the state. Call iconv
3298         with 2xNULL arguments, also to flush the state storage. Handle the
3299         IRIX iconv behaviour. Realloc the final result, to throw away unused
3300         memory.
3301
3302 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
3303
3304         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
3305         and fchmodat unconditionally, since glibc 2.4 has them.
3306         Problem reported by Arkadiusz Miskiewicz.
3307
3308 2006-12-10  Bruno Haible  <bruno@clisp.org>
3309
3310         * gnulib-tool (func_import): Show the include files only for those
3311         modules that are copied and specified.
3312         Reported by Karl Berry.
3313
3314 2006-12-08  Jim Meyering  <jim@meyering.net>
3315
3316         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
3317         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
3318
3319         * build-aux/announce-gen: Add two new options, both optional:
3320         --bootstrap-tools=TOOL_LIST
3321               a comma-separated list of tools, e.g.,
3322               autoconf,automake,bison,gnulib
3323         --gnulib-snapshot-date=DATE
3324               if gnulib is in the bootstrap tool list,
3325               then report this as the snapshot date.
3326               If not specified, use the current date/time.
3327               If you specify a date here, be sure it's UTC.
3328
3329 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3330
3331         * tests/test-argp-2.sh: Fix test to match actual output.
3332         (func_compare): Fix sed script to be portable.
3333
3334 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
3335
3336         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
3337         workaround for this case.  It is not autoconfigured now; offhand
3338         it's hard to see how to autoconfigure it.
3339
3340 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
3341
3342         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
3343         a directory that is about to be chowned.  Such a directory's
3344         initial file permissions should permit the owner only and this
3345         should not be changed until after the chown, since the group and
3346         other bits would be incorrect if they granted permission before
3347         the chown.
3348
3349         Fix porting problem for iswctype reported by Georg Schwarz in:
3350         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
3351         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
3352         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
3353         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
3354         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3355
3356 2006-12-03  Jim Meyering  <jim@meyering.net>
3357
3358         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
3359         p->fts_statp may not yet be defined.
3360         (fts_read): Instead, set it in the caller, once p->fts_statp is
3361         sure to be defined, and corresponds to a top-level directory.
3362         This bug made du -x fail.  Here's the coreutils test case:
3363         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
3364         Reported by Mike Frysinger.
3365
3366 2006-12-01  Jim Meyering  <jim@meyering.net>
3367
3368         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
3369         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
3370         Reported by Simon Josefsson.
3371
3372 2006-11-30  Jim Meyering  <jim@meyering.net>
3373
3374         * m4/warning.m4: Use the all-permissive copyright notice
3375         recommended by RMS (rather than LGPL).
3376         * m4/vararrays.m4: Likewise.
3377         * m4/flexmember.m4: Likewise.
3378
3379 2006-11-29  Bruno Haible  <bruno@clisp.org>
3380
3381         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3382         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
3383         using +=.
3384         Reported by Simon Josefsson <simon@josefsson.org>.
3385
3386 2006-11-28  James Youngman <jay@gnu.org>
3387
3388         * README: Advise users that they might find the bug-gnulib@gnu.org
3389         and autotools-announce@gnu.org mailing lists useful.
3390
3391 2006-11-28  Bruno Haible  <bruno@clisp.org>
3392
3393         * m4/ptrdiff_max.m4: Remove file.
3394
3395 2006-11-21  Bruno Haible  <bruno@clisp.org>
3396
3397         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
3398         _AC_COMPUTE_INT.
3399         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3400         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
3401         _AC_COMPUTE_INT.
3402         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3403         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
3404         _AC_COMPUTE_INT.
3405         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3406
3407 2006-11-28  Jim Meyering  <jim@meyering.net>
3408
3409         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
3410         warning from "gcc -Wshadow" about shadowing the builtin.
3411
3412 2006-11-27  Bruno Haible  <bruno@clisp.org>
3413
3414         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
3415         _AC_COMPUTE_INT.
3416         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3417
3418 2006-11-27  Bruno Haible  <bruno@clisp.org>
3419             Paul Eggert  <eggert@cs.ucla.edu>
3420
3421         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
3422
3423 2006-11-26  Bruno Haible  <bruno@clisp.org>
3424
3425         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3426         noinst_LTLIBRARIES.
3427
3428 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
3429             Bruno Haible  <bruno@clisp.org>
3430
3431         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
3432         if compiling with "gcc -ansi".
3433
3434 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
3435
3436         Fix some incompatibilities with gcc -ansi -pedantic.
3437         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
3438         if compiling pedantically with GCC, unless it's C99 or later.
3439         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
3440         it mishandles gcc -ansi -pedantic as well.
3441         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
3442         if gcc -pedantic.
3443         * lib/regexec.c (check_node_accept_bytes): Don't use auto
3444         initializers for struct if -pedantic, unless it's C99 or later.
3445
3446 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
3447
3448         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
3449         Don't close an fd more than once. Identical atimes indicate
3450         success, not failure.
3451
3452 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
3453
3454         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
3455
3456 2006-11-23  Jim Meyering  <jim@meyering.net>
3457
3458         * build-aux/announce-gen: New file.  From coreutils.
3459
3460 2006-11-22  Jim Meyering  <jim@meyering.net>
3461
3462         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
3463         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
3464         (fts_read): Use a temporary to narrow the overused st_size member
3465         before using it in a switch statement.  Reported by Matthew Woehlke.
3466
3467         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
3468         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
3469
3470 2006-11-20  Bruno Haible  <bruno@clisp.org>
3471
3472         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
3473         changequote instead of pairs of brackets.
3474         Reported by Andreas Schwab <schwab@suse.de>.
3475
3476 2006-11-21  Jim Meyering  <jim@meyering.net>
3477
3478         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
3479         so as to remain compatible with older compilers.
3480         Patch from Michael Deutschmann.
3481
3482 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3483
3484         * MODULES.html.sh (File system functions): Add openat.
3485
3486         * lib/openat.h (rpl_fstatat): New macro, if
3487         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
3488         (fstatat): Define to rpl_fstatat under the same conditions,
3489         unless COMPILING_FSTATAT.
3490         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
3491         seems to have the bug.
3492         * lib/fstatat.c: New file.
3493         * modules/openat (Files): Add it.
3494
3495 2006-11-20  Bruno Haible  <bruno@clisp.org>
3496
3497         * Makefile: New file.
3498
3499 2006-11-20  Jim Meyering  <jim@meyering.net>
3500
3501         The beginnings of syntax-related checks for gnulib.
3502         * lib/Makefile: New file.
3503         * lib/t-idcache: New script.  Ensure that the two halves of
3504         idcache.c stay in sync.
3505
3506         * lib/idcache.c: Adjust comments in user- and group- portions to
3507         be more accurate, and to be consistent with one another.
3508
3509 2006-11-20  Jim Meyering  <jim@meyering.net>
3510
3511         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
3512         continue using the flexible array member (thus, this module performs
3513         half as many malloc calls), with the addition that...
3514         (getgroup, getuser): Consistently record a non-match via an empty
3515         "name" string, and map an empty string match to a NULL return value.
3516         * modules/idcache (Depends-on): Re-add flexmember.
3517
3518         * lib/idcache.c (getuser): Remove all uses of the register keyword.
3519         (getuidbyname, getgroup, getgidbyname): Likewise.
3520
3521         Use cleaner syntax: NULL rather than 0.
3522         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
3523
3524 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3525
3526         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
3527         It mishandled the case where the group was missing.
3528         Problem reported by Greg Schafer.
3529         * modules/idcache: Likewise.
3530
3531 2006-11-18  Jim Meyering  <jim@meyering.net>
3532
3533         * check-module (%exempt_header): Add exception for some
3534         conditionally-included headers.
3535
3536         * modules/i-ring (Depends-on): Add verify.
3537         (License): Change to LGPL.
3538
3539 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
3540
3541         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
3542         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
3543         and inttostr.h.  Use snprintf rather than uinttostr, so that
3544         LGPLed code doesn't depend on GPLed.
3545
3546 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
3547
3548         * modules/inline (License): Change from GPL to LGPL.
3549
3550 2006-11-17  Jim Meyering  <jim@meyering.net>
3551
3552         * modules/d-type (License): Switch to LGPL.
3553
3554 2006-11-15  Bruno Haible  <bruno@clisp.org>
3555
3556         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
3557
3558 2006-11-15  Eric Blake  <ebb9@byu.net>
3559
3560         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
3561         the module dependency.
3562
3563 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
3564             Bruno Haible  <bruno@clisp.org>
3565
3566         * gnulib-tool (func_create_testdir): Add license consistency check.
3567
3568 2006-11-15  Eric Blake  <ebb9@byu.net>
3569
3570         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
3571         random "(cached)" in configure output.
3572
3573 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3574
3575         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
3576         test for conforming inttypes.h is both announced and cached.
3577
3578         * MODULES.html.sh (seen_modules, seen_files): New variables.
3579         (func_module): Rewrite to use a few less gnulib-tool and sed
3580         invocations.  Avoid a couple of quadratic algorithms for ...
3581         (missed_modules, missed_files): ... these, with ...
3582         (func_append, func_tmpdir): ... these new functions, from
3583         gnulib-tool.  Analogously, install traps for cleanup.
3584
3585         * tests/test-gc.c (main): Remove unused variables.
3586         * tests/test-read-file.c: Include stdlib.h, for 'free'.
3587
3588 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
3589
3590         * modules/inttostr (License): Change to LGPL.
3591
3592 2006-11-14  Eric Blake  <ebb9@byu.net>
3593
3594         * modules/tempname (License): Change to LGPL.
3595
3596 2006-11-14  Eric Blake  <ebb9@byu.net>
3597
3598         * doc/functions.texi (Function Portability): *printf functions on
3599         Cygwin now understand all POSIX size specifiers.
3600
3601 2006-11-14  Bruno Haible  <bruno@clisp.org>
3602
3603         * modules/c-ctype (License): Change to LGPL.
3604
3605 2006-11-12  Bruno Haible  <bruno@clisp.org>
3606
3607         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
3608         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
3609         for GNOME libraries, for which the include files are installed in
3610         subdirectories of $prefix/include.
3611
3612 2006-11-12  Bruno Haible  <bruno@clisp.org>
3613
3614         * m4/lib-link.m4: Require at least autoconf-2.54.
3615         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
3616         name to underscores for the --with option.
3617
3618 2006-11-13  Bruno Haible  <bruno@clisp.org>
3619
3620         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
3621         the tests directory.
3622         Reported by Ralf Wildenhues.
3623
3624 2006-11-13  Bruno Haible  <bruno@clisp.org>
3625
3626         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
3627         (func_emit_initmacro_end): Undo the override here.
3628         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
3629         Works around the famous automake error in coreutils.
3630
3631 2006-11-13  Eric Blake  <ebb9@byu.net>
3632
3633         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
3634         element, not its node.
3635
3636 2006-11-12  Bruno Haible  <bruno@clisp.org>
3637
3638         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
3639         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
3640
3641 2006-11-12  Bruno Haible  <bruno@clisp.org>
3642
3643         * gnulib-tool: New option --local-symlink.
3644         (func_usage): Document it.
3645         (lsymbolic): New variable.
3646         (func_import, func_create_testdir): If --symlink was not specified,
3647         test whether --local-symlink was specified and the file comes from
3648         the local_gnulib_dir.
3649
3650 2006-11-12  Bruno Haible  <bruno@clisp.org>
3651
3652         * gnulib-tool (func_ln): New function.
3653         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
3654
3655 2006-11-12  Bruno Haible  <bruno@clisp.org>
3656
3657         Finish support for source files in subdirectories.
3658         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
3659         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
3660         AUTOMAKE_OPTIONS.
3661         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
3662
3663 2006-11-12  Bruno Haible  <bruno@clisp.org>
3664
3665         * gnulib-tool (func_get_automake_snippet): Synthesize also an
3666         EXTRA_lib_SOURCES augmentation.
3667         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
3668
3669 2006-11-12  Jim Meyering  <jim@meyering.net>
3670
3671         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
3672         file descriptors.  This also averts a failure on systems with
3673         native openat support when a traversed directory lacks "x" access.
3674         * lib/fts_.h: Include "i-ring.h"
3675         (struct FTS) [fts_fd_ring]: New member.
3676         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
3677         (FCHDIR): Add parentheses.
3678         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
3679         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
3680         When descending, rather than simply closing the previous
3681         fts_cwd_fd value, push that file descriptor onto the ring.
3682         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
3683         (fts_open): Initialize the new fd_ring member.
3684         (fts_close): Clear the ring.
3685         (fts_safe_changedir): When possible, use our new fd_ring to skip
3686         the diropen and fstat and dev/ino comparison that would normally
3687         accompany a virtual `chdir ("..")'.
3688
3689         * modules/fts (Depends-on): Add i-ring.
3690         * modules/i-ring: New module.
3691         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
3692         * m4/i-ring.m4: New file.
3693
3694 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3695
3696         * gnulib-tool (func_create_testdir): Fix replacement of
3697         `build-aux' in configure.ac.  Run autotools in gltests
3698         subdirectory.
3699         (func_create_testdir, func_create_megatestdir, test): There is
3700         no need for '--force' in most autotool invocations in a new
3701         tree.  Actually fail the whole test if any of the tools, or the
3702         configure or make stages fail.
3703
3704         Sync from Automake.
3705         * build-aux/gnupload: Revert last change.  Add pointer to upload
3706         instructions of the GNU Maintenance Instructions.
3707         Suggestion by Karl Berry.
3708
3709 2006-11-10  Jim Meyering  <jim@meyering.net>
3710
3711         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
3712
3713 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3714
3715         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
3716         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
3717         (bind_textdomain_codeset) [! ENABLE_NLS]:
3718         Evaluate all the arguments.  That way, callers get compatible behavior
3719         if the arguments have side effects.  Also, it avoids some GCC
3720         diagnostics in some cases; Joel E. Denny reported problems when Bison
3721         was configured with --enable-gcc-warnigs.
3722
3723 2006-11-10  Jim Meyering  <jim@meyering.net>
3724
3725         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
3726         relevant options in CFLAGS (like -O, -fno-inline) are taken into
3727         account.
3728
3729 2006-11-10  Jim Meyering  <jim@meyering.net>
3730
3731         * modules/inline: New file/module.
3732         * modules/xalloc (Files): Remove m4/inline.m4.
3733         (Depends-on): Add inline, instead.
3734         * modules/oset: Likewise.
3735         * modules/list: Likewise.
3736
3737 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3738
3739         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
3740         Problem reported by Matthew Woehlke.
3741
3742 2006-11-09  Bruno Haible  <bruno@clisp.org>
3743
3744         * lib/tempname.c (gen_tempname): Remove variant that invokes
3745         __gen_tempname.
3746         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
3747         __gen_tempname.
3748
3749 2006-11-08  Bruno Haible  <bruno@clisp.org>
3750
3751         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
3752         to 'yes' instead of 'cross-compiling'.
3753
3754 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
3755
3756         * lib/quotearg.h (quotearg_free): New decl.
3757         * lib/quotearg.c (quotearg_free): New function.
3758         (slot0, nslots, slotvec0, slotvec):
3759         Now file-scope so that quotearg_free can get at them.
3760
3761 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3762
3763         Sync from Automake.
3764         * build-aux/gnupload: Add missing 'gnu' to example URL.
3765         Report by Karl Berry.
3766
3767 2006-11-08  Bruno Haible  <bruno@clisp.org>
3768
3769         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
3770         Suggested by Paul Eggert.
3771
3772 2006-11-08  Jim Meyering  <jim@meyering.net>
3773
3774         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
3775         It's already included if !_LIBC.
3776         (fts_safe_changedir): Add a comment.
3777
3778 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
3779
3780         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
3781         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
3782         Matthew Woehlke.
3783
3784         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
3785         definitions up, to avoid colliding with change below.
3786         (static_inline) [HAVE_INLINE]: New macro.
3787         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
3788         Provide extern decls when !HAVE_INLINE.  Do not define unless
3789         static_inline is defined, either by us or by xmalloc.c.  Use
3790         static_inline rather than static inline.
3791         (XCALLOC): Optimize sizeof(T) = 1 case.
3792         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
3793
3794 2006-11-07  Bruno Haible  <bruno@clisp.org>
3795
3796         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
3797         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
3798         AC_C_INLINE.
3799         * modules/xalloc (Files): Add m4/inline.m4.
3800
3801 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3802
3803         * README: Fix typo.
3804         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
3805         (Miscellanous Notes): ...from this.
3806
3807 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
3808
3809         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3810         Mention that offsetof should be used instead of sizeof.
3811         From Bruno Haible.
3812
3813 2006-11-07  Bruno Haible  <bruno@clisp.org>
3814
3815         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
3816
3817 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3818
3819         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
3820         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
3821         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
3822         (gl_tree_add_before, gl_tree_add_after):
3823         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
3824         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
3825         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
3826         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
3827         (gl_linked_add_after, gl_linked_add_at): Likewise.
3828         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
3829         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
3830         (gl_tree_add_before, gl_tree_add_after): Likewise.
3831         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
3832         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
3833         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
3834
3835 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3836
3837         * lib/gl_oset.h: Use C comment style, not C++ comment style.
3838
3839 2006-11-06  Bruno Haible  <bruno@clisp.org>
3840
3841         * m4/inline.m4: New file.
3842         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
3843         * modules/list (Files): Add m4/inline.m4.
3844         * modules/oset (Files): Likewise.
3845
3846 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3847
3848         * lib/idcache.c: Include <stddef.h>, for offsetof.
3849         (struct userid.name): Change from char * to a flexible array member.
3850         All uses changed.
3851         * modules/idcache (Depends-on): Add flexmember.
3852
3853         * MODULES.html.sh (Core language properties): New module flexmember.
3854         * modules/flexmember, m4/flexmember.m4: New files.
3855
3856         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
3857         inline functions that are identical with the old xnmalloc_inline,
3858         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
3859         that we can avoid some unnecessary integer multiplications and
3860         divisions in the common case where the element size is known at
3861         compile time.
3862         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
3863         needed.
3864         (xnboundedmalloc): Remove.
3865         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
3866         arguments, for consistency with rest of this header.
3867         (xcharalloc): Rewrite using XNMALLOC.
3868         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
3869         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
3870         versions have been moved to lib/xalloc.h and renamed to be the
3871         non-*_inline versions.
3872         (xmalloc, xrealloc): Implement without reference to the xnmalloc
3873         and xnrealloc functions, since those functions are now inline and
3874         now call us.
3875         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
3876         renaming described above.
3877         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
3878         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
3879         captures the dependency in AC_C_INLINE.
3880
3881         New module canonicalize-lgpl, proposed by Charles Wilson in
3882         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
3883         with a few small changes afterwards.
3884         * MODULES.html.sh (File system functions): New module
3885         canonicalize-lgpl.
3886         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
3887         and canonicalize_file_name.
3888         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
3889         * modules/canonicalize-lgpl: New files.
3890
3891 2006-11-05  Bruno Haible  <bruno@clisp.org>
3892
3893         * gnulib-tool (func_import, func_create_testdir): Create directories
3894         also for files in subdirectories of lib/.
3895
3896 2006-11-05  Bruno Haible  <bruno@clisp.org>
3897
3898         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
3899         ANSI C compliant.
3900
3901 2006-11-03  Bruno Haible  <bruno@clisp.org>
3902
3903         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
3904         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
3905         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
3906         (xnboundedmalloc): New inline function.
3907         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
3908         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
3909         xmalloc.
3910         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
3911         xmalloc.
3912         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
3913         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
3914         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
3915         xmalloc.
3916         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
3917         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
3918         xmalloc.
3919         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
3920         gl_tree_add_after): Use XMALLOC instead of xmalloc.
3921         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
3922         xmalloc.
3923         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
3924         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
3925         gl_tree_add_after): Use XMALLOC instead of xmalloc.
3926         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
3927         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
3928         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
3929         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
3930
3931 2006-11-03  Bruno Haible  <bruno@clisp.org>
3932
3933         * lib/c-ctype.h [C++]: Define functions without name mangling.
3934         * lib/fwriteerror.h [C++]: Likewise.
3935         * lib/gcd.h [C++]: Likewise.
3936         * lib/linebreak.h [C++]: Likewise.
3937
3938 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
3939
3940         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
3941         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
3942         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
3943         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
3944         Check for functions and headers just once.
3945         Check for declaration of canonicalize_file_name.
3946         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
3947
3948 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
3949
3950         * gnulib-tool (func_import): Fix typo in actioncmd.
3951
3952 2006-11-02  Bruno Haible  <bruno@clisp.org>
3953
3954         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
3955         newline sequence in the Makefile.am snippet as a space, like "make"
3956         does.
3957         Reported by Roger Persson <perrog@gmail.com>.
3958
3959 2006-11-01  Bruno Haible  <bruno@clisp.org>
3960
3961         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
3962         already declared in <string.h>.
3963         * lib/strcase.h (strncasecmp): Don't declare it if yes.
3964
3965 2006-11-01  Bruno Haible  <bruno@clisp.org>
3966
3967         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
3968         * lib/strcase.h: Include <string.h>.
3969         (strcasecmp): Define to rpl_strcasecmp here.
3970
3971 2006-11-01  Bruno Haible  <bruno@clisp.org>
3972
3973         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
3974
3975 2006-11-01  Eric Blake  <ebb9@byu.net>
3976
3977         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
3978
3979         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
3980
3981 2006-10-29  Bruno Haible  <bruno@clisp.org>
3982
3983         Make it compile in C++ mode.
3984         * lib/full-write.c (full_rw): Add a cast.
3985
3986 2006-11-01  Bruno Haible  <bruno@clisp.org>
3987
3988         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
3989         be POSIX compliant.
3990         Reported by Roger Persson <perrog@gmail.com>.
3991
3992 2006-11-01  Eric Blake  <ebb9@byu.net>
3993
3994         * lib/getopt_.h: Fix comments.
3995
3996 2006-10-31  Eric Blake  <ebb9@byu.net>
3997
3998         * modules/tmpdir (Depends-on): Add sys_stat.
3999         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
4000         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
4001         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
4002         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
4003         tempname.
4004
4005 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
4006
4007         Avoid some C++ diagnostics reported by Bruno Haible.
4008         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
4009         xmalloc.
4010         (quotearg_alloc): Use xcharalloc rather than xmalloc.
4011         (struct slotvec): Move to top level.
4012         (quotearg_n_options): Rewrite to avoid xmalloc.
4013         * lib/xalloc.h (xcharalloc): New function.
4014         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
4015         [defined __cplusplus]: Add function template that provides result
4016         type propagation.  This part of the change is from Bruno Haible.
4017
4018 2006-10-29  Bruno Haible  <bruno@clisp.org>
4019
4020         Make it compile in C++ mode.
4021         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
4022         * lib/strnlen1.c (strnlen1): Cast memchr result.
4023         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
4024         * lib/clean-temp.c (string_equals, string_hash): Add casts.
4025         (create_temp_dir): Rename local variable 'template'.
4026         (compile_csharp_using_sscli): Add cast.
4027         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
4028         * lib/findprog.c (find_in_path): Likewise.
4029         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
4030         * lib/wait-process.c (register_slave_subprocess): Likewise.
4031
4032 2006-10-22  Bruno Haible  <bruno@clisp.org>
4033
4034         * modules/tsearch: New file.
4035         * lib/tsearch.h: New file.
4036         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
4037         * m4/tsearch.m4: New file.
4038         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
4039
4040 2006-10-29  Eric Blake  <ebb9@byu.net>
4041
4042         * lib/arcfour.c: Assume config.h.
4043         * lib/arctwo.c: Likewise.
4044         * lib/base64.c: Likewise.
4045         * lib/check-version.c: Likewise.
4046         * lib/crc.c: Likewise.
4047         * lib/des.c: Likewise.
4048         * lib/gc-gnulib.c: Likewise.
4049         * lib/gc-libgcrypt.c: Likewise.
4050         * lib/gc-pbkdf2-sha1.c: Likewise.
4051         * lib/getaddrinfo.c: Likewise.
4052         * lib/getdelim.c: Likewise.
4053         * lib/getline.c: Likewise.
4054         * lib/hmac-md5.c: Likewise.
4055         * lib/hmac-sha1.c: Likewise.
4056         * lib/iconvme.c: Likewise.
4057         * lib/md2.c: Likewise.
4058         * lib/md4.c: Likewise.
4059         * lib/memxor.c: Likewise.
4060         * lib/read-file.c: Likewise.
4061         * lib/readline.c: Likewise.
4062         * lib/rijndael-alg-fst.c: Likewise.
4063         * lib/rijndael-api-fst.c: Likewise.
4064         * lib/xgetdomainname.c: Likewise.
4065
4066 2006-10-28  Eric Blake  <ebb9@byu.net>
4067
4068         * lib/xstrndup.c: Assume config.h.
4069
4070 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
4071
4072         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
4073         stat-macros.h is now for our own macros, whereas stat_h is for
4074         macros in the <sys/stat.h> name space.
4075         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
4076         (STAT_MACROS_H): Remove.
4077         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
4078         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
4079         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
4080         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
4081         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
4082         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
4083         Move these macros to ...
4084         * lib/stat_.h: here.  Don't include stat-macros.h.
4085         * lib/canonicalize.c: Don't include stat-macros.h.
4086         * lib/chown.c: Likewise.
4087         * lib/euidaccess.c: Likewise.
4088         * lib/file-type.c: Likewise.
4089         * lib/filemode.c: Likewise.
4090         * lib/glob.c: Likewise.
4091         * lib/isapipe.c: Likewise.
4092         * lib/lchown.c: Likewise.
4093         * lib/lstat.c: Likewise.
4094         * lib/mkdir-p.c: Likewise.
4095         * lib/rmdir.c: Likewise.
4096         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
4097         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
4098         unless mkdir isn't declared, to speed up 'configure'.
4099         Always create sys/stat.h, since it's unlikely any real sys/stat.h
4100         would define all the S_* symbols.
4101         * modules/canonicalize (Depends-on):
4102         Depend on sys_stat, not stat-macros.
4103         * modules/chown: Likewise.
4104         * modules/euidaccess: Likewise.
4105         * modules/filemode: Likewise.
4106         * modules/file-type: Likewise.
4107         * modules/glob: Likewise.
4108         * modules/isapipe: Likewise.
4109         * modules/lchown: Likewise.
4110         * modules/lstat: Likewise.
4111         * modules/mkancesdirs: Likewise.
4112         * modules/rmdir: Likewise.
4113         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
4114         * modules/modechange: Likewise.
4115         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
4116         (configure.ac): Remove gl_STAT_MACROS.
4117         * modules/sys_stat (Depends-on): Remove stat-macros.
4118
4119 2006-10-27  Bruno Haible  <bruno@clisp.org>
4120
4121         * m4/signed.m4: Remove file.
4122         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
4123         invocation.
4124         * modules/vasnprintf (Files): Remove m4/signed.m4.
4125
4126 2006-10-27  Bruno Haible  <bruno@clisp.org>
4127
4128         Update to GNU gettext 0.16.
4129         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
4130         m4/inttypes-h.m4, m4/signed.m4.
4131         * m4/gettext.m4: Update to GNU gettext 0.16.
4132         * m4/intl.m4: New file, from GNU gettext.
4133         * m4/intldir.m4: New file, from GNU gettext.
4134         * config/srclist.txt: Update
4135
4136 2006-10-27  Eric Blake  <ebb9@byu.net>
4137
4138         * MODULES.html.sh: Document tempname.
4139         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
4140         dependencies.
4141         (Files): Move lib/tempname.c...
4142         * modules/tempname: ...to this new module.
4143         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
4144         (gl_PREREQ_TEMPNAME): Move...
4145         * m4/tempname.m4: ...to this new file.
4146         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
4147         * modules/sys_stat (Depends-on): Add stat-macros.
4148         * lib/stat_.h (includes): Pick up stat macros.
4149         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
4150         if stat macros are broken.
4151         * lib/tempname.c (includes): No need to include "stat-macros.h".
4152         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
4153         (direxists, __path_search) [!_LIBC]: Don't compile these in
4154         gnulib; the tmpdir module covers that.
4155         * lib/tempname.h: New file.
4156
4157 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
4158
4159         * COPYING: Explain how gnulib-tool converts licence headers.
4160         Almost all wording by Eric Blake.
4161
4162 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
4163
4164         * lib/mbchar.h (is_basic_table): Make read-only.
4165         * lib/mbchar.c (is_basic_table): Likewise.
4166         Reported by John Darrington.
4167
4168 2006-10-25  Bruno Haible  <bruno@clisp.org>
4169
4170         * lib/progname.h (set_program_name): Undefine before defining.
4171
4172 2006-10-25  Bruno Haible  <bruno@clisp.org>
4173
4174         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
4175         false for non-gcc C++ compilers.
4176         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
4177
4178 2006-10-24  Bruno Haible  <bruno@clisp.org>
4179
4180         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
4181         iconv implementations like Irix iconv.
4182
4183 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4184
4185         * modules/vararrays: New file.
4186         * m4/vararrays.m4: New file, taken from diffutils.
4187         * MODULES.html.sh: New module vararrays.
4188
4189 2006-10-24  Karl Berry  <karl@gnu.org>
4190
4191         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
4192         Don't call GNU Unix.
4193
4194 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4195
4196         * users.txt: Add Libtool.
4197
4198         Sync from Libtool:
4199
4200         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4201
4202         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
4203         to gnulib's policy of including config.h unconditionally.
4204
4205 2006-10-24  Bruno Haible  <bruno@clisp.org>
4206
4207         * modules/wcwidth (Files): Add m4/wint_t.m4.
4208         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
4209         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
4210
4211 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4212
4213         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
4214         to pacify GCC with some -W flags enabled.  Problem reported by
4215         Bruno Haible.
4216
4217 2006-10-24  Jim Meyering  <jim@meyering.net>
4218
4219         * MODULES.html.sh: Remove uinttostr.  It's not a module.
4220         Reported by Karl Berry.
4221
4222 2006-10-23  Bruno Haible  <bruno@clisp.org>
4223
4224         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
4225
4226 2006-10-24  Bruno Haible  <bruno@clisp.org>
4227
4228         * lib/gl_list.h: Use C comment style, not C++ comment style.
4229
4230 2006-10-23  Eric Blake  <ebb9@byu.net>
4231
4232         * lib/getaddrinfo.c (includes): Add missing include.
4233
4234 2006-10-23  Bruno Haible  <bruno@clisp.org>
4235             Paul Eggert  <eggert@cs.ucla.edu>
4236
4237         Ability to rename obstack_free.
4238         * lib/obstack.h (__obstack_free): New macro. Declare instead of
4239         obstack_free.
4240         (obstack_free): Invoke the __obstack_free macro.
4241         * lib/obstack.c (obstack_free): Use __obstack_free macro.
4242
4243 2006-10-23  Bruno Haible  <bruno@clisp.org>
4244             Paul Eggert  <eggert@cs.ucla.edu>
4245
4246         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
4247         __argc, __argv from the declaration. (They are defined as macros on
4248         mingw.)
4249
4250 2006-10-22  Bruno Haible  <bruno@clisp.org>
4251
4252         * doc/gnulib-intro.texi: New file.
4253         * doc/gnulib.texi: Include it.
4254
4255 2006-10-21  Bruno Haible  <bruno@clisp.org>
4256
4257         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
4258         "Introduction", "Miscellanous Notes", "Particular Modules".
4259
4260 2006-10-21  Bruno Haible  <bruno@clisp.org>
4261
4262         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4263         Change mostlyclean-local rule to avoid sh syntax error from bash
4264         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
4265
4266 2006-10-23  Jim Meyering  <jim@meyering.net>
4267
4268         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
4269         in place of snprintf.
4270
4271         * modules/inttostr (Files): Add lib/uinttostr.c.
4272         * lib/uinttostr.c (inttostr): New file/function.
4273         * lib/inttostr.h (uinttostr): Declare.
4274         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
4275         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
4276         Add uinttostr.
4277         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
4278
4279 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4280
4281         * lib/canonicalize.c (ELOOP): Define if not already defined.
4282         Problem reported by Bruno Haible in
4283         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
4284
4285 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4286
4287         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
4288         Problem reported by Perry Smith and Ville Laurikari.
4289
4290         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
4291         uses.
4292
4293 2006-10-19  Bruno Haible  <bruno@clisp.org>
4294
4295         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
4296         for mingw.
4297
4298 2006-10-19  Bruno Haible  <bruno@clisp.org>
4299
4300         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
4301         Needed for mingw.
4302
4303 2006-10-19  Bruno Haible  <bruno@clisp.org>
4304
4305         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
4306
4307 2006-10-19  Bruno Haible  <bruno@clisp.org>
4308
4309         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
4310         it.
4311
4312 2006-10-19  Bruno Haible  <bruno@clisp.org>
4313
4314         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
4315         invocation.
4316
4317 2006-10-19  Bruno Haible  <bruno@clisp.org>
4318
4319         * gnulib-tool (func_create_testdir): Don't include ftruncate and
4320         mountlist by default.
4321
4322 2006-10-16  Bruno Haible  <bruno@clisp.org>
4323
4324         * lib/c-strstr.c: Include c-strstr.h.
4325
4326 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4327
4328         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
4329         in a slash.
4330
4331 2006-10-18  Bruno Haible  <bruno@clisp.org>
4332
4333         * lib/lock.h [C++]: Wrap definitions in extern "C".
4334
4335 2006-10-18  Bruno Haible  <bruno@clisp.org>
4336
4337         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
4338         gl_LIBOBJS list.
4339
4340 2006-10-18  Bruno Haible  <bruno@clisp.org>
4341
4342         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
4343
4344 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4345
4346         * lib/xstrtol.h: Include gettext.h.
4347         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
4348         Problem reported by Eric Blake.
4349         * modules/xstrtol (Depends-on): Add gettext-h.
4350
4351 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
4352
4353         * lib/strftime.c (advance): New macro.
4354         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
4355         incomplete type, so you can't add 0 to it.  Problem and patch
4356         reported by Eelco Dolstra for dietlibc.
4357
4358 2006-10-18  Jim Meyering  <jim@meyering.net>
4359
4360         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
4361         type for a local, and rename it: s/up/user_proc/.
4362
4363 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
4364
4365         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
4366         READ_UTMP_USER_PROCESS.
4367         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
4368
4369 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
4370
4371         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
4372         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
4373
4374 2006-10-17  Eric Blake  <ebb9@byu.net>
4375
4376         * lib/sigprocmask.c (sigprocmask): Fix typo.
4377
4378         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
4379
4380         * modules/clean-temp (Makefile.am): Don't add to make output...
4381         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
4382         config.h.
4383
4384 2006-10-17  Bruno Haible  <bruno@clisp.org>
4385
4386         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
4387         differently if DEFAULT_TEXT_DOMAIN is set.
4388
4389 2006-10-16  Bruno Haible  <bruno@clisp.org>
4390
4391         * lib/clean-temp.c: Include fwriteerror.h.
4392
4393 2006-10-16  Bruno Haible  <bruno@clisp.org>
4394
4395         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
4396
4397 2006-10-16  Bruno Haible  <bruno@clisp.org>
4398
4399         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
4400         * lib/sigprocmask.h: Include <sys/types.h>.
4401         (sigset_t): Use the system's definition if present.
4402
4403 2006-10-17  Eric Blake  <ebb9@byu.net>
4404
4405         * lib/xvasprintf.c (includes): Assume config.h.
4406         * lib/xasprintf.c (includes): Likewise.
4407
4408 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
4409
4410         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
4411         at least as wide as intmax_t.
4412
4413 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
4414
4415         (Imported from Automake.)
4416         * build-aux/gnupload: Update to version 1.1 of directive file.
4417
4418 2006-10-16  Eric Blake  <ebb9@byu.net>
4419
4420         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
4421         match Automake 1.10a.
4422
4423 2006-10-14  Bruno Haible  <bruno@clisp.org>
4424
4425         * modules/sigprocmask: New file.
4426         * lib/sigprocmask.h: New file.
4427         * lib/sigprocmask.c: New file.
4428         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
4429         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
4430         request sigprocmask.o.
4431         (gl_PREREQ_SIGPROCMASK): New macro.
4432         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
4433         (Depends-on): Add sigprocmask.
4434         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
4435         gt_SIGNALBLOCKING. Test for 'raise' only once.
4436         * lib/fatal-signal.c: Include sigprocmask.h.
4437         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
4438         unblock_fatal_signals): Define always.
4439         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
4440         sigprocmask.
4441
4442 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
4443
4444         Sync from Automake.
4445         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
4446         which incorrectly sets the mode of an existing destination
4447         directory.  In some cases the unpatched install-sh could do the
4448         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
4449         system.  We hope this is rare in practice, but it's clearly worth
4450         fixing.  Problem reported by Alex Unleashed in
4451         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
4452         Also, don't bother to check for -m bugs unless we're using -m;
4453         suggested by Stepan Kasal.
4454
4455 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4456
4457         Sync from Automake.
4458         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
4459         `-c' flag, so they appear at the same position as in %FASTDEP%
4460         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
4461         which ignores unknown options only after the first non-option.
4462         Bug report against M4 by Nelson H. F. Beebe.
4463
4464 2006-10-13  Jim Meyering  <jim@meyering.net>
4465
4466         Fix a bug in yesterday's change.
4467         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
4468         p->fts_statp->st_dev would be used uninitialized.
4469         Ensures that we always call fts_stat on the very first entry.
4470         Miklos Szeredi reported that find -xdev stopped working.
4471
4472 2006-10-12  Bruno Haible  <bruno@clisp.org>
4473
4474         * gnulib-tool (func_get_automake_snippet): Append an automatically
4475         computed EXTRA_DIST augmentation.
4476         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
4477         * modules/alloca-opt (Makefile.am): Likewise.
4478         * modules/allocsa (Makefile.am): Likewise.
4479         * modules/arcfour (Makefile.am): Likewise.
4480         * modules/arctwo (Makefile.am): Likewise.
4481         * modules/argmatch (Makefile.am): Likewise.
4482         * modules/argz (Makefile.am): Likewise.
4483         * modules/atexit (Makefile.am): Likewise.
4484         * modules/backupfile (Makefile.am): Likewise.
4485         * modules/byteswap (Makefile.am): Likewise.
4486         * modules/c-strtod (Makefile.am): Likewise.
4487         * modules/c-strtold (Makefile.am): Likewise.
4488         * modules/calloc (Makefile.am): Likewise.
4489         * modules/canon-host (Makefile.am): Likewise.
4490         * modules/canonicalize (Makefile.am): Likewise.
4491         * modules/chdir-long (Makefile.am): Likewise.
4492         * modules/chdir-safer (Makefile.am): Likewise.
4493         * modules/check-version (Makefile.am): Likewise.
4494         * modules/chown (Makefile.am): Likewise.
4495         * modules/cloexec (Makefile.am): Likewise.
4496         * modules/close-stream (Makefile.am): Likewise.
4497         * modules/closeout (Makefile.am): Likewise.
4498         * modules/crc (Makefile.am): Likewise.
4499         * modules/csharpexec (Makefile.am): Likewise.
4500         * modules/cycle-check (Makefile.am): Likewise.
4501         * modules/des (Makefile.am): Likewise.
4502         * modules/dev-ino (Makefile.am): Likewise.
4503         * modules/dirfd (Makefile.am): Likewise.
4504         * modules/dirname (Makefile.am): Likewise.
4505         * modules/dup2 (Makefile.am): Likewise.
4506         * modules/eealloc (Makefile.am): Likewise.
4507         * modules/error (Makefile.am): Likewise.
4508         * modules/euidaccess (Makefile.am): Likewise.
4509         * modules/exclude (Makefile.am): Likewise.
4510         * modules/exitfail (Makefile.am): Likewise.
4511         * modules/fcntl-safer (Makefile.am): Likewise.
4512         * modules/fcntl (Makefile.am): Likewise.
4513         * modules/file-type (Makefile.am): Likewise.
4514         * modules/fileblocks (Makefile.am): Likewise.
4515         * modules/filemode (Makefile.am): Likewise.
4516         * modules/filenamecat (Makefile.am): Likewise.
4517         * modules/fnmatch (Makefile.am): Likewise.
4518         * modules/fopen-safer (Makefile.am): Likewise.
4519         * modules/fpending (Makefile.am): Likewise.
4520         * modules/fprintftime (Makefile.am): Likewise.
4521         * modules/free (Makefile.am): Likewise.
4522         * modules/fsusage (Makefile.am): Likewise.
4523         * modules/ftruncate (Makefile.am): Likewise.
4524         * modules/fts (Makefile.am): Likewise.
4525         * modules/gc-arcfour (Makefile.am): Likewise.
4526         * modules/gc-des (Makefile.am): Likewise.
4527         * modules/gc-hmac-md5 (Makefile.am): Likewise.
4528         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
4529         * modules/gc-md4 (Makefile.am): Likewise.
4530         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
4531         * modules/gc-sha1 (Makefile.am): Likewise.
4532         * modules/gc (Makefile.am): Likewise.
4533         * modules/getaddrinfo (Makefile.am): Likewise.
4534         * modules/getcwd (Makefile.am): Likewise.
4535         * modules/getdelim (Makefile.am): Likewise.
4536         * modules/getdomainname (Makefile.am): Likewise.
4537         * modules/getgroups (Makefile.am): Likewise.
4538         * modules/gethostname (Makefile.am): Likewise.
4539         * modules/gethrxtime (Makefile.am): Likewise.
4540         * modules/getline (Makefile.am): Likewise.
4541         * modules/getloadavg (Makefile.am): Likewise.
4542         * modules/getlogin_r (Makefile.am): Likewise.
4543         * modules/getndelim2 (Makefile.am): Likewise.
4544         * modules/getopt (Makefile.am): Likewise.
4545         * modules/getpagesize (Makefile.am): Likewise.
4546         * modules/getpass-gnu (Makefile.am): Likewise.
4547         * modules/getpass (Makefile.am): Likewise.
4548         * modules/getsubopt (Makefile.am): Likewise.
4549         * modules/gettime (Makefile.am): Likewise.
4550         * modules/gettimeofday (Makefile.am): Likewise.
4551         * modules/getugroups (Makefile.am): Likewise.
4552         * modules/getusershell (Makefile.am): Likewise.
4553         * modules/glob (Makefile.am): Likewise.
4554         * modules/group-member (Makefile.am): Likewise.
4555         * modules/hard-locale (Makefile.am): Likewise.
4556         * modules/hash (Makefile.am): Likewise.
4557         * modules/hmac-md5 (Makefile.am): Likewise.
4558         * modules/hmac-sha1 (Makefile.am): Likewise.
4559         * modules/human (Makefile.am): Likewise.
4560         * modules/idcache (Makefile.am): Likewise.
4561         * modules/imaxabs (Makefile.am): Likewise.
4562         * modules/imaxdiv (Makefile.am): Likewise.
4563         * modules/inet_ntop (Makefile.am): Likewise.
4564         * modules/inet_pton (Makefile.am): Likewise.
4565         * modules/intprops (Makefile.am): Likewise.
4566         * modules/inttostr (Makefile.am): Likewise.
4567         * modules/inttypes (Makefile.am): Likewise.
4568         * modules/isapipe (Makefile.am): Likewise.
4569         * modules/javaversion (Makefile.am): Likewise.
4570         * modules/lchmod (Makefile.am): Likewise.
4571         * modules/lchown (Makefile.am): Likewise.
4572         * modules/localcharset (Makefile.am): Likewise.
4573         * modules/long-options (Makefile.am): Likewise.
4574         * modules/lstat (Makefile.am): Likewise.
4575         * modules/malloc (Makefile.am): Likewise.
4576         * modules/mathl (Makefile.am): Likewise.
4577         * modules/mbchar (Makefile.am): Likewise.
4578         * modules/md2 (Makefile.am): Likewise.
4579         * modules/md4 (Makefile.am): Likewise.
4580         * modules/md5 (Makefile.am): Likewise.
4581         * modules/memcasecmp (Makefile.am): Likewise.
4582         * modules/memchr (Makefile.am): Likewise.
4583         * modules/memcmp (Makefile.am): Likewise.
4584         * modules/memcoll (Makefile.am): Likewise.
4585         * modules/memcpy (Makefile.am): Likewise.
4586         * modules/memmem (Makefile.am): Likewise.
4587         * modules/memmove (Makefile.am): Likewise.
4588         * modules/mempcpy (Makefile.am): Likewise.
4589         * modules/memrchr (Makefile.am): Likewise.
4590         * modules/memset (Makefile.am): Likewise.
4591         * modules/memxor (Makefile.am): Likewise.
4592         * modules/mkancesdirs (Makefile.am): Likewise.
4593         * modules/mkdir-p (Makefile.am): Likewise.
4594         * modules/mkdir (Makefile.am): Likewise.
4595         * modules/mkdtemp (Makefile.am): Likewise.
4596         * modules/mkstemp (Makefile.am): Likewise.
4597         * modules/mktime (Makefile.am): Likewise.
4598         * modules/modechange (Makefile.am): Likewise.
4599         * modules/mountlist (Makefile.am): Likewise.
4600         * modules/nanosleep (Makefile.am): Likewise.
4601         * modules/obstack (Makefile.am): Likewise.
4602         * modules/openat (Makefile.am): Likewise.
4603         * modules/pagealign_alloc (Makefile.am): Likewise.
4604         * modules/pathmax (Makefile.am): Likewise.
4605         * modules/physmem (Makefile.am): Likewise.
4606         * modules/poll (Makefile.am): Likewise.
4607         * modules/posixtm (Makefile.am): Likewise.
4608         * modules/posixver (Makefile.am): Likewise.
4609         * modules/putenv (Makefile.am): Likewise.
4610         * modules/quote (Makefile.am): Likewise.
4611         * modules/quotearg (Makefile.am): Likewise.
4612         * modules/raise (Makefile.am): Likewise.
4613         * modules/read-file (Makefile.am): Likewise.
4614         * modules/readline (Makefile.am): Likewise.
4615         * modules/readlink (Makefile.am): Likewise.
4616         * modules/readtokens (Makefile.am): Likewise.
4617         * modules/readutmp (Makefile.am): Likewise.
4618         * modules/realloc (Makefile.am): Likewise.
4619         * modules/regex (Makefile.am): Likewise.
4620         * modules/rename-dest-slash (Makefile.am): Likewise.
4621         * modules/rename (Makefile.am): Likewise.
4622         * modules/rijndael (Makefile.am): Likewise.
4623         * modules/rmdir (Makefile.am): Likewise.
4624         * modules/rpmatch (Makefile.am): Likewise.
4625         * modules/safe-read (Makefile.am): Likewise.
4626         * modules/safe-write (Makefile.am): Likewise.
4627         * modules/same-inode (Makefile.am): Likewise.
4628         * modules/same (Makefile.am): Likewise.
4629         * modules/save-cwd (Makefile.am): Likewise.
4630         * modules/savedir (Makefile.am): Likewise.
4631         * modules/setenv (Makefile.am): Likewise.
4632         * modules/settime (Makefile.am): Likewise.
4633         * modules/sha1 (Makefile.am): Likewise.
4634         * modules/sig2str (Makefile.am): Likewise.
4635         * modules/snprintf (Makefile.am): Likewise.
4636         * modules/stat-macros (Makefile.am): Likewise.
4637         * modules/stat-time (Makefile.am): Likewise.
4638         * modules/stdbool (Makefile.am): Likewise.
4639         * modules/stdint (Makefile.am): Likewise.
4640         * modules/stdlib-safer (Makefile.am): Likewise.
4641         * modules/stpcpy (Makefile.am): Likewise.
4642         * modules/stpncpy (Makefile.am): Likewise.
4643         * modules/strcase (Makefile.am): Likewise.
4644         * modules/strcasestr (Makefile.am): Likewise.
4645         * modules/strchrnul (Makefile.am): Likewise.
4646         * modules/strcspn (Makefile.am): Likewise.
4647         * modules/strdup (Makefile.am): Likewise.
4648         * modules/strerror (Makefile.am): Likewise.
4649         * modules/strftime (Makefile.am): Likewise.
4650         * modules/strndup (Makefile.am): Likewise.
4651         * modules/strnlen (Makefile.am): Likewise.
4652         * modules/strpbrk (Makefile.am): Likewise.
4653         * modules/strsep (Makefile.am): Likewise.
4654         * modules/strstr (Makefile.am): Likewise.
4655         * modules/strtod (Makefile.am): Likewise.
4656         * modules/strtoimax (Makefile.am): Likewise.
4657         * modules/strtok_r (Makefile.am): Likewise.
4658         * modules/strtol (Makefile.am): Likewise.
4659         * modules/strtoll (Makefile.am): Likewise.
4660         * modules/strtoul (Makefile.am): Likewise.
4661         * modules/strtoull (Makefile.am): Likewise.
4662         * modules/strtoumax (Makefile.am): Likewise.
4663         * modules/strverscmp (Makefile.am): Likewise.
4664         * modules/sys_socket (Makefile.am): Likewise.
4665         * modules/sys_stat (Makefile.am): Likewise.
4666         * modules/sysexits (Makefile.am): Likewise.
4667         * modules/time_r (Makefile.am): Likewise.
4668         * modules/timegm (Makefile.am): Likewise.
4669         * modules/timespec (Makefile.am): Likewise.
4670         * modules/tmpfile-safer (Makefile.am): Likewise.
4671         * modules/trim (Makefile.am): Likewise.
4672         * modules/unistd-safer (Makefile.am): Likewise.
4673         * modules/unlinkdir (Makefile.am): Likewise.
4674         * modules/unlocked-io (Makefile.am): Likewise.
4675         * modules/userspec (Makefile.am): Likewise.
4676         * modules/utime (Makefile.am): Likewise.
4677         * modules/utimecmp (Makefile.am): Likewise.
4678         * modules/utimens (Makefile.am): Likewise.
4679         * modules/vasnprintf (Makefile.am): Likewise.
4680         * modules/vasprintf (Makefile.am): Likewise.
4681         * modules/vsnprintf (Makefile.am): Likewise.
4682         * modules/xalloc (Makefile.am): Likewise.
4683         * modules/xgetcwd (Makefile.am): Likewise.
4684         * modules/xnanosleep (Makefile.am): Likewise.
4685         * modules/xreadlink (Makefile.am): Likewise.
4686         * modules/xstrtod (Makefile.am): Likewise.
4687         * modules/xstrtol (Makefile.am): Likewise.
4688         * modules/xstrtold (Makefile.am): Likewise.
4689         * modules/yesno (Makefile.am): Likewise.
4690         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
4691
4692 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
4693
4694         * modules/error (Makefile.am): Distribute files through
4695         EXTRA_DIST, not lib_SOURCES.
4696
4697 2006-10-12  Eric Blake  <ebb9@byu.net>
4698
4699         * modules/error (Makefile.am): Distribute files in /lib.
4700         * modules/obstack (Makefile.am): Likewise.
4701
4702 2006-10-12  Bruno Haible  <bruno@clisp.org>
4703
4704         * modules/acl (Makefile.am): Distribute all files in lib/ through
4705         EXTRA_DIST.
4706         * modules/arcfour (Makefile.am): Likewise.
4707         * modules/arctwo (Makefile.am): Likewise.
4708         * modules/argmatch (Makefile.am): Likewise.
4709         * modules/argz (Makefile.am): Likewise.
4710         * modules/atexit (Makefile.am): Likewise.
4711         * modules/backupfile (Makefile.am): Likewise.
4712         * modules/c-strtod (Makefile.am): Likewise.
4713         * modules/c-strtold (Makefile.am): Likewise.
4714         * modules/calloc (Makefile.am): Likewise.
4715         * modules/canon-host (Makefile.am): Likewise.
4716         * modules/canonicalize (Makefile.am): Likewise.
4717         * modules/chdir-long (Makefile.am): Likewise.
4718         * modules/chdir-safer (Makefile.am): Likewise.
4719         * modules/check-version (Makefile.am): Likewise.
4720         * modules/chown (Makefile.am): Likewise.
4721         * modules/cloexec (Makefile.am): Likewise.
4722         * modules/close-stream (Makefile.am): Likewise.
4723         * modules/closeout (Makefile.am): Likewise.
4724         * modules/crc (Makefile.am): Likewise.
4725         * modules/cycle-check (Makefile.am): Likewise.
4726         * modules/des (Makefile.am): Likewise.
4727         * modules/dirfd (Makefile.am): Likewise.
4728         * modules/dirname (Makefile.am): Likewise.
4729         * modules/dup2 (Makefile.am): Likewise.
4730         * modules/euidaccess (Makefile.am): Likewise.
4731         * modules/exclude (Makefile.am): Likewise.
4732         * modules/exitfail (Makefile.am): Likewise.
4733         * modules/fcntl-safer (Makefile.am): Likewise.
4734         * modules/file-type (Makefile.am): Likewise.
4735         * modules/fileblocks (Makefile.am): Likewise.
4736         * modules/filemode (Makefile.am): Likewise.
4737         * modules/filenamecat (Makefile.am): Likewise.
4738         * modules/fnmatch (Makefile.am): Likewise.
4739         * modules/fopen-safer (Makefile.am): Likewise.
4740         * modules/fpending (Makefile.am): Likewise.
4741         * modules/fprintftime (Makefile.am): Likewise.
4742         * modules/free (Makefile.am): Likewise.
4743         * modules/fsusage (Makefile.am): Likewise.
4744         * modules/ftruncate (Makefile.am): Likewise.
4745         * modules/fts (Makefile.am): Likewise.
4746         * modules/gc (Makefile.am): Likewise.
4747         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
4748         * modules/getaddrinfo (Makefile.am): Likewise.
4749         * modules/getcwd (Makefile.am): Likewise.
4750         * modules/getdelim (Makefile.am): Likewise.
4751         * modules/getdomainname (Makefile.am): Likewise.
4752         * modules/getgroups (Makefile.am): Likewise.
4753         * modules/gethostname (Makefile.am): Likewise.
4754         * modules/gethrxtime (Makefile.am): Likewise.
4755         * modules/getline (Makefile.am): Likewise.
4756         * modules/getloadavg (Makefile.am): Likewise.
4757         * modules/getlogin_r (Makefile.am): Likewise.
4758         * modules/getopt (Makefile.am): Likewise.
4759         * modules/getpass (Makefile.am): Likewise.
4760         * modules/getpass-gnu (Makefile.am): Likewise.
4761         * modules/getsubopt (Makefile.am): Likewise.
4762         * modules/gettime (Makefile.am): Likewise.
4763         * modules/gettimeofday (Makefile.am): Likewise.
4764         * modules/getugroups (Makefile.am): Likewise.
4765         * modules/getusershell (Makefile.am): Likewise.
4766         * modules/glob (Makefile.am): Likewise.
4767         * modules/group-member (Makefile.am): Likewise.
4768         * modules/hard-locale (Makefile.am): Likewise.
4769         * modules/hash (Makefile.am): Likewise.
4770         * modules/hmac-md5 (Makefile.am): Likewise.
4771         * modules/hmac-sha1 (Makefile.am): Likewise.
4772         * modules/human (Makefile.am): Likewise.
4773         * modules/idcache (Makefile.am): Likewise.
4774         * modules/imaxabs (Makefile.am): Likewise.
4775         * modules/imaxdiv (Makefile.am): Likewise.
4776         * modules/inet_ntop (Makefile.am): Likewise.
4777         * modules/inet_pton (Makefile.am): Likewise.
4778         * modules/inttostr (Makefile.am): Likewise.
4779         * modules/isapipe (Makefile.am): Likewise.
4780         * modules/lchown (Makefile.am): Likewise.
4781         * modules/long-options (Makefile.am): Likewise.
4782         * modules/lstat (Makefile.am): Likewise.
4783         * modules/malloc (Makefile.am): Likewise.
4784         * modules/mathl (Makefile.am): Likewise.
4785         * modules/mbchar (Makefile.am): Likewise.
4786         * modules/md2 (Makefile.am): Likewise.
4787         * modules/md4 (Makefile.am): Likewise.
4788         * modules/md5 (Makefile.am): Likewise.
4789         * modules/memcasecmp (Makefile.am): Likewise.
4790         * modules/memchr (Makefile.am): Likewise.
4791         * modules/memcmp (Makefile.am): Likewise.
4792         * modules/memcoll (Makefile.am): Likewise.
4793         * modules/memcpy (Makefile.am): Likewise.
4794         * modules/memmem (Makefile.am): Likewise.
4795         * modules/memmove (Makefile.am): Likewise.
4796         * modules/mempcpy (Makefile.am): Likewise.
4797         * modules/memrchr (Makefile.am): Likewise.
4798         * modules/memset (Makefile.am): Likewise.
4799         * modules/memxor (Makefile.am): Likewise.
4800         * modules/mkancesdirs (Makefile.am): Likewise.
4801         * modules/mkdir (Makefile.am): Likewise.
4802         * modules/mkdir-p (Makefile.am): Likewise.
4803         * modules/mkdtemp (Makefile.am): Likewise.
4804         * modules/mkstemp (Makefile.am): Likewise.
4805         * modules/mktime (Makefile.am): Likewise.
4806         * modules/modechange (Makefile.am): Likewise.
4807         * modules/mountlist (Makefile.am): Likewise.
4808         * modules/nanosleep (Makefile.am): Likewise.
4809         * modules/openat (Makefile.am): Likewise.
4810         * modules/pagealign_alloc (Makefile.am): Likewise.
4811         * modules/physmem (Makefile.am): Likewise.
4812         * modules/poll (Makefile.am): Likewise.
4813         * modules/posixtm (Makefile.am): Likewise.
4814         * modules/posixver (Makefile.am): Likewise.
4815         * modules/putenv (Makefile.am): Likewise.
4816         * modules/quote (Makefile.am): Likewise.
4817         * modules/quotearg (Makefile.am): Likewise.
4818         * modules/raise (Makefile.am): Likewise.
4819         * modules/read-file (Makefile.am): Likewise.
4820         * modules/readline (Makefile.am): Likewise.
4821         * modules/readlink (Makefile.am): Likewise.
4822         * modules/readtokens (Makefile.am): Likewise.
4823         * modules/readutmp (Makefile.am): Likewise.
4824         * modules/realloc (Makefile.am): Likewise.
4825         * modules/regex (Makefile.am): Likewise.
4826         * modules/rename (Makefile.am): Likewise.
4827         * modules/rename-dest-slash (Makefile.am): Likewise.
4828         * modules/rijndael (Makefile.am): Likewise.
4829         * modules/rmdir (Makefile.am): Likewise.
4830         * modules/rpmatch (Makefile.am): Likewise.
4831         * modules/safe-read (Makefile.am): Likewise.
4832         * modules/safe-write (Makefile.am): Likewise.
4833         * modules/same (Makefile.am): Likewise.
4834         * modules/save-cwd (Makefile.am): Likewise.
4835         * modules/savedir (Makefile.am): Likewise.
4836         * modules/setenv (Makefile.am): Likewise.
4837         * modules/settime (Makefile.am): Likewise.
4838         * modules/sha1 (Makefile.am): Likewise.
4839         * modules/sig2str (Makefile.am): Likewise.
4840         * modules/snprintf (Makefile.am): Likewise.
4841         * modules/stdlib-safer (Makefile.am): Likewise.
4842         * modules/stpcpy (Makefile.am): Likewise.
4843         * modules/stpncpy (Makefile.am): Likewise.
4844         * modules/strcase (Makefile.am): Likewise.
4845         * modules/strcasestr (Makefile.am): Likewise.
4846         * modules/strchrnul (Makefile.am): Likewise.
4847         * modules/strcspn (Makefile.am): Likewise.
4848         * modules/strdup (Makefile.am): Likewise.
4849         * modules/strerror (Makefile.am): Likewise.
4850         * modules/strftime (Makefile.am): Likewise.
4851         * modules/strndup (Makefile.am): Likewise.
4852         * modules/strnlen (Makefile.am): Likewise.
4853         * modules/strpbrk (Makefile.am): Likewise.
4854         * modules/strsep (Makefile.am): Likewise.
4855         * modules/strstr (Makefile.am): Likewise.
4856         * modules/strtod (Makefile.am): Likewise.
4857         * modules/strtoimax (Makefile.am): Likewise.
4858         * modules/strtok_r (Makefile.am): Likewise.
4859         * modules/strtol (Makefile.am): Likewise.
4860         * modules/strtoll (Makefile.am): Likewise.
4861         * modules/strtoul (Makefile.am): Likewise.
4862         * modules/strtoull (Makefile.am): Likewise.
4863         * modules/strtoumax (Makefile.am): Likewise.
4864         * modules/strverscmp (Makefile.am): Likewise.
4865         * modules/time_r (Makefile.am): Likewise.
4866         * modules/timegm (Makefile.am): Likewise.
4867         * modules/tmpfile-safer (Makefile.am): Likewise.
4868         * modules/unistd-safer (Makefile.am): Likewise.
4869         * modules/unlinkdir (Makefile.am): Likewise.
4870         * modules/userspec (Makefile.am): Likewise.
4871         * modules/utime (Makefile.am): Likewise.
4872         * modules/utimecmp (Makefile.am): Likewise.
4873         * modules/utimens (Makefile.am): Likewise.
4874         * modules/vasnprintf (Makefile.am): Likewise.
4875         * modules/vasprintf (Makefile.am): Likewise.
4876         * modules/vsnprintf (Makefile.am): Likewise.
4877         * modules/xalloc (Makefile.am): Likewise.
4878         * modules/xgetcwd (Makefile.am): Likewise.
4879         * modules/xnanosleep (Makefile.am): Likewise.
4880         * modules/xreadlink (Makefile.am): Likewise.
4881         * modules/xstrtod (Makefile.am): Likewise.
4882         * modules/xstrtol (Makefile.am): Likewise.
4883         * modules/xstrtold (Makefile.am): Likewise.
4884         * modules/yesno (Makefile.am): Likewise.
4885
4886 2006-10-12  Jim Meyering  <jim@meyering.net>
4887
4888         * m4/getloadavg.m4: Revert the change below.
4889
4890         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
4891         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
4892         fail with a symlink, which is what coreutils' ./bootstrap now
4893         creates by default.
4894
4895 2006-10-12  Bruno Haible  <bruno@clisp.org>
4896
4897         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
4898         mingw.
4899         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
4900         MSVC and mingw explicitly.
4901
4902 2006-10-11  Simon Josefsson  <jas@extundo.com>
4903             Bruno Haible  <bruno@clisp.org>
4904
4905         Add support for multiple gnulib-tool invocations in the scope of a
4906         single configure.ac file.
4907         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
4908         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
4909         with the same contents as the _LIBADD variable.
4910         (func_emit_initmacro_start, func_emit_initmacro_end,
4911         func_emit_initmacro_done): New functions.
4912         (func_import, func_create_testdir): Invoke them. Allow the identifiers
4913         gl_LIBOBJS and gl_LTLIBOBJS.
4914
4915 2006-10-11  Bruno Haible  <bruno@clisp.org>
4916
4917         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
4918         (func_create_testdir): Don't create po/Makefile.am, don't invoke
4919         autoreconf. Instead, invoke autopoint explicitly but move back the
4920         *.m4 files from gnulib.
4921
4922 2006-10-11  Bruno Haible  <bruno@clisp.org>
4923
4924         * gnulib-tool (func_usage): Make module names after --create-testdir
4925         optional.
4926         (func_create_testdir): If no module was specified, use nearly all
4927         modules.
4928
4929 2006-10-12  Jim Meyering  <jim@meyering.net>
4930
4931         Big performance improvement for fts-based tools that use FTS_NOSTAT.
4932         Avoid spurious inode-mismatch problems on non-POSIX file systems.
4933         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
4934         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
4935         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
4936         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
4937         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
4938         (fts_set_stat_required): New function.
4939         (fts_open): Defer the calls to fts_stat, if possible or requested.
4940         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
4941         into fts_stat itself.
4942         (fts_read): Perform any required (deferred) fts_stat call.
4943         (fts_build): Likewise, for the directory we're about to open and read.
4944         In the readdir loop, carefully decide whether each entry will require
4945         an eventual call to fts_stat, using dirent.d_type info if available.
4946         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
4947         a command line argument into this function.  Update all callers.
4948         Map a return value of FTS_DOT to FTS_D for a command line argument.
4949         * modules/fts (Depends-on): Add d-type.  Alphabetize.
4950         Thanks to Miklos Szeredi for his tenacity and for the initial
4951         bug report about "find" failing on a FUSE-based file system.
4952
4953         * lib/fts.c (fts_open): Use consistent indentation.
4954
4955 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
4956
4957         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
4958         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
4959         reported by Jim Meyering.  All uses of cache variables renamed
4960         to match Autoconf's.
4961         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
4962         the other one.
4963
4964         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
4965         Fix misspelling in diagnostic.
4966
4967 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
4968
4969         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
4970         defined.  Problem reported by Matthew Woehlke.
4971
4972         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
4973         Add support for Tandem NonStop R series.
4974         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
4975         Use new macro.
4976
4977         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
4978         (has_trailing_slash): Omit size arg; all callers changed.
4979         Omit 'inline', since it doesn't help performance and we'd
4980         need to configure it.
4981         Don't count //, ///, etc. as having a trailing slash.
4982         As a side effect, this removes a C99ism reported by Matthew Woehlke.
4983         (rpl_rename_dest_slash): On failure, use rename's errno rather
4984         than (in some cases) an incorrect or junk errno.
4985         Simplify code by removing need to compute length; this does
4986         cause it to make two passes instead of one over the file name,
4987         but it's worth it.
4988
4989         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
4990         change, since Autoconf's version may no longer be appropriate now
4991         that we are using CVS Autoconf's version.  Add support for Tandem.
4992
4993 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
4994             Bruno Haible  <bruno@clisp.org>
4995
4996         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
4997         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
4998         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
4999         gl_AC_TYPE_LONG_LONG.
5000
5001         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
5002         instead of HAVE_LONG_LONG.
5003         * lib/printf-args.c (printf_fetchargs): Likewise.
5004         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
5005         * lib/vasnprintf.c (VASNPRINTF): Likewise.
5006         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
5007         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
5008         gl_AC_TYPE_LONG_LONG.
5009
5010 2006-10-11  Bruno Haible  <bruno@clisp.org>
5011
5012         * m4/longlong.m4: Add comments.
5013         * m4/ulonglong.m4: Likewise.
5014
5015 2006-10-10  Bruno Haible  <bruno@clisp.org>
5016
5017         Make it possible to #define stpcpy, strdup to aliases.
5018         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
5019         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
5020
5021 2006-10-10  Bruno Haible  <bruno@clisp.org>
5022
5023         Make it possible to #define gcd to an alias.
5024         * lib/gcd.c: Include config.h.
5025
5026 2006-10-10  Bruno Haible  <bruno@clisp.org>
5027
5028         Make it possible to #define c_isascii to an alias.
5029         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
5030         defined. Undefine the macros before defining them, to avoid gcc
5031         warnings.
5032         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
5033         define NO_C_CTYPE_MACROS early.
5034
5035 2006-10-10  Bruno Haible  <bruno@clisp.org>
5036
5037         Make it possible to #define set_program_name to an alias.
5038         * lib/progname.c: Don't undefine set_program_name; instead, undefine
5039         ENABLE_RELOCATABLE early.
5040
5041 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
5042
5043         Port to Tandem NSK OSS, which has 64-bit signed int but at most
5044         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
5045         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
5046         More generally, don't assume that 64-bit signed int is available
5047         if unsigned int is, and vice versa.
5048         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
5049         unsigned symbols, not on their signed counterparts.
5050         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
5051         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
5052         (UINT64_C, UINTMAX_C):
5053         Likewise.
5054         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
5055         unsigned counterparts.
5056         (Have_long_long, Unsigned): New macros.
5057         (Int): Renamed from INT.
5058         (strtoimax): Use the new macros.
5059         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
5060         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
5061         * modules/inttypes (inttypes.h): Substitute
5062         HAVE_UNSIGNED_LONG_LONG_INT.
5063         * modules/stdint (stdint.h): Likewise.
5064         (Files): Add m4/ulonglong.m4.
5065
5066 2006-10-10  Bruno Haible  <bruno@clisp.org>
5067
5068         Fix a gcc -Wshadow warning.
5069         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
5070         to 'bucket'.
5071         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
5072         gl_linked_indexof_from_to): Likewise.
5073         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
5074         Likewise.
5075         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
5076         Likewise.
5077         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
5078         Reported by Eric Blake.
5079
5080 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
5081
5082         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
5083         for NetBSD.  Problem reported by Bruno Haible.
5084
5085 2006-10-09  Jim Meyering  <jim@meyering.net>
5086
5087         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
5088         Patch from Bruno Haible.
5089
5090 2006-10-09  Jim Meyering  <jim@meyering.net>
5091
5092         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
5093         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
5094         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
5095
5096 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
5097
5098         Don't include <config.h> twice; this doesn't work in some cases,
5099         e.g., when config.h has "#define intmax_t long long int" and
5100         we include <config.h>, <inttypes.h>, <config.h> in that order.
5101         Problem reported by Matthew Woehlke in:
5102         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
5103         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
5104         * lib/fts-cycle.c: Don't include config.h.
5105         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
5106         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
5107         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
5108         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
5109         inttypes.h.
5110         * lib/xstrtoumax.c: Likewise.
5111         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
5112         __strtol and the like, so that this module is more like its siblings.
5113         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
5114         Remove; no longer needed now that we assume gnulib inttypes.h.
5115
5116 2006-10-08  Bruno Haible  <bruno@clisp.org>
5117
5118         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
5119         option.
5120
5121 2006-10-07  Jim Meyering  <jim@meyering.net>
5122
5123         * modules/inttypes (inttypes.h): Revert what seems to have been
5124         an inadvertent part of today's change: use "|", not "/" in the
5125         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
5126
5127 2006-10-07  Bruno Haible  <bruno@clisp.org>
5128
5129         * modules/sublist: New file.
5130
5131 2006-10-07  Bruno Haible  <bruno@clisp.org>
5132
5133         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
5134         * modules/argz (argz.h): Likewise.
5135         * modules/arpa_inet (arpa/inet.h): Likewise.
5136         * modules/byteswap (byteswap.h): Likewise.
5137         * modules/configmake (configmake.h): Likewise.
5138         * modules/fcntl (fcntl.h): Likewise.
5139         * modules/fnmatch (fnmatch.h): Likewise.
5140         * modules/getopt (getopt.h): Likewise.
5141         * modules/glob (glob.h): Likewise.
5142         * modules/inttypes (inttypes.h): Likewise.
5143         * modules/netinet_in (netinet/in.h): Likewise.
5144         * modules/poll (poll.h): Likewise.
5145         * modules/stdbool (stdbool.h): Likewise.
5146         * modules/stdint (stdint.h): Likewise.
5147         * modules/sys_select (sys/select.h): Likewise.
5148         * modules/sys_socket (sys/socket.h): Likewise.
5149         * modules/sys_stat (sys/stat.h): Likewise.
5150         * modules/sysexits (sysexits.h): Likewise.
5151         * modules/unistd (unistd.h): Likewise.
5152         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5153         Add a "DO NOT EDIT" comment to the generated file.
5154         (func_import): Likewise for gnulib-comp.m4.
5155
5156 2006-10-07  Bruno Haible  <bruno@clisp.org>
5157
5158         * lib/gl_sublist.h: New file.
5159         * lib/gl_sublist.c: New file.
5160
5161 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
5162
5163         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
5164         name (relative to the original working directory) and the file
5165         name component (relative to the temporary working directory).  All
5166         callers changed.
5167         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
5168         * lib/mkdir-p.c (make_dir_parents): Likewise.
5169         * lib/mkdir-p.h (make_dir_parents): Likewise.
5170
5171 2006-10-06  Eric Blake  <ebb9@byu.net>
5172
5173         Define several macros for use by the clean-temp module.
5174         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
5175         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
5176         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
5177
5178         * lib/clean-temp.h (close_stream_temp): New declaration.
5179         * lib/clean-temp.c (includes): Pull in headers according to what
5180         other modules are in use.
5181         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
5182
5183 2006-10-06  Bruno Haible  <bruno@clisp.org>
5184
5185         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
5186         instead of fopen, fwriteerror.
5187
5188 2006-10-06  Bruno Haible  <bruno@clisp.org>
5189
5190         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
5191         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
5192         int.
5193         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
5194         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
5195         Return an error indicator.
5196         Suggested by Eric Blake.
5197
5198 2006-10-06  Bruno Haible  <bruno@clisp.org>
5199
5200         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
5201         Reported by Eric Blake.
5202
5203 2006-10-06  Bruno Haible  <bruno@clisp.org>
5204
5205         * modules/closeout (Description): Mention stderr too.
5206
5207 2006-10-06  Bruno Haible  <bruno@clisp.org>
5208         and Paul Eggert  <eggert@cs.ucla.edu>
5209
5210         * lib/closeout.c (close_stdout): Also close stderr.
5211         * lib/closeout.h: Update comment.
5212
5213 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
5214
5215         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
5216         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
5217         * lib/dirchownmod.c: Include lchown.h.
5218         * lib/lchown.c: Don't include files that lchown.h now includes.
5219         Don't declare chown, since lchown.h now does that.
5220         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
5221         (lchown): Define to rpl_chown if lchown is declared but
5222         does not exist.  Declare using a prototype if lchown is not
5223         declared.  Add a copyright notice.
5224         * lib/mkstemp.h: Include <unistd.h>.
5225         * lib/openat.c: Include lchown.h.
5226
5227         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
5228         we now test for that separately.
5229         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
5230         rather than O_NOFOLLOW, when testing whether it's possible to
5231         avoid a race condition reliably.
5232         * lib/savewd.c (savewd_chdir): Likewise.
5233
5234         Remove macros that are no longer needed now that stdint.h is
5235         reliable.
5236         * lib/fsusage.c (UINTMAX_MAX): Remove.
5237         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
5238         * lib/utimecmp.c (SIZE_MAX): Remove.
5239
5240         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
5241
5242         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
5243         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
5244         O_NOATIME works.
5245
5246 2006-10-05  Bruno Haible  <bruno@clisp.org>
5247
5248         * lib/gl_list.h (gl_sortedlist_search_from_to,
5249         gl_sortedlist_indexof_from_to): New declarations.
5250         (gl_list_implementation): New fields sortedlist_search_from_to,
5251         sortedlist_indexof_from_to.
5252         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
5253         inline functions.
5254         * lib/gl_list.c (gl_sortedlist_search_from_to,
5255         gl_sortedlist_indexof_from_to): New functions.
5256         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
5257         function.
5258         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
5259         (gl_array_sortedlist_search_from_to): New function.
5260         (gl_array_list_implementation): Update.
5261         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
5262         function.
5263         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
5264         (gl_carray_sortedlist_search_from_to): New function.
5265         (gl_carray_list_implementation): Update.
5266         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
5267         gl_linked_sortedlist_indexof_from_to): New functions.
5268         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5269         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5270         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
5271         gl_tree_sortedlist_indexof_from_to): New functions.
5272         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5273         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5274         Update.
5275         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5276         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
5277         Update.
5278
5279 2006-10-05  Bruno Haible  <bruno@clisp.org>
5280
5281         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
5282         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
5283         (struct gl_list_implementation): Add fields search_from_to,
5284         indexof_from_to. Remove fields search, indexof.
5285         (gl_list_search): Use the search_from_to method.
5286         (gl_list_search_from, gl_list_search_from_to): New functions.
5287         (gl_list_indexof): Use the indexof_from_to method.
5288         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5289         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
5290         (gl_list_search_from, gl_list_search_from_to): New functions.
5291         (gl_list_indexof): Use the indexof_from_to method.
5292         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5293         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
5294         gl_array_indexof. Add start_index, end_index arguments.
5295         (gl_array_search_from_to): Renamed from gl_array_search. Add
5296         start_index, end_index arguments.
5297         (gl_array_remove, gl_array_list_implementation): Update.
5298         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
5299         gl_carray_indexof. Add start_index, end_index arguments.
5300         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
5301         start_index, end_index arguments.
5302         (gl_carray_remove, gl_carray_list_implementation): Update.
5303         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
5304         gl_linked_search. Add start_index, end_index arguments.
5305         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
5306         start_index, end_index arguments.
5307         (gl_linked_remove): Update.
5308         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5309         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5310         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
5311         field to 'size_t'.
5312         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
5313         gl_tree_search. Add start_index, end_index arguments.
5314         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5315         start_index, end_index arguments.
5316         (gl_tree_remove): Update.
5317         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5318         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5319         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
5320         function.
5321         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
5322         gl_tree_search. Add start_index, end_index arguments.
5323         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5324         start_index, end_index arguments.
5325         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5326         Update.
5327         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
5328
5329 2006-10-05  Bruno Haible  <bruno@clisp.org>
5330
5331         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
5332
5333         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
5334         fwriteerror_temp): New declarations.
5335         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
5336         (descriptors): New variable.
5337         (cleanup): First, close the descriptors.
5338         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
5339         fclose_temp, fwriteerror_temp): New functions.
5340
5341 2006-10-04  Jim Meyering  <jim@meyering.net>
5342
5343         * lib/fts.c (fts_open): Tiny comment change.
5344
5345 2006-10-04  Bruno Haible  <bruno@clisp.org>
5346
5347         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
5348         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
5349         gl_LOCK_BODY.
5350         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
5351         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
5352         gl_LOCK_EARLY_BODY.
5353         (gl_LOCK): Require gl_LOCK_BODY.
5354
5355 2006-10-04  Bruno Haible  <bruno@clisp.org>
5356
5357         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
5358         (gl_oset_search_atleast): New declaration.
5359         (struct gl_oset_implementation): Add field 'search_atleast'.
5360         (gl_oset_search_atleast): New inline function.
5361         * lib/gl_oset.c (gl_oset_search_atleast): New function.
5362         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
5363         (gl_array_oset_implementation): Update.
5364         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
5365         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
5366         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
5367
5368 2006-10-04  Bruno Haible  <bruno@clisp.org>
5369
5370         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
5371
5372 2006-10-03  Bruno Haible  <bruno@clisp.org>
5373
5374         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
5375         from gl_avltreehash_list_implementation.
5376
5377 2006-10-03  Bruno Haible  <bruno@clisp.org>
5378
5379         * lib/gl_oset.c (gl_oset_add): Fix return type.
5380
5381 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
5382
5383         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
5384
5385 2006-10-02  Eric Blake  <ebb9@byu.net>
5386
5387         * modules/strnlen (Depends-on): Add extensions.
5388
5389 2006-10-02  Eric Blake  <ebb9@byu.net>
5390
5391         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
5392         definition in 2.60+.
5393
5394 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
5395
5396         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
5397         checks.
5398
5399 2006-10-02  Bruno Haible  <bruno@clisp.org>
5400
5401         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
5402         to the AUTOMAKE_OPTIONS.
5403         Reported by Jim Meyering.
5404
5405 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
5406
5407         Work around bug in Solaris 10 /proc file system:
5408         /proc/self/fd/NNN/.. isn't the parent directory of
5409         the directory whose file descriptor is NNN.  This needs to
5410         be worked around at run time, not compile time, since a
5411         program might be built on Solaris 8, where things work, and
5412         run on Solaris 10.
5413         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
5414         to use the following interface instead:
5415         (OPENAT_BUFFER_SIZE): New macro.
5416         (openat_proc_name): New function.
5417         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
5418         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
5419         Likewise.
5420         * lib/openat-proc.c: New file.
5421         * modules/openat (Files): Add lib/openat-proc.c.
5422         (Depends-on): Add same-inode, stdbool.
5423         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
5424
5425 2006-09-29  Bruno Haible  <bruno@clisp.org>
5426
5427         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
5428         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
5429         argument. Set stdout_closed before testing for ferror, not after.
5430         (fwriteerror, fwriteerror_no_ebadf): New functions.
5431
5432 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5433
5434         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
5435
5436 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
5437
5438         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
5439         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
5440
5441 2006-09-28  Jim Meyering  <jim@meyering.net>
5442
5443         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
5444         Include <unistd.h>.
5445
5446 2006-09-28  Bruno Haible  <bruno@clisp.org>
5447
5448         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
5449         * modules/linkedhash-list (Depends-on): Likewise.
5450         * modules/rbtreehash-list (Depends-on): Likewise.
5451
5452 2006-09-28  Bruno Haible  <bruno@clisp.org>
5453
5454         * lib/strndup.h: Simplify the redefinition of strndup.
5455         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
5456         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
5457
5458 2006-09-28  Bruno Haible  <bruno@clisp.org>
5459
5460         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
5461         * lib/gl_linkedhash_list.c: Likewise.
5462         * lib/gl_rbtreehash_list.c: Likewise.
5463
5464 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
5465
5466         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
5467         getaddrinfo.
5468
5469         * lib/__fpending.h: Don't include <stdio_ext.h> unless
5470         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
5471         it causes <stdio_ext.h> to cause a compile-time error.
5472         Problem reported by Nelson H. F. Beebe.
5473         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
5474         of HAVE_DECL___PENDING.
5475
5476         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
5477         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
5478         declaration.
5479
5480 2006-09-27  Jim Meyering  <jim@meyering.net>
5481
5482         This file could end up with a definition for a function
5483         named __strndup, rather than rpl_strndup on a system with
5484         incomplete weak_alias support.
5485         * lib/strndup.c (strndup): Rename from __strndup.
5486         Remove #defines that used to map __strndup to strndup.
5487         Don't use K&R prototypes.
5488         Remove LIBC-related code, since this file is not sync'd with glibc.
5489         * lib/strndup.h: Revamp, accordingly.
5490         * m4/strndup.m4: Modernize.
5491
5492 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
5493
5494         * modules/savewd (Depends-on): Add 'raise'.
5495         * lib/savewd.c: Include <signal.h>, for 'raise'.
5496
5497 2006-09-26  Jim Meyering  <jim@meyering.net>
5498
5499         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
5500         when we detect Darwin 8.7.0's acl_get_file bug.
5501         Rearrange to perform the new (below) run-test while $LIBS
5502         contains any acl-related library.  Set USE_ACL at the end.
5503         (gl_ACL_GET_FILE): New function.
5504
5505 2006-09-26  Eric Blake  <ebb9@byu.net>
5506
5507         * lib/verror.c: Include <config.h> unconditionally.
5508
5509 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
5510
5511         * modules/clock-time (Maintainer): Add self.
5512         * modules/getlogin_r (Depends-on): Add extensions.
5513
5514 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5515
5516         * modules/clock-time: New module.
5517         * modules/nanosleep (Depends-on): Add clock-time.
5518         * modules/gethrxtime (Depends-on): Likewise.
5519         * modules/gettime (Depends-on): Likewise.
5520         * modules/settime (Depends-on): Likewise.
5521
5522         * modules/fts-lgpl: Depend on openat.
5523         * modules/mkancesdirs: Depend on savewd.
5524         * modules/mkdir-p: Likewise.
5525
5526 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5527
5528         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
5529
5530         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
5531         `gl_have_arbitrary_file_name_length_limit' to
5532         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
5533         actually works between configure runs.
5534
5535 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5536             Bruno Haible  <bruno@clisp.org>
5537
5538         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
5539
5540 2006-09-25  Jim Meyering  <jim@meyering.net>
5541
5542         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
5543         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
5544
5545 2006-09-25  Eric Blake  <ebb9@byu.net>
5546
5547         * gnulib-tool (func_import, func_create_testdir): Fix typos in
5548         exec's in 2006-09-18 patch when shuffling fds.
5549
5550 2006-09-25  Bruno Haible  <bruno@clisp.org>
5551
5552         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
5553         Reported by Jim Meyering.
5554
5555 2006-09-24  Jim Meyering  <jim@meyering.net>
5556
5557         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
5558         compare a pointer against a literal "0".  That caused failures with
5559         at least HP-UX's hpcc.
5560
5561 2006-09-22  Simon Josefsson  <jas@extundo.com>
5562
5563         * modules/gc-sha1:
5564         * modules/gc-md4:
5565         * modules/gc-hmac-sha1:
5566         * modules/gc-hmac-md5:
5567         * modules/gc-des:
5568         * modules/gc-arcfour: Distribute more files.
5569
5570 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5571
5572         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
5573         (gl_linked_iterator_from_to): Initialize struct completely.
5574         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
5575         (gl_tree_iterator_from_to): Likewise
5576         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
5577         * lib/gl_array_list.c [lint] (gl_array_iterator)
5578         (gl_array_iterator_from_to): Likewise.
5579         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
5580         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
5581         (gl_carray_iterator_from_to): Likewise.
5582
5583         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
5584         * lib/md4.c (md4_process_block): Remove unused variable.
5585         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
5586         parentheses for clarity.
5587
5588 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5589
5590         * modules/bison-i18n (Depends-on): Add gettext.
5591
5592 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5593
5594         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
5595         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
5596         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
5597         also add missing comma that caused broken test.
5598         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
5599         stdlib.h, for `abort'.
5600         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
5601         variables.
5602         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
5603         include unistd.h if present, for `rmdir'.
5604         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
5605         variables.
5606         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
5607         in the process include standard headers for prototypes.
5608         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
5609         gets declared on GNU/Linux.
5610         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
5611         unistd.h, for `rmdir'.
5612         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
5613
5614         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
5615         always true.
5616         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
5617
5618         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
5619
5620 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5621
5622         * gnulib-tool (func_version): Create output all at once.  This
5623         may help avoid triggering unnecessary SIGPIPEs, and at any
5624         rate it doesn't hurt.
5625
5626 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5627             Bruno Haible  <bruno@clisp.org>
5628
5629         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
5630         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
5631         * m4/signed.m4 (bh_C_SIGNED): Likewise.
5632
5633         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
5634         (gl_FUNC_VASPRINTF): Invoke it.
5635
5636 2006-09-22  Bruno Haible  <bruno@clisp.org>
5637
5638         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
5639         getloadavg.c as first argument.
5640
5641 2006-09-22  Bruno Haible  <bruno@clisp.org>
5642
5643         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
5644         at the beginning of the gl_INIT macro.
5645         * modules/getloadavg (configure.ac): Pass $gl_source_base to
5646         gl_GETLOADAVG.
5647
5648 2006-09-22  Bruno Haible  <bruno@clisp.org>
5649
5650         * gnulib-tool (func_create_megatestdir): Don't include the config-h
5651         module.
5652         Suggested by Ralf Wildenhues.
5653
5654 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
5655
5656         Import this patch from libc:
5657
5658         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
5659
5660         * lib/regex_internal.c (re_string_reconstruct): Handle
5661         offset < pstr->valid_raw_len && pstr->offsets_needed case.
5662         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
5663         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
5664         re_string_context_at.
5665
5666         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
5667         now requires it.
5668         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
5669         gl_REGEX now does it for us.
5670         (gl_REGEX): Add test taken from
5671         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
5672
5673         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
5674         Check that large offsets work.  Modernize Autoconf usages.
5675         Prefer "yes" to mean a good thing rather than a bad.
5676         Don't put "#define mkstemp" in config.h, as this might interfere
5677         with standard system headers that "#define mkstemp mkstemp64".
5678
5679         * modules/mkstemp (Depends-on): Add extensions, so that
5680         mkstemp is visible on some platforms.
5681         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
5682         (Include): Change to "mkstemp.h" from <stdlib.h>.
5683         (Files): Add mkstemp.h.
5684
5685         * lib/mkstemp.h: New file, since some standard headers
5686         #define mkstemp.
5687         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
5688         Include "mkstemp.h".
5689         Make the _LIBC code resemble glibc original more,
5690         e.g., use K&R style.
5691         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
5692         (mkstemp): Remove, since mkstemp.h does this for us.
5693         * lib/stdlib--.h: Include mkstemp.h.
5694
5695         Import this patch from libc:
5696
5697         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
5698
5699         * lib/tempname.c (__gen_tempname): Change attempts_min
5700         into a macro.  Use preprocessor to decide how to initialize
5701         attempts [Coverity CID 67].
5702
5703 2006-09-20  Bruno Haible  <bruno@clisp.org>
5704
5705         * lib/mkdtemp.c: Import from libc.
5706         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
5707                 * sysdeps/posix/tempname.c (__gen_tempname): Change
5708                 attempts_min into a macro.  Use preprocessor to decide how to
5709                 initialize attempts [Coverity CID 67].
5710         2001-11-27  Paul Eggert  <eggert@twinsun.com>
5711                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
5712                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
5713
5714 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5715
5716         * gnulib-tool (func_exit): New function, to allow to pass the
5717         exit status portably through the trap.  Use everywhere.
5718         (--help, --version): Signal a write error.
5719         (trap): catch SIGPIPE, for write errors.
5720         Exit at the end of the trap, with the correct exit status.
5721
5722 2006-09-19  Karl Berry  <karl@gnu.org>
5723
5724         * doc/gnulib.texi: note about the license texinfo files.
5725
5726 2006-09-19  Eric Blake  <ebb9@byu.net>
5727
5728         * gnulib-tool: Avoid space-tab.
5729
5730 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5731
5732         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
5733         that prevented coreutils 6.1 from building.  Problem reported
5734         by Petter Reinholdtsen.
5735
5736 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5737
5738         * gnulib-tool (avoidlist): Fix typo that broke options like
5739         --avoid=lock that are used by coreutils bootstrap.
5740
5741 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
5742
5743         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
5744         more systematically.
5745
5746 2006-09-18  Jim Meyering  <jim@meyering.net>
5747
5748         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
5749
5750 2006-09-18  Bruno Haible  <bruno@clisp.org>
5751
5752         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
5753
5754 2006-09-18  Bruno Haible  <bruno@clisp.org>
5755
5756         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
5757         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
5758         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
5759         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
5760         * m4/gettext.m4: Require autoconf >= 2.52.
5761         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
5762         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
5763         of gl_cv_header_inttypes_h.
5764
5765 2006-09-18  Bruno Haible  <bruno@clisp.org>
5766
5767         * lib/javaversion.c: Include configmake.h.
5768
5769 2006-09-18  Bruno Haible  <bruno@clisp.org>
5770
5771         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
5772         avoid that the while loops be executed in a subshell.
5773
5774 2006-09-18  Bruno Haible  <bruno@clisp.org>
5775
5776         * MODULES.html.sh (func_module): Break long lines.
5777         Suggested by Bruce Korb <bkorb@gnu.org>.
5778
5779 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5780
5781         Speed up by a factor of 1.12.
5782         * gnulib-tool (nl): New variable.
5783         (func_import): Rewrite include directive extraction to only read each
5784         directive once.
5785
5786 2006-09-17  Bruno Haible  <bruno@clisp.org>
5787
5788         * modules/javaversion (Makefile.am): Remove DEFS setting.
5789         (Depends-on): Add configmake, for PKGDATADIR definition.
5790
5791 2006-09-17  Bruno Haible  <bruno@clisp.org>
5792
5793         * gnulib-tool (func_create_testdir): Rewrite all files at once.
5794
5795 2006-09-17  Bruno Haible  <bruno@clisp.org>
5796
5797         * gnulib-tool (func_append): New function, stolen from libtool.m4.
5798         (func_modules_transitive_closure, func_modules_add_dummy,
5799         func_modules_to_filelist, func_import, func_create_testdir,
5800         func_create_megatestdir, ...): Use it wherever possible.
5801         Suggested by Ralf Wildenhues.
5802
5803 2006-09-16  Karl Berry  <karl@gnu.org>
5804
5805         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
5806         to avoid sectioning errors.
5807         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
5808         [ifinfo]: blank line after @center-ed titles.
5809         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
5810         Spell FSF address consistently with others.
5811         (These changes approved by rms.)
5812
5813 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5814
5815         Speed up by a factor of 1.61.
5816         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
5817         already checked module names again.
5818
5819 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5820
5821         Speed up by a factor of 1.13.
5822         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
5823         for new_files, and the input to func_add_or_update.
5824
5825 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5826
5827         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
5828         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
5829
5830 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5831
5832         * modules/mkancesdirs (Depends-on): Add fcntl.
5833         * modules/savewd: New file.
5834         * MODULES.html.sh (File system functions): Add savewd.
5835
5836         * modules/configmake (Makefile.am): Add support for the
5837         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
5838
5839 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5840
5841         * m4/savewd.m4: New file.
5842
5843 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5844
5845         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
5846         (dirchownmod): New arg FD.  All callers changed.
5847         Use FD rather than opening the directory ourself, as opening is
5848         now the caller's responsibility.
5849         * lib/dirchownmod.h: Likewise.
5850         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
5851         hosts that require <sys/types.h> before <sys/stat.h>.  Include
5852         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
5853         (test_dir): Remove.
5854         (mkancesdirs): Return length of prefix of FILE that has already
5855         been made, or -2 if there is a child doing the work.  Redo
5856         algorithm so that it is O(N) rather than O(N**2).  Optimize away
5857         ".", and treat ".." specially since it might stray back into
5858         already-created areas.  Use a subprocess if necessary.  New arg
5859         WD; all users changed.  MAKE_DIR function should now return 1
5860         if it creates a directory that is not readable.  Return -2 if
5861         a child process is spun off.
5862         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
5863         Adjust signature to match code.
5864         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
5865         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
5866         all users changed.
5867         * lib/savewd.c, lib/savewd.h: New files.
5868
5869 2006-09-15  Jim Meyering  <jim@meyering.net>
5870
5871         * modules/rename-dest-slash: New module.
5872         * MODULES.html.sh (posix_compat): Add it here.
5873
5874         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
5875
5876 2006-09-15  Jim Meyering  <jim@meyering.net>
5877
5878         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
5879         file.
5880
5881         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
5882
5883 2006-09-15  Jim Meyering  <jim@meyering.net>
5884
5885         * lib/rename-dest-slash.c (has_trailing_slash): Use
5886         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
5887         (rpl_rename_dest_slash): Perform the cheaper trailing slash
5888         test before testing whether SRC is a directory.
5889         Suggestions from Bruno Haible.
5890
5891         Avoid a warning about an unused variable.
5892         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
5893         into the #ifdef block where it's used.
5894
5895         * lib/rename-dest-slash.c: New file.
5896
5897 2006-09-14  Bruno Haible  <bruno@clisp.org>
5898
5899         * lib/allocsa.c: Include <config.h> unconditionally.
5900         * lib/asnprintf.c: Likewise.
5901         * lib/asprintf.c: Likewise.
5902         * lib/c-strcasecmp.c: Likewise.
5903         * lib/c-strcasestr.c: Likewise.
5904         * lib/c-strncasecmp.c: Likewise.
5905         * lib/c-strstr.c: Likewise.
5906         * lib/classpath.c: Likewise.
5907         * lib/clean-temp.c: Likewise.
5908         * lib/concatpath.c: Likewise.
5909         * lib/copy-file.c: Likewise.
5910         * lib/csharpcomp.c: Likewise.
5911         * lib/csharpexec.c: Likewise.
5912         * lib/execute.c: Likewise.
5913         * lib/fatal-signal.c: Likewise.
5914         * lib/findprog.c: Likewise.
5915         * lib/fwriteerror.c: Likewise.
5916         * lib/gl_array_list.c: Likewise.
5917         * lib/gl_array_oset.c: Likewise.
5918         * lib/gl_avltree_list.c: Likewise.
5919         * lib/gl_avltree_oset.c: Likewise.
5920         * lib/gl_avltreehash_list.c: Likewise.
5921         * lib/gl_carray_list.c: Likewise.
5922         * lib/gl_linked_list.c: Likewise.
5923         * lib/gl_linkedhash_list.c: Likewise.
5924         * lib/gl_list.c: Likewise.
5925         * lib/gl_oset.c: Likewise.
5926         * lib/gl_rbtree_list.c: Likewise.
5927         * lib/gl_rbtree_oset.c: Likewise.
5928         * lib/gl_rbtreehash_list.c: Likewise.
5929         * lib/imaxabs.c: Likewise.
5930         * lib/imaxdiv.c: Likewise.
5931         * lib/javacomp.c: Likewise.
5932         * lib/javaexec.c: Likewise.
5933         * lib/javaversion.c: Likewise.
5934         * lib/linebreak.c: Likewise.
5935         * lib/localcharset.c: Likewise.
5936         * lib/lock.c: Likewise.
5937         * lib/mbchar.c: Likewise.
5938         * lib/mbswidth.c: Likewise.
5939         * lib/mkdtemp.c: Likewise.
5940         * lib/pipe.c: Likewise.
5941         * lib/printf-args.c: Likewise.
5942         * lib/printf-parse.c: Likewise.
5943         * lib/progname.c: Likewise.
5944         * lib/progreloc.c: Likewise.
5945         * lib/readlink.c: Likewise.
5946         * lib/sh-quote.c: Likewise.
5947         * lib/stpcpy.c: Likewise.
5948         * lib/stpncpy.c: Likewise.
5949         * lib/strcasecmp.c: Likewise.
5950         * lib/strcasestr.c: Likewise.
5951         * lib/strcspn.c: Likewise.
5952         * lib/striconv.c: Likewise.
5953         * lib/strncasecmp.c: Likewise.
5954         * lib/strnlen1.c: Likewise.
5955         * lib/strstr.c: Likewise.
5956         * lib/strtok_r.c: Likewise.
5957         * lib/tls.c: Likewise.
5958         * lib/tmpdir.c: Likewise.
5959         * lib/unicodeio.c: Likewise.
5960         * lib/unsetenv.c: Likewise.
5961         * lib/vasnprintf.c: Likewise.
5962         * lib/vasprintf.c: Likewise.
5963         * lib/wait-process.c: Likewise.
5964         * lib/xallocsa.c: Likewise.
5965         * lib/xsetenv.c: Likewise.
5966         * lib/xstriconv.c: Likewise.
5967
5968 2006-09-13  Simon Josefsson  <jas@extundo.com>
5969
5970         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
5971         that internally, suggested by Ralf Wildenhues
5972         <Ralf.Wildenhues@gmx.de>.
5973
5974 2006-09-13  Simon Josefsson  <jas@extundo.com>
5975
5976         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
5977         @LIBOBJS@.
5978         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5979
5980 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
5981
5982         * lib/_fpending.c: Include <config.h> unconditionally, since we no
5983         longer worry about uses that don't define HAVE_CONFIG_H.
5984         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
5985         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
5986         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
5987         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
5988         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
5989         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
5990         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
5991         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
5992         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
5993         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
5994         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
5995         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
5996         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
5997         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
5998         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
5999         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
6000         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
6001         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
6002         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
6003         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
6004         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
6005         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
6006         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
6007         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
6008         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
6009         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
6010         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
6011         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
6012         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
6013         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
6014         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
6015         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
6016         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
6017         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
6018         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
6019         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
6020         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
6021         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
6022         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
6023         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
6024         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
6025         Likewise.
6026
6027 2006-09-13  Eric Blake  <ebb9@byu.net>
6028
6029         * lib/getopt.c: Fix typo in last commit.
6030
6031 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
6032
6033         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
6034         dgettext.
6035
6036 2006-09-12  Jim Meyering  <jim@meyering.net>
6037
6038         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
6039         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
6040         Reported by Nelson H. F. Beebe.
6041
6042 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
6043
6044         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
6045         program_invocation_name and program_invocation_short_name are
6046         initialized.
6047         * lib/argp-namefrob.h: Move declarations of program_invocation_name
6048         and program_invocation_short_name to argp.h, so they are visible
6049         to user programs.
6050         * lib/argp.h: Likewise
6051
6052 2006-09-10  Bruno Haible  <bruno@clisp.org>
6053
6054         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
6055         m4/inttypes_h.m4, m4/uintmax_t.m4.
6056
6057 2006-09-10  Bruno Haible  <bruno@clisp.org>
6058
6059         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
6060         gl_AC_TYPE_UINTMAX_T.
6061
6062 2006-09-10  Bruno Haible  <bruno@clisp.org>
6063
6064         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
6065
6066 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
6067
6068         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
6069         convention.  Text proposed by Bruno Haible.
6070         (struct argp_option): Document the use of N_() wrappers.
6071
6072         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
6073         '\v', and translate the two parts separately, instead of feeding
6074         the whole string to gettext.  This allows to exclude
6075         '\v' from the strings visible to the translator by writing doc
6076         strings as N_("..") "\v" N_("..").
6077
6078 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
6079
6080         * config/srclist.txt: Undo latest change; the bug was fixed.
6081
6082 2006-09-09  Bruno Haible  <bruno@clisp.org>
6083
6084         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
6085         assignments if building a library without libtool.
6086         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
6087         in func_emit_lib_Makefile_am.
6088         (func_import): When building a static library libfoo.a, arrange to
6089         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
6090         (func_create_testdir): Likewise.
6091         * modules/gc (configure.ac, Makefile.am): If building statically,
6092         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
6093         * modules/iconvme (configure.ac, Makefile.am): Likewise.
6094         * modules/striconv (configure.ac, Makefile.am): Likewise.
6095         Based on a suggestion by Ralf Wildenhues.
6096
6097 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6098
6099         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
6100         Check for unistd.h too, since Autoconf doesn't assume POSIX.
6101         Also:
6102
6103         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6104         Add year_2050_test to catch glibc bug 2821
6105         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
6106
6107         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6108         Prefer #ifdef to #if.
6109
6110         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
6111         Return from 'main' instead of calling 'exit'.
6112
6113 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6114
6115         * lib/mktime.c (guess_time_tm): Fix bug where mktime
6116         returned the maximum time_t value rather than (time_t) -1.
6117         Problem originally reported by William Bardwell
6118         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
6119
6120         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
6121         Moved to here ...
6122         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
6123         ... from here.
6124
6125 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
6126
6127         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
6128         2821 is fixed.
6129
6130 2006-09-08  Jim Meyering  <jim@meyering.net>
6131
6132         Don't make generated files read-only.  That would bother too many
6133         people.  However, do retain the ability to work when targets are
6134         read-only: remove the destination and temporary files before writing
6135         them (when generated via sed or echo), or by using the -f option for
6136         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
6137         * modules/alloca-opt, modules/argz, modules/arpa_inet:
6138         * modules/byteswap, modules/configmake, modules/fcntl:
6139         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
6140         * modules/localcharset, modules/netinet_in, modules/poll:
6141         * modules/stdbool, modules/stdint, modules/sys_select:
6142         * modules/sys_socket, modules/sys_stat, modules/sysexits:
6143
6144 2006-09-08  Jim Meyering  <jim@meyering.net>
6145
6146         Avoid new build failure on FreeBSD 6.0.
6147         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
6148         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
6149         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
6150
6151 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6152
6153         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
6154
6155 2006-09-07  Jim Meyering  <jim@meyering.net>
6156
6157         Fix global typo in last change: use chmod u-w, not chmod u-x.
6158         Spotted by Paul Eggert and Bruce Korb.
6159         * modules/alloca-opt, modules/argz, modules/arpa_inet:
6160         * modules/byteswap, modules/configmake, modules/fcntl:
6161         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
6162         * modules/localcharset, modules/netinet_in, modules/poll:
6163         * modules/stdbool, modules/stdint, modules/sys_select:
6164         * modules/sys_socket, modules/sys_stat, modules/sysexits:
6165
6166 2006-09-06  Jim Meyering  <jim@meyering.net>
6167
6168         Make generated files be read-only.
6169         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
6170         Ensure that each generated file is now read-only.
6171         * modules/argz: Likewise.
6172         * modules/arpa_inet: Likewise.
6173         * modules/byteswap: Likewise.
6174         * modules/configmake: Likewise.
6175         * modules/fcntl: Likewise.
6176         * modules/fnmatch: Likewise.
6177         * modules/getopt: Likewise.
6178         * modules/glob: Likewise.
6179         * modules/inttypes: Likewise.
6180         * modules/netinet_in: Likewise.
6181         * modules/poll: Likewise.
6182         * modules/stdbool: Likewise.
6183         * modules/stdint: Likewise.
6184         * modules/sys_select: Likewise.
6185         * modules/sys_socket: Likewise.
6186         * modules/sys_stat: Likewise.
6187         * modules/sysexits: Likewise.
6188         * modules/localcharset: Same as above, but continue using temporary
6189         file named "t-$@" (why different?) rather than the "$@-t" used
6190         everywhere else.
6191
6192         * modules/sysexits (Makefile.am): Replace literal occurrences
6193         of "sysexit.h" more readable, and more consistent, "$@".
6194
6195 2006-09-06  Bruno Haible  <bruno@clisp.org>
6196
6197         * modules/striconv: New file.
6198         * modules/xstriconv: New file.
6199         * MODULES.html.sh (Internationalization functions): Add striconv,
6200         xstriconv.
6201
6202 2006-09-06  Bruno Haible  <bruno@clisp.org>
6203
6204         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
6205         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
6206         not using libtool correctly.
6207
6208 2006-09-06  Bruno Haible  <bruno@clisp.org>
6209
6210         * lib/striconv.h: New file.
6211         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
6212         iconvstring.c.
6213         * lib/xstriconv.h: New file.
6214         * lib/xstriconv.c: New file.
6215
6216 2006-09-06  Bruno Haible  <bruno@clisp.org>
6217
6218         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
6219         lib_..._LDFLAGS.
6220
6221 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6222
6223         * lib/argz_.h: Sync from Libtool.
6224
6225         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
6226                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6227
6228         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
6229
6230 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6231
6232         * modules/trim: New file.
6233
6234 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6235
6236         * lib/trim.h: New file.
6237         * lib/trim.c: New file.
6238
6239 2006-09-05  Bruno Haible  <bruno@clisp.org>
6240
6241         * MODULES.html.sh (String handling): Add trim.
6242
6243 2006-09-04  Karl Berry  <karl@gnu.org>
6244
6245         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
6246         until next release.
6247
6248 2006-09-03  Bruno Haible  <bruno@clisp.org>
6249
6250         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
6251         correctly.
6252
6253 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6254
6255         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
6256         not gl_GETLOADAVG.  Omit unneeded semicolons.
6257         Problems reported by Ralf Wildenhues in
6258         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6259         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
6260         at the end, which is the usual gnulib style.
6261
6262         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
6263         of doing all the work ourselves.
6264         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
6265         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
6266
6267 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6268
6269         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
6270         Problem reported by Ralf Wildenhues in
6271         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6272
6273         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
6274         HAVE_STRUCT_STATFS_F_FSTYPENAME.
6275
6276 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6277
6278         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
6279         yesterday's patch by changing test -n to test -z.
6280
6281 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6282
6283         * modules/getloadavg (Files): Add m4/getloadavg.m4.
6284         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
6285         the former is now obsolescent.
6286
6287         * modules/chdir-long (Depends-on): Add fcntl.
6288
6289 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6290
6291         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
6292         obsolescent, and programs should use gnulib instead.
6293         * m4/getloadavg.m4: New file, with contents taken from Autoconf
6294         but with prefixes changed.
6295
6296 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6297
6298         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
6299         or stdbool.h, because they might not exist while configuring.
6300
6301         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
6302         Don't include unistd.h or limits.h; not needed, since chdir-long.h
6303         does that for us.
6304         (O_DIRECTORY): Remove.
6305
6306 2006-08-31  Eric Blake  <ebb9@byu.net>
6307
6308         * gnulib-tool: Don't let emacs change spaces to TAB.
6309
6310 2006-08-31  Bruno Haible  <bruno@clisp.org>
6311
6312         * gnulib-tool: When calling func_import more than once, do it in a
6313         subshell.
6314         Reported by Eric Blake <ebb9@byu.net>.
6315
6316 2006-08-31  Bruno Haible  <bruno@clisp.org>
6317
6318         * gnulib-tool (nl): Remove variable.
6319         (sed_transform_lib_file): Use more robust test for config-h module.
6320         (func_import): Fix typo in 2006-08-25 patch.
6321
6322 2006-08-31  Bruno Haible  <bruno@clisp.org>
6323
6324         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
6325         specified, augment Makefile.am variables instead of assigning them.
6326
6327 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6328
6329         Work around a bug in both the Linux and SunOS 64-bit kernels:
6330         nanosleep mishandles sleeps for longer than 2**31 seconds.
6331         Problem reported by Frank v Waveren in
6332         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6333         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
6334         Check for nanosleep bug.
6335         (LIB_NANOSLEEP): Append clock_gettime library if needed.
6336
6337 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6338
6339         Work around a bug in both the Linux and SunOS 64-bit kernels:
6340         nanosleep mishandles sleeps for longer than 2**31 seconds.
6341         Problem reported by Frank v Waveren in
6342         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6343         * lib/nanosleep.c (BILLION): New constant.
6344         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
6345         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
6346         implementation.
6347
6348 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6349
6350         * modules/nanosleep (Depends-on): Add gettime.
6351
6352 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6353         and Simon Josefsson  <jas@extundo.com>
6354         and Oskar Liljeblad  <oskar@osk.mine.nu>
6355
6356         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
6357         * gnulib-tool (func_import): New license type 'unmodifiable license
6358         text'.
6359         * modules/fdl: Use it.  Longer description.
6360         * module/gpl, module/lgpl: New files.
6361
6362 2006-08-30  Jim Meyering  <jim@meyering.net>
6363
6364         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
6365         shadowing the parameter.
6366
6367 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6368
6369         Sync from Libtool:
6370
6371         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6372
6373         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
6374         sharing with gnulib.  Report by Eric Blake.
6375
6376 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6377
6378         * modules/isapipe: New file.
6379         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
6380
6381 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6382
6383         * modules/configmake (Makefile.am): Add a comment, and omit
6384         the CONFIGMAKE_ prefix from generated macro names.  Suggested
6385         by Bruno Haible.
6386
6387 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6388
6389         * m4/isapipe.m4: New file.
6390
6391 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6392
6393         * lib/isapipe.c, lib/isapipe.h: New files.
6394
6395 2006-08-29  Jim Meyering  <jim@meyering.net>
6396
6397         * modules/configmake (Makefile.am): Make configmake.h depend on
6398         Makefile.  Otherwise, a stale configmake.h could hang around.
6399
6400 2006-08-29  Eric Blake  <ebb9@byu.net>
6401
6402         * lib/error.c (error_at_line, print_errno_message): Match libc, after
6403         resolution of upstream bug 3044.
6404
6405 2006-08-29  Bruno Haible  <bruno@clisp.org>
6406
6407         * modules/localcharset (Depends-on): Add configmake.
6408         (Makefile.am): Remove setting of LIBDIR through DEFS.
6409
6410 2006-08-29  Bruno Haible  <bruno@clisp.org>
6411
6412         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
6413         defined.
6414
6415 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6416
6417         * modules/fcntl: New file.
6418         * modules/chdir-safer (Depends-on): Add fcntl.
6419         * modules/fts: Likewise.
6420         * modules/mkdir-p: Likewise.
6421
6422         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
6423         This undoes the most recent change, since we're now addressing the
6424         problem in a different way.
6425
6426         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
6427         into output, since the output might be called Makefile.am even
6428         if $makefile_name is something different.
6429         (func_import): Use $makefile_am rather than
6430         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
6431         empty.
6432
6433         * modules/inttypes (Files): Add m4/inttypes-h.m4.
6434
6435 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6436
6437         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
6438         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
6439         recent change to stdint.m4, since we're now addressing the problem in a
6440         different way.
6441
6442 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6443
6444         * m4/fcntl_h.m4: New file.
6445
6446 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6447
6448         * lib/fcntl_.h: New file.
6449         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
6450         the fcntl module.
6451         * lib/dirchownmod.c: Likewise.
6452         * lib/fts.c: Likewise.
6453
6454         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
6455         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
6456         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
6457         just before including <inttypes.h>, to avoid circular inclusion.
6458
6459 2006-08-28  Jim Meyering  <jim@meyering.net>
6460
6461         * doc/visibility.texi: Actually read and correct the grammar of the
6462         sentence affected by yesterday's change.
6463
6464 2006-08-28  Eric Blake  <ebb9@byu.net>
6465
6466         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
6467         needs wrapper.
6468
6469 2006-08-28  Eric Blake  <ebb9@byu.net>
6470
6471         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
6472
6473 2006-08-28  Eric Blake  <ebb9@byu.net>
6474
6475         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
6476
6477 2006-08-28  Bruno Haible  <bruno@clisp.org>
6478
6479         * modules/c-strstr: New file, from GNU gettext.
6480         * MODULES.html.sh (String handling): Add c-strstr.
6481
6482 2006-08-28  Bruno Haible  <bruno@clisp.org>
6483
6484         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
6485         macros.
6486         Reported by Eric Blake.
6487
6488 2006-08-28  Bruno Haible  <bruno@clisp.org>
6489
6490         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
6491         (VASNPRINTF): Return a string of length > INT_MAX without failing.
6492         * lib/vasprintf.c: Include errno.h, limits.h.
6493         (EOVERFLOW): New fallback definition.
6494         (vasprintf): Test here whether the string length is > INT_MAX.
6495         * lib/vsnprintf.c: Include errno.h, limits.h.
6496         (EOVERFLOW): New fallback definition.
6497         (vsnprintf): Fix bug when generated string was too long for the buffer.
6498         Test here whether the string length is > INT_MAX.
6499
6500 2006-08-28  Bruno Haible  <bruno@clisp.org>
6501
6502         * lib/inttypes_.h (SCNX*): Remove definitions.
6503         Reported by Eric Blake.
6504
6505 2006-08-28  Bruno Haible  <bruno@clisp.org>
6506
6507         * lib/c-strstr.h: New file, from GNU gettext.
6508         * lib/c-strstr.c: New file, from GNU gettext.
6509
6510 2006-08-28  Bruno Haible  <bruno@clisp.org>
6511
6512         * gnulib-tool: Reorder some statements.
6513
6514 2006-08-28  Bruno Haible  <bruno@clisp.org>
6515
6516         * gnulib-tool: New option --makefile-name.
6517         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
6518         $makefile_name.
6519         (func_import): Write $makefile_name to the cache file, and read it from
6520         there unless explicitly specified. Use $makefile_name as file name
6521         instead of Makefile.am. Adjust the recommendations accordingly.
6522
6523 2006-08-28  Bruno Haible  <bruno@clisp.org>
6524
6525         * gnulib-tool (func_verify_module): Check against misapplying patch.
6526
6527 2006-08-28  Bruno Haible  <bruno@clisp.org>
6528
6529         * gnulib-tool (func_relativize, func_relconcat): New functions.
6530         Give an error if --local-dir is given with --update.
6531         Remove trailing slashes from $local_gnulib_dir.
6532         (func_import): Store the relativized $local_gnulib_dir in
6533         gnulib-cache.m4, and read it from there if not specified explicitly.
6534
6535 2006-08-28  Bruno Haible  <bruno@clisp.org>
6536
6537         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
6538         is the current directory. Respect also $local_gnulib_dir.
6539
6540 2006-08-28  Bruno Haible  <bruno@clisp.org>
6541             Simon Josefsson  <jas@extundo.com>
6542
6543         BeOS portability.
6544         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
6545
6546 2006-08-27  Jim Meyering  <jim@meyering.net>
6547
6548         * doc/visibility.texi: Remove duplicate word: "pointer".
6549
6550 2006-08-26  Bruno Haible  <bruno@clisp.org>
6551
6552         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
6553         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
6554         (Makefile.am): Create inttypes.h from inttypes_.h.
6555         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
6556
6557         * modules/imaxabs: New file.
6558
6559         * modules/imaxdiv: New file.
6560
6561 2006-08-26  Bruno Haible  <bruno@clisp.org>
6562
6563         * m4/inttypes.m4: New file.
6564         * m4/_inttypes_h.m4: Remove file.
6565         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
6566         PRI_MACROS_BROKEN.
6567         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
6568
6569         * m4/imaxabs.m4: New file.
6570
6571         * m4/imaxdiv.m4: New file.
6572
6573 2006-08-26  Bruno Haible  <bruno@clisp.org>
6574
6575         * lib/inttypes_.h: New file.
6576         * lib/inttypes.h: Remove file.
6577         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
6578
6579         * lib/imaxabs.c: New file.
6580
6581         * lib/imaxdiv.c: New file.
6582
6583 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6584
6585         New config-h module, so that "make" output needn't be cluttered
6586         by -DHAVE_CONFIG_H.
6587         * MODULES.html.sh (Support for building libraries and executables):
6588         Add config-h.
6589         * modules/config-h: New file.
6590         * gnulib-tool (nl, sed_transform_lib_file): New vars.
6591         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
6592         the config-h module is used.
6593
6594         New configmake module, so that "make" output needn't be cluttered
6595         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
6596         * MODULES.html.sh (Support for building libraries and executables):
6597         Add configmake.
6598         * modules/configmake: New file.
6599
6600 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6601
6602         * m4/config-h.m4: New file.
6603
6604 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6605
6606         * config/srclist.txt: Add elisp-comp.
6607
6608 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6609
6610         * MODULES.html.sh (Support for building libraries and executables):
6611         Add elisp-comp.
6612         * build-aux/elisp-comp: New file.
6613         * modules/elisp-comp: New file.
6614
6615 2006-08-24  Bruno Haible  <bruno@clisp.org>
6616
6617         * gnulib-tool (func_create_testdir): Use non-default values of
6618         sourcebase and m4base.
6619
6620 2006-08-24  Bruno Haible  <bruno@clisp.org>
6621
6622         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
6623         HTML structure.
6624
6625 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
6626
6627         * modules/openat (Depends-on): Add lchown.
6628
6629 2006-08-23  Bruno Haible  <bruno@clisp.org>
6630
6631         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
6632         of gl_LOCK_EARLY instead of gl_LOCK.
6633
6634 2006-08-23  Bruno Haible  <bruno@clisp.org>
6635
6636         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
6637         on OSF/1 to no.
6638         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
6639
6640 2006-08-23  Bruno Haible  <bruno@clisp.org>
6641
6642         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
6643         as unusable.
6644
6645         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
6646         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
6647         (gl_LOCK): New macro.
6648
6649 2006-08-22  Simon Josefsson  <jas@extundo.com>
6650
6651         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
6652         to md5 module.
6653
6654 2006-08-22  Simon Josefsson  <jas@extundo.com>
6655
6656         * MODULES.html.sh: Add "Support for maintaining and release
6657         projects".
6658
6659         * build-aux/gnupload: New file, from coreutils.
6660
6661 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6662
6663         Avoid the need for AC_LIBSOURCES in m4 macros.
6664         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
6665         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
6666         * modules/check-version (EXTRA_DIST): Add check-version.h.
6667         * modules/crc (EXTRA_DIST): Add crc.h.
6668         * modules/des (EXTRA_DIST): Add des.h.
6669         * modules/gc (EXTRA_DIST): Add gc.h.
6670         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
6671         * modules/getline (EXTRA_DIST): Add getline.h.
6672         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
6673         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
6674         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
6675         * modules/md2 (EXTRA_DIST): Add md2.h.
6676         * modules/md4 (EXTRA_DIST): Add md4.h.
6677         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
6678         * modules/read-file (EXTRA_DIST): Add read-file.h.
6679         * modules/readline (EXTRA_DIST): Add readline.h.
6680         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
6681         rijndael-api-fst.h.
6682
6683 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6684
6685         * m4/rijndael.m4 (gl_ARCFOUR):
6686         * m4/arctwo.m4 (gl_ARCTWO):
6687         * m4/check-version.m4 (gl_CHECK_VERSION):
6688         * m4/crc.m4 (gl_CRC):
6689         * m4/des.m4 (gl_DES):
6690         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
6691         * m4/gc.m4 (gl_GC):
6692         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
6693         * m4/getline.m4 (gl_FUNC_GETLINE):
6694         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
6695         * m4/hmac-md5.m4 (gl_HMAC_MD5):
6696         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
6697         * m4/md2.m4 (gl_MD2):
6698         * m4/md4.m4 (gl_MD4):
6699         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
6700         * m4/read-file.m4 (gl_FUNC_READ_FILE):
6701         * m4/readline.m4 (gl_FUNC_READLINE):
6702         * m4/rijndael.m4 (gl_RIJNDAEL):
6703         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
6704         to get the necessary .h files and whatnot.
6705
6706 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6707
6708         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
6709         gnulib rather than the other way around.
6710         * config/srclistvars.sh (COREUTILS): Remove.
6711
6712 2006-08-22  Jim Meyering  <jim@meyering.net>
6713
6714         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
6715
6716         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
6717
6718 2006-08-22  Eric Blake  <ebb9@byu.net>
6719
6720         * modules/regexprops-generic: New file.
6721         * MODULES.html.sh (Support for building documentation): List it.
6722
6723 2006-08-22  Eric Blake  <ebb9@byu.net>
6724
6725         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
6726         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
6727         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
6728         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
6729
6730 2006-08-22  Bruno Haible  <bruno@clisp.org>
6731
6732         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
6733         and lib_LTLIBRARIES like the other lib_* variables.
6734
6735 2006-08-22  Bruno Haible  <bruno@clisp.org>
6736
6737         * build-aux/x-to-1.in: New file, from GNU gettext.
6738
6739 2006-08-22  Bruno Haible  <bruno@clisp.org>
6740
6741         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
6742         <utmpx.h> exists.
6743
6744 2006-08-22  Bruno Haible  <bruno@clisp.org>
6745
6746         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
6747         <utmpx.h> exists.
6748
6749 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6750
6751         BeOS portability.
6752         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
6753         exist.
6754         Problem reported by Bruno Haible.
6755
6756 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6757
6758         Avoid the need for AC_LIBSOURCES in m4 macros.
6759         * modules/acl (EXTRA_DIST): Add acl.h.
6760         * modules/argmatch (Files): Add m4/argmatch.m4.
6761         (configure.ac): Add gl_ARGMATCH.
6762         (EXTRA_DIST): Renamed from lib_SOURCES, for
6763         consistency with the other modules.  Remove argmatch.c.
6764         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
6765         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
6766         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
6767         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
6768         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
6769         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
6770         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
6771         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
6772         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
6773         * modules/closeout (EXTRA_DIST): Add closeout.h.
6774         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
6775         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
6776         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
6777         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
6778         dirname.h; remove basename.c and stripslash.c.
6779         * modules/exclude (EXTRA_DIST): Add exclude.h.
6780         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
6781         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
6782         * modules/file-type (EXTRA_DIST): Add file-type.h.
6783         * modules/filemode (EXTRA_DIST): Add filemode.h.
6784         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
6785         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
6786         * modules/fpending (EXTRA_DIST): Add __fpending.h.
6787         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
6788         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
6789         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
6790         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
6791         * modules/getdate (EXTRA_DIST): Add getdate.c.
6792         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
6793         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
6794         * modules/getpass (EXTRA_DIST): Add getpass.h.
6795         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
6796         * modules/group-member (EXTRA_DIST): Add group-member.h.
6797         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
6798         * modules/hash (EXTRA_DIST): Add hash.h.
6799         * modules/human (EXTRA_DIST): Add human.h.
6800         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
6801         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
6802         * modules/lchown (EXTRA_DIST): Add lchown.h.
6803         * modules/long-options (EXTRA_DIST): Add long-options.h.
6804         * modules/lstat (EXTRA_DIST): Add lstat.h.
6805         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
6806         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
6807         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
6808         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
6809         * modules/memxor (EXTRA_DIST): Add memxor.h.
6810         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
6811         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
6812         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
6813         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
6814         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
6815         * modules/physmem (EXTRA_DIST): Add physmem.h.
6816         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
6817         * modules/posixver (EXTRA_DIST): Add posixver.h.
6818         * modules/quote (EXTRA_DIST): Add quote.h.
6819         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
6820         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
6821         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
6822         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
6823         regex_internal.h regexec.c.
6824         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
6825         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
6826         * modules/same (EXTRA_DIST): Add same.h.
6827         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
6828         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
6829         * modules/savedir (EXTRA_DIST): Add savedir.h.
6830         * modules/sha1 (EXTRA_DIST): Add sha1.h.
6831         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
6832         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
6833         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
6834         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
6835         * modules/strdup (EXTRA_DIST): Add strdup.h.
6836         * modules/strftime (EXTRA_DIST): Add strftime.h.
6837         * modules/strndup (EXTRA_DIST): Add strndup.h.
6838         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
6839         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
6840         * modules/time_r (EXTRA_DIST): Add time_r.h.
6841         * modules/timespec (EXTRA_DIST): Add timespec.h.
6842         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
6843         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
6844         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
6845         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
6846         * modules/userspec (EXTRA_DIST): Add userspec.h.
6847         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
6848         * modules/utimens (EXTRA_DIST): Add utimens.h.
6849         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
6850         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
6851         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
6852         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
6853         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
6854         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
6855         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
6856         * modules/yesno (EXTRA_DIST): Add yesno.h.
6857
6858 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6859
6860         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
6861
6862         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
6863         * m4/dev-ino.m4, same-inode.m4: Remove.
6864
6865         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
6866         * m4/acl.m4 (AC_FUNC_ACL):
6867         * m4/backupfile.m4 (gl_BACKUPFILE):
6868         * m4/c-strtod.m4 (gl_C99_STRTOLD):
6869         * m4/canon-host.m4 (gl_CANON_HOST):
6870         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
6871         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
6872         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
6873         * m4/cloexec.m4 (gl_CLOEXEC):
6874         * m4/close-stream.m4 (gl_CLOSE_STREAM):
6875         * m4/closeout.m4 (gl_CLOSEOUT):
6876         * m4/dirfd.m4 (gl_FUNC_DIRFD):
6877         * m4/dirname.m4 (gl_DIRNAME):
6878         * m4/exclude.m4 (gl_EXCLUDE):
6879         * m4/exitfail.m4 (gl_EXITFAIL):
6880         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
6881         * m4/file-type.m4 (gl_FILE_TYPE):
6882         * m4/filemode.m4 (gl_FILEMODE):
6883         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
6884         * m4/fpending.m4 (gl_FUNC_FPENDING):
6885         * m4/fprintftime.m4 (gl_FPRINTFTIME):
6886         * m4/fts.m4 (gl_FUNC_FTS):
6887         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
6888         * m4/getdate.m4 (gl_GETDATE):
6889         * m4/gethrxtime.m4 (gl_GETHRXTIME):
6890         * m4/getpagesize.m4 (gl_GETPAGESIZE):
6891         * m4/getpass.m4 (gl_FUNC_GETPASS):
6892         * m4/gettime.m4 (gl_GETTIME):
6893         * m4/getugroups.m4 (gl_GETUGROUPS):
6894         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
6895         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
6896         * m4/hard-locale.m4 (gl_HARD_LOCALE):
6897         * m4/hash.m4 (gl_HASH):
6898         * m4/idcache.m4 (gl_IDCACHE):
6899         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
6900         * m4/lchown.m4 (gl_FUNC_LCHOWN):
6901         * m4/long-options.m4 (gl_LONG_OPTIONS):
6902         * m4/lstat.m4 (gl_FUNC_LSTAT):
6903         * m4/md5.m4 (gl_MD5):
6904         * m4/memcasecmp.m4 (gl_MEMCASECMP):
6905         * m4/memcoll.m4 (gl_MEMCOLL):
6906         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
6907         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
6908         * m4/memxor.m4 (gl_MEMXOR):
6909         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
6910         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
6911         * m4/modechange.m4 (gl_MODECHANGE):
6912         * m4/mountlist.m4 (gl_MOUNTLIST):
6913         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
6914         * m4/openat.m4 (gl_FUNC_OPENAT):
6915         * m4/pathmax.m4 (gl_PATHMAX):
6916         * m4/physmem.m4 (gl_PHYSMEM):
6917         * m4/posixtm.m4 (gl_POSIXTM):
6918         * m4/posixver.m4 (gl_POSIXVER):
6919         * m4/quote.m4 (gl_QUOTE):
6920         * m4/quotearg.m4 (gl_QUOTEARG):
6921         * m4/readtokens.m4 (gl_READTOKENS):
6922         * m4/readutmp.m4 (gl_READUTMP):
6923         * m4/regex.m4 (gl_REGEX):
6924         * m4/safe-read.m4 (gl_SAFE_READ):
6925         * m4/safe-write.m4 (gl_SAFE_WRITE):
6926         * m4/same.m4 (gl_SAME):
6927         * m4/save-cwd.m4 (gl_SAVE_CWD):
6928         * m4/savedir.m4 (gl_SAVEDIR):
6929         * m4/settime.m4 (gl_SETTIME):
6930         * m4/sha1.m4 (gl_SHA1):
6931         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
6932         * m4/stat-macros.m4 (gl_STAT_MACROS):
6933         * m4/stat-time.m4 (gl_STAT_TIME):
6934         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
6935         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
6936         * m4/strdup.m4 (gl_FUNC_STRDUP):
6937         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
6938         * m4/strndup.m4 (gl_FUNC_STRNDUP):
6939         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
6940         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
6941         * m4/time_r.m4 (gl_TIME_R):
6942         * m4/timespec.m4 (gl_TIMESPEC):
6943         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
6944         * m4/unlinkdir.m4 (gl_UNLINKDIR):
6945         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
6946         * m4/userspec.m4 (gl_USERSPEC):
6947         * m4/utimecmp.m4 (gl_UTIMECMP):
6948         * m4/utimens.m4 (gl_UTIMENS):
6949         * m4/xalloc.m4 (gl_XALLOC):
6950         * m4/xgetcwd.m4 (gl_XGETCWD):
6951         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
6952         * m4/xreadlink.m4 (gl_XREADLINK):
6953         * m4/xstrtod.m4 (gl_XSTRTOD):
6954         * m4/yesno.m4 (gl_YESNO):
6955         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
6956         to get the necessary .h files and whatnot.
6957
6958 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
6959             Bruno Haible  <bruno@clisp.org>
6960
6961         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
6962         /bin/sh understanding of '!' conditional negation.
6963
6964 2006-08-21  Jim Meyering  <jim@meyering.net>
6965
6966         * modules/openat (Depends-on): Really alphabetize.
6967
6968         * modules/acl (Depends-on): Add error and quote.
6969
6970         * check-module (find_included_lib_files): Add at-func.c to the
6971         ok-to-include-more-than-once white list.
6972
6973         * modules/openat (Depends-on): Add lstat.  Alphabetize.
6974
6975 2006-08-21  Bruno Haible  <bruno@clisp.org>
6976
6977         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6978         Emit a pkgdata_DATA variable only if some snippets add contents to it.
6979         Reported by Martin Lambers <marlam@marlam.de>.
6980
6981 2006-08-21  Bruno Haible  <bruno@clisp.org>
6982
6983         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
6984         specify an installation location, don't emit a noinst_LIBRARIES or
6985         noinst_LTLIBRARIES assignment.
6986
6987 2006-08-21  Bruno Haible  <bruno@clisp.org>
6988
6989         BeOS portability.
6990         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
6991         BeOS has mbrtowc() but no <wctype.h>.
6992
6993 2006-08-21  Bruno Haible  <bruno@clisp.org>
6994
6995         BeOS portability.
6996         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
6997         exist.
6998
6999 2006-08-21  Bruno Haible  <bruno@clisp.org>
7000
7001         BeOS portability.
7002         * lib/mbchar.h: Include <wctype.h> only if it exists.
7003
7004 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7005
7006         Remove files that are no longer needed by their respective modules.
7007         * m4/obstack.m4: Remove.
7008         * m4/strerror_r.m4: Remove.
7009         * m4/uint32_t.m4: Remove.
7010         * m4/uintptr_t.m4: Remove.
7011         * m4/ullong_max.m4: Remove.
7012         * m4/xstrtoimax.m4: Remove.
7013         * m4/xstrtoumax.m4: Remove.
7014
7015         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
7016         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
7017         dependencies now capture this.
7018
7019         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
7020         Do not use AC_LIBSOURCES, since gnulib modules now do this.
7021         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
7022         * m4/human.m4 (gl_HUMAN): Likewise.
7023         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
7024         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
7025
7026         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
7027
7028         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
7029         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
7030         stdint.
7031         * m4/human.m4 (gl_HUMAN): Likewise.
7032         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
7033         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
7034         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
7035         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
7036         * m4/xstrtol (gl_XSTRTOL): Likewise.
7037
7038         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
7039         AC_TYPE_LONG_LONG_INT.
7040         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
7041         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
7042         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
7043         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
7044
7045         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
7046         on stdbool.
7047
7048         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
7049         (gl_PREREQ_XSTRTOUL): Remove.
7050
7051         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
7052
7053         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
7054         mode.
7055
7056 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7057
7058         Add and change modules to make it easier for coreutils to use
7059         gnulib-tool.
7060         * modules/backupfile (Files): Remove m4/d-ino.m4.
7061         (Depends-on): Add d-ino.
7062         * modules/cycle-check (Depends-on): Add stdint.
7063         (lib_SOURCES): Add cycle-check.h.
7064         * modules/d-ino: New module.
7065         * modules/d-type: New module.
7066         * modules/error (Files): Remove m4/strerror_r.m4.
7067         * modules/filemode (Files): Add m4/st_dm_mode.m4.
7068         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
7069         m4/inttypes_h.m4, m4/uintmax_t.m4.
7070         (Depends-on): Add stdint.
7071         (lib_SOURCES): Add fsusage.h.
7072         * modules/getcwd (Files): Remove d-ino.m4.
7073         (Depends-on): Add d-ino.
7074         * modules/getndelim2 (Depends-on): Add stdint.
7075         * modules/glob (Files): Remove m4/d-type.m4.
7076         (Depends-on): Add d-type.
7077         * modules/host-os: New module.
7078         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
7079         m4/inttypes_h.m4, m4/uintmax_t.m4.
7080         * Depends-on: Add stdint.
7081         (lib_SOURCES): Add human.h.
7082         * modules/inttostr (Files): Remove m4/intmax_t.m4,
7083         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
7084         m4/uintmax_t.m4, m4/ulonglong.m4.
7085         (Depends-on): Add stdint.
7086         (EXTRA_DIST): Add inttostr.h.
7087         * modules/lchmod: New module.
7088         * modules/link-follow: New module.
7089         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
7090         (Depends-on): Add lchmod.
7091         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
7092         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
7093         (Depends-on): Add stdint.
7094         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
7095         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
7096         (Depends-on): Add stdint.
7097         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
7098         * modules/perl: New module.
7099         * modules/regex (Depends-on): Add stdint.
7100         * modules/rmdir-errno: New module.
7101         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
7102         m4/intmax_t.m4.
7103         (Depends-on): Add stdint.
7104         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
7105         m4/uintmax_t.m4.
7106         (Depends-on): Add stdint.
7107         * modules/unlink-busy: New module.
7108         * modules/utimecmp (Depends-on): Add stdint.
7109         * modules/uptime: New module.
7110         * modules/winsz-ioctl: New module.
7111         * modules/winsz-termios: New module.
7112         * modules/xnanosleep (Depends-on): Add nanosleep.
7113         * modules/ullong_max: Remove.
7114         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
7115         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
7116         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
7117         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
7118         (Depends-on): Add inttypes.
7119         (lib_SOURCES): Add xstrtol.h.
7120         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
7121         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
7122         * MODULES.html.sh: Move 'assert' into the assert section.
7123         Move 'dummy' into the linking section.
7124         Remove ullong_max.
7125         Add section for compatibility checks for POSIX:2001 functions,
7126         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
7127         winsz-ioctl, and winsz-termios into it.
7128         Add lchmod.
7129         Add top-level Misc section and put host-os, perl, and uptime
7130         into it.
7131
7132 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7133
7134         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
7135         now assume the stdint module.  Do not include inttypes.h.
7136         * lib/fsusage.h: Likewise.
7137         * lib/getndelim2.c: Likewise.
7138         * lib/human.h: Likewise.
7139         * lib/inttostr.h: Likewise.
7140         * lib/obstack.c: Likewise.
7141         * lib/regex_internal.h: Likewise.
7142         * lib/tempname.c: Likewise.
7143         * lib/utimecmp.c: Likewise.
7144         * lib/xstrtol.h: Likewise.
7145
7146         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
7147
7148         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
7149         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
7150         * lib/xtime.h: Likewise.
7151
7152 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7153
7154         * modules/openat (Files): Add lib/fchmodat.c.
7155         Fixes problem reported by Jay Youngman.
7156
7157 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7158
7159         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
7160         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
7161
7162 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7163             Bruno Haible  <bruno@clisp.org>
7164
7165         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
7166         and is a script that invokes bison. Tighten the code. Add comments.
7167
7168 2006-08-18  Jim Meyering  <jim@meyering.net>
7169
7170         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
7171         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
7172         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
7173         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
7174
7175 2006-08-18  Bruno Haible  <bruno@clisp.org>
7176
7177         * modules/bison-i18n: New file.
7178         * MODULES.html.sh (Internationalization functions): Add it.
7179
7180 2006-08-18  Bruno Haible  <bruno@clisp.org>
7181
7182         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
7183         sys/statvfs.h. When getmntinfo was found, check its declaration and
7184         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
7185
7186 2006-08-18  Bruno Haible  <bruno@clisp.org>
7187
7188         * m4/bison-i18n.m4: New file, from bison.
7189
7190 2006-08-18  Bruno Haible  <bruno@clisp.org>
7191
7192         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
7193         (ME_DUMMY): Treat "kernfs" as a dummy.
7194         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
7195
7196 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7197
7198         Update from coreutils.
7199
7200         2006-08-15  Jim Meyering  <jim@meyering.net>
7201
7202         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
7203
7204         2006-01-17  Jim Meyering  <jim@meyering.net>
7205
7206         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
7207
7208         2006-01-11  Jim Meyering  <jim@meyering.net>
7209
7210         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
7211         Check for the lchmod function.
7212
7213 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7214
7215         Update from coreutils.
7216
7217         * lib/__fpending.h: Add copyright notice.
7218         * lib/fprintftime.h: Likewise.
7219         * lib/savedir.c: Use (C) in copyright notice.
7220         * lib/savedir.h: Likewise.
7221
7222         2006-08-15  Jim Meyering  <jim@meyering.net>
7223
7224         * lib/at-func.c: New file, with the logic of all emulated at-functions.
7225         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
7226         in support of the EXPECTED_ERRNO macro.
7227         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
7228         definitions.  Instead, define the appropriate symbols and include
7229         "at-func.c".
7230         * lib/mkdirat.c (mkdirat): Likewise.
7231         * lib/fchmodat.c (fchmodat): Likewise.
7232         (ENOSYS): Remove definition.
7233         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
7234         it.  Don't include "unistd--.h" -- it wasn't ever used.
7235
7236         2006-01-17  Jim Meyering  <jim@meyering.net>
7237
7238         Rewrite fts.c not to change the current working directory,
7239         by using openat, fstatat, fdopendir, etc..
7240
7241         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
7242         (HAVE_OPENAT_SUPPORT): Define.
7243         [_LIBC] (fchdir): Don't undef or define; no longer used.
7244         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
7245         Now, this `function' always succeeds, and consumes its file descriptor
7246         parameter -- so callers must not close such FDs.  Update callers.
7247         (diropen_fd, opendirat, cwd_advance_fd): New functions.
7248         (diropen): Add parameter, SP.  Adjust all callers.
7249         Implement using diropen_fd, rather than open.
7250         (fts_open): Initialize new member, fts_cwd_fd.
7251         Remove fts_rft-setting code.
7252         (fts_close): Close fts_cwd_fd, if necessary.
7253         (__opendir2): Define in terms of opendir or opendirat,
7254         depending on whether the FST_NOCHDIR flag is set.
7255         (fts_build): Since fts_safe_changedir consumes its FD, and since
7256         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
7257         and close the dup'd file descriptor upon failure.
7258         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
7259         (fts_safe_changedir): Tweak semantics to reflect that this function
7260         now calls cwd_advance_fd and hence consumes its FD argument.
7261         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
7262         [struct FTS] (fts_rft): Remove now-unused member.
7263         [struct FTS] (fts_cycle.state): Improve comment.
7264
7265         * lib/openat.c (openat_needs_fchdir): New function.
7266         * lib/openat.h (openat_needs_fchdir): Declare it.
7267
7268 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
7269
7270         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
7271         Problem and fix reported by Pádraig Brady in
7272         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
7273
7274 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7275
7276         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
7277
7278 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7279
7280         * lib/memcoll.c (memcoll): Optimize for the common case where the
7281         arguments are bytewise equal.
7282
7283 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7284
7285         * doc/regexprops-generic.texi: Add a copyright notice.
7286
7287 2006-08-15  Bruno Haible  <bruno@clisp.org>
7288
7289         * modules/tmpdir (License): Change to LGPL.
7290
7291 2006-08-15  Bruno Haible  <bruno@clisp.org>
7292
7293         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
7294         module.
7295
7296 2006-08-14  Simon Josefsson  <jas@extundo.com>
7297
7298         * config/srclist.txt: Add gnupload.
7299
7300 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7301
7302         Change copyright notice from LGPL 2 to GPL 2, since that's the
7303         standard form used in the gnulib repository.
7304         * tests/test-lock.c: Likewise.
7305         * tests/test-stdint.c: Likewise.
7306         * tests/test-tls.c: Likewise.
7307
7308         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
7309         prelude-manager.  User shorter URLs for GNU projects, without '?'.
7310         Add copyright notice.
7311
7312         * check-module: Add copyright notice.  Output a copyright
7313         notice if "--version" is specified.
7314         * modules/COPYING: New file.
7315         * tests/test-getaddrinfo.c: Add copyright notice.
7316         * tests/test-verify.c: Likewise.
7317
7318 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7319
7320         Change copyright notice from LGPL 2 to GPL 2, since that's the
7321         standard form used in the gnulib repository.
7322         * lib/lock.c: LGPL -> GPL.
7323         * lib/lock.h: Likewise.
7324         * lib/strnlen1.c: Likewise.
7325         * lib/strnlen1.h: Likewise.
7326         * lib/tls.c: Likewise.
7327         * lib/tls.h: Likewise.
7328         * lib/tmpdir.c: Likewise.
7329
7330         * lib/TODO: Remove; this belongs only in coreutils.
7331
7332 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7333
7334         Add copyright notices to long-enough files that lack them, since
7335         otherwise the files aren't clearly free.  Use the same notice that
7336         getdate.texi already uses.
7337         * doc/alloca-opt.texi: Add copyright notice.
7338         * doc/alloca.texi: Likewise.
7339         * doc/ctime.texi: Likewise.
7340         * doc/functions.texi: Likewise.
7341         * doc/gcd.texi: Likewise.
7342         * doc/gnulib-tool.texi: Likewise.
7343         * doc/inet_ntoa.texi: Likewise.
7344         * doc/visibility.texi: Likewise.
7345
7346         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
7347         * doc/quote.texi: Add copyright notice.
7348
7349         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
7350         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
7351         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
7352         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
7353         is now obsolete, and give a pointer to the Sun list.
7354         Add copyright notice.
7355
7356 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7357
7358         * config/srclistvars.sh: Add copyright notice.
7359
7360 2006-08-14  Eric Blake  <ebb9@byu.net>
7361
7362         Import the following change from libc:
7363
7364         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
7365
7366         Upstream bug 2997.
7367         * lib/misc/error.c: Add space between program name and message if file
7368         name is missing.
7369
7370 2006-08-12  Karl Berry  <karl@gnu.org>
7371
7372         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
7373         remove, these originate in gnulib now.
7374
7375 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7376
7377         * doc/Makefile (standards.info standards.html standards.dvi):
7378         Also depend on make-stds.texi.
7379
7380 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7381
7382         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
7383         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
7384
7385         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
7386         in wchar_t.  Problem reported by Eric Blake.
7387
7388         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
7389         LEN is smaller than SIZE.  Suggested by Bruno Haible.
7390         Also, help the compiler to keep LEN in a register.
7391
7392 2006-08-11  Eric Blake  <ebb9@byu.net>
7393
7394         * users.txt: Sort.  Add tar.
7395
7396 2006-08-11  Bruno Haible  <bruno@clisp.org>
7397
7398         * users.txt: New file.
7399
7400 2006-08-11  Bruno Haible  <bruno@clisp.org>
7401
7402         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
7403         before <wchar.h>. Needed for OSF/1 and BSD/OS.
7404
7405 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7406
7407         * modules/snprintf (Depends-on): Remove minmax.
7408         (Maintainer): Add self and Bruno.
7409
7410 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7411
7412         * lib/.cppi-disable: Add snprintf.h, socket_.h.
7413         * lib/snprintf.c: Include <errno.h> and <limits.h>.
7414         (EOVERFLOW): Define if the system does not.
7415         Do not include "minmax.h"; it wasn't used.
7416         (snprintf): Don't assume size_t promotes to an unsigned type.
7417         Fix bug when generated string was too long for the buffer: the
7418         buffer's contents are supposed to be the initial prefix of the
7419         output.  Don't assume vasnprintf returns EOVERFLOW if the size
7420         exceeds INT_MAX; do the check ourselves.
7421
7422         Import the following changes from libc:
7423
7424         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
7425
7426         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
7427         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
7428         set wc to the byte which couldn't be converted.
7429         (re_string_reconstruct): Don't clear valid_raw_len before calling
7430         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
7431         tip_context using re_string_context_at.
7432
7433         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
7434
7435         * lib/posix/regex.h: g++ still cannot handled [restrict].
7436
7437         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
7438
7439         * lib/posix/regex.h: Remove special handling for VMS.
7440
7441 2006-08-10  Jim Meyering  <jim@meyering.net>
7442
7443         * modules/same-inode: New module.
7444         * modules/dev-ino: New module.
7445         * modules/cycle-check: Depend on these modules, rather than simply
7446         including their .h files.
7447         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
7448         required via m4/cycle-check.m4.
7449         * modules/same: Depend on new same-inode module, rather than
7450         including same-inode.h.
7451         * modules/chdir-safer: New file.
7452
7453         * modules/chown (Depends-on): Add stat-macros.
7454
7455 2006-08-10  Jim Meyering  <jim@meyering.net>
7456
7457         * m4/cycle-check.m4: New file.
7458         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
7459         * m4/dev-ino.m4, m4/same-inode.m4: New files.
7460
7461 2006-08-10  Eric Blake  <ebb9@byu.net>
7462
7463         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
7464         in from original proposal.
7465
7466 2006-08-10  Eric Blake  <ebb9@byu.net>
7467         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7468
7469         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
7470         namespace.
7471
7472 2006-08-10  Bruno Haible  <bruno@clisp.org>
7473
7474         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
7475         as well.
7476
7477 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7478
7479         Sync from coreutils.
7480
7481         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
7482
7483         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
7484         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
7485
7486 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7487
7488         * modules/restrict: Remove; no longer needed now that we assume
7489         Autoconf 2.59 or later.
7490         * MODULES.html.sh: Remove 'restrict'.
7491         * modules/argp (Depends-on): Remove 'restrict'.
7492         * modules/base64 (Depends-on): Likewise.
7493         * modules/gc (Depends-on): Likewise.
7494         * modules/getaddrinfo (Depends-on): Likewise.
7495         * modules/glob (Depends-on): Likewise.
7496         * modules/inet_ntop (Depends-on): Likewise.
7497         * modules/inet_pton (Depends-on): Likewise.
7498         * modules/memxor (Depends-on): Likewise.
7499         * modules/regex (Depends-on): Likewise.
7500         * modules/strtok_r (Depends-on): Likewise.
7501         * modules/time_r (Depends-on): Likewise.
7502
7503 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7504
7505         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
7506         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
7507         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
7508         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
7509         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
7510         * m4/memxor.m4 (gl_MEMXOR): Likewise.
7511         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
7512         gl_C_RESTRICT replaced by AC_C_RESTRICT.
7513
7514         Merge from coreutils.
7515         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
7516         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
7517         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
7518         * m4/time_r.m4 (gl_TIME_R): Likewise.
7519
7520 2006-08-09  Karl Berry  <karl@gnu.org>
7521
7522         * config/srclist.txt: no more gettext-tools, per Bruno.
7523
7524 2006-08-08  Eric Blake  <ebb9@byu.net>
7525
7526         * modules/verror: New module.
7527         * MODULES.html.sh: Document it.
7528
7529 2006-08-08  Eric Blake  <ebb9@byu.net>
7530
7531         * lib/verror.h, lib/verror.c: New files.
7532
7533 2006-08-08  Eric Blake  <ebb9@byu.net>
7534
7535         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
7536         verror_at_line output complies with GNU Coding Standards even when
7537         file is NULL.
7538
7539 2006-08-07  Bruno Haible  <bruno@clisp.org>
7540
7541         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
7542         versions of AIX.
7543         Reported by Ralf Wildenhues.
7544
7545 2006-08-07  Bruno Haible  <bruno@clisp.org>
7546
7547         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
7548         in an AC_DEFUN. Needed so that the autoconf snippets can use
7549         AC_REQUIRE.
7550
7551 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7552
7553         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7554         Initialize pkgdata_DATA.
7555         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
7556         overriding it.
7557
7558 2006-08-06  Eric Blake  <ebb9@byu.net>
7559
7560         * lib/error.h: Fold in some upstream changes from glibc.
7561         * lib/error.c: Likewise.
7562
7563 2006-08-04  Bruno Haible  <bruno@clisp.org>
7564
7565         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7566         Make the mostlyclean-local rule depend on mostlyclean-generic.
7567         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
7568
7569 2006-07-31  Bruno Haible  <bruno@clisp.org>
7570
7571         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
7572         <stdlib.h>, <string.h>.
7573
7574 2006-07-30  Bruno Haible  <bruno@clisp.org>
7575
7576         * modules/readlink (License): Change to LGPL.
7577
7578 2006-07-30  Bruno Haible  <bruno@clisp.org>
7579
7580         * modules/javaversion (Makefile.am): Distribute javaversion.java and
7581         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
7582         set PKGDATADIR to point to it.
7583
7584 2006-07-30  Bruno Haible  <bruno@clisp.org>
7585
7586         * modules/csharpexec (configure.ac): Comment out macro invocation.
7587         * modules/javaexec (configure.ac): Likewise.
7588         * modules/javacomp-script (configure.ac): Likewise.
7589
7590         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
7591
7592 2006-07-30  Bruno Haible  <bruno@clisp.org>
7593
7594         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
7595         linked-list.
7596
7597 2006-07-30  Bruno Haible  <bruno@clisp.org>
7598
7599         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
7600
7601 2006-07-30  Bruno Haible  <bruno@clisp.org>
7602
7603         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7604         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
7605         get removed.
7606
7607 2006-07-29  Bruno Haible  <bruno@clisp.org>
7608
7609         Make it possible for gnulib-tool to work with locally modified or
7610         augmented gnulib repositories.
7611         * gnulib-tool (func_usage): Document --local-dir option.
7612         (local_gnulib_dir): New variable.
7613         Handle --local-dir option.
7614         (func_lookup_file): New function.
7615         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
7616         (func_get_description, func_get_filelist, func_get_description,
7617         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
7618         func_get_automake_snippet, func_get_include_directive,
7619         func_get_license, func_get_maintainer): Use func_lookup_file.
7620         (func_import, func_create_testdir): Use func_lookup_file.
7621
7622 2006-07-29  Bruno Haible  <bruno@clisp.org>
7623
7624         * modules/setenv (Depends-on): Add unistd.
7625
7626 2006-07-29  Bruno Haible  <bruno@clisp.org>
7627
7628         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
7629
7630 2006-07-29  Bruno Haible  <bruno@clisp.org>
7631
7632         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
7633
7634 2006-07-29  Bruno Haible  <bruno@clisp.org>
7635
7636         * gnulib-tool (import, update): If there is no Makefile.am, look at
7637         aclocal.m4, instead of bailing out.
7638
7639 2006-07-29  Bruno Haible  <bruno@clisp.org>
7640
7641         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
7642         Categorize the options by when they are useful.
7643
7644 2006-07-29  Bruno Haible  <bruno@clisp.org>
7645
7646         * gnulib-tool (func_usage): Document option --no-libtool.
7647         Handle option --no-libtool.
7648         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
7649         for changed semantics of $libtool variable.
7650         (func_import): Likewise. If libtool is not used, show this through
7651         an option --no-libtool.
7652         (func_create_testdir): Update.
7653
7654 2006-07-29  Bruno Haible  <bruno@clisp.org>
7655
7656         * gnulib-tool (func_import): Extend error message about missing
7657         --doc-base.
7658
7659 2006-07-29  Bruno Haible  <bruno@clisp.org>
7660
7661         * gnulib-tool (func_import): Don't create the $docbase directory if
7662         there is no file to store there.
7663
7664 2006-07-29  Bruno Haible  <bruno@clisp.org>
7665
7666         * gnulib-tool (autoconf_minversion): If a --dir option is given and
7667         relevant, look for configure.ac there, not in the current directory.
7668         Also use a simple search for AC_PREREQ, not "autoconf --trace".
7669
7670 2006-07-29  Bruno Haible  <bruno@clisp.org>
7671
7672         * gnulib-tool (SORT): New variable.
7673         (func_usage): Undocument --assume-autoconf option.
7674         Remove --assume-autoconf option handling.
7675         (autoconf_minversion): Determine from the contents of configure.ac.
7676         (func_import): Remove autoconf_minversion handling.
7677         Suggested by Eric Blake.
7678
7679 2006-07-29  Bruno Haible  <bruno@clisp.org>
7680
7681         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
7682
7683 2006-07-29  Bruno Haible  <bruno@clisp.org>
7684
7685         * config/srclist.txt (*setenv.[ch]): Remove rules.
7686
7687 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7688
7689         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
7690
7691 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7692
7693         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
7694         arpa/inet.h.
7695
7696 2006-07-28  Simon Josefsson  <jas@extundo.com>
7697
7698         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
7699         * modules/inet_pton (Depends-on): Likewise.
7700
7701 2006-07-28  Simon Josefsson  <jas@extundo.com>
7702
7703         * m4/netinet_in_h.m4: New file.
7704
7705 2006-07-28  Simon Josefsson  <jas@extundo.com>
7706
7707         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
7708         #include's.
7709
7710 2006-07-28  Simon Josefsson  <jas@extundo.com>
7711
7712         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
7713         #include's.
7714
7715 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
7716
7717         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
7718         setgid on directories only if they set these bits.
7719         * lib/modechange.h: Remove obsolete comment about masks.
7720
7721 2006-07-28  Eric Blake  <ebb9@byu.net>
7722
7723         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
7724         macro expansion.
7725
7726 2006-07-28  Bruno Haible  <bruno@clisp.org>
7727
7728         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
7729
7730 2006-07-28  Bruno Haible  <bruno@clisp.org>
7731
7732         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
7733
7734 2006-07-28  Bruno Haible  <bruno@clisp.org>
7735
7736         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
7737         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
7738         Define fallbacks.
7739         Avoids link error on FreeBSD 4.x.
7740         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
7741
7742         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
7743         encoding.
7744         * lib/mbswidth.c (iswcntrl): Likewise.
7745
7746 2006-07-27  Bruno Haible  <bruno@clisp.org>
7747
7748         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
7749         test.
7750
7751 2006-07-27  Bruno Haible  <bruno@clisp.org>
7752
7753         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
7754         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
7755         defined.
7756
7757 2006-07-26  Eric Blake  <ebb9@byu.net>
7758
7759         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
7760
7761 2006-07-26  Eric Blake  <ebb9@byu.net>
7762
7763         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
7764         like mingw that lack mkstemp.
7765         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
7766         avoid compilation warning on mingw.
7767
7768 2006-07-26  Bruno Haible  <bruno@clisp.org>
7769
7770         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
7771         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
7772         INT_FAST*_MIN, INTPTR_MIN.
7773
7774 2006-07-25  Bruno Haible  <bruno@clisp.org>
7775
7776         * modules/version-etc (Depends-on): Add stdarg.
7777
7778 2006-07-25  Bruno Haible  <bruno@clisp.org>
7779
7780         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
7781         complex commands.
7782
7783 2006-07-25  Bruno Haible  <bruno@clisp.org>
7784
7785         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
7786         defined in <stdarg.h> or config.h.
7787
7788 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7789
7790         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
7791         (gl_STDIO_SAFER): Remove.
7792
7793 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7794
7795         * MODULES.html.sh (File stream based Input/Output):
7796         Add fopen-safer, tmpfile-safer; remove stdio-safer.
7797         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
7798         * modules/fopen-safer, modules/tmpfile-safer: New files.
7799         * modules/stdio-safer: Remove.
7800
7801 2006-07-24  Bruno Haible  <bruno@clisp.org>
7802
7803         * modules/tmpdir: New file.
7804         * MODULES.html.sh (File system functions): Add it.
7805
7806 2006-07-24  Bruno Haible  <bruno@clisp.org>
7807
7808         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
7809         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
7810
7811 2006-07-24  Bruno Haible  <bruno@clisp.org>
7812
7813         * modules/clean-temp: New file.
7814
7815 2006-07-24  Bruno Haible  <bruno@clisp.org>
7816
7817         * m4/tmpdir.m4: New file, from GNU gettext.
7818
7819 2006-07-24  Bruno Haible  <bruno@clisp.org>
7820
7821         * lib/tmpdir.h: New file, from GNU gettext.
7822         * lib/tmpdir.c: New file, from GNU gettext.
7823
7824 2006-07-24  Bruno Haible  <bruno@clisp.org>
7825
7826         * lib/clean-temp.h: New file, from GNU gettext.
7827         * lib/clean-temp.c: New file, from GNU gettext.
7828
7829 2006-07-23  Eric Blake  <ebb9@byu.net>
7830
7831         * modules/stdio-safer (Files): Add tmpfile-safer.c.
7832         (Depends-on): Add binary-io.
7833
7834 2006-07-23  Eric Blake  <ebb9@byu.net>
7835
7836         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
7837
7838 2006-07-23  Eric Blake  <ebb9@byu.net>
7839
7840         * lib/tmpfile-safer.c: New file.
7841         * lib/stdio-safer.h (fopen_safer): Add prototype.
7842         * lib/stdio--.h (tmpfile): Make safer.
7843
7844 2006-07-23  Bruno Haible  <bruno@clisp.org>
7845
7846         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
7847         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
7848         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
7849         gl_linked_remove_at): Use it.
7850
7851 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7852         and Simon Josefsson <jas@extundo.com>
7853
7854         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
7855
7856         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
7857
7858 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7859
7860         * modules/close-stream: New file.
7861         * modules/closeout (Description): Make it clear that it exits
7862         with a diagnostic on error.
7863         (Depends-on): Add close-stream.  Remove fpending, stdbool.
7864         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
7865
7866 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7867
7868         * m4/close-stream.m4: New file.
7869
7870 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7871
7872         * lib/close-stream.c, lib/close-stream.h: New files.
7873
7874 2006-07-22  Bruno Haible  <bruno@clisp.org>
7875
7876         Merge from GNU gettext 0.15.
7877
7878         2006-05-01  Bruno Haible  <bruno@clisp.org>
7879
7880                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
7881
7882         2006-07-22  Bruno Haible  <bruno@clisp.org>
7883
7884                 * modules/javaversion: New file.
7885                 * MODULES.html.sh (Java): Add javaversion.
7886
7887         2006-03-12  Bruno Haible  <bruno@clisp.org>
7888
7889                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
7890
7891         2005-12-04  Bruno Haible  <bruno@clisp.org>
7892
7893                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
7894                 (untested).
7895
7896         2006-06-21  Bruno Haible  <bruno@clisp.org>
7897
7898                 Avoid warnings from recent versions of mcs.
7899                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
7900                 -o, -L, -r any more. Use options documented since mcs-1.0
7901                 instead. Similarly for -g.
7902
7903         2005-12-04  Bruno Haible  <bruno@clisp.org>
7904
7905                 * build-aux/csharpcomp.sh.in: Suffix for resources is
7906                 .resources, not .resource.
7907
7908         2005-07-09  Bruno Haible  <bruno@clisp.org>
7909
7910                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
7911                 add a .dll suffix.
7912                 Reported by Mark Junker <mjscod@gmx.de>.
7913
7914         2006-07-22  Bruno Haible  <bruno@clisp.org>
7915
7916                 * modules/gettext: Upgrade to gettext-0.15.
7917                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
7918                 m4/visibility.m4.
7919                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
7920
7921 2006-07-22  Bruno Haible  <bruno@clisp.org>
7922
7923         Merge from GNU gettext 0.15.
7924
7925         2006-03-25  Bruno Haible  <bruno@clisp.org>
7926
7927                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
7928
7929         2006-07-21  Bruno Haible  <bruno@clisp.org>
7930
7931                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
7932                 "1.1".
7933
7934         2006-05-09  Bruno Haible  <bruno@clisp.org>
7935
7936                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
7937                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
7938                 for the conftestver execution.
7939
7940         2006-05-01  Bruno Haible  <bruno@clisp.org>
7941
7942                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
7943                 optional target-version argument. Verify that the compiler
7944                 groks source of the specified source-version, or add -source
7945                 option as necessary. Verify that the compiler produces
7946                 bytecode in the specified target-version, or add -target and
7947                 -source options as necessary. Make the result of the test
7948                 available as variable CONF_JAVAC. Also log error output in
7949                 config.log.
7950
7951         2006-03-11  Bruno Haible  <bruno@clisp.org>
7952
7953                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
7954
7955         2006-05-09  Bruno Haible  <bruno@clisp.org>
7956
7957                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
7958                 CLASSPATH_SEPARATOR to a semicolon.
7959
7960         2006-03-12  Bruno Haible  <bruno@clisp.org>
7961
7962                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
7963                 available as variable CONF_JAVA, for subsequent autoconf
7964                 tests. Also log error output in config.log.
7965
7966         2006-07-19  Bruno Haible  <bruno@clisp.org>
7967
7968                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
7969                 that getline works on glibc2 systems. Needed to avoid trouble
7970                 in relocatable.c.
7971                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
7972
7973         2005-12-04  Bruno Haible  <bruno@clisp.org>
7974
7975                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
7976                 launcher (untested).
7977
7978         2005-12-04  Bruno Haible  <bruno@clisp.org>
7979
7980                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
7981
7982         2006-07-22  Bruno Haible  <bruno@clisp.org>
7983
7984                 * gettext.m4: Update from GNU gettext-0.15.
7985                 * nls.m4: Likewise.
7986                 * po.m4: Likewise.
7987                 * inttypes-pri.m4: Likewise.
7988                 * inttypes-h.m4: Renamed from inttypes.m4.
7989                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
7990
7991 2006-07-22  Bruno Haible  <bruno@clisp.org>
7992
7993         Merge from GNU gettext 0.15.
7994
7995         2005-07-05  Bruno Haible  <bruno@clisp.org>
7996
7997                 * printf-args.c (printf_fetchargs): Work around broken
7998                 definition of wint_t on mingw.
7999
8000         2005-02-12  Bruno Haible  <bruno@clisp.org>
8001
8002                 * xallocsa.h: Add extern "C" for C++.
8003
8004         2006-05-17  Bruno Haible  <bruno@clisp.org>
8005
8006                 Cygwin portability.
8007                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
8008
8009         2006-04-30  Bruno Haible  <bruno@clisp.org>
8010
8011                 * progreloc.c: Include <mach-o/dyld.h> if available.
8012                 (find_executable): Use _NSGetExecutablePath when possible.
8013
8014         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
8015
8016                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
8017                 function.
8018
8019         2005-12-29  Bruno Haible  <bruno@clisp.org>
8020
8021                 * progreloc.c (set_program_name_and_installdir): Fix
8022                 compilation error.
8023
8024         2005-12-04  Bruno Haible  <bruno@clisp.org>
8025
8026                 Cygwin portability.
8027                 * progreloc.c: Include <windows.h> also on Cygwin.
8028                 (find_executable): Add support for Cygwin.
8029                 (set_program_name_and_installdir): Handle also platforms with
8030                 nonempty EXEEXT.
8031
8032         2006-07-11  Bruno Haible  <bruno@clisp.org>
8033
8034                 * javacomp.c: Fix a comment.
8035                 Reported by Jim Meyering.
8036
8037         2006-04-30  Bruno Haible  <bruno@clisp.org>
8038
8039                 * javacomp.h (compile_java_class): Add source_version,
8040                 target_version arguments.
8041                 * javacomp.c: Rewritten to choose only a compiler that
8042                 respects the specified source_version and target_version.
8043
8044         2006-06-27  Bruno Haible  <bruno@clisp.org>
8045
8046                 Assume correct S_ISDIR macro.
8047                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
8048
8049         2006-07-22  Bruno Haible  <bruno@clisp.org>
8050
8051                 * javaversion.h: New file, from GNU gettext.
8052                 * javaversion.c: New file, from GNU gettext.
8053                 * javaversion.java: New file, from GNU gettext.
8054                 * javaversion.class: New file, from GNU gettext.
8055
8056         2006-05-17  Bruno Haible  <bruno@clisp.org>
8057
8058                 Cygwin portability.
8059                 * javaexec.c (execute_java_class): Test for jview program
8060                 also on Cygwin.
8061
8062         2006-04-09  Bruno Haible  <bruno@clisp.org>
8063
8064                 * fatal-signal.c: Don't include string.h.
8065                 (at_fatal_signal): Use a copying loop instead of memcpy.
8066
8067         2005-12-04  Bruno Haible  <bruno@clisp.org>
8068
8069                 * csharpexec.c: Add support for 'clix' launcher (untested).
8070                 (execute_csharp_using_sscli): New function.
8071                 (execute_csharp_program): Call it.
8072
8073         2006-06-21  Bruno Haible  <bruno@clisp.org>
8074
8075                 Avoid warnings from recent versions of mcs.
8076                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
8077                 -o, -L, -r any more. Use options documented since mcs-1.0
8078                 instead. Similarly for -g.
8079
8080         2005-07-09  Bruno Haible  <bruno@clisp.org>
8081
8082                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
8083                 add a .dll suffix.
8084                 Reported by Mark Junker <mjscod@gmx.de>.
8085
8086         2006-06-17  Bruno Haible  <bruno@clisp.org>
8087
8088                 * config.charset: Update for NetBSD 3.0.
8089
8090         2006-05-17  Bruno Haible  <bruno@clisp.org>
8091
8092                 Cygwin portability.
8093                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
8094
8095         2006-05-16  Bruno Haible  <bruno@clisp.org>
8096
8097                 * localcharset.c [CYGWIN]: Include <windows.h>.
8098                 (get_charset_aliases): For Cygwin, return the same CPxxx
8099                 aliases list as under WIN32.
8100                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
8101                 the environment variables. Fall back to GetACP().
8102
8103         2006-04-05  Bruno Haible  <bruno@clisp.org>
8104
8105                 * config.charset: Update Juan Manuel Guerrero's address.
8106
8107         2005-02-12  Bruno Haible  <bruno@clisp.org>
8108
8109                 * allocsa.h: Add extern "C" for C++.
8110
8111         2005-02-10  Bruno Haible  <bruno@clisp.org>
8112
8113                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
8114                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
8115
8116         2006-07-22  Bruno Haible  <bruno@clisp.org>
8117
8118                 * gettext.h: Update to GNU gettext-0.15.
8119
8120 2006-07-22  Bruno Haible  <bruno@clisp.org>
8121
8122         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
8123         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
8124         lib-prefix.m4, longdouble.m4, ssize_t.m4.
8125
8126 2006-07-21  Eric Blake  <ebb9@byu.net>
8127
8128         * modules/stdlib-safer: New file.
8129         * MODULES.html.sh (File stream based Input/Output): Add
8130         stdlib-safer.
8131
8132 2006-07-21  Eric Blake  <ebb9@byu.net>
8133
8134         * lib/stdlib-safer.h: New file from coreutils, required by
8135         stdlib--.h.
8136
8137 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
8138
8139         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
8140
8141 2006-07-20  Bruno Haible  <bruno@clisp.org>
8142
8143         * gnulib-tool: Recognize new option --assume-autoconf.
8144         (autoconf_minversion): New variable.
8145         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
8146
8147 2006-07-20  Bruno Haible  <bruno@clisp.org>
8148
8149         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
8150
8151 2006-07-19  Derek R. Price  <derek@ximbiot.com>
8152
8153         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
8154         Reindent and repaginate.
8155
8156 2006-07-19  Derek Price  <derek@ximbiot.com>
8157
8158         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
8159         Correct grammar.
8160
8161 2006-07-17  Bruno Haible  <bruno@clisp.org>
8162
8163         * modules/list: New file.
8164         * modules/array-list: New file.
8165         * modules/carray-list, modules/carray-list-tests: New files.
8166         * modules/linked-list, modules/linked-list-tests: New files.
8167         * modules/avltree-list, modules/avltree-list-tests: New files.
8168         * modules/rbtree-list, modules/rbtree-list-tests: New files.
8169         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
8170         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
8171         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
8172         * modules/oset: New file.
8173         * modules/array-oset: New file.
8174         * modules/avltree-oset, modules/avltree-oset-tests: New files.
8175         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
8176         * tests/test-carray_list.c: New file.
8177         * tests/test-linked_list.c: New file.
8178         * tests/test-avltree_list.c: New file.
8179         * tests/test-rbtree_list.c: New file.
8180         * tests/test-linkedhash_list.c: New file.
8181         * tests/test-avltreehash_list.c: New file.
8182         * tests/test-rbtreehash_list.c: New file.
8183         * tests/test-avltree_oset.c: New file.
8184         * tests/test-rbtree_oset.c: New file.
8185         * MODULES.html.sh (Container data structures): New section.
8186
8187 2006-07-17  Bruno Haible  <bruno@clisp.org>
8188
8189         * m4/gl_list.m4: New file.
8190
8191 2006-07-17  Bruno Haible  <bruno@clisp.org>
8192
8193         * lib/gl_list.h: New file.
8194         * lib/gl_list.c: New file.
8195         * lib/gl_array_list.h: New file.
8196         * lib/gl_array_list.c: New file.
8197         * lib/gl_carray_list.h: New file.
8198         * lib/gl_carray_list.c: New file.
8199         * lib/gl_linked_list.h: New file.
8200         * lib/gl_linked_list.c: New file.
8201         * lib/gl_anylinked_list1.h: New file.
8202         * lib/gl_anylinked_list2.h: New file.
8203         * lib/gl_avltree_list.h: New file.
8204         * lib/gl_avltree_list.c: New file.
8205         * lib/gl_anyavltree_list1.h: New file.
8206         * lib/gl_anyavltree_list2.h: New file.
8207         * lib/gl_rbtree_list.h: New file.
8208         * lib/gl_rbtree_list.c: New file.
8209         * lib/gl_anyrbtree_list1.h: New file.
8210         * lib/gl_anyrbtree_list2.h: New file.
8211         * lib/gl_anytree_list1.h: New file.
8212         * lib/gl_anytree_list2.h: New file.
8213         * lib/gl_linkedhash_list.h: New file.
8214         * lib/gl_linkedhash_list.c: New file.
8215         * lib/gl_anyhash_list1.h: New file.
8216         * lib/gl_anyhash_list2.h: New file.
8217         * lib/gl_avltreehash_list.h: New file.
8218         * lib/gl_avltreehash_list.c: New file.
8219         * lib/gl_rbtreehash_list.h: New file.
8220         * lib/gl_rbtreehash_list.c: New file.
8221         * lib/gl_anytreehash_list1.h: New file.
8222         * lib/gl_anytreehash_list2.h: New file.
8223
8224         * lib/gl_oset.h: New file.
8225         * lib/gl_oset.c: New file.
8226         * lib/gl_array_oset.h: New file.
8227         * lib/gl_array_oset.c: New file.
8228         * lib/gl_avltree_oset.h: New file.
8229         * lib/gl_avltree_oset.c: New file.
8230         * lib/gl_rbtree_oset.h: New file.
8231         * lib/gl_rbtree_oset.c: New file.
8232         * lib/gl_anytree_oset.h: New file.
8233
8234 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8235
8236         * m4/mkancesdirs.m4: New file.
8237         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
8238         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
8239         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
8240         it.
8241
8242 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8243
8244         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
8245         * lib/mkancesdirs.h: New files.
8246         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
8247         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
8248         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
8249         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
8250         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
8251         callers changed.  Revamp internals significantly, by not
8252         attempting to create directories that are temporarily more
8253         permissive than the final results.  Do not attempt to use
8254         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
8255         This removes some race conditions, fixes some bugs, and simplifies
8256         things.  Use new dirchownmod function to do owner and mode changes.
8257         * lib/mkdir-p.h: Likewise.
8258         * lib/modechange.c (octal_to_mode): New function.
8259         (struct mode_change): New member mentioned.
8260         (make_node_op_equals): New arg mentioned.  All callers changed.
8261         (mode_compile): Keep track of which mode bits the user has explicitly
8262         mentioned.
8263         (mode_adjust): New arg DIR, so that we implement the X op correctly.
8264         New arg PMODE_BITS, to keep track of which mode bits the user
8265         mentioned; it treats S_ISUID and S_ISGID speciall.
8266         All callers changed.
8267         * lib/modechange.h: Likewise.
8268
8269 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8270
8271         * MODULES.html.sh: Add mkancestors.
8272         * modules/mkancesdirs: New module.
8273         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
8274         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
8275         The chdir-safer and afs files are now orphans; I'll remove them
8276         unless someone speaks up.
8277         Add lib/dirchownmod.c, lib/dirchownmod.h.
8278         (Depends-on): Remove alloca, chown, save-cwd, dirname.
8279         Add lchown, mkancesdirs.
8280         (Maintainer): Add self.
8281
8282 2006-07-15  Karl Berry  <karl@gnu.org>
8283
8284         * gnulib-tool: help message wording/arrangement.
8285
8286 2006-07-14  Simon Josefsson  <jas@extundo.com>
8287
8288         * doc/gnulib.texi (Libtool and Windows): New section.
8289
8290 2006-07-12  Simon Josefsson  <jas@extundo.com>
8291
8292         * modules/gendocs (License): Fix license, approved by Karl.
8293
8294 2006-07-12  Eric Blake  <ebb9@byu.net>
8295
8296         * MODULES.html.sh: Add gendocs.
8297
8298 2006-07-11  Eric Blake  <ebb9@byu.net>
8299
8300         * modules/fdl: New module, to install doc/fdl.texi.
8301         * MODULES.html.sh: Add new section for documentation modules.
8302         * gnulib-tool: Avoid space-tab.
8303         (--doc-base): New option, to manage files from doc.
8304
8305 2006-07-11  Eric Blake  <ebb9@byu.net>
8306
8307         * m4/absolute-header.m4: Fix comments to match recent change.
8308
8309 2006-07-11  Eric Blake  <ebb9@byu.net>
8310
8311         * gnulib-tool: List --doc-base before --tests-base.
8312
8313 2006-07-11  Derek R. Price  <derek@ximbiot.com>
8314
8315         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
8316
8317 2006-07-11  Bruno Haible  <bruno@clisp.org>
8318
8319         * README: Mention where to put documentation.
8320
8321 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8322
8323         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
8324
8325 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8326
8327         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
8328         to stdint.m4.
8329
8330 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8331
8332         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
8333         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
8334         "no/such/file/stdint.h" when there is no such file, so that
8335         the resulting C code can be parsed by dodgy compilers.
8336         Problems reported by Bob Proulx.
8337
8338 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8339
8340         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
8341         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8342         macros into the GNU _D_EXACT_NAMLEN.
8343         * lib/savedir.c:  Likewise.
8344         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
8345
8346 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8347         and Paul Eggert  <eggert@cs.ucla.edu>
8348
8349         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
8350         * m4/savedir.m4:
8351         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8352         macros into the GNU _D_EXACT_NAMLEN.
8353
8354 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8355
8356         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
8357         around the absolute name, to work around a problem with the HP-UX
8358         11.23 native C compiler, reported by Bob Proulx.
8359
8360 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8361
8362         * doc/maintain.texi, make-stds.texi: Sync from
8363         <http://savannah.gnu.org/projects/gnustandards>.
8364
8365 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8366
8367         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
8368
8369 2006-07-09  Jim Meyering  <jim@meyering.net>
8370
8371         * m4/glob.m4: Remove a doubled word in a comment.
8372
8373 2006-07-09  Jim Meyering  <jim@meyering.net>
8374
8375         * lib/argp-pv.c: Remove a doubled word in a comment.
8376         * lib/check-version.c (check_version): Likewise.
8377         * lib/javacomp.c (compile_java_class): Likewise.
8378
8379 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8380
8381         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
8382         for the benefit of people using Autoconf 2.60.  If you want to
8383         support older Autoconf versions you can copy m4/onceonly_2_57.m4
8384         (or m4/onceonly.m4, if pre-2.57) manually.
8385
8386 2006-07-08  Jim Meyering  <jim@meyering.net>
8387
8388         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
8389         comment.
8390         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
8391         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
8392         comment.
8393
8394 2006-07-08  Jim Meyering  <jim@meyering.net>
8395
8396         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
8397
8398 2006-07-07  Simon Josefsson  <jas@extundo.com>
8399
8400         * tests/test-crc.c: Change expected crc value, the test vector
8401         were probably computed using the old broken crc.c?
8402
8403 2006-07-06  Simon Josefsson  <jas@extundo.com>
8404
8405         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
8406         now the canonical place for the M4 file).
8407
8408         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
8409         from the sys_socket dependency now.
8410
8411         * modules/inet_pton (Files): Ditto.
8412
8413         * modules/inet_ntop (Files): Ditto.
8414
8415 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
8416
8417         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
8418         not gl_PREREQ_GETUSERSHELL.
8419
8420 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8421
8422         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
8423         with only one argument, for Autoconf 2.60.
8424         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
8425         expand to nothing, so add a shell command to avoid syntax error.
8426         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8427
8428 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8429
8430         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
8431
8432 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8433
8434         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
8435         no longer needed.  Check for isblank decl.
8436         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
8437         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
8438         of existence.
8439
8440 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8441
8442         * lib/getloadavg.c: Use __VMS, not VMS.
8443         * lib/getopt.c: Likewise.
8444         * lib/getpagesize.h: Likewise.
8445         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
8446         and probably does not work.
8447
8448 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8449
8450         * lib/.cppi-disable: Add wcwidth.
8451         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
8452         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
8453         (ISGRAPH): Remove.  All uses changed to isgraph.
8454         (FOLD) [!defined _LIBC]: Remove special case.
8455         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
8456         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
8457         HAVE_ISBLANK.
8458         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
8459         case.
8460
8461 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
8462
8463         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
8464         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
8465         brackets.  Other minor changes to suppress some compiler
8466         warnings.
8467
8468 2006-07-06  Derek R. Price  <derek@ximbiot.com>
8469         and Paul Eggert  <eggert@cs.ucla.edu>
8470
8471         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
8472         of invoking obsolescent AC_HEADER_DIRENT macro.
8473         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
8474         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
8475         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8476         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
8477         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
8478         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
8479         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
8480         * m4/readdir.m4: Remove; no longer needed.
8481
8482 2006-07-06  Derek R. Price  <derek@ximbiot.com>
8483         and Paul Eggert  <eggert@cs.ucla.edu>
8484
8485         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
8486         Don't worry about this obsolete case any more.
8487         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
8488         directories.
8489         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
8490         worry about this obsolete case any more.
8491         * lib/fts.c: Likewise.
8492         * lib/getcwd.c: Likewise.
8493         * lib/glob.h: Likewise.
8494         * lib/savedir.c: Likewise.
8495
8496 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8497
8498         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
8499         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
8500         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
8501         needed.
8502         All uses removed.
8503         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8504         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
8505         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
8506         needed.
8507         * m4/getdate.m4 (gl_GETDATE): Likewise.
8508         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
8509         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
8510         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8511         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8512         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
8513         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
8514         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
8515         needed.
8516
8517 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8518
8519         * lib/memcasecmp.c: Include <limits.h>.
8520         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
8521         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
8522         Don't assume isdigit succeeds only on '0' through '9'.
8523
8524 2006-07-05  Eric Blake  <ebb9@byu.net>
8525
8526         * modules/getaddrinfo (Depends-on): Add snprintf.
8527
8528 2006-07-05  Eric Blake  <ebb9@byu.net>
8529
8530         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
8531         to avoid 'header present but could not be compiled' on cygwin.
8532
8533 2006-07-05  Eric Blake  <ebb9@byu.net>
8534
8535         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
8536         missing from netdb.h.
8537         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
8538
8539 2006-07-05  Derek R. Price  <derek@ximbiot.com>
8540
8541         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
8542         no longer needed.
8543         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
8544         * m4/getdate.m4 (gl_GETDATE): Likewise.
8545         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
8546         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
8547         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8548         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8549         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
8550
8551 2006-07-05  Derek R. Price  <derek@ximbiot.com>
8552
8553         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
8554         All uses of is_space replaced by isspace.
8555         * lib/exit.h: Don't talk about STDC_HEADERS.
8556         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
8557         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
8558         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
8559         replaced by isprint etc.
8560         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
8561         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
8562         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
8563         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
8564         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
8565         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
8566
8567 2006-07-05  Bruno Haible  <bruno@clisp.org>
8568
8569         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
8570         the function exists, before testing against AIX.
8571         Reported by Martin Lambers <marlam@marlam.de>.
8572
8573 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
8574
8575         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
8576         From Mark D. Baushke.
8577
8578 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
8579
8580         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
8581         to the absolute name, not just one, to bypass Sun C 5.8's
8582         "warning: #include of /usr/include/... may be non-portable".
8583
8584 2006-07-04  Eric Blake  <ebb9@byu.net>
8585
8586         * modules/dirname-tests: New test module.
8587         * tests/test-dirname.c: New file, replacing dirname.c
8588         TEST_DIRNAME section that was recently deleted.
8589
8590 2006-07-04  Bruno Haible  <bruno@clisp.org>
8591
8592         Assume ANSI C header files and <ctype.h> functions.
8593         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
8594         (mbsnwidth): Use isprint, iscntrl instead.
8595
8596 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8597
8598         Merge from coreutils.
8599         * MODULES.html.sh: Add xstrtold.
8600         * modules/xstrtold: New file.
8601         * modules/cycle-check (Files): Add lib/same-inode.h.
8602         * modules/dirname (Files): Add m4/double-slash-root.m4.
8603         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
8604         * modules/mkdir-p (Files): Add lib/same-inode.h.
8605         * modules/same (Files): Add lib/same-inode.h.
8606
8607 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8608
8609         * m4/absolute-header.m4: Renamed from full-header-path.m4.
8610         This is to keep the terminology clean; POSIX talks about
8611         "absolute pathnames", not "full pathnames", but the GNU
8612         Coding Standards say to use "path" for something else;
8613         so use "absolute" to keep both sides happy.
8614         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
8615         Set gl_absolute_header, not gl_full_header_path.
8616         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
8617         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
8618         All uses changed.
8619
8620         Merge from coreutils.
8621
8622         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8623
8624         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
8625         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
8626         want to require the building of c-strtod.o.
8627         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
8628         needs -lm directly.
8629         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
8630
8631         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
8632
8633         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
8634         --as-needed option if available.  Problem reported by Albert Chin in
8635         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
8636         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
8637         cc merely issues a bunch of annoying warnings for --as-needed
8638         (this problem was reported by Bob Proulx).  Also, try linking with
8639         -lm to detect a bug in binutils 2.16 (this problem was reported
8640         by Ralf Wildenhues).
8641
8642         2006-06-18  Jim Meyering  <jim@meyering.net>
8643
8644         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
8645         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
8646         macro.
8647         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
8648         also check for glibc-2.4's abort-inducing bug.
8649
8650         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
8651         Low-probability clean-up should be to use rmdir to get rid of
8652         the just-created directory, not unlink.
8653
8654         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
8655         configure fail, and request a bug report to inform us about it.
8656         Add a comment that, barring reports to the contrary, in 2007 we'll
8657         assume ftruncate is universally available.
8658
8659         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
8660
8661         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
8662
8663         2006-03-12  Jim Meyering  <jim@meyering.net>
8664
8665         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
8666         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
8667         * m4/same.m4 (gl_SAME): Likewise.
8668         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
8669
8670         2006-03-11  Eric Blake  <ebb9@byu.net>
8671
8672         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
8673         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
8674         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
8675         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
8676
8677 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8678
8679         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
8680         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
8681         reported by Mark D. Baushke, one in
8682         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
8683
8684         Merge from coreutils.
8685
8686         * lib/.cppi-disable: Add stdint_.h.
8687         * lib/.cvsignore: Add stdint.h.
8688
8689         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8690
8691         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
8692         both double and long double versions.
8693         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
8694         * lib/xstrtold.c: New file.
8695         * lib/xstrtod.h (xstrtold): New decl.
8696
8697         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
8698
8699         * lib/filemode.c (setst): Remove.
8700         (strmode): Rewrite to avoid setst.  This makes the code shorter,
8701         (arguably) clearer, and the generated code is a bit smaller on my
8702         Debian GNU/Linux stable x86 host.
8703
8704         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
8705
8706         * lib/filemode.c: Include "filemode.h" first, to test the interface.
8707         Assume that filemode.h includes sys/types.h and sys/stat.h.
8708         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
8709         (ftypelet): Reorder to put common cases first, for efficiency.
8710         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
8711         to do 'M'.
8712         (strmode): Renamed from mode_string, and now stores 12 bytes instead
8713         of 10, for compatibility with FreeBSD.  All callers changed.
8714         (filemodestring): Now stores 12 bytes instead of 10, and sets file
8715         types that can't be deduced solely from st_mode.  First arg is now a
8716         const pointer.
8717         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
8718         (strmode): Renamed from mode_string.
8719         (filemodestring): New decl.
8720         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
8721         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
8722         needed.
8723         (S_ISPORT, S_ISWHT): New macros, if not already defined.
8724
8725         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8726
8727         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
8728         fsusage.h now does that.  Include fsusage.h first, to test interface.
8729         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
8730         at most one method (the old code could have generated decls that
8731         didn't conform to C89, not that this was ever exercised).
8732         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
8733
8734         2006-03-19  Jim Meyering  <jim@meyering.net>
8735
8736         Work even in a chroot where d_ino values for entries in "/"
8737         don't match the stat.st_ino values for the same names.
8738         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
8739         number, iterate through all entries again, using lstat instead.
8740         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
8741         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
8742
8743         * lib/getcwd.c (__getcwd): Clarify a comment.
8744         Use memcpy in place of a call to strcpy.
8745
8746         2006-03-12  Jim Meyering  <jim@meyering.net>
8747
8748         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
8749         matches that of the current directory (which we're about to chdir ".."
8750         out of), then save the dev-ino of the parent, instead.
8751
8752         * lib/same-inode.h (SAME_INODE): New file/macro.
8753         * lib/chdir-safer.c (SAME_INODE): Remove definition.
8754         Include "same-inode.h", instead.
8755         * lib/same.c: Likewise.
8756         * lib/cycle-check.h: Include "same-inode.h".
8757         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
8758         * lib/cycle-check.c (SAME_INODE): Remove definition.
8759         * lib/root-dev-ino.h: Include "same-inode.h".
8760
8761         2006-03-11  Eric Blake  <ebb9@byu.net>
8762
8763         * lib/same.c (same_name): s/base_name/last_component/
8764         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
8765         * lib/filenamecat.c (file_name_concat): Likewise.
8766
8767         2006-03-11  Eric Blake  <ebb9@byu.net>,
8768                     Paul Eggert  <eggert@cs.ucla.edu>
8769
8770         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
8771         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
8772         drive prefix.
8773         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
8774         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
8775         (last_component): New method.
8776         * lib/dirname.c (dir_len): Determine when drive letters need a
8777         subsequent slash.  Preserve // when it is special.
8778         (dir_name): Don't append dot when drive letter is absolute.
8779         [TEST_DIRNAME]: Move into a full-blown gnulib test.
8780         * lib/basename.c (base_name): New semantics - malloc the result.
8781         Preserve // when it is special.  Preserve relative files that look
8782         like drive letters.
8783         (base_len): Preserve // when it is special.
8784         (last_component): New method, similar to old base_name semantics.
8785         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
8786         base_name.  Strip redundant slashes from ///.
8787
8788 2006-07-03  Jim Meyering  <jim@meyering.net>
8789
8790         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
8791         macro is used before the first cycle_check call.
8792
8793 2006-07-03  Eric Blake  <ebb9@byu.net>
8794
8795         * modules/dirname (Depends-on): Add xstrndup.
8796
8797 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
8798
8799         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
8800         test cases, so that config.log is a bit easier to follow.
8801
8802 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
8803
8804         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
8805         both are 64 bits, since this seems to be the tradition, and this
8806         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
8807         we ever run into a host that prefers long long to long in this
8808         case, we'll need another configure-time test.  Problem reported by
8809         Jim Meyering.
8810
8811 2006-07-02  Eric Blake  <ebb9@byu.net>
8812
8813         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
8814
8815 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8816
8817         * modules/inttypes (Depends-on): No longer depends on stdint.
8818         * modules/stdint (Description): Say more about assumptions.
8819         Say that the fast types might differ.  Say macros are used.
8820         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
8821         (Makefile.am): Revise list of substituted symbols to match
8822         new stdint.m4.
8823         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
8824         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
8825         * tests/test-stdint.c (verify_same_types)
8826         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
8827         the code conforms to C99/C89.
8828         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
8829         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
8830
8831 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8832
8833         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
8834         but fix a bug, by requiring at least 64 bits.
8835         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
8836         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
8837         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
8838         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
8839
8840         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
8841         changes.  Make 2.59 a prerequisite.  Check and substitute for
8842         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
8843         inttypes.h.  Do not use special include files; just use the
8844         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
8845         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
8846         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
8847         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
8848         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
8849         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
8850         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
8851         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
8852         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
8853         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
8854         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
8855         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
8856         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
8857         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
8858         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
8859         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
8860         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
8861         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
8862         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
8863         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
8864         WINT_MAX.  Check for C99 conformance more strictly, by detecting
8865         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
8866         not check for things that C99 does not require, e.g., int8_t.  If
8867         a test isn't needed unless <stdint.h> isn't working, and is
8868         unlikely to be needed for any other reason, then don't do it
8869         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
8870         size_t, since we assume C89 freestanding at least.  Do not check
8871         for sig_atomic_t, wchar_t, or wint_t, since the code now does
8872         the right thing even if the types are not defined.  Instead use:
8873         (gl_STDINT_TYPE_PROPERTIES): New macro.
8874         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
8875         testing whether <sys/types.h> clashes, as Autoconf does this for
8876         us now.  All uses removed.
8877         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
8878         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
8879         (gl_CHECK_TYPE_SAME):
8880         Remove; no longer needed.
8881         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
8882         exists, since we'll return 0 anyway in that case.
8883         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
8884
8885 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8886
8887         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
8888         possible collision with system files.
8889         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
8890         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
8891         WCHAR_MIN and WCHAR_MAX in this case.
8892         (<stddef.h>): Do not include; no longer needed.
8893         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
8894         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
8895         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
8896         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
8897         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
8898         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
8899         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
8900         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
8901         !defined(__c99))]: Include in this case too, since it's harmless
8902         now.
8903         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
8904         dangerous to do so.
8905         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
8906         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
8907         (_STDINT_MIN, _STDINT_MAX): New macros.
8908         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
8909         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
8910         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
8911         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
8912         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
8913         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
8914         macros, not typedefs; this simplifies things quite a bit.
8915         Use long int for all types narrower than int64_t.
8916         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
8917         Define in terms of long long int or int64_t or long int,
8918         not int64_t or int32_t.  This saves some compile-time testing.
8919         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
8920         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
8921         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
8922         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
8923         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
8924         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
8925         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
8926         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
8927         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
8928         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
8929         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
8930         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
8931         undef any previous version and define our own version, for
8932         simplicity and consistency with the new macros for types.
8933         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
8934         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
8935         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
8936         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
8937         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
8938         @WINT_T_SUFFIX@ to keep things simple here.
8939         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
8940         Simplify by assuming typical 8/16/32/64 host, since we're
8941         already doing that elsewhere anyway.
8942         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
8943         and assume long long int is 64 bits if available.  This
8944         speeds up 'configure'.
8945
8946 2006-07-01  Eric Blake  <ebb9@byu.net>
8947
8948         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
8949         Reported by Andreas Buening.
8950
8951 2006-07-01  Eric Blake  <ebb9@byu.net>
8952
8953         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
8954
8955 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
8956
8957         * lib/getaddrinfo.c: fixed typo
8958
8959 2006-06-29  Jim Meyering  <jim@meyering.net>
8960
8961         * modules/strftime (Maintainer): Add my name, since with the
8962         FPRINTFTIME changes strftime.c has forked from glibc.
8963
8964 2006-06-29  Eric Blake  <ebb9@byu.net>
8965
8966         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
8967
8968 2006-06-29  Eric Blake  <ebb9@byu.net>
8969
8970         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
8971
8972 2006-06-29  Eric Blake  <ebb9@byu.net>
8973
8974         * lib/stat_.h: New file.
8975
8976 2006-06-29  Eric Blake  <ebb9@byu.net>
8977
8978         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
8979         unused static function.
8980
8981 2006-06-29  Eric Blake  <ebb9@byu.net>
8982
8983         * doc/functions.texi (Function Portability): Document missing lstat
8984         on mingw.
8985
8986 2006-06-29  Eric Blake  <ebb9@byu.net>
8987
8988         * MODULES.html.sh: Add sys_stat.
8989         * modules/sys_stat: New module.
8990         * modules/mkstemp (Depends-on): Add sys_stat.
8991
8992 2006-06-29  Derek R. Price  <derek@ximbiot.com>
8993
8994         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
8995
8996 2006-06-29  Derek R. Price  <derek@ximbiot.com>
8997
8998         * m4/c-bs-a.m4: Removed.
8999
9000 2006-06-29  Derek R. Price  <derek@ximbiot.com>
9001
9002         * lib/strftime.c: Assume strftime() exists.
9003
9004 2006-06-29  Derek Price  <derek@ximbiot.com>
9005
9006         * modules/c-bs-a: Removed - \a is C89.
9007         * MODULES.html.sh: Remove c-bs-a.
9008
9009 2006-06-29  Bruno Haible  <bruno@clisp.org>
9010
9011         * modules/wcwidth (License): Change to LGPL.
9012
9013 2006-06-28  Simon Josefsson  <jas@extundo.com>
9014
9015         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
9016         on _WIN32.
9017
9018         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
9019         getnameinfo.
9020
9021 2006-06-28  Simon Josefsson  <jas@extundo.com>
9022
9023         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
9024
9025 2006-06-28  Simon Josefsson  <jas@extundo.com>
9026
9027         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
9028         functions there.  It will succeed on Windows XP, but on Windows
9029         2000 and (presumably) earlier, it will fail, and use the internal
9030         re-implementation.
9031         (use_win32_p): New function.
9032         (getaddrinfo): Use strtoul on servname, to support numeric ports.
9033         Support AI_NUMERICSERV to disable getservbyname.
9034         (getnameinfo): New function, only supports
9035         NI_NUMERICHOST|NI_NUMERICSERV for now.
9036
9037         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
9038         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
9039         getnameinfo.
9040
9041 2006-06-28  Eric Blake  <ebb9@byu.net>
9042
9043         * modules/wcwidth: New file.
9044         * modules/mbchar (Depends-on): Add wcwidth.
9045         * modules/mbswidth (Depends-on): Add wcwidth.
9046         * MODULES.html.sh: Add wcwidth.
9047
9048 2006-06-28  Eric Blake  <ebb9@byu.net>
9049
9050         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
9051         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
9052
9053 2006-06-28  Eric Blake  <ebb9@byu.net>
9054
9055         * lib/xvasprintf.h: Fix comments.
9056
9057 2006-06-28  Eric Blake  <ebb9@byu.net>
9058
9059         * lib/mbchar.h (wcwidth): Include wcwidth.h.
9060         * lib/mbswidth.c (wcwidth): Move from here...
9061         * lib/wcwidth.h: ...to this new file.
9062
9063 2006-06-28  Derek R. Price  <derek@ximbiot.com>
9064
9065         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
9066
9067         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
9068         it's obsolete.
9069         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
9070
9071 2006-06-28  Derek R. Price  <derek@ximbiot.com>
9072
9073         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
9074         Autoconf 2.60 says this stuff was obsolete.
9075
9076 2006-06-28  Bruno Haible  <bruno@clisp.org>
9077
9078         * modules/wcwidth (Files): Add m4/wchar_t.m4.
9079
9080 2006-06-28  Bruno Haible  <bruno@clisp.org>
9081
9082         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
9083         gt_TYPE_WCHAR_T.
9084
9085 2006-06-28  Bruno Haible  <bruno@clisp.org>
9086
9087         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
9088         declaration for wcwidth.
9089         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
9090
9091 2006-06-28  Bruno Haible  <bruno@clisp.org>
9092
9093         * lib/mkdtemp.c [MINGW]: Include <io.h>.
9094         (mkdir): Define using _mkdir.
9095
9096 2006-06-28  Bruno Haible  <bruno@clisp.org>
9097
9098         * lib/getaddrinfo.h: Fix POSIX URL.
9099         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
9100         _WIN32.
9101         (use_win32_p): Make static.
9102         (getaddrinfo): Reject service name if it is empty or does not consist
9103         solely of decimal digits, or if its value is > 65535.
9104         (getnameinfo): Remove useless casts.
9105
9106 2006-06-27  Simon Josefsson  <jas@extundo.com>
9107
9108         * modules/sys_select: New file, suggested by Bruno Haible, Paul
9109         Eggert and Martin Lambers.
9110
9111 2006-06-27  Simon Josefsson  <jas@extundo.com>
9112
9113         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
9114         Eggert and Martin Lambers.
9115
9116 2006-06-27  Bruno Haible  <bruno@clisp.org>
9117
9118         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
9119         result to 0, not to empty.
9120         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
9121
9122 2006-06-27  Bruno Haible  <bruno@clisp.org>
9123
9124         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
9125
9126 2006-06-26  Simon Josefsson  <jas@extundo.com>
9127
9128         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
9129         present.
9130
9131 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
9132
9133         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
9134         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
9135         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
9136
9137 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
9138
9139         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
9140
9141 2006-06-26  Bruno Haible  <bruno@clisp.org>
9142
9143         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
9144
9145 2006-06-26  Bruno Haible  <bruno@clisp.org>
9146
9147         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
9148
9149 2006-06-26  Bruno Haible  <bruno@clisp.org>
9150
9151         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
9152         SGI C compiler in pre-C99 mode.
9153         Suggested by Mark D. Baushke and Larry Jones.
9154
9155 2006-06-26  Bruno Haible  <bruno@clisp.org>
9156
9157         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
9158         WCHAR_MAX.
9159         Reported by Mark D. Baushke and Larry Jones.
9160
9161 2006-06-26  Bruno Haible  <bruno@clisp.org>
9162
9163         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
9164         in pre-C99 mode.
9165         Suggested by Mark D. Baushke and Larry Jones.
9166
9167 2006-06-23  Simon Josefsson  <jas@extundo.com>
9168             Bruno Haible  <bruno@clisp.org>
9169
9170         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
9171         Emit mostlyclean-local rule.
9172         (func_emit_tests_Makefile_am): Likewise.
9173         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
9174
9175 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
9176
9177         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
9178
9179 2006-06-23  Bruno Haible  <bruno@clisp.org>
9180
9181         * tests/test-stdint.c: Update to match ISO C 99 Technical
9182         Corrigendum 1.
9183
9184 2006-06-23  Bruno Haible  <bruno@clisp.org>
9185
9186         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
9187
9188 2006-06-23  Bruno Haible  <bruno@clisp.org>
9189
9190         * lib/stdint_.h: Treat IRIX like OpenBSD.
9191
9192 2006-06-23  Bruno Haible  <bruno@clisp.org>
9193
9194         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
9195         ISO C 99 Technical Corrigendum 1.
9196
9197 2006-06-22  Simon Josefsson  <jas@extundo.com>
9198
9199         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
9200         MinGW.
9201
9202 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
9203
9204         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
9205         needed.  Some compiler complained about some of them.  Problem reported
9206         by Larry Jones in
9207         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
9208
9209 2006-06-21  Simon Josefsson  <jas@extundo.com>
9210
9211         * tests/test-getaddrinfo.c: New file.
9212
9213         * modules/getaddrinfo-tests: New file.
9214
9215         * MODULES.html.sh: Add inet_pton.
9216
9217         * modules/inet_pton: New file.
9218
9219 2006-06-21  Simon Josefsson  <jas@extundo.com>
9220
9221         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
9222         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
9223         of using the (limited) gnulib implementation on Windows XP.
9224
9225         * m4/inet_pton.m4: New file.
9226
9227 2006-06-21  Simon Josefsson  <jas@extundo.com>
9228
9229         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
9230         variable.
9231
9232         * lib/socket_.h: Don't define WINVER.
9233
9234         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
9235         slightly modified to work in gnulib.
9236
9237 2006-06-21  Simon Josefsson  <jas@extundo.com>
9238
9239         * doc/gnulib.texi (Windows sockets): Add.
9240
9241 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
9242
9243         * lib/read-file.c (fread_file): Start with buffer allocation of
9244         0 bytes rather than 1 byte; this simplifies the code.
9245         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
9246         code to free buffer and save/restore errno.
9247         (internal_read_file): Remove unused local.
9248
9249 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
9250
9251         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
9252         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
9253         Problem reported by Denis Excoffier in
9254         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
9255
9256 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9257
9258         * modules/sys_socket, modules/socklen: Include sys/types since
9259         FreeBSD 4.x's sys/socket.h needs it.
9260
9261 2006-06-19  Simon Josefsson  <jas@extundo.com>
9262
9263         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
9264
9265 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
9266
9267         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
9268
9269 2006-06-19  Bruno Haible  <bruno@clisp.org>
9270
9271         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
9272         and FULL_PATH_INTTYPES_H in angle brackets.
9273         Reported by Mark D. Baushke <mdb@gnu.org>.
9274
9275 2006-06-17  Eric Blake  <ebb9@byu.net>
9276
9277         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
9278         errno.
9279
9280 2006-06-17  Bruno Haible  <bruno@clisp.org>
9281
9282         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
9283         <sys/inttypes.h>.
9284
9285 2006-06-17  Bruno Haible  <bruno@clisp.org>
9286
9287         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
9288         whether errno is declared. Assume <errno.h> declares errno.
9289
9290 2006-06-17  Bruno Haible  <bruno@clisp.org>
9291
9292         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
9293
9294 2006-06-17  Bruno Haible  <bruno@clisp.org>
9295
9296         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
9297         problem on Solaris 2.5.1.
9298
9299 2006-06-16  Eric Blake  <ebb9@byu.net>
9300
9301         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
9302         * lib/unicodeio.c [!defined errno]: Likewise.
9303         * lib/strtol.c [!defined errno]: Likewise.
9304         * lib/strtod.c [!defined errno]: Likewise.
9305
9306 2006-06-15  Eric Blake  <ebb9@byu.net>
9307
9308         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
9309
9310 2006-06-15  Eric Blake  <ebb9@byu.net>
9311
9312         * config/srclist.txt (ssize_t.m4): Lose sync.
9313
9314 2006-06-15  Bruno Haible  <bruno@clisp.org>
9315
9316         * modules/stdint (Files): Include m4/full-header-path.m4,
9317         m4/size_max.m4, m4/wchar_t.m4.
9318         (Makefile.am): Many more substitutions.
9319         * modules/stdint-tests: New file.
9320         * tests/test-stdint.c: New file.
9321
9322 2006-06-15  Bruno Haible  <bruno@clisp.org>
9323
9324         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
9325         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
9326         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
9327         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
9328         gl_CHECK_TYPE_SAME): New macros.
9329
9330 2006-06-15  Bruno Haible  <bruno@clisp.org>
9331
9332         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
9333
9334 2006-06-15  Bruno Haible  <bruno@clisp.org>
9335
9336         * lib/stdint_.h: Rewritten to be fully auto-configured.
9337         Fixes bug on HP-UX/IA64.
9338
9339 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
9340
9341         * lib/getdate.y (__attribute__): Don't define if already defined.
9342         Problem reported by Larry Jones.
9343         * lib/utimens.c (__attribute__): Likewise.
9344
9345 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
9346
9347         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
9348         reported by Andreas Schwab.
9349
9350 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9351             Bruno Haible  <bruno@clisp.org>
9352
9353         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
9354         check for the declaration of strnlen and a run test that exposes the
9355         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
9356         rpl_strndup.
9357
9358 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9359             Bruno Haible  <bruno@clisp.org>
9360
9361         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
9362
9363 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9364
9365         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
9366         compile test, for Tru64 4.0D.
9367
9368 2006-05-28  Karl Berry  <karl@gnu.org>
9369
9370         * config/srclist.txt (printf-args.c): lose sync.
9371
9372 2006-05-26  Martin Lambers  <marlam@marlam.de>
9373
9374         * lib/getpass.c: Updates the test for the native W32 API, and adds
9375         missing includes, thus fixing compilation warnings.
9376
9377 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9378
9379         * lib/exclude.c (exclude_fnmatch): New function.
9380         (excluded_file_name): Call exclude_fnmatch.
9381         * lib/exclude.h (excluded_file_name): New prototype
9382
9383 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
9384
9385         * lib/tempname.c (small_open, large_open): New macros.
9386         (__open, __open64) [!_LIBC]: Remove.
9387         (__gen_tempname): Use small_open and large_open instead of __open
9388         and __open64.  This fixes a portability bug on HP-UX 11.11i
9389         reported by Simon Wing-Tang in
9390         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
9391
9392 2006-05-24  Bruno Haible  <bruno@clisp.org>
9393
9394         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
9395         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
9396         Reported by Thorsten Maerz <torte@netztorte.de> via
9397         Aaron Stone <aaron@serendipity.cx>.
9398
9399 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9400
9401         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
9402         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
9403         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
9404         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
9405         not really conditional on the cache.
9406         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
9407
9408 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9409
9410         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
9411         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
9412         (my_usleep): Don't mishandle maximum value.
9413
9414 2006-05-19  Jim Meyering  <jim@meyering.net>
9415
9416         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
9417
9418 2006-05-17  Bruno Haible  <bruno@clisp.org>
9419
9420         Cygwin portability.
9421         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
9422
9423 2006-05-17  Bruno Haible  <bruno@clisp.org>
9424
9425         * lib/stdint_.h: Fix recognition of Cygwin.
9426
9427 2006-05-15  Bruno Haible  <bruno@clisp.org>
9428
9429         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
9430         on libtool patch by Ralf Wildenhues.
9431
9432 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
9433
9434         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
9435         test for C99 conformance; (bool) 0.5 is an integer constant
9436         expression, but (bool) -0.5 is not.  Problem reported by Fedor
9437         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
9438
9439 2006-05-11  Simon Josefsson  <jas@extundo.com>
9440
9441         * m4/xvasprintf.m4: Fix obvious typo.
9442
9443 2006-05-11  Jim Meyering  <jim@meyering.net>
9444
9445         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
9446         James Lemley.
9447
9448 2006-05-10  Simon Josefsson  <jas@extundo.com>
9449
9450         * lib/md4.c: Typo fix, update copyright years.
9451         (K1, K2): Don't use L because it turn computations into 64-bit on
9452         64-bit platforms.
9453
9454 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
9455
9456         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
9457         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
9458         unwanted sign propagation, e.g., on hosts with 64-bit int.
9459         There still are some problems with reeelly weird theoretical hosts
9460         (e.g., 33-bit int) but it's not worth worrying about now.
9461         * lib/sha1.c (rol): Likewise.
9462         (K1, K2, K3, K4): Remove unnecessary L suffix.
9463
9464 2006-05-10  Bruno Haible  <bruno@clisp.org>
9465
9466         * lib/des.c: Cast to avoid warnings.
9467
9468 2006-05-09  Bruno Haible  <bruno@clisp.org>
9469
9470         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
9471         (Depends-on): Depend also on xsize, stdarg.
9472         (configure.ac): Add gl_XVASPRINTF.
9473
9474 2006-05-09  Bruno Haible  <bruno@clisp.org>
9475
9476         * m4/xvasprintf.m4: New file.
9477
9478 2006-05-09  Bruno Haible  <bruno@clisp.org>
9479
9480         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
9481         (EOVERFLOW): Define fallback value.
9482         (xstrcat): New function.
9483         (xvasprintf): Recognize the special case of a string concatenation.
9484
9485 2006-05-08  Eric Blake  <ebb9@byu.net>
9486
9487         * gnulib-tool (func_version): Base copyright year on CVS date.
9488         (func_emit_copyright_notice): New function.
9489         (func_emit_lib_Makefile_am): Use it.
9490         (func_emit_tests_Makefile_am): Likewise.
9491         (func_import): Likewise.
9492
9493 2006-05-08  Bruno Haible  <bruno@clisp.org>
9494
9495         * modules/stdarg: New file.
9496         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
9497
9498 2006-05-08  Bruno Haible  <bruno@clisp.org>
9499
9500         * m4/stdarg.m4: New file, from GNU gettext.
9501
9502 2006-05-08  Bruno Haible  <bruno@clisp.org>
9503
9504         * config/srclist.txt (build-aux/config.rpath): different from latest
9505         release.
9506
9507 2006-05-08  Bruno Haible  <bruno@clisp.org>
9508
9509         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
9510
9511 2006-05-05  Jim Meyering  <jim@meyering.net>
9512
9513         * m4/warning.m4: New file, derived from bison's file by the same name.
9514
9515 2006-05-03  Bruno Haible  <bruno@clisp.org>
9516
9517         * lib/stdint_.h: Shorter URL.
9518         * lib/inttypes.h: Likewise.
9519
9520 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9521
9522         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
9523
9524 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9525
9526         * lib/verify.h: Document the internals better.  Most of this change
9527         was written by Bruno Haible.
9528
9529 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9530
9531         * doc/verify.texi: New file, partly based on a proposal by
9532         Bruno Haible.
9533
9534 2006-05-02  Bruno Haible  <bruno@clisp.org>
9535
9536         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
9537         test from here...
9538         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
9539
9540 2006-04-29  Bruno Haible  <bruno@clisp.org>
9541
9542         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
9543         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
9544
9545 2006-04-29  Bruno Haible  <bruno@clisp.org>
9546
9547         * gnulib-tool: Make --update option actually work.
9548
9549 2006-04-29  Bruno Haible  <bruno@clisp.org>
9550
9551         * doc/gcd.texi: New file.
9552         * doc/gnulib.texi: Include it.
9553
9554 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
9555
9556         * lib/getdate.y (get_date): When adding relative date, start with the
9557         initial time, not with the result of the first mktime call.
9558
9559 2006-04-25  Bruno Haible  <bruno@clisp.org>
9560
9561         * gnulib-tool (func_import): Output the include directives in three
9562         blocks, sorted separately.
9563         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9564
9565 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9566
9567         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
9568         to define main with arguments, for C++.  Reported by Eric Blake.
9569         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
9570         Prefer 'int main ()' to 'int main (void)', for C++.
9571         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9572         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
9573         for 'main', for C99 and C++.
9574
9575 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9576
9577         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
9578         Don't assume that exit status -1 is valid.
9579         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9580         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
9581         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
9582         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
9583         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
9584         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
9585         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
9586         functions can be used without declaring them, or that you can
9587         exit with status -1.
9588         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
9589
9590 2006-04-24  Karl Berry  <karl@gnu.org>
9591
9592         * config/srclist.txt (longdouble.m4): sync lost.
9593
9594 2006-04-24  Eric Blake  <ebb9@byu.net>
9595
9596         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
9597
9598 2006-04-24  Bruno Haible  <bruno@clisp.org>
9599
9600         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
9601         poll() implementation in AIX.
9602         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9603
9604 2006-04-24  Bruno Haible  <bruno@clisp.org>
9605
9606         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
9607         assigned exactly once.
9608
9609 2006-04-23  Claudio Fontana  <claudio@gnu.org>
9610             Bruno Haible  <bruno@clisp.org>
9611
9612         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
9613         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
9614         for AM_CPPFLAGS.
9615
9616 2006-04-23  Bruno Haible  <bruno@clisp.org>
9617
9618         * modules/copy-file: Depend on unistd.
9619         * modules/execute: Likewise.
9620         * modules/fatal-signal: Likewise.
9621         * modules/findprog: Likewise.
9622         * modules/mkdtemp : Likewise.
9623         * modules/pipe: Likewise.
9624         * modules/wait-process: Likewise.
9625
9626 2006-04-23  Bruno Haible  <bruno@clisp.org>
9627
9628         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
9629         condition was already detected.
9630         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9631
9632 2006-04-23  Bruno Haible  <bruno@clisp.org>
9633
9634         * lib/copy-file.c: Include <unistd.h> unconditionally.
9635         * lib/execute.c: Likewise.
9636         * lib/fatal-signal.c: Likewise.
9637         * lib/findprog.c: Likewise.
9638         * lib/mkdtemp.c: Likewise.
9639         * lib/pipe.h: Likewise.
9640         * lib/pipe.c: Likewise.
9641         * lib/wait-process.h: Likewise.
9642
9643 2006-04-23  Bruno Haible  <bruno@clisp.org>
9644
9645         * gnulib-tool (func_usage): Fix --import description. Document
9646         --update.
9647         (func_import): Create temporary file in a temporary directory, if
9648         --dry-run is specified. Silence errors from 'grep' when there are no
9649         m4 files in $m4dir.
9650         (func_create_testdir): Silence errors from 'grep' when there are no
9651         m4 files in $m4dir.
9652         Reported by Karl Berry <karl@freefriends.org>.
9653
9654 2006-04-20  Bruno Haible  <bruno@clisp.org>
9655
9656         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
9657         one argument, so that the code will be portable to Autoconf 2.60.
9658         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
9659         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
9660         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
9661
9662 2006-04-19  Derek Price  <derek@ximbiot.com>
9663             Eric Blake  <ebb9@byu.net>
9664
9665         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
9666         rather than "/full/path.h".  Update comment to match.  Shorten &
9667         generalize m4_translit call via AS_TR_CPP.
9668
9669 2006-04-19  Derek Price  <derek@ximbiot.com>
9670             Eric Blake  <ebb9@byu.net>
9671
9672         * lib/inttypes.h: Correct grammar in comment.
9673
9674 2006-04-18  Derek Price  <derek@ximbiot.com>
9675             Paul Eggert  <eggert@cs.ucla.edu>
9676
9677         * modules/inttypes: New file.
9678         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
9679
9680 2006-04-18  Derek Price  <derek@ximbiot.com>
9681             Paul Eggert  <eggert@cs.ucla.edu>
9682
9683         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
9684         New files.
9685
9686 2006-04-18  Derek Price  <derek@ximbiot.com>
9687             Paul Eggert  <eggert@cs.ucla.edu>
9688
9689         * lib/inttypes.h: New file.
9690         * lib/strtoimax.c: Assume <inttypes.h>.
9691
9692 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
9693
9694         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
9695         isn't mounted.  Problem reported by Kir Kolyshkin.
9696
9697 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
9698
9699         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
9700         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
9701         Derek R. Price.
9702         * lib/regex.h (RE_DUP_MAX): Update comment to match current
9703         implementation.
9704
9705 2006-04-12  Eric Blake  <ebb9@byu.net>
9706
9707         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
9708         is now done automatically by the corresponding Autoconf macro.
9709
9710 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
9711
9712         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
9713         time_r.h.
9714
9715 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9716
9717         Merge regex changes from libc, removing some of our
9718         POSIX-conformance changes that were rejected and redoing them in a
9719         less-intrusive way.
9720
9721         * lib/regcomp.c (re_compile_internal, init_dfa):
9722         Length arg is now size_t, not Idx.  All uses changed.
9723         (peek_token): Forward decl now says internal_function.
9724         (__re_error_msgid, __re_error_msgid_idx):
9725         Now static rather than extern with attribute_hidden.
9726         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
9727         For some reason libc prefers K&R style defns for external functions.
9728         (regerror) [!defined _LIBC]: Likewise.
9729         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
9730         (seek_collating_symbol_entry, lookup_collation_sequence_value):
9731         (build_range_exp, build_collating_symbol):
9732         Use K&R-style defn.
9733         (re_compile_fastmap): Use '\0' to memset, not 0.
9734         (utf8_sb_map): Make the calculations more obvious.
9735         (init_dfa, parse_bracket_exp, build_charclass_op):
9736         Call calloc and cast result, as glibc does.
9737         (init_word_char, fetch_token, peek_token, peek_token_bracket):
9738         (build_range_exp, build_collating_symbol):
9739         Now internal functions.
9740
9741         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
9742
9743         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
9744         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
9745         Don't depend on VMS; depend on __VMS instead, for POSIX
9746         namespace cleanness.
9747         (regoff_t): Define to ssize_t, not long int.
9748
9749         Remove the REG_ macros named below.  Instead, make the old names
9750         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
9751         __USE_GNU_REGEX.
9752         (REG_BACKSLASH_ESCAPE_IN_LISTS):
9753         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
9754         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
9755         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
9756         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
9757         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
9758         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
9759         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
9760         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
9761         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
9762         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
9763         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
9764         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
9765         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
9766         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
9767         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
9768         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
9769         (REG_NREGS):
9770         Remove.  All uses replaced by the old RE_* names.
9771         (RE_BACKSLASH_ESCAPE_IN_LISTS):
9772         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
9773         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
9774         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
9775         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
9776         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
9777         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
9778         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
9779         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
9780         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
9781         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
9782         Don't bother having these macros be independent of each others'
9783         values, since they no longer exist in the POSIX name space.
9784
9785         Rename the following member names back to their old names,
9786         unless !__USE_GNU_REGEX.  All uses changed back.
9787         (buffer): Renamed from re_buffer.
9788         (allocated): Renamed from re_allocated.
9789         (used): Renamed from re_used.
9790         (syntax): Renamed from re_syntax.
9791         (fastmap): Renamed from re_fastmap.
9792         (translate): Renamed from re_translate.
9793         (can_be_null): Renamed from re_can_be_null.
9794         (regs_allocated): Renamed from re_regs_allocated.
9795         (fastmap_accurate): Renamed from re_fastmap_accurate.
9796         (no_sub): Renamed from re_no_sub.
9797         (not_bol): Renamed from re_not_bol.
9798         (not_eol): Renamed from re_not_eol.
9799         (newline_anchor): Renamed from re_newline_anchor.
9800         (num_regs): Renamed from rm_num_regs.
9801         (start): Renamed from rm_start.
9802         (end): Renamed from rm_end.
9803
9804         (free_state): Move up a bit.
9805
9806         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
9807         #define to be empty.
9808         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
9809         when that is what is intended.
9810         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
9811         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
9812         (MAX): New macro.
9813         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
9814         All uses changed back to re_malloc, etc.  It's now the caller's
9815         responsibility to check for overflow; all callers changed.
9816         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
9817         (re_x2nrealloc): Remove.
9818         (free_state): Remove decl.
9819
9820         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
9821         (re_set_registers, re_exec):
9822         Use K&R-style defn.
9823
9824         2006-01-31  Roland McGrath  <roland@redhat.com>
9825
9826         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
9827         Reported by Mike Frysinger <vapier@gentoo.org>.
9828
9829         2006-01-15  Andreas Jaeger  <aj@suse.de>
9830
9831         [BZ #1950]
9832         * lib/regex_internal.c (re_string_reconstruct): Adjust for
9833         build_wcs_upper_buffer change.
9834         (build_wcs_upper_buffer): Change return type.
9835
9836         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
9837
9838         * lib/regex_internal.h: Include <stdint.h> if available.
9839
9840         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
9841
9842         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
9843
9844         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
9845
9846         * lib/regcomp.c: Adjust for changed secondary hash function.
9847
9848         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
9849
9850         * lib/regex.h: Pretty printing.
9851         Clean up namespace a bit.
9852
9853         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
9854
9855         * lib/regexec.c (update_cur_sifted_state, check_arrival,
9856         check_arrival_add_next_nodes): Avoid using uninitialized variable.
9857
9858         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9859                     Ulrich Drepper  <drepper@redhat.com>
9860
9861         [BZ #1302]
9862         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
9863         changed.
9864         (bitset_word_t): Renamed from bitset_word.  All uses changed.
9865
9866         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
9867
9868         [BZ #281]
9869         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
9870         * lib/regcomp.c: Remove unnecessary uses of
9871         unsigned RE_TRANSLATE_TYPE.
9872         * lib/regex_internal.h: Likewise.
9873         * lib/regex_internal.c: Likewise.
9874         * lib/regexec.c: Likewise.
9875         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
9876
9877         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
9878
9879         * lib/regexec.c (find_recover_state): Remove unnecessary
9880         initialization.
9881         (transit_state_bkref): Make DFA a const pointer.
9882         (get_subexp): Likewise.
9883         (check_arrival): Likewise.
9884         (update_cur_sifted_state): Likewise.
9885         (re_search_internal): Likewise.
9886         (prune_impossible_nodes): Likewise.
9887         (acquire_init_state_context): Likewise.
9888         (proceed_next_node): Likewise.
9889         (set_regs): Likewise.
9890         (free_fail_stack_return): Likewise.
9891         (check_arrival_expand_ecl): Mark DFA parameter as const.
9892         (check_arrival_expand_ecl_sub): Likewise.
9893         (check_subexp_limits): Likewise.
9894         (sub_epsilon_src_nodes):  Likewise.
9895         (add_epsilon_src_nodes):  Likewise.
9896         (merge_state_array): Likewise.
9897         (update_regs): Likewise.
9898         (build_trtable): Likewise.
9899         (sift_states_backward): Mark MCTX parameter as const.
9900         (build_sifted_states): Likewise.
9901         (update_cur_sifted_state): Likewise.
9902         (sift_states_mkref): Likewise.
9903         (check_arrival_expand_ecl): Mark eclosure as const.
9904         (check_dst_limits_calc_pos_1): Likewise.
9905         * lib/regex_internal.h (re_match_context_t): Make dfa a const
9906         pointer.
9907
9908         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
9909
9910         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
9911         (transit_state_sb): Likewise.
9912         (transit_state_mb): Likewise.
9913         (sift_states_iter_mb): Likewise.
9914         (check_arrival_add_next_nodes): Likewise.
9915         (check_node_accept_bytes): Change first parameter to pointer-to-const.
9916         [_LIBC] (re_search_2_stub): Use mempcpy.
9917
9918         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
9919         mbrtowc for very simple UTF-8 case.
9920
9921         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
9922         a pointer-to-const.
9923         (re_acquire_state_context): Likewise.
9924         * lib/regex_internal.h: Adjust prototypes.
9925
9926         * lib/regex.c: Prevent using C++ compilers.
9927
9928         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
9929         (re_acquire_state_context): Likewise.
9930
9931 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9932
9933         * modules/regex (Depends-on): Add ssize_t.
9934
9935 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9936
9937         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
9938         translation table.
9939
9940 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9941
9942         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
9943
9944 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
9945             Bruno Haible  <bruno@clisp.org>
9946
9947         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
9948         <sys/types.h> and <inttypes.h>.
9949
9950 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9951
9952         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
9953         `__error_t_defined', so argp.h will not typedef the former.
9954
9955 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
9956
9957         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
9958         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
9959         glibc names.  Even if glibc is changed to conform to POSIX, the
9960         traditional names will be available anyway, since regex depends on
9961         the extensions module.  Also, fix a longstanding typo in the
9962         implementation of Spencer ERE test #75 from grep 2.3.  Problems
9963         reported by Emanuele Giaquinta.  Also, change sense of cached
9964         variable, so that the message makes sense.
9965
9966 2006-03-24  Simon Josefsson  <jas@extundo.com>
9967
9968         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
9969         including some doc fixes.
9970         (base64_encode_alloc): Fix +1 bug on allocation failures.
9971
9972 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9973
9974         * lib/base64.c (base64_encode): Do not read past end of array with
9975         unsanitized input on systems with CHAR_BIT > 8.
9976
9977 2006-03-24  Eric Blake  <ebb9@byu.net>
9978
9979         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
9980
9981 2006-03-22  Karl Berry  <karl@gnu.org>
9982
9983         * config/srclist.txt (*setenv.[ch]): get from coreutils.
9984         * config/srclistvars.sh (COREUTILS): new var.
9985
9986 2006-03-17  Jim Meyering  <jim@meyering.net>
9987
9988         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
9989         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
9990
9991 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
9992
9993         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
9994         no longer needs it.  Instead, check that regoff_t is as least
9995         as wide as ptrdiff_t.
9996
9997         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
9998         so that our regex.h stays compatible with the installed regex.
9999         This is helpful for installers who configure --without-included-regex.
10000         Problem reported by Emanuele Giaquinta.
10001
10002 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
10003
10004         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
10005         Typedef to long int, not to off_, as POSIX will likely change
10006         in that direction.
10007
10008 2006-03-15  Eric Blake  <ebb9@byu.net>
10009
10010         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
10011
10012 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
10013
10014         * lib/argp-help.c (validate_uparams): Fix typo
10015         * lib/argp-parse.c (argp_default_options): Consistently begin help
10016         messages with a lowercase letter.
10017
10018 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
10019
10020         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
10021         overrun buffers and shouldn't be used (much as gets shouldn't be
10022         used).
10023         * lib/time_r.c (asctime_r, ctime_r): Likewise.
10024
10025 2006-03-08  Simon Josefsson  <jas@extundo.com>
10026
10027         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
10028         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10029
10030 2006-03-08  Simon Josefsson  <jas@extundo.com>
10031
10032         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
10033         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10034
10035 2006-03-08  Simon Josefsson  <jas@extundo.com>
10036
10037         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
10038         signal that configure disabled the device.
10039
10040 2006-03-08  Simon Josefsson  <jas@extundo.com>
10041
10042         * build-aux/maint.mk: Fix refresh-po, to handle no translated
10043         languages.
10044
10045 2006-03-07  Simon Josefsson  <jas@extundo.com>
10046
10047         * modules/getopt (Depends-on): Add unistd.
10048
10049         * modules/unistd: New file.
10050
10051 2006-03-07  Simon Josefsson  <jas@extundo.com>
10052
10053         * modules/gc-random: New file.
10054
10055 2006-03-07  Simon Josefsson  <jas@extundo.com>
10056
10057         * m4/unistd_h.m4: New file.
10058
10059 2006-03-07  Simon Josefsson  <jas@extundo.com>
10060
10061         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
10062         test to be side-effect free by storing the result in the cache
10063         variable gl_cv_lib_readline, and moving the assignment of
10064         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
10065         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10066
10067 2006-03-07  Simon Josefsson  <jas@extundo.com>
10068
10069         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
10070         error on missing devices (the functions will return an error).
10071
10072         * m4/gc.m4: Move random stuff to gc-random.m4
10073
10074 2006-03-07  Simon Josefsson  <jas@extundo.com>
10075
10076         * lib/unistd_.h: New file.
10077
10078 2006-03-07  Simon Josefsson  <jas@extundo.com>
10079
10080         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
10081
10082 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10083
10084         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
10085         Problem reported by Juan Manuel Guerrero.
10086
10087 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10088
10089         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
10090         the unistd module.
10091         * lib/getlogin_r.c: Likewise.
10092         * lib/getlogin_r.h: Likewise.
10093         * lib/glob.c: Likewise.
10094         * lib/pagealign_alloc.c: Likewise.
10095         * lib/unistd_.h: Remove; no longer needed.
10096
10097 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
10098
10099         * MODULES.html.sh (Support for systems lacking POSIX:2001):
10100         Add unistd.
10101         * modules/c-stack (Depends-on): Add unistd.
10102         * modules/getlogin_r: Likewise.
10103         * modules/glob: Likewise.
10104         * modules/pagealign_alloc: Likewise.
10105         * modules/unistd (Files): Remove lib/unistd_.h.
10106         (EXTRA_DIST): Remove.
10107         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
10108         need unistd_.h.
10109         (MOSTLYCLEANFILES): Remove unistd.h-t.
10110
10111 2006-03-03  Simon Josefsson  <jas@extundo.com>
10112
10113         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
10114
10115 2006-03-03  Simon Josefsson  <jas@extundo.com>
10116
10117         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
10118         libidn and bison.
10119
10120 2006-03-03  Simon Josefsson  <jas@extundo.com>
10121
10122         * build-aux/maint.mk: Add indent target.
10123
10124 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
10125
10126         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
10127         our replacement poll.h in any case, to avoid a differing
10128         declaration from a system header.  Seen on AIX.
10129
10130 2006-03-01  Simon Josefsson  <jas@extundo.com>
10131
10132         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
10133         <kasal@ucw.cz>.
10134
10135 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10136
10137         * modules/gettime (Depends-on): Add extensions module.
10138         * modules/nanosleep (Depends-on): Likewise.
10139         * modules/settime (Depends-on): Likewise.
10140
10141 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
10142
10143         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
10144         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
10145         pedantically.
10146         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
10147         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
10148
10149         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
10150         not "==".  Reported by Ralf Wildenhues.
10151
10152 2006-03-01  Karl Berry  <karl@gnu.org>
10153
10154         * doc/Copyright/request-*: new files, synced from gnuorg.
10155
10156 2006-03-01  Karl Berry  <karl@gnu.org>
10157
10158         * config/srclist.txt (Copyright/*): new entries.
10159
10160 2006-02-28  Simon Josefsson  <jas@extundo.com>
10161
10162         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
10163
10164 2006-02-27  Simon Josefsson  <jas@extundo.com>
10165
10166         * lib/base64.h: Indent #define's.  From Jim Meyering
10167         <jim@meyering.net>.
10168
10169 2006-02-27  Jim Meyering  <jim@meyering.net>
10170
10171         Revert the change of 2006-02-24, so these files can continue
10172         to be sync'd from gettext.
10173         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
10174         of `config.h'.
10175
10176 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
10177
10178         * modules/intprops: New file.
10179         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
10180         Add intprops.
10181         * modules/getloadavg (Files): Remove lib/intprops.h.
10182         (Depends-on): Add intprops.
10183         * modules/human: Likewise.
10184         * modules/inttostr: Likewise.
10185         * modules/openat: Likewise.
10186         * modules/sig2str: Likewise.
10187         * modules/userspec: Likewise.
10188         * modules/utimecmp: Likewise.
10189         * modules/xnanosleep: Likewise.
10190         * modules/xstrtol: Likewise.
10191
10192 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
10193
10194         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
10195         * modules/lock-tests (TESTS): Use $(EXEEXT).
10196         * modules/tls-tests: Likewise.
10197         * modules/argp-tests: Likewise.
10198         (check_PROGRAMS): New var, replacing...
10199         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
10200
10201 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10202
10203         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
10204         `config.h'.
10205
10206 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
10207
10208         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
10209
10210 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10211
10212         Sync from coreutils.
10213         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
10214         gl_CHDIR_SAFER.
10215
10216 2006-02-22  Jim Meyering  <jim@meyering.net>
10217
10218         Sync from coreutils.
10219         * m4/chdir-safer.m4: New file.
10220
10221 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
10222
10223         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
10224         AT_FDCWD exceeds INT_MAX.
10225         * lib/openat.h (AT_FDCWD): Likewise.
10226
10227 2006-02-17  Eric Blake  <address@hidden>
10228
10229         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
10230
10231 2006-02-16  Simon Josefsson  <jas@extundo.com>
10232
10233         * modules/getaddrinfo (Depends-on): Add sys_socket.
10234
10235 2006-02-15  Simon Josefsson  <jas@extundo.com>
10236
10237         * build-aux/maint.mk: Add dsyntax-check rule.
10238
10239 2006-02-15  Eric Blake  <ebb9@byu.net>
10240
10241         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
10242         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
10243         'present but cannot compile' warnings on cygwin.
10244         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
10245         use ws2tcpip.h if sys/socket.h works.
10246         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
10247         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
10248
10249 2006-02-14  Simon Josefsson  <jas@extundo.com>
10250
10251         * modules/maintainer-makefile (Files): Rename.
10252
10253         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
10254         and (the local) Makefile.cfg to maint-cfg.mk.
10255
10256         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
10257         to the latter.
10258
10259         * modules/maintainer-makefile: New module.
10260
10261         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
10262         severaly stripped to make it possible to build it up from scratch
10263         with reliable tests.
10264
10265         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
10266         fixes to permit overriding the default actions when configure and
10267         makefile are not available.
10268
10269 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
10270
10271         Sync from coreutils.
10272         * modules/lstat (Depends-on): Don't depend on xalloc.
10273         (License): Change from GPL to LGPL, since this is now simply a
10274         replacement for a libc function.
10275
10276 2006-02-14  Jim Meyering  <jim@meyering.net>
10277
10278         Sync from coreutils.
10279
10280         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
10281         failure on deficient systems, and simplify gnulib lgpl dependencies.
10282         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
10283         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
10284
10285         * lib/xalloc-die.c: Remove unused definition of N_.
10286
10287 2006-02-14  Jim Meyering  <jim@meyering.net>
10288
10289         Sync from coreutils.
10290         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
10291         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
10292         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
10293         double-quote uses of that variable, to accommodate the rare case in
10294         which getmntent is available in none of the libraries checked.  This
10295         happens at least on FreeBSD 5.0.
10296
10297 2006-02-13  Simon Josefsson  <jas@extundo.com>
10298
10299         * gnulib-tool (Usage): Fix --import, from
10300         karl@freefriends.org (Karl Berry).
10301
10302 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
10303
10304         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
10305
10306 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
10307
10308         * lib/argp-namefrob.h: Restore changes accidentally lost during the
10309         "autoupdate" on 2005-12-12.
10310
10311 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10312
10313         * modules/closeout (Depends-on): Remove atexit.
10314
10315 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10316
10317         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
10318         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
10319
10320 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
10321
10322         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
10323         __EXTENSIONS__ if this causes compilation to fail.  Problem
10324         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
10325         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
10326
10327 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
10328
10329         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
10330         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
10331         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
10332         All uses changed.
10333
10334 2006-01-26  Simon Josefsson  <jas@extundo.com>
10335
10336         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
10337         prototype is visible on mingw32.
10338
10339         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
10340         for mingw32.
10341
10342         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
10343         mingw32).
10344
10345 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
10346
10347         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
10348         attempt to open for write; this always fails, at least on POSIX
10349         hosts.  This reinstates the 2006-01-09 change, which was
10350         inadvertently removed.
10351
10352 2006-01-26  Bruno Haible  <bruno@clisp.org>
10353
10354         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
10355         Reported by Paul Eggert.
10356
10357 2006-01-26  Bruno Haible  <bruno@clisp.org>
10358             Paul Eggert  <eggert@cs.ucla.edu>
10359
10360         * lib/stdbool_.h (_Bool)
10361         [(! (defined __cplusplus || defined __BEOS__)
10362           && !defined __GNUC__
10363           && !(defined __HP_cc || defined __xlc__
10364                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
10365                || defined __sgi))]:
10366         #define to signed char in these cases too; this simplifies
10367         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
10368         etc., separately) and makes it more conservative.
10369
10370 2006-01-25  Simon Josefsson  <jas@extundo.com>
10371
10372         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
10373         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
10374         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
10375
10376 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
10377
10378         * lib/argp-namefrob.h: Bugfix. Remove stray #
10379
10380 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
10381
10382         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
10383         so that we test the test.
10384         Check for yet another HP-UX cc bug involving *bool |= bool.
10385
10386 2006-01-25  Karl Berry  <karl@gnu.org>
10387
10388         * config/srclist.txt (vasnprintf.c): sync lost.
10389
10390 2006-01-25  Jim Meyering  <jim@meyering.net>
10391
10392         Sync from the stable (b5) branch of coreutils:
10393
10394         * lib/fts.c (fts_children): Don't let close() clobber errno from
10395         failed fchdir().
10396
10397         * lib/fts.c (fts_stat): When following a symlink-to-directory,
10398         don't necessarily interpret stat-fails+lstat-succeeds as indicating
10399         a dangling symlink.  That can also happen at least for ELOOP.
10400         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
10401         FYI, this bug predates the inclusion of fts.c in coreutils.
10402
10403         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
10404         in their own block, so pre-c99 compilers don't object.
10405
10406         Avoid the double-free (first in fts_read, second in fts_close) that
10407         would occur when an `active' directory is made inaccessible (e.g.,
10408         via chmod a-x) during a traversal.
10409         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
10410         before returning.  Reproduce this failure by
10411         mkdir -p a/b; cd a; chmod a-x . b
10412         Reported by Stavros Passas.
10413
10414 2006-01-25  Jim Meyering  <jim@meyering.net>
10415
10416         * lib/fileblocks.c: Remove more useless parentheses.
10417         * lib/readutmp.h: Likewise.
10418
10419 2006-01-25  Bruno Haible  <bruno@clisp.org>
10420
10421         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
10422         warnings.
10423         Reported by Paul Eggert.
10424
10425 2006-01-25  Bruno Haible  <bruno@clisp.org>
10426
10427         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
10428         rid of a trap command. For Solaris sh.
10429         Reported by Mark D. Baushke <mdb@gnu.org>.
10430
10431 2006-01-24  Simon Josefsson  <jas@extundo.com>
10432
10433         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
10434         Bruno.
10435
10436 2006-01-24  Karl Berry  <karl@gnu.org>
10437
10438         * config/srclist.txt (argp-namefrob.h): sync lost.
10439
10440 2006-01-24  Jim Meyering  <jim@meyering.net>
10441
10442         * modules/openat (Files): Add lib/intprops.h.
10443         From Mark D. Baushke.
10444
10445 2006-01-24  Jim Meyering  <jim@meyering.net>
10446
10447         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
10448         Reported by Mark D. Baushke.
10449
10450 2006-01-24  Jim Meyering  <jim@meyering.net>
10451
10452         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
10453
10454 2006-01-24  Bruno Haible  <bruno@clisp.org>
10455
10456         * modules/strnlen (Maintainer): Change from glibc to all.
10457
10458 2006-01-24  Bruno Haible  <bruno@clisp.org>
10459
10460         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
10461         Patch by Paul Eggert.
10462
10463 2006-01-24  Bruno Haible  <bruno@clisp.org>
10464
10465         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
10466         already has it.
10467         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
10468         2005-11-26.
10469
10470         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
10471         'signed char' to avoid problems with the built-in _Bool type.
10472         Reported by Paul Eggert on 2005-11-26.
10473
10474 2006-01-24  Bruno Haible  <bruno@clisp.org>
10475
10476         * gnulib-tool (func_import): Avoid constructing complicated sed
10477         expressions inside backquote.
10478         Report and solution by Mark D. Baushke <mdb@gnu.org>.
10479
10480 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
10481
10482         These changes imported from libc.
10483         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
10484         test and two separate function calls.
10485         * lib/strndup.c (__strndup): Add libc_hidden_def.
10486
10487 2006-01-23  Simon Josefsson  <jas@extundo.com>
10488
10489         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
10490         Remove the test_*_SOURCES variable: automake infers it by default.
10491         * modules/tls-tests: Likewise.
10492
10493 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10494
10495         Work around porting bugs reported by Dieter in
10496         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
10497         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
10498         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
10499         Include "getopt.h" first, to check interface.
10500         (getenv): Declare only if defined HAVE_DECL_GETENV &&
10501         !HAVE_DECL_GETENV.
10502         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
10503         (__strndup): Revert to K&R-style function dfns, the glibc style.
10504         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
10505         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
10506         Include strnlen.h first, to get prototype properly.
10507         (strnlen): Renamed from __strnlen.
10508         Remove weak alias.
10509
10510 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10511
10512         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
10513
10514 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10515
10516         * config/srclist.txt: Adjust to reflect glibc reorganization.
10517         This affects only comments.
10518
10519 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
10520
10521          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
10522          Reported by Bruce Korb <bkorb@gnu.org>.
10523
10524 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
10525
10526         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
10527         to pacify gcc -Wswitch-default.
10528
10529 2006-01-22  Bruno Haible  <bruno@clisp.org>
10530
10531         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
10532         temporary buffer for sprintf, take into account the precision also
10533         for 'd', 'i', 'u', 'o', 'x', 'X'.
10534
10535 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
10536
10537         * modules/argp-tests: New module
10538         * tests/test-argp.c: New file
10539         * tests/test-argp-2.sh: New file
10540
10541 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
10542
10543         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
10544         (__argp_base_name): Removed
10545         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
10546         typo.
10547         (__argp_base_name): Provide macro definition or extern declaration
10548         depending on the configuration
10549
10550 2006-01-20  Simon Josefsson  <jas@extundo.com>
10551
10552         * modules/inet_ntop (Depends-on): Depend on sys_socket.
10553
10554 2006-01-20  Simon Josefsson  <jas@extundo.com>
10555
10556         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
10557
10558 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
10559
10560         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
10561         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
10562         Suggested by Bruno Haible.
10563
10564 2006-01-20  Karl Berry  <karl@gnu.org>
10565
10566         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
10567         until changes propagate, I guess.
10568
10569 2006-01-19  Simon Josefsson  <jas@extundo.com>
10570
10571         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
10572
10573 2006-01-19  Simon Josefsson  <jas@extundo.com>
10574
10575         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
10576
10577 2006-01-19  Simon Josefsson  <jas@extundo.com>
10578
10579         * gnulib-tool: Set check_PROGRAMS.
10580
10581         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
10582         modules/des-tests, modules/gc-arcfour-tests,
10583         modules/gc-arctwo-tests, modules/gc-des-tests,
10584         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
10585         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
10586         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
10587         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
10588         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
10589         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
10590         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
10591         test_*_SOURCES.
10592
10593 2006-01-18  Simon Josefsson  <jas@extundo.com>
10594
10595         * modules/socklen (Depends-on): Depend on sys_socket.
10596
10597 2006-01-18  Simon Josefsson  <jas@extundo.com>
10598
10599         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
10600         modules/des-tests, modules/gc-arcfour-tests,
10601         modules/gc-arctwo-tests, modules/gc-des-tests,
10602         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
10603         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
10604         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
10605         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
10606         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
10607         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
10608         $(EXEEXT) to automake TESTS variable, for mingw32.
10609
10610 2006-01-17  Simon Josefsson  <jas@extundo.com>
10611
10612         * modules/socklen (Include): Need sys/socket.h.
10613
10614 2006-01-17  Bruno Haible  <bruno@clisp.org>
10615
10616         * modules/ssize_t (Include): Add <sys/types.h>.
10617
10618 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
10619
10620         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
10621         it's not portable and it doesn't work with cross-compiles.
10622         Problem reported by Bruno Haible.  Fix missing-$ typo in
10623         'test "gl_cv_ignore_unused_libraries" ...' that prevented
10624         -zignore from being used with Sun's C compiler.
10625
10626 2006-01-12  Simon Josefsson  <jas@extundo.com>
10627
10628         * lib/base64.c: Fix warning, reported by Bruno Haible
10629         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
10630
10631 2006-01-12  Bruno Haible  <bruno@clisp.org>
10632
10633         * modules/ldd: New file.
10634         * build-aux/ldd.sh.in: New file.
10635         * MODULES.html.sh (Support for building libraries and executables): Add
10636         ldd.
10637
10638 2006-01-12  Bruno Haible  <bruno@clisp.org>
10639
10640         * m4/ldd.m4: New file.
10641
10642 2006-01-12  Bruno Haible  <bruno@clisp.org>
10643
10644         * gnulib-tool (func_import, func_create_testdir): Don't go into an
10645         endless loop while replacing $auxdir with build-aux.
10646
10647 2006-01-11  Simon Josefsson  <jas@extundo.com>
10648
10649         * lib/stdint_.h (SIZE_MAX): Add missing (.
10650
10651 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10652
10653         Sync from coreutils.
10654         * lib/md5.c: Fix commentary typos.
10655         (alignof, UNALIGNED_P): No need for a GCC-specific version.
10656         * lib/md5.h (__attribute__): Remove; unused.
10657         * lib/sha1.c: Fix commentary to match md5 better.
10658         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
10659         so that we don't need to worry about alignment.  All uses changed.
10660         This merges the 2005-10-28 md5 change into sha1.
10661
10662 2006-01-11  Jim Meyering  <jim@meyering.net>
10663
10664         Sync from coreutils.
10665         * lib/md5.c (OP): Fix spacing.
10666
10667 2006-01-11  Bruno Haible  <bruno@clisp.org>
10668
10669         Ensure automatic ordering between gl_LOCK and gl_ARGP.
10670         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
10671         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
10672
10673 2006-01-11  Bruno Haible  <bruno@clisp.org>
10674
10675         Ensure automatic ordering between gl_LOCK and gl_ARGP.
10676         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
10677         the "early" section as well.
10678
10679 2006-01-11  Bruno Haible  <bruno@clisp.org>
10680
10681         Avoid "ar: no archive members specified" error on MacOS X.
10682         * gnulib-tool (func_modules_add_dummy): New function.
10683         (func_import, func_create_testdir): Invoke it.
10684
10685 2006-01-11  Bruno Haible  <bruno@clisp.org>
10686
10687         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
10688         with $auxdir in AC_CONFIG_FILES statements.
10689
10690 2006-01-11  Bruno Haible  <bruno@clisp.org>
10691
10692         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
10693         Initialize also noinst_HEADERS to empty.
10694
10695 2006-01-11  Bruno Haible  <bruno@clisp.org>
10696
10697         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
10698         variables.
10699         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
10700         autoreconf.
10701
10702 2006-01-11  Bruno Haible  <bruno@clisp.org>
10703
10704         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
10705         overridable by the user.
10706         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10707
10708 2006-01-10  Simon Josefsson  <jas@extundo.com>
10709
10710         * modules/sys_socket: New file.
10711
10712 2006-01-10  Simon Josefsson  <jas@extundo.com>
10713
10714         * m4/sys_socket_h.m4: New file.
10715
10716 2006-01-10  Simon Josefsson  <jas@extundo.com>
10717
10718         * lib/socket_.h: New file.
10719
10720 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10721
10722         * modules/readutmp (Maintainer): Add myself.
10723
10724 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10725
10726         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
10727         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
10728         People who are still concerned with buggy memcmp implementations
10729         can invoke gl_FUNC_MEMCMP themselves.
10730
10731 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10732
10733         * lib/regex_internal.h (BITSET_WORD_BITS):
10734         Work around a bug in 64-bit PGC (before version 6.1-2), where the
10735         preprocessor mishandles large unsigned values as if they were signed.
10736         Problem reported by Claudio Fontana in
10737         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
10738
10739 2006-01-10  Jim Meyering  <jim@meyering.net>
10740
10741         Avoid the double-free (first in fts_read, second in fts_close) that
10742         would occur when an `active' directory is made inaccessible (e.g.,
10743         via chmod a-x) during a traversal.
10744         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
10745         before returning.  Reproduce this failure by
10746         mkdir -p a/b; cd a; chmod a-x . b
10747         Reported by Stavros Passas.
10748
10749         Sync from coreutils.
10750         * lib/sha1.c: Tweak grammar in a comment.
10751
10752 2006-01-10  Jim Meyering  <jim@meyering.net>
10753
10754         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
10755         Patch by Joerg Sonnenberger.
10756
10757 2006-01-10  Bruno Haible  <bruno@clisp.org>
10758
10759         * modules/readutmp: Depend on module free.
10760         * modules/strtok_r: Depend on module restrict.
10761
10762 2006-01-10  Bruno Haible  <bruno@clisp.org>
10763
10764         * modules/gettext (configure.ac): Add an invocation of
10765         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
10766
10767 2006-01-10  Bruno Haible  <bruno@clisp.org>
10768
10769         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
10770         Reported by Werner Lemberg <wl@gnu.org>.
10771
10772 2006-01-10  Bruno Haible  <bruno@clisp.org>
10773
10774         * lib/localcharset.c: Update from GNU gettext.
10775
10776 2006-01-10  Bruno Haible  <bruno@clisp.org>
10777
10778         * lib/argp.h (__const): Remove macro. Use const instead.
10779         * lib/argp-fmtstream.h (__const): Likewise.
10780         * lib/glob_.h (__const): Remove macro.
10781         * lib/glob-libc.h: Use const instead of __const.
10782
10783 2006-01-10  Bruno Haible  <bruno@clisp.org>
10784
10785         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
10786         variable.
10787         Needed to avoid an automake error regarding the 'gettext' module.
10788
10789 2006-01-09  Simon Josefsson  <jas@extundo.com>
10790
10791         * modules/inet_ntop (Depends-on): Add restrict.
10792
10793 2006-01-09  Simon Josefsson  <jas@extundo.com>
10794
10795         * modules/gc-rijndael-tests (License): Put under LGPL.
10796
10797         * modules/gc-des-tests (License): Likewise.
10798
10799         * modules/gc-arcfour-tests (License): Likewise.
10800
10801         * modules/gc-arctwo-tests (License): Likewise.
10802
10803         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
10804
10805         * modules/gc-hmac-sha1-tests (Files): Likewise.
10806
10807         * modules/gc-hmac-md5-tests (License): Likewise.
10808
10809         * modules/gc-sha1-tests (License): Likewise.
10810
10811         * modules/gc-md5-tests (License): Likewise.
10812
10813         * modules/gc-md4-tests (License): Likewise.
10814
10815         * modules/gc-md2-tests (License): Likewise.
10816
10817         * modules/gc-tests (License): Likewise.
10818
10819         * modules/des-tests (License): Likewise.
10820
10821         * modules/md4-tests (License): Likewise.
10822
10823         * modules/md2-tests (License): Likewise.
10824
10825 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10826
10827         Sync from coreutils:
10828
10829         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
10830         * modules/lib-ignore: New file.
10831         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
10832         chdir-safer.m4, lchmod.m4.
10833         * modules/openat: Add mkdirat.c, openat-priv.h.
10834
10835 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10836
10837         Sync from coreutils.
10838         * m4/lib-ignore.m4: New file.
10839         * m4/lchmod.m4: New file.
10840
10841 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10842
10843         Sync from coreutils.
10844         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
10845         for write access: POSIX says that must fail.
10846         * lib/fts.c (diropen): Likewise.
10847         * lib/save-cwd.c (save_cwd): Likewise.
10848         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
10849         well, for minor improvements on hosts that lack O_DIRECTORY.
10850         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
10851         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
10852         Fall back on chown if open failed with EACCES.
10853
10854         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
10855         Report an error at compile-time if only a 1-second nominal clock
10856         resolution is found.
10857
10858         * lib/lchmod.h: New file.
10859         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
10860         (make_dir_parents): Use lchown rather than chown, and
10861         lchmod rather than chmod.
10862
10863         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
10864         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
10865         "proc" reported by n0dalus.
10866
10867         * lib/mountlist.c: Include <limits.h>.
10868         (dev_from_mount_options)
10869         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
10870         New function.  It no longer assumes "dev=" has the System V meaning
10871         on Linux (since it doesn't).  It also parses "dev=" more carefully.
10872         (read_file_system_list)
10873         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
10874         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
10875         dev= in that case.
10876
10877         * lib/posixtm.h (PDS_PRE_2000): New macro.
10878         * lib/posixtm.c (year): Arg is now syntax_bits rather than
10879         allow_century.  All usages changed.  Reject dates outside the range
10880         1969-1999 if PDS_PRE_2000 is used.
10881
10882 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10883
10884         Sync from coreutils.
10885         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
10886         (Time of day items): Mention the possibility of leap seconds.
10887         Problem reported by Dr. David Alan Gilbert.
10888
10889 2006-01-09  Jim Meyering  <jim@meyering.net>
10890
10891         Sync from coreutils.
10892
10893         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
10894
10895         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
10896
10897         * lib/modechange.c (mode_compile): Reject an invalid mode string
10898         that starts with an octal digit.  From Andreas Gruenbacher.
10899
10900         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
10901         and dup to open_safer and dup_safer, respectively.
10902         (openat_permissive): Fix typo in comment.
10903
10904         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
10905         "gettext.h"; either no longer needed or are guaranteed by openat.h.
10906         (_): Remove; no longer needed.
10907         (openat): Renamed from rpl_openat; no need for rpl_openat
10908         since openat.h renames openat for us.
10909         Replace most of the body with a call to openat_permissive,
10910         to avoid duplicate code.
10911         Port to (probably hypothetical) environments were mode_t is
10912         wider than int.
10913         (openat_permissive): Require mode arg, so that we can check
10914         types better.  Put it just after flags.  Change cwd failure
10915         indicator from pointer-to-bool to pointer-to-errno-value.
10916         All callers changed.
10917         Invoke openat_save_fail and/or openat_restore_fail if
10918         cwd_errno is null, so that openat can call us.
10919         (openat_permissive, fdopendir, fstatat, unlinkat):
10920         Simplify errno handling to avoid some duplicate code,
10921         as it's OK to set errno on success.
10922         * lib/openat.h: Revamp code so that function macros depend on
10923         __OPENAT_PREFIX only, not also on AT_FDCWD.
10924         (openat_ro): Remove.  Caller changed to use openat_permissive.
10925         (openat_permissive): Now a macro, if not a function.
10926         (openat_restore_fail, openat_save_fail): Now always functions,
10927         since mkdirat needs them even if __OPENAT_PREFIX is defined.
10928
10929         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
10930         and openat.c.
10931         * lib/mkdirat.c: Include openat-priv.h.
10932         Remove definitions of macros defined therein.
10933         * lib/openat.c: Likewise.
10934
10935         * lib/mkdirat.c (mkdirat): New file and function.
10936         * lib/openat.h (mkdirat): Declare.
10937
10938         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
10939
10940         * lib/openat.h (openat_permissive): Declare.
10941         (openat_ro): Define.
10942
10943         * lib/openat.c (EXPECTED_ERRNO): New macro.
10944         (openat_permissive): New function -- used in remove.c rewrite.
10945         (all functions): Set errno just before returning, only if there
10946         was an actual failure.
10947         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
10948
10949         Emulate openat-family functions using Linux's procfs, if possible.
10950         Idea and some code based on Ulrich Drepper's glibc changes.
10951
10952         * lib/openat.c: (BUILD_PROC_NAME): New macro.
10953         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
10954         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
10955         before falling back on save_cwd and restore_cwd.
10956         (fdopendir, fstatat, unlinkat): Likewise.
10957
10958         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
10959         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
10960
10961         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
10962         as second argument to va_arg.  Otherwise, some versions of gcc
10963         warn that `if this code is reached, the program will abort'.
10964
10965 2006-01-09  Jim Meyering  <jim@meyering.net>
10966
10967         Sync from coreutils.
10968         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
10969         Require openat-priv.h.
10970
10971 2006-01-09  Bruno Haible  <bruno@clisp.org>
10972
10973         * modules/strnlen (Include): Use strnlen.h.
10974
10975 2006-01-09  Bruno Haible  <bruno@clisp.org>
10976
10977         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
10978
10979 2006-01-09  Bruno Haible  <bruno@clisp.org>
10980
10981         * lib/sysexit_.h (EX_OK): New macro.
10982         Suggested by Martin Lambers <marlam@marlam.de>.
10983
10984 2006-01-09  Bruno Haible  <bruno@clisp.org>
10985
10986         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
10987         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
10988
10989 2006-01-09  Bruno Haible  <bruno@clisp.org>
10990
10991         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
10992         numbers.
10993
10994 2006-01-09  Bruno Haible  <bruno@clisp.org>
10995
10996         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
10997         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
10998         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
10999         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
11000
11001 2006-01-09  Bruno Haible  <bruno@clisp.org>
11002
11003         * build-aux/javacomp.sh.in: New file, moved from lib/.
11004         * modules/javacomp-script (Files): Update.
11005         (configure.ac): Add AC_CONFIG_FILES invocation.
11006         (EXTRA_DIST): Remove variable.
11007
11008         * build-aux/javaexec.sh.in: New file, moved from lib/.
11009         * modules/javaexec (Files): Update.
11010         (configure.ac): Add AC_CONFIG_FILES invocation.
11011         (EXTRA_DIST): Remove javaexec.sh.in.
11012
11013         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
11014         * modules/csharpcomp-script (Files): Update.
11015         (configure.ac): Add AC_CONFIG_FILES invocation.
11016         (EXTRA_DIST): Remove variable.
11017
11018         * build-aux/csharpexec.sh.in: New file, moved from lib/.
11019         * modules/csharpexec (Files): Update.
11020         (configure.ac): Add AC_CONFIG_FILES invocation.
11021         (EXTRA_DIST): Remove csharpexec.sh.in.
11022
11023 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
11024
11025         Sync from coreutils.
11026
11027         Add POSIX ACL support
11028         * lib/acl.h (copy_acl, set_acl): Add declarations.
11029         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
11030         systems other than Linux.
11031         (chmod_or_fchmod): New function: use fchmod when possible,
11032         and chmod otherwise.
11033         (file_has_acl): Add a POSIX ACL implementation, with a
11034         Linux-specific subcase.
11035         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
11036         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
11037         acls are unsupported.
11038         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
11039         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
11040         are unsupported.
11041
11042 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
11043
11044         Sync from coreutils.
11045         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
11046
11047 2006-01-07  Bruno Haible  <bruno@clisp.org>
11048
11049         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
11050         gl_EARLY.
11051
11052 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
11053
11054         * lib/strftime.c (tzname): Don't declare if it is already #defined.
11055         Problem reported for Mingw by Mark Junker.
11056
11057 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
11058
11059         * README: Gnulib normally doesn't generate a tarball.
11060
11061 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
11062
11063         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
11064         long int, not int, for nanosecond counts, so that people who are
11065         used to POSIX struct timespec won't be surprised.  Reported by Jim
11066         Meyering.
11067
11068 2005-12-28  Bruno Haible  <bruno@clisp.org>
11069
11070         * build-aux/config.rpath: Update from GNU gettext.
11071
11072 2005-12-16  Jim Meyering  <jim@meyering.net>
11073
11074         * modules/fprintftime: New module.
11075         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
11076
11077 2005-12-16  Jim Meyering  <jim@meyering.net>
11078
11079         * m4/fprintftime.m4: New file.
11080
11081 2005-12-16  Jim Meyering  <jim@meyering.net>
11082
11083         * lib/fprintftime.c, lib/fprintftime.h: New files.
11084
11085 2005-12-15  Simon Josefsson  <jas@extundo.com>
11086
11087         * modules/socklen (configure.ac): Fix M4 macro name, to align with
11088         new m4/socklen.m4.
11089
11090 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11091
11092         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
11093         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
11094
11095 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11096
11097         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
11098         * lib/argp-help.c (fill_in_uparams): Check if the constructed
11099         struct uparams is valid. Fall back to the default values if it is
11100         not.
11101
11102 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11103
11104         * modules/argp (Files): Add argp-pin.c
11105         (Depends-on): dirname
11106         (lib_SOURCES): Add argp-pin.c
11107
11108 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11109
11110         * m4/argp.m4:  Check if program_invocation_name and
11111         program_invocation_short_name are declared and define appropriate
11112         macros if they are not.
11113
11114 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11115
11116         * lib/argp-help.c (__argp_base_name): New function
11117         (__argp_short_program_name): Rewrite using __argp_base_name
11118         * lib/argp-namefrob.h: Define program_invocation_name and
11119         program_invocation_short_name if requested
11120         (__argp_base_name): Add prototype
11121         * lib/argp-parse.c (argp_def): Use gettext wrappers
11122         (argp_default_parser): Use __argp_base_name
11123         * lib/argp-pin.c: New file. Defines program_invocation_name and
11124         program_invocation_short_name on systems that lack them.
11125
11126 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11127
11128         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
11129         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
11130         porting problem reported by Georg Schwarz in
11131         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
11132
11133 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
11134
11135         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
11136         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
11137         porting problem reported by Georg Schwarz in
11138         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
11139
11140 2005-12-05  Bruno Haible  <bruno@clisp.org>
11141
11142         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
11143         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
11144         Reported by Mark Junker <mjscod@gmx.de>.
11145
11146 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
11147
11148         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
11149         Use implementation from Albert Chin, with some
11150         comments/corrections by Stepan Kasal and myself.
11151
11152 2005-12-02  Bruno Haible  <bruno@clisp.org>
11153
11154         * gnulib-tool (func_import): Accept GPLed build tool modules when
11155         --lgpl is given.
11156         * modules/csharpcomp-script: New file.
11157         * modules/csharpcomp: Depend on it.
11158         * modules/javacomp-script: New file.
11159         * modules/javacomp: Depend on it.
11160         Suggested by Simon Josefsson.
11161
11162 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
11163
11164         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
11165         statement, to work around an HP-UX 10.20 compiler bug reported by
11166         Peter O'Gorman.
11167
11168 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
11169
11170         * modules/savedir (Depends-on): Add openat.
11171
11172 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
11173
11174         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
11175         (uintmax_t) [defined uintmax_t]: Do not declare.
11176         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
11177         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
11178         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
11179         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
11180         sake of portability to weird hosts that C allows (though we don't
11181         know of any practical examples).
11182
11183         * lib/savedir.h (fdsavedir): New decl.
11184         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
11185         contains most of the former guts of savedir.
11186         (savedir): Use savedirstream.
11187         Include "openat.h".
11188
11189 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
11190
11191         * modules/obstack (Files): Add m4/ulonglong.m4.
11192         Problem reported by Davide Angelocola.
11193
11194 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
11195
11196         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
11197         coreutils no longer futzes with rounding modes.
11198
11199 2005-11-14  Jim Meyering  <jim@meyering.net>
11200
11201         * lib/mkstemp-safer.c: Include <config.h>, required for possible
11202         replacement of mkstemp.
11203
11204 2005-11-10  Simon Josefsson  <jas@extundo.com>
11205
11206         * lib/readline.c: Remove EOL.
11207
11208 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11209
11210         * modules/gethrxtime (Depends-on): Add gettime.
11211
11212 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11213
11214         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
11215         or gettimeofday; no longer needed.
11216
11217 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11218
11219         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
11220         time business.
11221         (gethrxtime) [! (HAVE_NANOUPTIME
11222         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
11223         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
11224         our own approximation.
11225
11226 2005-11-08  Eric Blake  <ebb9@byu.net>
11227
11228         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11229
11230 2005-11-08  Eric Blake  <ebb9@byu.net>
11231
11232         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11233
11234 2005-11-04  Bruno Haible  <bruno@clisp.org>
11235
11236         * gnulib-tool: Implement --update mode.
11237
11238 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11239
11240         Fix porting problem reported by Theodoros V. Kalamatianos.
11241         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
11242         Don't assume that futimes failing means we must fail.
11243
11244 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11245
11246         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
11247         variables to suggest the intended function of the PATH_MAX check.
11248
11249 2005-10-30  Kean Johnston  <jkj@sco.com>
11250
11251         Trivial changes to support SCO systems.
11252         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
11253         as PATH_MAX.
11254         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
11255         where __ptr is null when no I/O is pending.
11256
11257 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11258
11259         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
11260         leave errno alone.  Problem reported by Dmitry V. Levin.
11261
11262 2005-10-28  Simon Josefsson  <jas@extundo.com>
11263
11264         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
11265         Test more.
11266
11267         * tests/test-gc-md2.c, tests/test-md2.c: New files.
11268
11269         * modules/md2, modules/md2-tests: New files.
11270
11271 2005-10-28  Simon Josefsson  <jas@extundo.com>
11272
11273         * m4/inet_ntop.m4: More tests.
11274
11275         * m4/gc-md2.m4, md2.m4: New file.
11276
11277 2005-10-28  Simon Josefsson  <jas@extundo.com>
11278
11279         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
11280         "restrict" keywords, as per POSIX.  Protect the function
11281         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
11282         Don't use K&R prototypes.  Check the sprintf return values.
11283         Re-define EAFNOSUPPORT if not present.  Indent.
11284
11285         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
11286         suggested by Bruno Haible <bruno@clisp.org>.
11287
11288         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
11289
11290         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
11291
11292         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
11293         libgcrypt).
11294
11295         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
11296
11297         * lib/md2.h, lib/md2.c: New files.
11298
11299 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
11300
11301         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
11302         errno alone.  Problem reported by Frederic Jolliton.
11303
11304 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11305
11306         * modules/verify (License): Change from GPL to LGPL.  This is a
11307         tiny module and there are apparently near-equivalents that are
11308         under the BSD license.
11309
11310 2005-10-24  Simon Josefsson  <jas@extundo.com>
11311
11312         * modules/sha1: Relicense to LGPL.
11313
11314 2005-10-24  Simon Josefsson  <jas@extundo.com>
11315
11316         * lib/md4.h: Shrink buffer size, now that we changed the type.
11317
11318 2005-10-23  Simon Josefsson  <jas@extundo.com>
11319
11320         * gnulib-tool (func_import): Fix --tests-base.
11321
11322 2005-10-22  Simon Josefsson  <jas@extundo.com>
11323
11324         * modules/arcfour (Depends-on): Need stdint.
11325
11326 2005-10-22  Simon Josefsson  <jas@extundo.com>
11327
11328         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
11329         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
11330
11331 2005-10-22  Simon Josefsson  <jas@extundo.com>
11332
11333         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
11334         suggested by Bruno Haible <bruno@clisp.org>.
11335
11336 2005-10-22  Simon Josefsson  <jas@extundo.com>
11337
11338         * lib/crc.h: Include stddef.h, for size_t.
11339
11340 2005-10-22  Simon Josefsson  <jas@extundo.com>
11341
11342         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
11343         arcfour_context struct (simplify test vector testing in GNU
11344         Shishi).
11345
11346 2005-10-21  Simon Josefsson  <jas@extundo.com>
11347
11348         * modules/des, modules/des-tests: New files.
11349
11350         * modules/gc-des, modules/gc-des-tests: New files.
11351
11352         * tests/test-des.c, tests/test-gc-des.c: New file.
11353
11354 2005-10-21  Simon Josefsson  <jas@extundo.com>
11355
11356         * modules/arctwo, modules/arctwo-tests: New files.
11357
11358         * tests/test-arctwo.c: New file.
11359
11360         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
11361
11362         * tests/test-gc-arctwo.c: New file.
11363
11364 2005-10-21  Simon Josefsson  <jas@extundo.com>
11365
11366         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
11367         Bruno Haible <bruno@clisp.org>.
11368
11369         * m4/gc-des.m4: New file.
11370
11371 2005-10-21  Simon Josefsson  <jas@extundo.com>
11372
11373         * m4/arctwo.m4: New file.
11374
11375         * m4/gc-arctwo.m4: New file.
11376
11377 2005-10-21  Simon Josefsson  <jas@extundo.com>
11378
11379         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
11380         block.
11381
11382 2005-10-21  Simon Josefsson  <jas@extundo.com>
11383
11384         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
11385         <bruno@clisp.org>.
11386
11387         * lib/hmac-sha1.c (hmac_sha1): Likewise.
11388
11389         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
11390         Bruno Haible <bruno@clisp.org>.
11391
11392         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
11393         <bruno@clisp.org>.
11394
11395 2005-10-21  Simon Josefsson  <jas@extundo.com>
11396
11397         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
11398
11399 2005-10-21  Simon Josefsson  <jas@extundo.com>
11400
11401         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
11402
11403 2005-10-21  Simon Josefsson  <jas@extundo.com>
11404
11405         * lib/des.h, lib/des.c: New files.
11406
11407         * lib/gc-gnulib.c: Support DES.c
11408
11409 2005-10-21  Simon Josefsson  <jas@extundo.com>
11410
11411         * lib/arctwo.h, lib/arctwo.c: New files.
11412
11413         * lib/gc-gnulib.c: Support ARCTWO.
11414
11415 2005-10-21  Simon Josefsson  <jas@extundo.com>
11416
11417         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
11418         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11419
11420 2005-10-21  Simon Josefsson  <jas@extundo.com>
11421
11422         * gnulib-tool (func_import, func_create_testdir): Define automake
11423         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
11424         Makefile.am snippet),
11425         suggested by Bruno Haible <bruno@clisp.org>.
11426
11427         * modules/gc (Makefile.am): Use it.
11428
11429 2005-10-21  Bruno Haible  <bruno@clisp.org>
11430
11431         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
11432         patch.
11433
11434 2005-10-19  Simon Josefsson  <jas@extundo.com>
11435
11436         * tests/test-gc-rijndael.c: New file.
11437
11438         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
11439
11440 2005-10-19  Simon Josefsson  <jas@extundo.com>
11441
11442         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
11443         interface too.
11444
11445 2005-10-19  Simon Josefsson  <jas@extundo.com>
11446
11447         * tests/test-gc-arcfour.c: New file.
11448
11449         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
11450
11451 2005-10-19  Simon Josefsson  <jas@extundo.com>
11452
11453         * modules/gc-md4, modules/gc-md4-tests: New file.
11454
11455         * tests/test-gc-md4.c: New file.
11456
11457 2005-10-19  Simon Josefsson  <jas@extundo.com>
11458
11459         * m4/gc-md4.m4: New file.
11460
11461 2005-10-19  Simon Josefsson  <jas@extundo.com>
11462
11463         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
11464         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
11465         <kasal@ucw.cz>.
11466
11467 2005-10-19  Simon Josefsson  <jas@extundo.com>
11468
11469         * m4/gc-arcfour.m4: New file.
11470
11471         * m4/gc-rijndael.m4: New file.
11472
11473 2005-10-19  Simon Josefsson  <jas@extundo.com>
11474
11475         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
11476
11477 2005-10-19  Simon Josefsson  <jas@extundo.com>
11478
11479         * lib/gc-gnulib.c: Support ARCFOUR.
11480
11481 2005-10-19  Simon Josefsson  <jas@extundo.com>
11482
11483         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
11484         support.
11485
11486         * lib/gc.h: Add ECB enum type.
11487
11488         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
11489
11490 2005-10-18  Simon Josefsson  <jas@extundo.com>
11491
11492         * tests/test-md5.c: New file.
11493
11494         * modules/md5-tests: New file.
11495
11496 2005-10-18  Simon Josefsson  <jas@extundo.com>
11497
11498         * tests/test-md4.c: New file.
11499
11500         * modules/md4, modules/md4-tests: New files.
11501
11502 2005-10-18  Simon Josefsson  <jas@extundo.com>
11503
11504         * m4/md4.m4: New file.
11505
11506 2005-10-18  Simon Josefsson  <jas@extundo.com>
11507
11508         * lib/md4.h, lib/md4.c: New files, based on md5.?.
11509
11510 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
11511
11512         * gnulib-tool (func_create_testdir): Omit the second check whether
11513         BUILT_SOURCES in nonempty.
11514
11515 2005-10-17  Simon Josefsson  <jas@extundo.com>
11516
11517         * tests/test-rijndael.c: New file.
11518
11519 2005-10-17  Simon Josefsson  <jas@extundo.com>
11520
11521         * modules/sha1: Depend on stdint instead of md5.
11522
11523         * modules/md5: Depend on stdint, remove uint32_t.
11524
11525 2005-10-17  Simon Josefsson  <jas@extundo.com>
11526
11527         * modules/gc-sha1-tests: New file.
11528
11529         * tests/test-gc-sha1.c: New file.
11530
11531 2005-10-17  Simon Josefsson  <jas@extundo.com>
11532
11533         * m4/md5.m4: Remove call to uint32_t.m4.
11534
11535 2005-10-17  Simon Josefsson  <jas@extundo.com>
11536
11537         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
11538
11539         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
11540         md5.h.
11541
11542         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
11543
11544         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
11545
11546 2005-10-17  Simon Josefsson  <jas@extundo.com>
11547
11548         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
11549
11550 2005-10-17  Simon Josefsson  <jas@extundo.com>
11551
11552         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
11553
11554 2005-10-17  Simon Josefsson  <jas@extundo.com>
11555
11556         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
11557
11558         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
11559
11560 2005-10-17  Bruno Haible  <bruno@clisp.org>
11561
11562         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
11563         that it can also be used in a test.
11564
11565 2005-10-16  Bruno Haible  <bruno@clisp.org>
11566
11567         * gnulib-tool (func_emit_tests_Makefile_am): Also define
11568         TESTS_ENVIRONMENT, so that individual tests can augment it.
11569
11570         * gnulib-tool (func_create_testdir): Use an intermediate target for
11571         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
11572         macros, like $(ALLOCA_H), which cannot be passed through the command
11573         line.
11574
11575 2005-10-15  Simon Josefsson  <jas@extundo.com>
11576
11577         * modules/rijndael-tests: New file.
11578
11579         * modules/rijndael: New file.
11580
11581 2005-10-15  Simon Josefsson  <jas@extundo.com>
11582
11583         * m4/rijndael.m4: New file.
11584
11585 2005-10-15  Simon Josefsson  <jas@extundo.com>
11586
11587         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
11588
11589         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
11590
11591 2005-10-14  Simon Josefsson  <jas@extundo.com>
11592
11593         * tests/test-arcfour.c: New file.
11594
11595         * modules/arcfour, modules/arcfour-tests: New files.
11596
11597 2005-10-14  Simon Josefsson  <jas@extundo.com>
11598
11599         * m4/arcfour.m4: New file.
11600
11601 2005-10-14  Simon Josefsson  <jas@extundo.com>
11602
11603         * lib/arcfour.h, lib/arcfour.c: New files.
11604
11605 2005-10-14  Roland McGrath  <roland@redhat.com>
11606
11607         Import from libc.  [BZ #1331]
11608         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
11609         macro argument.
11610         Reported by Matej Vela <vela@debian.org>.
11611
11612 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11613
11614         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
11615         include <wchar.h>; no longer needed.
11616
11617 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11618
11619         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
11620
11621 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
11622         and  Ulrich Drepper  <drepper@redhat.com>
11623
11624         Import from libc.
11625         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
11626         instead of inline stream orientation test and two separate
11627         function calls.  Pay no attention to USE_IN_LIBIO.
11628
11629 2005-10-13  Simon Josefsson  <jas@extundo.com>
11630
11631         * modules/gc-hmac-md5-tests: New file.
11632
11633         * tests/test-gc-hmac-sha1.c: New file.
11634
11635         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
11636
11637         * modules/gc-hmac-md5-tests: New file.
11638
11639         * tests/test-gc-md5.c: New file.
11640
11641         * modules/gc-md5-tests: New file.
11642
11643 2005-10-13  Simon Josefsson  <jas@extundo.com>
11644
11645         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
11646         Move memory allocation outside of loop.
11647
11648 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11649
11650         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
11651         intermediate directory is in a read-only file system.  Problem
11652         reported by Eric Blake.
11653
11654 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
11655
11656         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
11657
11658 2005-10-12  Simon Josefsson  <jas@extundo.com>
11659
11660         * tests/test-hmac-sha1.c: New file.
11661
11662         * modules/hmac-sha1-tests: New file.
11663
11664         * modules/hmac-sha1: New file.
11665
11666 2005-10-12  Simon Josefsson  <jas@extundo.com>
11667
11668         * modules/gc-sha1: New file.
11669
11670 2005-10-12  Simon Josefsson  <jas@extundo.com>
11671
11672         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
11673
11674         * tests/test-gc-pbkdf2-sha1.c: New file.
11675
11676 2005-10-12  Simon Josefsson  <jas@extundo.com>
11677
11678         * modules/gc-md5, modules/gc-hmac-md5: New files.
11679
11680         * modules/gc (Files): Remove md5, memxor and hmac files.
11681
11682 2005-10-12  Simon Josefsson  <jas@extundo.com>
11683
11684         * m4/gc-pbkdf2-sha1.m4: New file.
11685
11686         * m4/gc-hmac-sha1.m4: New file.
11687
11688         * m4/gc-sha1: New file.
11689
11690         * m4/hmac-sha1.m4: New file.
11691
11692 2005-10-12  Simon Josefsson  <jas@extundo.com>
11693
11694         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
11695
11696         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
11697
11698 2005-10-12  Simon Josefsson  <jas@extundo.com>
11699
11700         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
11701         suggested by Bruno Haible <bruno@clisp.org>.
11702
11703 2005-10-12  Simon Josefsson  <jas@extundo.com>
11704
11705         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
11706
11707 2005-10-12  Simon Josefsson  <jas@extundo.com>
11708
11709         * lib/gc-pbkdf2-sha1.c: New file.
11710
11711         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
11712
11713 2005-10-12  Simon Josefsson  <jas@extundo.com>
11714
11715         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
11716
11717         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
11718
11719 2005-10-12  Simon Josefsson  <jas@extundo.com>
11720
11721         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
11722         GC_USE_HMAC_MD5, respectively.
11723
11724         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
11725         (gc_md5): Fix typo.
11726
11727         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
11728
11729         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
11730
11731         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
11732
11733 2005-10-12  Bruno Haible  <bruno@clisp.org>
11734
11735         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
11736         Reported by Stepan Kasal <kasal@ucw.cz>.
11737
11738 2005-10-11  Simon Josefsson  <jas@extundo.com>
11739
11740         * tests/test-crc.c: New file.
11741
11742         * modules/crc, modules/crc-tests: New files.
11743
11744 2005-10-11  Simon Josefsson  <jas@extundo.com>
11745
11746         * m4/crc.m4: New file.
11747
11748 2005-10-11  Simon Josefsson  <jas@extundo.com>
11749
11750         * lib/gc.h: Add gc_hash and gc_hash_buffer.
11751
11752         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
11753
11754         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
11755
11756 2005-10-11  Simon Josefsson  <jas@extundo.com>
11757
11758         * lib/crc.h, lib/crc.c: New files.
11759
11760         * lib/gc.h (gc_hash_buffer): Add doc.
11761
11762 2005-10-11  Bruno Haible  <bruno@clisp.org>
11763
11764         * modules/c-strcasestr: New file.
11765         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
11766
11767 2005-10-11  Bruno Haible  <bruno@clisp.org>
11768
11769         * modules/c-strcase: New file.
11770         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
11771
11772 2005-10-11  Bruno Haible  <bruno@clisp.org>
11773
11774         * lib/strcasecmp.c: Include limits.h.
11775         (strcasecmp): Avoid integer overflow on exotic platforms.
11776         * lib/strncasecmp.c: Include limits.h.
11777         (strncasecmp): Avoid integer overflow on exotic platforms.
11778         Reported by Paul Eggert.
11779
11780 2005-10-11  Bruno Haible  <bruno@clisp.org>
11781
11782         * lib/c-strcasestr.h: New file, from GNU gettext.
11783         * lib/c-strcasestr.c: New file, from GNU gettext.
11784
11785 2005-10-11  Bruno Haible  <bruno@clisp.org>
11786
11787         * lib/c-strcase.h: New file, from GNU gettext.
11788         * lib/c-strcasecmp.c: New file, from GNU gettext.
11789         * lib/c-strncasecmp.c: New file, from GNU gettext.
11790
11791 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11792
11793         * modules/mempcpy (License): GPL -> LGPL.
11794         * modules/strchrnul (License): Likewise.
11795         * modules/sysexits (License): Likewise.
11796
11797 2005-10-08  Simon Josefsson  <jas@extundo.com>
11798
11799         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
11800
11801 2005-10-07  Simon Josefsson  <jas@extundo.com>
11802
11803         * m4/memxor.m4: Remove gl_C_RESTRICT call.
11804
11805 2005-10-06  Simon Josefsson  <jas@extundo.com>
11806
11807         * tests/test-hmac-md5.c: New file.
11808
11809         * modules/hmac-md5-tests: New file.
11810
11811         * modules/hmac-md5: New file.
11812
11813 2005-10-06  Simon Josefsson  <jas@extundo.com>
11814
11815         * m4/hmac-md5.m4: New file.
11816
11817         * m4/memxor.m4: Require gl_C_RESTRICT.
11818
11819 2005-10-06  Simon Josefsson  <jas@extundo.com>
11820
11821         * lib/memxor.c (memxor): Avoid casts and warnings.
11822
11823 2005-10-06  Simon Josefsson  <jas@extundo.com>
11824
11825         * lib/hmac-md5.c: New file.
11826
11827         * lib/hmac.h: New file.
11828
11829 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
11830
11831         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
11832         promotes to int, not unsigned int, to catch the AIX 5.3
11833         compiler bug.
11834
11835 2005-10-05  Simon Josefsson  <jas@extundo.com>
11836
11837         * modules/memxor: New file.
11838
11839         * modules/iconv (Files): Move config.rpath to havelib, it is used
11840         there.
11841
11842         * modules/havelib (Files): Add config.rpath.
11843
11844 2005-10-05  Simon Josefsson  <jas@extundo.com>
11845
11846         * m4/memxor.m4: New file.
11847
11848 2005-10-05  Simon Josefsson  <jas@extundo.com>
11849
11850         * lib/memxor.c (memxor): Fix compiler error.
11851
11852         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
11853         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
11854
11855         * lib/memxor.h, lib/memxor.c: New files.
11856
11857         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
11858         we assume all systems have it, suggested by Jim Meyering
11859         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
11860         any systems lack sys/socket.h; mingw32 is known to lack it, but we
11861         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
11862         same reasons.
11863
11864 2005-10-05  Simon Josefsson  <jas@extundo.com>
11865
11866         * config/srclist.txt: Add glibc bug 1423 for md5.h.
11867
11868 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11869
11870         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
11871         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
11872         needed, since the source code now assumes these .h files.
11873
11874 2005-10-05  Derek Price  <derek@ximbiot.com>
11875
11876         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
11877
11878 2005-10-05  Bruno Haible  <bruno@clisp.org>
11879
11880         * modules/stdint (License): Change to LGPL.
11881
11882 2005-10-04  Simon Josefsson  <jas@extundo.com>
11883
11884         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
11885         D. Baushke" <mdb@gnu.org>.
11886
11887 2005-10-04  Bruno Haible  <bruno@clisp.org>
11888
11889         * lib/verify.h (verify_true): Provide alternative definition for C++.
11890
11891 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
11892
11893         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
11894         (SSIZE_MAX): New macro, if not already defined.
11895         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
11896         than 2 GiB.
11897
11898 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11899
11900         Sync from coreutils.
11901         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
11902         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
11903         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
11904         ULLONG_MAX doesn't work with 2.7.2.1.
11905
11906 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11907
11908         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
11909         From Ben Pfaff.
11910
11911         * modules/exclude (Depends-on): Depend on verify.
11912         * modules/strtoimax (Depends-on): Likewise.
11913         * modules/utimecmp (Depends-on): Likewise.
11914
11915 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11916
11917         * lib/exclude.c: Include verify.h.
11918         (verify): Remove.  All callers changed to use verify.h's version.
11919         * lib/strtoimax.c: Likewise.
11920         * lib/utimecmp.c: Likewis.e
11921
11922         Sync from coreutils.
11923         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
11924         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
11925         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
11926         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
11927         bother returning ENOSYS if settimeofday or stime fails; just let
11928         them return whatever errno they want to return.
11929         * lib/utimens.c: Include unistd.h, for dup2.
11930         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
11931         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
11932
11933 2005-10-02  Jim Meyering  <jim@meyering.net>
11934
11935         Sync from coreutils.
11936         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
11937         from glibc-2.2.5 that fails for read-only files.
11938
11939 2005-10-02  Jim Meyering  <jim@meyering.net>
11940
11941         Sync from coreutils.
11942         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
11943         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
11944         `#if HAVE_CONFIG_H'.
11945         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
11946         Remove AT_FDCWD test.
11947         Do not consume the fd unless successful.
11948         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
11949         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
11950         block, so that we don't even try to compile it if settimeofday is
11951         available.  This works around a compilation failure on OSF1 V5.1,
11952         due to stime requiring a `long int*' while tv_sec is `int'.
11953
11954 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
11955
11956         Sync from coreutils.
11957         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
11958         against `yes', rather than just testing for nonempty.
11959
11960 2005-10-01  Simon Josefsson  <jas@extundo.com>
11961
11962         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
11963         and Darwin.
11964
11965         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
11966         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
11967         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
11968         freeaddrinfo and gai_strerror are declared by the POSIX headers.
11969         Check if struct addrinfo is declared.
11970
11971 2005-10-01  Simon Josefsson  <jas@extundo.com>
11972
11973         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
11974         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
11975         AI_* and EAI_* definitions.  Protect function declarations.
11976
11977 2005-10-01  Jim Meyering  <jim@meyering.net>
11978
11979         Sync from coreutils.
11980
11981         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
11982         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
11983         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
11984         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
11985         in the inet and nsl libraries.  Required on Solaris 5.7.
11986
11987 2005-10-01  Jim Meyering  <jim@meyering.net>
11988
11989         Sync from coreutils.
11990         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
11991         in the inet and nsl libraries.  Required on Solaris 5.7.
11992
11993 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
11994
11995         * lib/getdelim.c (getdelim): Remove unused variables.
11996
11997 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
11998
11999         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
12000         so that the code works even with ancient cpp.  Portability problem
12001         with GCC 2.7.2.1 reported by Thomas M.Ott.
12002
12003 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
12004
12005         * modules/regex (Depends-on): Add strcase.
12006
12007         * modules/gethostname (Licence): Change from GPL to LGPL, since
12008         gethostname.c is a trivial implementation of a standard library
12009         function.
12010         * modules/poll (License): Change from GPL to LGPL, since it's
12011         derived from LGPL code.
12012
12013 2005-09-27  Jim Meyering  <jim@meyering.net>
12014
12015         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
12016         HAVE_CONFIG_H.
12017
12018         * lib/intprops.h (signed_type_or_expr__): Define.
12019         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
12020         for unsigned types.
12021
12022 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12023
12024         * lib/verify.h (verify_expr): Remove, replacing with:
12025         (verify_true): New macro that returns true instead of void.
12026         (verify_type__): Remove.
12027         (verify): Use verify_true rather than verify_type__.
12028
12029 2005-09-26  Bruno Haible  <bruno@clisp.org>
12030
12031         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
12032         is necessary.
12033         (lib_SOURCES): Remove mbchar.c.
12034         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
12035         (Files): Add m4/mbrtowc.m4.
12036         * modules/mbiter: Likewise.
12037         * modules/mbuiter: Likewise.
12038
12039 2005-09-26  Bruno Haible  <bruno@clisp.org>
12040
12041         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
12042         compile mbchar.c if they are not both present.
12043         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
12044         * m4/mbiter.m4 (gl_MBITER): Likewise.
12045         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
12046         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
12047         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
12048
12049 2005-09-25  Jim Meyering  <jim@meyering.net>
12050
12051         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
12052         also uses socklen_t.
12053
12054 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12055
12056         * lib/utimens.c (ENOSYS): Define if not already defined.
12057         (futimens): Support having a null PATH if the file descriptor
12058         is nonnegative.
12059
12060         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
12061         Remove.
12062         (__attribute): Define to empty unless GCC 3.1 or later.
12063         This works around a core dump on OpenBSD 3.4, which has GCC
12064         2.95.3, which dumps core when given __attribute__(()).  It also
12065         simplifies other tests, since we really don't want to bother with
12066         worrying about which ancient version of GCC supported what.
12067         Original problem reported by Yoann Vandoorselaere, with part of
12068         the fix suggested by Derek Price.
12069
12070 2005-09-24  Jim Meyering  <jim@meyering.net>
12071
12072         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
12073         so we can once again use a positive bitfield width of 1 -- now we
12074         don't have to explain why we were using a bitfield width of 2.
12075
12076 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12077
12078         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
12079         and similarly for the other external symbols.  Problem reported
12080         by James Gallager.
12081
12082         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
12083         bug reported by Jim Meyering.
12084
12085         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
12086         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
12087         not needed, since socklen is a prerequisite module.
12088
12089 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12090
12091         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
12092         Problem reported by Eric Blake.
12093         (getaddrinfo): Initialize se so that it's not garbage.
12094         Redo internal storage allocation so that it doesn't make unportable
12095         assumptions about alignment.
12096         Fix a memory leak.
12097
12098         * lib/utimens.c (futimens): Use futimesat if available.
12099         Prefer it to futimes since it doesn't have the futimes bug.
12100
12101         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
12102         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
12103         Instead, declare a function that returns a pointer to an array,
12104         and use verify_type__ to declare the size of the array.
12105         Problem and germ of a solution reported by Bruno Haible.
12106         (verify_type__): Use 2, not 1, for bitfield size, to avoid
12107         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
12108
12109 2005-09-23  Jim Meyering  <jim@meyering.net>
12110
12111         Sync from coreutils.
12112         Correct build failure (socklen_t not defined) on at least
12113         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
12114         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
12115
12116 2005-09-23  Jim Meyering  <jim@meyering.net>
12117
12118         * modules/getaddrinfo (Depends-on): Add socklen.
12119
12120 2005-09-23  Bruno Haible  <bruno@clisp.org>
12121
12122         * tests/test-verify.c: New file.
12123
12124 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12125
12126         Sync from coreutils.
12127
12128         * modules/argmatch (Depends-on): Add verify.
12129         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
12130         unistd-safer.
12131         * modules/save-cwd (Depends-on): Likewise.
12132
12133         * modules/openat (Files): Add lib/openat-die.c.
12134         (Depends-on): Remove error, exitfail.
12135         Add dirname.
12136
12137         * modules/verify: New file.
12138         * MODULES.html.sh (Diagnostics <assert.h>): New section,
12139         with "verify" module.
12140
12141 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12142
12143         Sync from coreutils.
12144
12145         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
12146         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
12147         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
12148         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
12149         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
12150         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
12151         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
12152         Don't bother checking for string.h, stdlib.h, unistd.h.
12153         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
12154         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
12155         module's job.
12156         * m4/jm-macros.m4 (gl_MACROS): Likewise.
12157         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
12158
12159         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
12160         (gl_GETDATE): Use it.
12161
12162         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
12163
12164 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12165
12166         Sync from coreutils.
12167
12168         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
12169         stat-time.h.
12170         * lib/argmatch.h: Include verify.h
12171         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
12172         (ARGMATCH_ASSERT): Remove; unused.
12173         * lib/canonicalize.c: Assume STDC_HEADERS.
12174         * lib/exclude.c: Include "strcase.h".
12175         * lib/regex_internal.h [!defined _LIBC]: Likewise.
12176         * lib/getusershell.c: Include stdio--.h rather than stdio.h
12177         and stdio-safer.h.
12178         (getusershell): Call fopen, not fopen_safer.
12179         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
12180         Do not include unistd-safer.h.
12181         (save_cwd): Don't call fd_safer; no longer needed
12182         now that we include fcntl--.h.
12183
12184         * lib/getdate.y (relative_time): New type.
12185         (RELATIVE_TIME_0): New constant.
12186         (parser_control): Use relative_time instead of doing it ourselves.
12187         (%union): Add new relative_time rel member.
12188         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
12189         Now typeless.
12190         (relunit, relunit_snumber): Now of type rel.
12191         (zone, rel, relunit, get_date): Adjust to above changes.
12192
12193         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
12194         Do not include unistd-safer.h.
12195         (getloadavg): Don't call fd_safer; no longer needed
12196         now that we include fcntl--.h.
12197
12198         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
12199         (make_dir_parents): Treat ENOSYS like EEXIST.
12200
12201         Improve quality of diagnostics on restore_cwd failure.
12202         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
12203         (make_dir_parents): Last arg is now int * (for errno), not bool *.
12204         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
12205         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
12206         each time through the loop.  Do not diagnose restore_cwd failure;
12207         that is the caller's job (and perhaps the caller does not care).
12208
12209         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
12210         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
12211         If the file already exists but is not a directory, don't bother
12212         to try to make its parents.
12213         Close potential file descriptor leak if we can't chdir("/") (!).
12214         Don't always return true if chdir($PWD) fails; return true only
12215         if the requested action was done successfully (except for the
12216         chdir($PWD)).
12217         Don't log final directory unless we actually made it.
12218         Refactor to avoid duplicate code to fix up permissions.
12219         Don't attempt to fix up parent permissions if chdir($PWD) fails.
12220
12221         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
12222         to make it a bit faster and (I hope) clearer.
12223         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
12224         Fix bug in formats like %2N.
12225
12226         * lib/verify.h: New file.
12227
12228 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12229
12230         Sync from coreutils.
12231         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
12232
12233 2005-09-22  Jim Meyering  <jim@meyering.net>
12234
12235         Sync from coreutils.
12236
12237         * m4/lstat.m4 (gl_FUNC_LSTAT):
12238         Use AC_LIBSOURCES to require lstat.c and lstat.h.
12239         Remove obsolete comment.
12240         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
12241         * m4/xstrtod.m4: Likewise.
12242
12243         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
12244
12245 2005-09-22  Jim Meyering  <jim@meyering.net>
12246
12247         Sync from coreutils.
12248
12249         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
12250
12251         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
12252         the .tm_year member, since otherwise gcc-4.0 would now warn about
12253         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
12254
12255         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
12256         order to avoid an unsuppressible warning from gcc on 64-bit systems.
12257
12258         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
12259         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
12260         when run in a time zone for which daylight savings time is in effect
12261         for the starting date.
12262
12263         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
12264         stop us from restricting permissions of just-created absolute-named
12265         directories.
12266         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
12267         to restore initial working directory.
12268         * lib/mkdir-p.c (make_dir_parents): New parameter:
12269         different_working_dir, to tell caller if/when we change the working
12270         directory and are unable to return to the initial one.
12271         * lib/mkdir-p.h (make_dir_parents): Update prototype.
12272         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
12273         `return false'.  This fixes a bug introduced on 2004-07-30.
12274
12275         * lib/openat.c (fdopendir): Be sure to close the supplied
12276         file descriptor before returning.  This makes our replacement
12277         implementation a little closer to Solaris's, where fdopendir
12278         ties the file descriptor to the returned DIR* pointer.
12279         * lib/openat.c (unlinkat): New function.
12280         * lib/openat.h (unlinkat): Add prototype.
12281         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
12282         (openat_restore_fail): Rename from openat_restore_die.
12283         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
12284
12285         Provide an alternative to exiting immediately upon save_cwd or
12286         restore_cwd failure.  Now, an application can arrange e.g.,
12287         to perform a longjump in that case.
12288         * lib/openat.c: Include dirname.h.
12289         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
12290         (rpl_openat, fdopendir, fstatat): Call openat_save_die
12291         and openat_restore_die rather than calling error directly.
12292         Don't include "error.h" or "exitfail.h"; they're no longer needed.
12293
12294         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
12295         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
12296         define.
12297
12298         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
12299         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
12300                             int utc, int nanoseconds);
12301         Background:
12302         date should not have to allocate a megabyte of virtual memory to
12303         handle a format argument like +%1048575T.  When implemented with
12304         strftime, it must allocate such a buffer, use strftime to fill it
12305         in, print it, then free it.
12306         With fprintftime, it simply prints everything and exits.
12307         With no need for memory allocation, that's one fewer way to fail.
12308         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
12309         optional field width, not before, so we accept %9:z, not %:9z.
12310         (my_strftime): Be sure to use L_('x') for literals.
12311
12312         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
12313         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
12314         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
12315         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
12316         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
12317         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
12318         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
12319         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
12320         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
12321         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
12322         * lib/xgethostname.c, lib/xreadlink.c:
12323         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
12324
12325         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
12326         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
12327         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
12328         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
12329         and don't include <sys/file.h>).
12330
12331 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
12332
12333         Sync from coreutils.
12334
12335         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
12336         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
12337         [!LDAV_DONE]: Avoid unused variable warning.
12338
12339 2005-09-21  Bruno Haible  <bruno@clisp.org>
12340
12341         * lib/unicodeio.h (unicode_to_mb): New declaration.
12342
12343 2005-09-20  Derek Price  <derek@ximbiot.com>
12344
12345         * lib/getaddrinfo.c: Don't include <netdb.h> included from
12346         getaddrinfo.h.
12347
12348 2005-09-20  Bruno Haible  <bruno@clisp.org>
12349
12350         * gnulib-tool: Remove trailing slashes from the values specified for
12351         --source-base, --m4-base, --tests-base, --aux-dir.
12352         Suggested by Simon Josefsson <jas@extundo.com>.
12353
12354 2005-09-20  Bruno Haible  <bruno@clisp.org>
12355
12356         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
12357         func_modules_to_filelist, func_import, func_create_testdir): Make all
12358         sorting results locale-independent, so that gnulib-cache.m4 doesn't
12359         change when gnulib-tool is invoked in a different locale.
12360
12361 2005-09-19  Simon Josefsson  <jas@extundo.com>
12362
12363         * m4/socklen.m4: Fix typo.
12364
12365 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12366
12367         Use a consistent style for including <config.h>.
12368         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
12369         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
12370         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
12371         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
12372         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
12373         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
12374         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
12375         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
12376         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
12377         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
12378         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
12379         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
12380         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
12381         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
12382         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
12383         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
12384         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
12385         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
12386         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
12387         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
12388         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
12389         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
12390         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
12391         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
12392         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
12393         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
12394         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
12395         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
12396         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
12397         lib/xstrtoumax.c, lib/yesno.c:
12398         Standardize inclusion of config.h.
12399         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
12400         lib/inttostr.h:  Removed inclusion of config.h from header files.
12401         * lib/inttostr.c:  Adjusted in-tree users.
12402         * lib/timespec.h: Remove superfluous warning to include config.h.
12403         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
12404         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
12405         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
12406         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
12407         config.h with HAVE_CONFIG_H.
12408
12409 2005-09-19  Jim Meyering  <jim@meyering.net>
12410
12411         * modules/pathmax (License): Change to LGPL.
12412
12413 2005-09-19  Derek Price  <derek@ximbiot.com>
12414
12415         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
12416
12417 2005-09-19  Bruno Haible  <bruno@clisp.org>
12418
12419         * gnulib-tool (import): Provide default for --tests-base.
12420
12421 2005-09-19  Bruno Haible  <bruno@clisp.org>
12422
12423         * doc/quote.texi: New file, extracted from gnulib.texi.
12424         * doc/ctime.texi: New file, extracted from gnulib.texi.
12425         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
12426         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
12427         * doc/gnulib.texi: Include them.
12428
12429 2005-09-18  Bruno Haible  <bruno@clisp.org>
12430
12431         Portability fix.
12432         * gnulib-tool (func_readlink): New function.
12433         (func_ln_if_changed): Use it.
12434
12435 2005-09-18  Bruno Haible  <bruno@clisp.org>
12436
12437         * gnulib-tool: Support --with-tests also with --import.
12438         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
12439         (func_import): Use variables $testsbase and $inctests. Emit a
12440         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
12441         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
12442         SUBDIRS += $testsdir.
12443         (func_create_testdir): Update.
12444
12445 2005-09-18  Bruno Haible  <bruno@clisp.org>
12446
12447         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
12448         instead of $dry_run.
12449         (func_cp_if_changed, func_mv_if_changed): Remove functions.
12450         (func_ln_if_changed): Don't handle dry-run here.
12451         (func_import): In dry-run mode, detect more precisely which actions
12452         would be performed, and don't use "...ing" verbs.
12453
12454 2005-09-18  Bruno Haible  <bruno@clisp.org>
12455
12456         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
12457         (func_import): Use join on two temporary files instead of three nested
12458         loops, in order to determine which files are new or old.
12459
12460 2005-09-18  Bruno Haible  <bruno@clisp.org>
12461
12462         * gnulib-tool (func_import): Comment out code that spits out the
12463         new files with --dry-run.
12464
12465 2005-09-18  Bruno Haible  <bruno@clisp.org>
12466
12467         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
12468
12469 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12470
12471         * lib/stat-time.h: New file.
12472         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
12473         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
12474         in a different way.
12475         (timespec_cmp): New function.
12476         * lib/utimecmp.c: Include stat-time.h.
12477         (SYSCALL_RESOLUTION): Depend on whether various struct stat
12478         members exist, not on the obsolescent ST_MTIM_NSEC.
12479         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
12480
12481 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12482
12483         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
12484
12485 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12486
12487         * MODULES.html.sh (File system functions): Add stat-time.
12488         * modules/stat-time: New file.
12489         * modules/timespec (Files): Remove m4/st_mtim.m4; this
12490         is now done in a different way, by the stat-time module.
12491         * modules/utimecmp (Depends-on): Add stat-time.
12492
12493 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
12494
12495         * m4/st_mtim.m4: Remove.  Superseded by...
12496         * m4/stat-time.m4: New file.
12497         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
12498         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
12499
12500 2005-09-15  Derek Price  <derek@ximbiot.com>
12501
12502         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
12503
12504 2005-09-15  Derek Price  <derek@ximbiot.com>
12505
12506         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
12507         * lib/regex_internal.c: Ditto, using this...
12508         (__GNUC_PREREQ): ...new macro.
12509         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
12510         using...
12511         (__GNUC_PREREQ): ...this new macro.
12512
12513         * lib/strstr.h: Include string.h. Define strstr as a macro here.
12514
12515 2005-09-15  Derek Price  <derek@ximbiot.com>
12516             Paul Eggert  <eggert@cs.ucla.edu>
12517
12518         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
12519         changes, consolidating in...
12520         * lib/regex_internal.h: ...this file.
12521
12522 2005-09-13  Jim Meyering  <jim@meyering.net>
12523
12524         * lib/canon-host.c: Filter through gnu indent and reword comments
12525         slightly.
12526         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
12527
12528 2005-09-13  Derek Price  <derek@ximbiot.com>
12529
12530         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
12531         failure.
12532         Reported by Jim Meyering  <jim@meyering.net>.
12533
12534 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
12535
12536         * lib/base64.c: Typo.
12537         (base64_encode): Put b64str in initialized data section.
12538
12539 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
12540
12541         Merge glibc and coreutils changes into gnulib, plus a few
12542         extra fixes.
12543         * lib/md5.c: Use #error rather than a string.
12544         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
12545         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
12546         (__attribute__): Define to empty for non recent-GCC.
12547         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
12548         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
12549         Renamed from their non-__ counterparts, with new macros replacing
12550         them if not _LIBC.  Add __THROW attribute.
12551         (rol): Remove.
12552         (struct md5_ctx): Align buffer if using GCC.
12553         * lib/sha1.h (struct sha1_ctx): Likewise.
12554         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
12555         The old name was backwards.
12556         (NOTSWAP): Remove; not used.
12557         (rol): New macro, moved here from md5.h.
12558         (sha1_process_block): Remove a FIXME that doesn't make sense.
12559
12560 2005-09-12  Derek Price  <derek@ximbiot.com>
12561
12562         Return usable errors from canon-host.
12563         * lib/canon-host.h: New file.
12564         * lib/canon-host.c (canon_host): Wrap...
12565         (canon_host_r): ...this new function, which now relies exclusively on
12566         getaddrinfo.
12567         (ch_strerror): New function.
12568         (last_cherror): New global.
12569         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
12570         interface.
12571         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
12572         void *.
12573         (freeaddrinfo): Free ai->ai_canonname when set.
12574
12575 2005-09-12  Derek Price  <derek@ximbiot.com>
12576
12577         Make canon-host require getaddrinfo.
12578         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
12579         AC_LIBSOURCE canon-host.h.  Call...
12580         (gl_PREREQ_CANON_HOST): ...this new function, which requires
12581         gl_GETADDRINFO.
12582         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
12583
12584 2005-09-12  Derek Price  <derek@ximbiot.com>
12585
12586         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
12587         LGPL.
12588         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
12589
12590 2005-09-12  Derek Price  <derek@ximbiot.com>
12591
12592         * lib/gai_strerror.c: Include config.h when available.  Include
12593         getaddrinfo.h before other headers to test interface.
12594         Reported by Larry Jones <lawrence.jones@ugs.com>.
12595
12596 2005-09-12  Derek Price  <derek@ximbiot.com>
12597             Paul Eggert  <eggert@cs.ucla.edu>
12598
12599         * modules/glob (Files): Add glob-libc.h.
12600
12601 2005-09-12  Derek Price  <derek@ximbiot.com>
12602             Paul Eggert  <eggert@cs.ucla.edu>
12603
12604         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
12605         glob_.h, glob-libc.h.
12606         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
12607
12608 2005-09-12  Derek Price  <derek@ximbiot.com>
12609             Paul Eggert  <eggert@cs.ucla.edu>
12610
12611         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
12612         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
12613         protecting things that should be done only in gnulib contexts.
12614         * lib/glob_.h: New file, containing only the glob things needed for
12615         gnulib.
12616         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
12617         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
12618         (glob, globfree, glob_pattern_p): Now defined simply in terms of
12619         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
12620         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
12621         and to respect the namespace rules better.
12622
12623 2005-09-08  Simon Josefsson  <jas@extundo.com>
12624
12625         * modules/socklen: New file.
12626
12627 2005-09-08  Simon Josefsson  <jas@extundo.com>
12628
12629         * m4/socklen.m4: New file.
12630
12631 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12632
12633         * modules/utimens (Files): Add m4/utimbuf.m4, since
12634         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
12635         Reported by Sergey Poznyakoff.
12636
12637 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12638
12639         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
12640         definitions, since that's the preferred style in glibc.
12641         Fix a minor spacing issue, and update copyright notice to match
12642         glibc's.
12643
12644 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12645
12646         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
12647
12648 2005-09-06  Simon Josefsson  <jas@extundo.com>
12649
12650         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
12651         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
12652
12653 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
12654
12655         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
12656         warning.
12657
12658 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
12659
12660         * config/srclist.txt: Add glibc bug 1302.
12661
12662 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
12663
12664         Change bitset word type from unsigned int to unsigned long int,
12665         as this has better performance on typical 64-bit hosts.
12666         Port bitset code to hosts with unusual word sizes.
12667         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
12668         (build_collating_symbol):
12669         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
12670         argument is a bitset.  This is merely a style issue, but it makes
12671         it clearer that an entire array is expected.
12672         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
12673         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
12674         Port to the case where bitset_word is not the same as unsigned int.
12675         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
12676         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
12677         Likewise.
12678         * lib/regexec.c (check_dst_limits_calc_pos_1,
12679         check_subexp_matching_top):
12680         (build_trtable, group_nodes_into_DFAstates):
12681         Likewise.
12682         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
12683         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
12684         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
12685         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
12686         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
12687         * lib/regcomp.c (optimize_subexps, lower_subexp):
12688         Work even if bitset_word has holes in its bitwise representation.
12689         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
12690         * lib/regexec.c (check_dst_limits_calc_pos_1,
12691         check_subexp_matching_top):
12692         Likewise.
12693         * lib/regex_internal.c (re_string_reconstruct):
12694         Don't assume UCHAR_MAX == 255.
12695         * lib/regex_internal.h (bitset_set_all): Likewise.
12696         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
12697         All uses changed.
12698         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
12699         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
12700         All uses changed.
12701         (BITSET_WORD_MAX): New macro.
12702         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
12703         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
12704         (bitset_empty, bitset_copy):
12705         Prefer sizeof (bitset) to multiplying it out ourselves.
12706         (bitset_not_merge): Remove; unused.
12707         (bitset_contain): Return bool, not unsigned int with one bit on.
12708         All callers changed.
12709         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
12710         alignment than re_node_set; do this by defining a new internal
12711         type struct dests_alloc and using it to allocate memory.
12712
12713 2005-09-05  Bruno Haible  <bruno@clisp.org>
12714
12715         * gnulib-tool (func_import): Fix comparison in handling of symbolic
12716         links.
12717
12718 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
12719
12720         * modules/size_max (Makefile.am): Add size_max.h
12721
12722 2005-09-04  Derek Price  <derek@ximbiot.com>
12723
12724         * gnulib-tool (func_import): Fix reversed $symbolic logic.
12725
12726 2005-09-03  Simon Josefsson  <jas@extundo.com>
12727
12728         * gnulib-tool: Fix typo.
12729
12730 2005-09-03  Simon Josefsson  <jas@extundo.com>
12731
12732         * config/srclist.txt: Add glibc bug 1293.
12733
12734 2005-09-03  Derek Price  <derek@ximbiot.com>
12735
12736         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
12737         From Larry Jones <lawrence.jones@ugs.com>.
12738
12739 2005-09-02  Simon Josefsson  <jas@extundo.com>
12740
12741         * modules/socklen: New file.
12742
12743 2005-09-02  Simon Josefsson  <jas@extundo.com>
12744
12745         * modules/havelib: New module.
12746
12747         * modules/gettext, modules/iconv, modules/lock, modules/readline:
12748         Use havelib.
12749
12750 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12751
12752         Check for arithmetic overflow when calculating sizes, to prevent
12753         some buffer-overflow issues.  These patches are conservative, in the
12754         sense that when I couldn't determine whether an overflow was possible,
12755         I inserted a run-time check.
12756         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
12757         macros.
12758         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
12759         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
12760         (re_xnrealloc, re_x2nrealloc): New inline functions.
12761         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
12762         parse_bracket_exp):
12763         (build_equiv_class, build_charclass): Check for arithmetic overflow
12764         in size expression calculations.
12765         * lib/regex_internal.c (re_string_realloc_buffers):
12766         (build_wcs_upper_buffer, re_node_set_add_intersect):
12767         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
12768         (re_dfa_add_node, register_state): Likewise.
12769         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
12770         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
12771         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
12772         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
12773
12774 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12775
12776         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
12777         m4/ulonglong.m4.  Problem reported by Martin Lambers.
12778
12779 2005-09-02  Bruno Haible  <bruno@clisp.org>
12780
12781         Support for lib vs. lib64 distinction on biarch platforms.
12782         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
12783         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
12784         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
12785
12786 2005-09-02  Bruno Haible  <bruno@clisp.org>
12787
12788         * gnulib-tool (import): In the other first-use case, provide defaults
12789         as well.
12790
12791 2005-09-02  Bruno Haible  <bruno@clisp.org>
12792
12793         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
12794         patches not yet found in the latest gettext release.
12795
12796 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12797
12798         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
12799         to avoid a collision with bits/local_lim.h in glibc.
12800         All uses changed.  Problem reported by Dmitry V. Levin in
12801         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
12802
12803         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
12804         bugs in int versus size_t comparisons.
12805         (re_string_context_at): Fix bug where the code assumed that
12806         Idx is signed.
12807
12808         Use bool where appropriate.
12809         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
12810         All callers changed.
12811         (calc_eclosure_iter): Likewise, for ROOT arg.
12812         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
12813         (build_charclass_op): Likewise, for NON_MATCH arg.
12814         * lib/regex_internal.c (re_string_allocate, re_string_construct):
12815         (re_string_construct_common): Likewise, for ICASE arg.
12816         * lib/regexec.c (re_search_2_stub, re_search_stub):
12817         Likewise, for RET_LEN arg.
12818         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
12819         (set_regs): Likewise, for FL_BACKTRACK arg.
12820         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
12821         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
12822         (calc_eclosure_iter, parse_bracket_exp):
12823         Use bool for internal variables that are booleans.
12824         * lib/regexec.c (re_search_internal, check_matching,
12825         proceed_next_node):
12826         (set_regs, build_sifted_states, sift_states_bkref):
12827         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
12828         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
12829         (find_collation_sequence_value):
12830         Likewise.
12831         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
12832         (re_node_set_compare):
12833         Return bool, not int. All callers changed.
12834         * lib/regexec.c (check_halt_node_context, check_dst_limits):
12835         (build_trtable, check_node_accept): Likewise.
12836         * lib/regex_internal.h: Include stdbool.h.
12837
12838         Fix bugs uncovered when converting to bool.
12839         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
12840         failure instead of charging ahead blindly.
12841         * lib/regex_internal.c (register_state): Likewise.
12842         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
12843         for freeing internal storage.
12844         (group_nodes_into_DFA_states): Use unsigned int, not int, for
12845         bitset pieces used as boolean, to avoid undefined behavior
12846         on hosts that do int overflow checking.
12847
12848 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12849
12850         * config/srclist.txt: Add glibc bugs 1285-1287.
12851
12852 2005-09-01  Jim Meyering  <jim@meyering.net>
12853
12854         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
12855         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
12856         Require gl_STAT_MACROS, too.
12857
12858 2005-09-01  Bruno Haible  <bruno@clisp.org>
12859
12860         * gnulib-tool (import): In the first-use case, provide defaults.
12861
12862 2005-09-01  Bruno Haible  <bruno@clisp.org>
12863
12864         * gnulib-tool (func_import): Remove the .tmp files.
12865
12866 2005-09-01  Bruno Haible  <bruno@clisp.org>
12867
12868         * gnulib-tool (func_import): Fix handling of symbolic links.
12869
12870 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12871
12872         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
12873         old glibc regex code mishandles strings longer than 2**31 bytes.
12874         This patch fixes this when the regex code is used in gnulib
12875         (i.e., outside glibc).
12876
12877         This patch should not affect the use of the regex code inside
12878         glibc.  No doubt this problem also needs to be handled for glibc
12879         as well, but the result will be an incompatible change to the
12880         glibc ABI, and the old ABI will have to be supported too.  That
12881         can be the the subject for another patch.
12882
12883         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
12884         governing whether the rest of this patch is active.  By default,
12885         the macro is disabled and the patch has no effect.
12886         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
12887         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
12888         (struct re_pattern_buffer, re_search, re_search_2, re_match):
12889         (re_match_2, re_set_registers): Use the new types.
12890         * lib/regex_internal.h (Idx, re_hashval_t): New types.
12891         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
12892         New macros.
12893         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
12894         (re_string_context_at, bin_tree_t, re_dfastate_t):
12895         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
12896         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
12897         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
12898         (re_string_char_size_at, re_string_wchar_at):
12899         (re_string_elem_size_at):
12900         Use the new types and macros to port to 64-bit hosts.
12901         Use unsigned types for internal values, so that the code
12902         mostly works even for arrays larger than SSIZE_MAX.
12903         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
12904         (search_duplicated_node, calc_eclosure_iter, fetch_number):
12905         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
12906         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
12907         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
12908         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
12909         (calc_inveclosure, parse_dup_op, build_range_exp):
12910         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
12911         (fetch_number, create_token_tree, mark_opt_subexp):
12912         Likewise.
12913         * lib/regex_internal.c (re_string_construct_common,
12914         create_ci_newstate):
12915         (create_cd_newstate, re_string_allocate, re_string_construct):
12916         (re_string_realloc_buffers, build_wcs_upper_buffer):
12917         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
12918         (re_string_reconstruct, re_string_peek_byte_case):
12919         (re_string_fetch_byte_case, re_string_context_at):
12920         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
12921         (re_node_set_init_copy, re_node_set_add_intersect):
12922         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
12923         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
12924         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
12925         (re_acquire_state, re_acquire_state_context, register_state):
12926         Likewise.
12927         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
12928         search_cur_bkref_entry):
12929         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
12930         (re_search_internal, re_search_2_stub, re_search_stub)
12931         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
12932         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
12933         (update_cur_sifted_state, check_dst_limits):
12934         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
12935         (check_subexp_limits, sift_states_bkref, merge_state_array):
12936         (check_subexp_matching_top, get_subexp, get_subexp_sub):
12937         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
12938         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
12939         (expand_bkref_cache, check_node_accept_bytes):
12940         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
12941         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
12942         (acquire_init_state_context, check_halt_node_context):
12943         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
12944         (sift_states_backward, clean_state_log_if_needed):
12945         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
12946         (find_recover_state, transit_state_sb, transit_state_mb):
12947         (transit_state_bkref, build_trtable, match_ctx_clean):
12948         Likewise.
12949         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
12950         to work around an assumption that REG_MISSING is negative.
12951
12952         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
12953         (seek_collating_symbol_entry) [defined _LIBC]:
12954         (lookup_collation_sequence_value) [defined _LIBC]:
12955         (build_range_exp, build_collating_symbol) [defined _LIBC]:
12956         Use prototypes rather than old-style function definitions.
12957         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
12958         (transit_state_sb) [0]:
12959         (find_collation_sequence_value) [defined _LIBC]: Likewise.
12960
12961         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
12962         rm_eo.
12963
12964         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
12965         (optimize_subexps, lower_subexp):
12966         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
12967         since the signed shift might overflow.  Use 1u<<31 instead.
12968         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
12969         Likewise.
12970         * lib/regexec.c (check_dst_limits_calc_pos_1,
12971         check_subexp_matching_top): Likewise.
12972
12973         * lib/regcomp.c (optimize_subexps, lower_subexp):
12974         Use CHAR_BIT rather than 8, for clarity.
12975         * lib/regexec.c (check_dst_limits_calc_pos_1):
12976         (check_subexp_matching_top): Likewise.
12977         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
12978         have to worry about portability issues when shifting it left.
12979         Remove no-longer-needed test for table_size > 0.
12980         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
12981         in a word, as the resulting behavior is undefined.
12982         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
12983         in one case, a <= should have been an <, and in another case the
12984         whole test was missing.
12985         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
12986         the standard name CHAR_BIT.
12987         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
12988         this is not true on one's complement and signed-magnitude hosts.
12989
12990         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
12991         next_last_offset.
12992         (struct re_dfa_t): Remove unused member states_alloc.
12993         * lib/regcomp.c (init_dfa): Don't initialize unused members.
12994
12995 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12996
12997         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
12998         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
12999         and large-file glibc and in 32-bit large-file Solaris.
13000
13001 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13002
13003         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
13004         lengths fit in regoff_t; this isn't true if regoff_t is the same
13005         width as size_t.
13006         * lib/regex.c (re_search_internal): 5th arg is LAST_START
13007         (= START + RANGE) instead of RANGE.  This avoids overflow
13008         problems when regoff_t is the same width as size_t.
13009         All callers changed.
13010         (re_search_2_stub): Check for overflow when adding the
13011         sizes of the two strings.
13012         (re_search_stub): Check for overflow when adding START
13013         to RANGE; if it occurs, substitute the extreme value.
13014
13015 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
13016
13017         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
13018
13019 2005-08-31  Jim Meyering  <jim@meyering.net>
13020
13021         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
13022         a pointer-to-const.
13023         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
13024         (register_state): Likewise.
13025         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
13026         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
13027         (group_nodes_into_DFAstates): Likewise.
13028
13029 2005-08-31  Jim Meyering  <jim@meyering.net>
13030
13031         * check-module: Add a FIXME comment.
13032
13033 2005-08-31  Eric Blake  <ebb9@byu.net>
13034
13035         * modules/unistd-safer (Files): Add unistd--.h.
13036         * modules/stdio-safer (Files): Add stdio--.h.
13037
13038 2005-08-31  Derek Price  <derek@ximbiot.com>
13039
13040         * lib/getdelim.c (getdelim): Return EOF on EOF.
13041         Reported by Larry Jones <lawrence.jones@ugs.com>.
13042
13043 2005-08-31  Bruno Haible  <bruno@clisp.org>
13044
13045         Avoid unnecessary diffs in the generated lib/Makefile.am.
13046         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
13047         the generated files.
13048         (func_import): Don't set cmd.
13049
13050 2005-08-31  Bruno Haible  <bruno@clisp.org>
13051
13052         * lib/strstr.c: Include <stddef.h>, for NULL.
13053         * lib/strcasestr.c: Likewise.
13054         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13055
13056 2005-08-31  Bruno Haible  <bruno@clisp.org>
13057
13058         * gnulib-tool: New option --macro-prefix.
13059         (func_import): Use macro_prefix.
13060         (import): Handle option --macro-prefix.
13061
13062 2005-08-31  Bruno Haible  <bruno@clisp.org>
13063
13064         * gnulib-tool (import): Rename most ac_* variables to cached_*.
13065         Also use new variables cached_lgpl, cached_libtool.
13066
13067 2005-08-31  Bruno Haible  <bruno@clisp.org>
13068
13069         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
13070         always instantiating them.
13071
13072 2005-08-31  Bruno Haible  <bruno@clisp.org>
13073
13074         * gnulib-tool (func_import): Read the previous cached settings
13075         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
13076         earlier added by gnulib but are now dropped. Warn when a gnulib file
13077         overwrites a non-gnulib file.
13078
13079 2005-08-31  Bruno Haible  <bruno@clisp.org>
13080
13081         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
13082         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
13083         projects that don't keep autogenerated files in CVS. Put into
13084         actioncmd only the specified modules, not the transitive closure.
13085
13086 2005-08-31  Bruno Haible  <bruno@clisp.org>
13087
13088         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
13089         Create directories that shall be filled.
13090         (import): Don't look for gl_* macros in configure.ac. Recurse across
13091         all directories containing a gnulib-cache.m4 files, if meaningful.
13092
13093 2005-08-31  Bruno Haible  <bruno@clisp.org>
13094
13095         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
13096         (import): Set seen_libtool when we see gl_LIBTOOL.
13097
13098 2005-08-31  Bruno Haible  <bruno@clisp.org>
13099
13100         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
13101         declaration macro definitions from generated gnulib.m4.
13102
13103 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
13104
13105         * lib/iconvme.h: Add prototype for iconv_alloc.
13106
13107 2005-08-29  Simon Josefsson  <jas@extundo.com>
13108
13109         * lib/iconvme.c: Fix errno.
13110
13111 2005-08-29  Bruno Haible  <bruno@clisp.org>
13112
13113         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
13114         that it works when the directory contains spaces.
13115
13116 2005-08-29  Bruno Haible  <bruno@clisp.org>
13117
13118         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
13119
13120 2005-08-29  Bruno Haible  <bruno@clisp.org>
13121
13122         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
13123         Emit more advice.
13124
13125 2005-08-29  Bruno Haible  <bruno@clisp.org>
13126         and Stepan Kasal  <kasal@ucw.cz>
13127
13128         * check-module: If more parameters are given, check each of them
13129         separately; add more exceptions, as noted by Jim Meyering.
13130         (check_module): New procedure.
13131         (%exempt_header): Now contains all exceptions.
13132
13133 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
13134
13135         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
13136
13137 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
13138
13139         * lib/iconvme.c: Split iconv_string into iconv_alloc.
13140
13141 2005-08-28  Bruno Haible  <bruno@clisp.org>
13142
13143         * m4/gnulib-tool.m4: New file.
13144
13145 2005-08-27  Jim Meyering  <jim@meyering.net>
13146
13147         * modules/unistd-safer (Files): Add pipe-safer.c.
13148         * modules/fcntl-safer (Files): Add creat-safer.c.
13149
13150 2005-08-27  Jim Meyering  <jim@meyering.net>
13151
13152         * m4/stdlib-safer.m4: New file.  From coreutils.
13153         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
13154         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
13155         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
13156         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
13157         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
13158
13159 2005-08-27  Jim Meyering  <jim@meyering.net>
13160
13161         * lib/fopen-safer.c: Merge minor changes from coreutils.
13162         * lib/dup-safer.c: Likewise.
13163         * lib/fd-safer.c: Likewise.
13164
13165         Merge from coreutils.
13166         * lib/stdio--.h: New file.
13167         * lib/stdlib--.h: New file.
13168         * lib/mkstemp-safer.c: New file.
13169
13170         GNU tar needs these.
13171         * lib/pipe-safer.c: New file.
13172         * lib/creat-safer.c: New file.
13173         * lib/fcntl--.h (creat): Define to creat_safer.
13174         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
13175         * lib/unistd--.h (pipe): Define to pipe_safer.
13176         * lib/unistd-safer.h: Declare pipe_safer.
13177
13178 2005-08-26  Simon Josefsson  <jas@extundo.com>
13179
13180         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
13181         Haible <bruno@clisp.org>.
13182
13183 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
13184
13185         * lib/regex_internal.h: Remove all references to
13186         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
13187         or better.
13188         (bitset_not, bitset_merge, bitset_not_merge):
13189         (bitset_mask, re_string_allocate, re_string_construct):
13190         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
13191         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
13192         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
13193         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
13194         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13195         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13196         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
13197         (re_acquire_state_context):
13198         Remove unnecessary forward decls.
13199         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
13200         Put __attribute at function definition,
13201         now that the function decl has been removed.
13202         * lib/regex_internal.c (re_string_peek_byte_case):
13203         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
13204         Likewise.
13205
13206 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
13207
13208         * m4/regex.m4: Add AC_PREREQ(2.50).
13209         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
13210
13211 2005-08-25  Simon Josefsson  <jas@extundo.com>
13212
13213         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
13214         __fsetlocking.
13215
13216 2005-08-25  Simon Josefsson  <jas@extundo.com>
13217
13218         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
13219         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
13220         GLIBC specific code.
13221
13222 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13223
13224         Make regex safe for g++.  This fixes one real bug (an "err"
13225         that should have been "*err").  g++ problem reported by
13226         Sam Steingold.
13227         * lib/regex_internal.h (re_calloc): New macro, consistent with
13228         re_malloc etc.  All callers of calloc changed to use re_calloc.
13229         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
13230         not int.  All callers changed.
13231         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
13232         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
13233         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
13234         (find_recover_state): Change "err" to "*err"; this fixes what
13235         appears to be a real bug.
13236         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
13237         versus int.
13238
13239 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13240
13241         * modules/regex (Depends-on): Add malloc, since the code
13242         assumes that !malloc(0) means failure.
13243
13244 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13245
13246         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
13247
13248         alloca modernization/simplification for regex.
13249         * lib/regex.c: Remove portability cruft for alloca.  This no longer
13250         needs to be at the start of the file, and can be moved into
13251         regex_internal.h and simplified.
13252         * lib/regex_internal.h: Include <alloca.h>.
13253         (__libc_use_alloca) [!defined _LIBC]: New macro.
13254         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
13255         now works outside glibc.
13256
13257 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13258
13259         * config/srclist.txt: Add glibc bugs 1241, 1245.
13260
13261 2005-08-25  Jim Meyering  <jim@meyering.net>
13262
13263         * lib/open-safer.c: Include <config.h>.
13264         Otherwise, we'd lose LARGEFILE support in any file using
13265         e.g. "fcntl--.h"
13266
13267 2005-08-25  Bruno Haible  <bruno@clisp.org>
13268
13269         * m4/minmax.m4: Require autoconf 2.52.
13270         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
13271         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
13272         alternatives of translit over the alphabet.
13273         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
13274
13275 2005-08-24  Simon Josefsson  <jas@extundo.com>
13276
13277         * tests/test-getpass.c: New file.
13278
13279 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13280
13281         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
13282         for GNU regex features.
13283
13284 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13285
13286         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
13287         * lib/regex.h (regerror): Likewise.
13288
13289         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
13290         requires this.  (The code never needed it.)
13291
13292         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
13293         All uses of recently-renamed identifiers changed to use the new,
13294         POSIX-compliant names.  The code will build and run just fine
13295         without these changes, but it's better to eat our own dog food
13296         and use the standard-conforming names.
13297
13298         * lib/regex.h: Fix a multitude of POSIX name space violations.
13299         These changes have an effect only for programs that define
13300         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
13301         do not change anything for programs compiled in the normal way.
13302         Also, there is no effect on the ABI.
13303
13304         (_REGEX_SOURCE): New macro.
13305         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
13306         defined and _GNU_SOURCE is not; this fixes a name space violation.
13307
13308         Rename the following macros to obey POSIX requirements.
13309         The old names are still visible as macros if _REGEX_SOURCE is defined.
13310         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
13311         RE_BACKSLASH_ESCAPE_IN_LISTS.
13312         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
13313         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
13314         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
13315         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
13316         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
13317         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
13318         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
13319         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
13320         (REG_INTERVALS): renamed from RE_INTERVALS.
13321         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
13322         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
13323         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
13324         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
13325         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
13326         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
13327         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
13328         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
13329         RE_UNMATCHED_RIGHT_PAREN_ORD.
13330         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
13331         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
13332         (REG_DEBUG): renamed from RE_DEBUG.
13333         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
13334         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
13335         unusual, since we can't clash with the POSIX REG_ICASE.
13336         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
13337         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
13338         (REG_NO_SUB): renamed from RE_NO_SUB.
13339         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
13340         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
13341         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
13342         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
13343         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
13344         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
13345         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
13346         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
13347         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
13348         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
13349         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
13350         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
13351         RE_SYNTAX_POSIX_MINIMAL_BASIC.
13352         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
13353         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
13354         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
13355         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
13356         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
13357         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
13358         (REG_FIXED): Renamed from REGS_FIXED.
13359         (REG_NREGS): Renamed from RE_NREGS.
13360
13361         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
13362         of other REG_* macros, since POSIX says the user is allowed to
13363         #undef these macros selectively.
13364
13365         (reg_errcode_t): Update comment stating what other tables need
13366         to be consistent.
13367
13368         Rename the following enum values to obey POSIX requirements.
13369         The old names are still visible as macros.
13370         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
13371         is not defined, since GNU is supposed to be a superset of POSIX as
13372         much as possible, and since we want reg_errcode_t to be a signed
13373         type for implementation consistency.
13374         (_REG_NOERROR): Renamed from REG_NOERROR.
13375         (_REG_NOMATCH): Renamed from REG_NOMATCH.
13376         (_REG_BADPAT): Renamed from REG_BADPAT.
13377         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
13378         (_REG_ECTYPE): Renamed from REG_ECTYPE.
13379         (_REG_EESCAPE): Renamed from REG_EESCAPE.
13380         (_REG_ESUBREG): Renamed from REG_ESUBREG.
13381         (_REG_EBRACK): Renamed from REG_EBRACK.
13382         (_REG_EPAREN): Renamed from REG_EPAREN.
13383         (_REG_EBRACE): Renamed from REG_EBRACE.
13384         (_REG_BADBR): Renamed from REG_BADBR.
13385         (_REG_ERANGE): Renamed from REG_ERANGE.
13386         (_REG_ESPACE): Renamed from REG_ESPACE.
13387         (_REG_BADRPT): Renamed from REG_BADRPT.
13388         (_REG_EEND): Renamed from REG_EEND.
13389         (_REG_ESIZE): Renamed from REG_ESIZE.
13390         (_REG_ERPAREN): Renamed from REG_ERPAREN.
13391         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
13392         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
13393         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
13394         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
13395
13396         (_REG_RE_NAME, _REG_RM_NAME): New macros.
13397         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
13398         changed.  But support the old name if the new one is not defined
13399         and if _REGEX_SOURCE.
13400
13401         Change the following member names in struct re_pattern_buffer.
13402         The old names are still supported if !_REGEX_SOURCE.
13403         The new names are always supported, regardless of _REGEX_SOURCE.
13404         (re_buffer): Renamed from buffer.
13405         (re_allocated): Renamed from allocated.
13406         (re_used): Renamed from used.
13407         (re_syntax): Renamed from syntax.
13408         (re_fastmap): Renamed from fastmap.
13409         (re_translate): Renamed from translate.
13410         (re_can_be_null): Renamed from can_be_null.
13411         (re_regs_allocated): Renamed from regs_allocated.
13412         (re_fastmap_accurate): Renamed from fastmap_accurate.
13413         (re_no_sub): Renamed from no_sub.
13414         (re_not_bol): Renamed from not_bol.
13415         (re_not_eol): Renamed from not_eol.
13416         (re_newline_anchor): Renamed from newline_anchor.
13417
13418         Change the following member names in struct re_registers.
13419         The old names are still supported if !_REGEX_SOURCE.
13420         The new names are always supported, regardless of _REGEX_SOURCE.
13421         (rm_num_regs): Renamed from num_regs.
13422         (rm_start): Renamed from start.
13423         (rm_end): Renamed from end.
13424
13425         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
13426         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
13427         Prepend __ to parameter names.
13428
13429         Undo yesterday's changes.
13430
13431 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13432
13433         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
13434         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
13435         lib/regex.c.
13436
13437 2005-08-24  Jim Meyering  <jim@meyering.net>
13438
13439         Sync from coreutils.
13440         * m4/fcntl-safer.m4: New file.
13441
13442         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
13443         and object files for this module.
13444
13445 2005-08-24  Jim Meyering  <jim@meyering.net>
13446
13447         Sync from coreutils.
13448         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
13449
13450 2005-08-24  Jim Meyering  <jim@meyering.net>
13451
13452         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
13453         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
13454
13455 2005-08-24  Jim Meyering  <jim@meyering.net>
13456
13457         * modules/fcntl-safer: New module.
13458         * modules/fts (Depends-on): Add fcntl-safer.
13459         * MODULES.html.sh (File descriptor based Input/Output):
13460         Add fcntl-safer.
13461
13462 2005-08-24  Bruno Haible  <bruno@clisp.org>
13463
13464         Support for unit test modules.
13465         * modules/README: Mention tests modules.
13466         * modules/TEMPLATE-TESTS: New file.
13467         * gnulib-tool: New options --extract-tests-module, --with-tests and
13468         --tests-base (unused for the moment).
13469         (testsbase, inctests): New variables.
13470         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
13471         (func_verify_module): Exclude TEMPLATE-TESTS.
13472         (func_verify_nontests_module, func_verify_tests_module): New functions.
13473         (func_get_dependencies): Add implicit dependency for tests modules.
13474         (func_get_tests_module): New function.
13475         (func_modules_transitive_closure): When --with-tests was specified,
13476         include the unit tests as well, unless explicitly avoided.
13477         (func_emit_lib_Makefile_am): Ignore the tests modules here.
13478         (func_emit_tests_Makefile_am): New function.
13479         (func_create_testdir): When --with-tests was specified, emit a
13480         tests/ directory.
13481         * MODULES.html.sh (Future developments): Update.
13482
13483 2005-08-24  Bruno Haible  <bruno@clisp.org>
13484
13485         * modules/tls-tests: New file.
13486         * tests/test-tls.c: New file, from GNU gettext.
13487
13488 2005-08-24  Bruno Haible  <bruno@clisp.org>
13489
13490         * modules/lock-tests: New file.
13491         * tests/test-lock.c: New file, from GNU gettext.
13492
13493 2005-08-24  Bruno Haible  <bruno@clisp.org>
13494
13495         * lib/lock.h: Add multiple inclusion guard.
13496         * lib/tls.h: Add multiple inclusion guard.
13497
13498 2005-08-24  Bruno Haible  <bruno@clisp.org>
13499
13500         * gnulib-tool: Add support for the --aux-dir option to
13501         --create-testdir, --create-megatestdir, --test, --megatest.
13502         (func_create_testdir, func_create_megatestdir): Optionally emit a
13503         AC_CONFIG_AUX_DIR directive.
13504         (create-testdir, create-megatestdir, test, megatest): Provide a
13505         default value for $auxdir.
13506
13507 2005-08-24  Bruno Haible  <bruno@clisp.org>
13508
13509         * gnulib-tool (import): Use compound statement instead of subshell
13510         where possible.
13511
13512 2005-08-24  Bruno Haible  <bruno@clisp.org>
13513
13514         * gnulib-tool (import): Change --aux-dir default to "build-aux".
13515
13516 2005-08-24  Bruno Haible  <bruno@clisp.org>
13517
13518         * gnulib-tool (func_version): Update.
13519
13520 2005-08-24  Bruno Haible  <bruno@clisp.org>
13521
13522         * gnulib-tool (func_import, func_create_testdir,
13523         func_create_megatestdir): Quote all autoconf macro arguments.
13524
13525 2005-08-24  Bruno Haible  <bruno@clisp.org>
13526
13527         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
13528         option --force, because --force causes the aclocal.m4 of each
13529         subdirectory to be newer than the corresponding config.h.in.
13530
13531 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13532
13533         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
13534         All contents moved to gl_REGEX.
13535         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
13536         assume that it does.
13537
13538 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13539
13540         * lib/regex.h (REG_NOSYS)
13541         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
13542         Define, since POSIX requires it as of 2001.
13543         (_REG_ENOSYS)
13544         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
13545         New private symbol, used to keep the enum signed in all cases.
13546         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
13547         Youngman in
13548         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
13549
13550         * lib/regex_internal.c (re_string_skip_chars, register_state):
13551         (calc_state_hash):
13552         Remove forward decls; no longer needed now that we use prototypes.
13553         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
13554         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
13555         (clean_state_log_if_needed): Likewise.
13556
13557 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13558
13559         * config/srclist.txt: Add glibc bugs 1231-1233.
13560
13561 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13562
13563         Fix problems reported by Sam Steingold in
13564         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
13565         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
13566         assumed that reg_errcode_t is a signed type, which is not
13567         necessarily true if _XOPEN_SOURCE is not defined.
13568         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
13569         since some compilers warn about it otherwise.
13570
13571 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13572
13573         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
13574         (init_word_char, create_initial_state, duplicate_node_closure):
13575         (fetch_token, peek_token_bracket, build_range_exp):
13576         (build_collating_symbol): Remove forward decls; no longer needed
13577         now that we use prototypes.
13578
13579         * lib/regcomp.c:
13580         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
13581         (re_compile_fastmap_iter, regcomp, regerror, regfree):
13582         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
13583         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
13584         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
13585         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
13586         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
13587         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
13588         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
13589         (build_range_exp, build_collating_symbol, parse_bracket_exp):
13590         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
13591         (build_charclass, build_charclass_op, fetch_number, create_tree):
13592         (create_token_tree, mark_opt_subexp, duplicate_tree):
13593         Use prototypes rather than old-style definitions.
13594
13595         * lib/regex_internal.c:
13596         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
13597         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
13598         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
13599         (re_string_reconstruct, re_string_peek_byte_case):
13600         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
13601         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
13602         (re_node_set_init_copy, re_node_set_add_intersect):
13603         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13604         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13605         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
13606         (re_acquire_state, re_acquire_state_context, register_state):
13607         (create_ci_newstate, create_cd_newstate, free_state):
13608         Likewise.
13609         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
13610         re_search_2):
13611         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
13612         (re_search_internal, prune_impossible_nodes):
13613         (acquire_init_state_context, check_matching, static):
13614         (check_halt_node_context, check_halt_state_context, proceed_next_node):
13615         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
13616         (update_regs, sift_states_backward, build_sifted_states):
13617         (clean_state_log_if_needed, merge_state_array):
13618         (update_cur_sifted_state, add_epsilon_src_nodes):
13619         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
13620         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
13621         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
13622         (find_recover_state, check_subexp_matching_top, transit_state_mb):
13623         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
13624         (check_arrival, check_arrival_add_next_nodes):
13625         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
13626         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
13627         (check_node_accept_bytes, check_node_accept, extend_buffers):
13628         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
13629         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
13630         (sift_ctx_init):
13631         Likewise.
13632
13633         * lib/regex_internal.h:
13634         (re_string_allocate, re_string_construct, re_string_reconstruct):
13635         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
13636         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
13637         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
13638         (re_string_context_at, re_string_peek_byte_case):
13639         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
13640         is defined, since we now use prototypes always.
13641
13642         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
13643         C89 or better.  All uses removed.
13644
13645 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13646
13647         * config/srclist.txt: Add glibc bugs 1220-1227.
13648
13649 2005-08-20  Jim Meyering  <jim@meyering.net>
13650
13651         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
13652         of unused local, dfa.
13653
13654 2005-08-20  Bruno Haible  <bruno@clisp.org>
13655
13656         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
13657
13658 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13659
13660         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
13661         (re_node_set_insert_last, re_dfa_add_node):
13662         Rename local variables to avoid GCC shadowing warnings.
13663
13664 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13665
13666         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
13667         [defined lint]: Suppress bogus uninitialized-variable warnings.
13668
13669         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
13670         and let the caller return REG_ESPACE if out of space.  This
13671         removes an uninitialied-variable warning with GCC 4.0.1, and also
13672         avoids taking the address of a local variable.  All callers
13673         changed.
13674
13675 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13676
13677         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
13678         $LIBCSRC/posix/regexec.c.
13679         Add glibc bug 1217 for regcomp.c.
13680
13681 2005-08-19  Jim Meyering  <jim@meyering.net>
13682
13683         * lib/regexec.c (proceed_next_node): Redo local variables to
13684         avoid GCC shadowing warnings.
13685
13686 2005-08-18  Bruno Haible  <bruno@clisp.org>
13687
13688         * lib/strstr.c (strstr): Fix return value in multibyte case.
13689         * lib/strcasestr.c (strcasestr): Likewise.
13690
13691 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13692
13693         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
13694
13695 2005-08-17  Jim Meyering  <jim@meyering.net>
13696
13697         Make the %s format (seconds since the epoch) work for a negative
13698         number and when used with a zero-padded field width, e.g. %015s.
13699
13700         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
13701         label so that it precedes the code to set `digits'.  Otherwise,
13702         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
13703         print `00-22'.  Now, it prints `-0022', as it should.
13704
13705 2005-08-17  Bruno Haible  <bruno@clisp.org>
13706
13707         * modules/strstr (Files): Add m4/mbrtowc.m4.
13708         (Depends-on): Add mbuiter.
13709
13710 2005-08-17  Bruno Haible  <bruno@clisp.org>
13711
13712         * modules/strcasestr: New file.
13713         * MODULES.html.sh (String handling, based on ANSI C 89): Add
13714         strcasestr.
13715
13716 2005-08-17  Bruno Haible  <bruno@clisp.org>
13717
13718         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
13719
13720 2005-08-17  Bruno Haible  <bruno@clisp.org>
13721
13722         * modules/mbuiter: New file.
13723         * MODULES.html.sh (Extended multibyte and wide character utilities):
13724         Add mbuiter.
13725
13726 2005-08-17  Bruno Haible  <bruno@clisp.org>
13727
13728         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
13729         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
13730
13731 2005-08-17  Bruno Haible  <bruno@clisp.org>
13732
13733         * m4/strcasestr.m4: New file.
13734
13735 2005-08-17  Bruno Haible  <bruno@clisp.org>
13736
13737         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
13738         * lib/strstr.c: Completely rewritten, with multibyte locale support.
13739
13740 2005-08-17  Bruno Haible  <bruno@clisp.org>
13741
13742         * lib/strcasestr.h: New file.
13743         * lib/strcasestr.c: New file.
13744
13745 2005-08-17  Bruno Haible  <bruno@clisp.org>
13746
13747         * lib/strcasecmp.c: Use mbuiter.h.
13748
13749 2005-08-17  Bruno Haible  <bruno@clisp.org>
13750
13751         * lib/mbuiter.h: New file.
13752
13753 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
13754
13755         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
13756         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
13757         and gl_GETOPT are both invoked via different paths (as happens
13758         with GNU tar CVS because it uses both argp and getopt), the former
13759         wins.
13760
13761 2005-08-16  Bruno Haible  <bruno@clisp.org>
13762
13763         * modules/tls: New file.
13764         * MODULES.html.sh (Multithreading): Add tls.
13765
13766 2005-08-16  Bruno Haible  <bruno@clisp.org>
13767
13768         * modules/strnlen1: New file.
13769         * MODULES.html.sh (String handling): Add strnlen1.
13770
13771 2005-08-16  Bruno Haible  <bruno@clisp.org>
13772
13773         * modules/strcase (Files): Add m4/mbrtowc.m4.
13774         (Depends-on): Add strnlen1, mbchar.
13775
13776 2005-08-16  Bruno Haible  <bruno@clisp.org>
13777
13778         * modules/mbiter: New file.
13779         * MODULES.html.sh (Extended multibyte and wide character utilities):
13780         Add mbiter.
13781
13782 2005-08-16  Bruno Haible  <bruno@clisp.org>
13783
13784         * modules/mbfile: New file.
13785         * MODULES.html.sh (Extended multibyte and wide character utilities):
13786         Add mbfile.
13787
13788 2005-08-16  Bruno Haible  <bruno@clisp.org>
13789
13790         * modules/mbchar: New file.
13791         * MODULES.html.sh (Extended multibyte and wide character utilities):
13792         New section.
13793
13794 2005-08-16  Bruno Haible  <bruno@clisp.org>
13795
13796         * m4/tls.m4: New file, from GNU gettext.
13797
13798 2005-08-16  Bruno Haible  <bruno@clisp.org>
13799
13800         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
13801         always.
13802         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
13803
13804 2005-08-16  Bruno Haible  <bruno@clisp.org>
13805
13806         * m4/mbiter.m4: New file.
13807
13808 2005-08-16  Bruno Haible  <bruno@clisp.org>
13809
13810         * m4/mbfile.m4: New file.
13811
13812 2005-08-16  Bruno Haible  <bruno@clisp.org>
13813
13814         * m4/mbchar.m4: New file.
13815
13816 2005-08-16  Bruno Haible  <bruno@clisp.org>
13817
13818         * lib/tls.h: New file, from GNU gettext.
13819         * lib/tls.c: New file, from GNU gettext.
13820
13821 2005-08-16  Bruno Haible  <bruno@clisp.org>
13822
13823         * lib/strnlen1.h: New file.
13824         * lib/strnlen1.c: New file.
13825
13826 2005-08-16  Bruno Haible  <bruno@clisp.org>
13827
13828         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
13829         (mbi_init): Update.
13830         (mbi_avail, mbi_advance): Let the iteration end before the terminating
13831         NUL byte, not after it.
13832
13833 2005-08-16  Bruno Haible  <bruno@clisp.org>
13834
13835         * lib/strcase.h (strcasecmp): Add note in comments.
13836         * lib/strncasecmp.c: Use code from strcasecmp.c.
13837         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
13838         (strcasecmp): Work correctly in multibyte locales.
13839
13840 2005-08-16  Bruno Haible  <bruno@clisp.org>
13841
13842         * lib/mbiter.h: New file.
13843
13844 2005-08-16  Bruno Haible  <bruno@clisp.org>
13845
13846         * lib/mbfile.h: New file.
13847
13848 2005-08-16  Bruno Haible  <bruno@clisp.org>
13849
13850         * lib/mbchar.h: New file.
13851         * lib/mbchar.c: New file.
13852
13853 2005-08-16  Bruno Haible  <bruno@clisp.org>
13854
13855         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
13856         the valid ones. Makes the comparison operations transitive:
13857         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
13858         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
13859
13860 2005-08-15  Simon Josefsson  <jas@extundo.com>
13861
13862         * modules/ssize_t (License): Change to 'unlimited'.
13863
13864         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
13865
13866 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13867
13868         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
13869         Add comments for each pending glibc patch.
13870
13871 2005-08-15  Bruno Haible  <bruno@clisp.org>
13872
13873         * lib/regex.h (__restrict_arr): Don't define to __restrict if
13874         __cplusplus is defined.
13875
13876 2005-08-14  Jim Meyering  <jim@meyering.net>
13877
13878         Sync from coreutils.
13879
13880         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
13881         Use the hash-table-based cycle-detection code not just when
13882         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
13883         Reported by James Youngman in
13884         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
13885         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
13886         FTS_TIGHT_CYCLE_CHECK.
13887         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
13888         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
13889         once again.
13890         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
13891         * lib/fts.c (fd_safer): Remove decl.
13892         Include fcntl--.h rather than unistd-safer.h
13893         (fts_safe_changedir): Don't call fd_safer; no longer needed
13894         now that we include fcntl--.h.
13895
13896 2005-08-12  Simon Josefsson  <jas@extundo.com>
13897
13898         * modules/getndelim2: Use ssize_t module.
13899         * modules/getnline: Likewise.
13900         * modules/safe-read: Likewise.
13901         * modules/xreadlink: Likewise.
13902
13903         * modules/ssize_t: New file.
13904
13905 2005-08-12  Simon Josefsson  <jas@extundo.com>
13906
13907         * m4/readline.m4: Look for termcap, curses or ncurses if required.
13908
13909 2005-08-12  Simon Josefsson  <jas@extundo.com>
13910
13911         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13912         ssize_t.
13913
13914 2005-08-12  Simon Josefsson  <jas@extundo.com>
13915
13916         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
13917         readline, getdelim and check_version.
13918         (Support for systems lacking ISO C 99: Sizes of integer types):
13919         Add size_max.
13920
13921 2005-08-12  Bruno Haible  <bruno@clisp.org>
13922
13923         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
13924
13925 2005-08-11  Simon Josefsson  <jas@extundo.com>
13926
13927         * modules/readline: New file.
13928
13929         * modules/strnlen (Files): Add strnlen.h.
13930
13931 2005-08-11  Simon Josefsson  <jas@extundo.com>
13932
13933         * m4/readline.m4: New file.
13934
13935 2005-08-11  Simon Josefsson  <jas@extundo.com>
13936
13937         * lib/readline.h, readline.c: New file.
13938
13939 2005-08-11  Simon Josefsson  <jas@extundo.com>
13940
13941         * doc/gnulib.texi (Initial import, Finishing touches): Mention
13942         gl_AVOID.
13943
13944 2005-08-11  Bruno Haible  <bruno@clisp.org>
13945
13946         * lib/strnlen.h (strnlen): Change parameter name to match comment.
13947
13948 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
13949
13950         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
13951
13952 2005-08-10  Simon Josefsson  <jas@extundo.com>
13953
13954         * tests/test-iconvme.c: New file.
13955
13956 2005-08-10  Simon Josefsson  <jas@extundo.com>
13957
13958         * m4/strnlen.m4: New file.
13959
13960         * m4/strndup.m4: Don't check for strnlen declaration, done in
13961         strnlen.m4.
13962
13963 2005-08-10  Simon Josefsson  <jas@extundo.com>
13964
13965         * lib/strndup.c: Use strnlen.h.
13966
13967         * lib/strnlen.h: New file.
13968
13969 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
13970
13971         * README: Typos.
13972
13973 2005-08-02  Simon Josefsson  <jas@extundo.com>
13974
13975         * modules/readline: New file.
13976
13977 2005-08-02  Simon Josefsson  <jas@extundo.com>
13978
13979         * modules/getdelim: New file.
13980
13981         * modules/getline: Rewrite, don't use getndelim2.
13982
13983 2005-08-02  Simon Josefsson  <jas@extundo.com>
13984
13985         * m4/getline.m4: Separate out getdelim stuff into separate module.
13986
13987         * m4/getdelim.m4: New file.
13988
13989 2005-08-02  Simon Josefsson  <jas@extundo.com>
13990
13991         * lib/getline.h, getline.c: Rewrite.
13992
13993         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
13994
13995 2005-07-31  Bruno Haible  <bruno@clisp.org>
13996
13997         * lib/lock.h (gl_lock_initializer): New macro.
13998         (gl_lock_define_initialized): Use it.
13999         (gl_rwlock_initializer): New macro.
14000         (gl_rwlock_define_initialized): Use it.
14001         (gl_recursive_lock_initializer): New macro.
14002         (gl_recursive_lock_define_initialized): Use it.
14003
14004 2005-07-30  Karl Berry  <karl@gnu.org>
14005
14006         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
14007         Report from Ben Pfaff, regarding getopt.
14008
14009 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
14010
14011         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
14012         normal way.
14013         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
14014         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
14015         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
14016         (gl_GETOPT): Use the new macros.  Most of the implementation
14017         is moved to the new macros.  This is for programs like Emacs
14018         that don't want all the functionality of gl_GETOPT.
14019
14020 2005-07-26  Bruno Haible  <bruno@clisp.org>
14021
14022         * m4/lock.m4: Update from GNU gettext.
14023
14024 2005-07-26  Bruno Haible  <bruno@clisp.org>
14025
14026         * lib/lock.h: Update from GNU gettext.
14027         * lib/lock.c: Update from GNU gettext.
14028
14029 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14030
14031         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
14032         obsolescent AC_TRY_RUN.  Include the default includes files, for
14033         'exit'.
14034
14035 2005-07-24  Bruno Haible  <bruno@clisp.org>
14036
14037         * modules/visibility: New file.
14038         * MODULES.html.sh (Misc): Add visibility.
14039
14040 2005-07-24  Bruno Haible  <bruno@clisp.org>
14041
14042         * m4/visibility.m4: New file.
14043
14044 2005-07-24  Bruno Haible  <bruno@clisp.org>
14045
14046         * doc/visibility.texi: New file.
14047
14048 2005-07-22  Bruno Haible  <bruno@clisp.org>
14049
14050         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
14051         $(ALLOCA_H), redundant through BUILT_SOURCES.
14052         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
14053         redundant through BUILT_SOURCES.
14054         * modules/byteswap (Makefile.am): Remove explicit dependency on
14055         $(BYTESWAP_H), redundant through BUILT_SOURCES.
14056         * modules/fnmatch (Makefile.am): Remove explicit dependency on
14057         $(FNMATCH_H), redundant through BUILT_SOURCES.
14058         * modules/getopt (Makefile.am): Remove explicit dependency on
14059         $(GETOPT_H), redundant through BUILT_SOURCES.
14060         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
14061         redundant through BUILT_SOURCES.
14062         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
14063         redundant through BUILT_SOURCES.
14064         * modules/stdbool (Makefile.am): Remove explicit dependency on
14065         $(STDBOOL_H), redundant through BUILT_SOURCES.
14066         * modules/stdint (Makefile.am): Remove explicit dependency on
14067         $(STDINT_H), redundant through BUILT_SOURCES.
14068         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
14069         Remove explicit dependency on $(SYSEXITS_H).
14070         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
14071
14072 2005-07-18  Simon Josefsson  <jas@extundo.com>
14073
14074         * lib/check-version.c (check_version): Accept identical versions too.
14075
14076 2005-07-18  Bruno Haible  <bruno@clisp.org>
14077
14078         * modules/lock: New file.
14079         * MODULES.html.sh (Multithreading): New section.
14080
14081 2005-07-18  Bruno Haible  <bruno@clisp.org>
14082
14083         * m4/lock.m4: New file, from GNU gettext.
14084
14085 2005-07-18  Bruno Haible  <bruno@clisp.org>
14086
14087         * lib/lock.h: New file, from GNU gettext.
14088         * lib/lock.c: New file, from GNU gettext.
14089
14090 2005-07-18  Bruno Haible  <bruno@clisp.org>
14091
14092         * lib/lock.h (gl_once_t): New type.
14093         (gl_once_define, gl_once): New macros.
14094         * lib/lock.c (fresh_once): New variable.
14095         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
14096         functions.
14097
14098 2005-07-16  Simon Josefsson  <jas@extundo.com>
14099
14100         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
14101         workaround, suggested by Bruno.
14102
14103 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14104
14105         * modules/xalloc (Depends-on): Add xalloc-die.
14106         * modules/xvasprintf (Depends-on): Add xalloc-die.
14107
14108 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14109
14110         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
14111         with a minor change.
14112
14113 2005-07-15  Bruno Haible  <bruno@clisp.org>
14114
14115         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
14116         When using lib/poll.c, define poll as rpl_poll.
14117
14118 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
14119
14120         * modules/argp (Depends-on): Remove unlocked-io.
14121
14122 2005-07-14  Derek Price  <derek@ximbiot.com>
14123
14124         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
14125         for glob symlink bug.
14126
14127 2005-07-14  Bruno Haible  <bruno@clisp.org>
14128
14129         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
14130         Instead, test for *_unlocked function declarations directly.
14131
14132 2005-07-11  Simon Josefsson  <jas@extundo.com>
14133
14134         * modules/size_max: New file.
14135
14136         * modules/xsize: Depend on size_max module for size_max.m4.
14137
14138 2005-07-11  Simon Josefsson  <jas@extundo.com>
14139
14140         * lib/size_max.h: New file.
14141
14142 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
14143
14144         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
14145         copyright symbol and the year.
14146         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
14147         (version_etc_va): Use parameterized copyright notice.
14148         Reword to conform to the current GNU coding standards.
14149
14150 2005-07-11  Karl Berry  <karl@gnu.org>
14151
14152         * doc/gnulib.texi (Quoting): new node.
14153         (Initial import): more info, from Patrice.
14154
14155 2005-07-11  Bruno Haible  <bruno@clisp.org>
14156
14157         * gnulib-tool (func_usage): Document option --avoid.
14158         (Command line options): Handle --avoid.
14159         (func_acceptable): New function.
14160         (func_modules_transitive_closure): Use it.
14161
14162 2005-07-11  Bruno Haible  <bruno@clisp.org>
14163
14164         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
14165         Reported by Jim Meyering.
14166
14167 2005-07-10  Bruno Haible  <bruno@clisp.org>
14168
14169         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
14170         Needed when size_t is smaller than 'unsigned int'.
14171         Reported by Paul Eggert.
14172
14173 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
14174
14175         * modules/argp (Depends-on): Add unlocked-io
14176
14177 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
14178
14179         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
14180         block of defines.
14181
14182 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14183
14184         * config/srclist.txt: Comment out regcomp.c, since we have a porting
14185         fix now.
14186
14187 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
14188         and Paul Eggert  <eggert@cs.ucla.edu>
14189
14190         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
14191         in wint_t, not wchar_t.  Remove now-unnecessary cast.
14192
14193 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14194
14195         * modules/regex (Files): Add lib/regex_internal.c,
14196         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
14197         (Depends-on): Add extensions.
14198         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
14199
14200 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14201
14202         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
14203         pathconf.
14204         * m4/same.m4 (gl_SAME): Likewise.
14205         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
14206
14207         * m4/regex.m4: Adjust to new libc regex implementation.
14208         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
14209         all the .c and .h parts of (the new) regex.
14210         Quote the m4 stuff better.
14211         Check for RE_ICASE bug of old gnulib.
14212         Check for REG_STARTEND of recent libc.
14213         Rename local variables from jm_* to gl_*.
14214         Quote operand of "test -f".
14215         Say "recent enough" version of libc, not "version 2".
14216         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
14217         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
14218         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
14219         Remove check for btowc, isascii.
14220         Require AM_LANGINFO_CODESET.
14221
14222 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14223
14224         * lib/regex.c, regex.h: Sync from libc.
14225         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
14226         * lib/regexec.c:
14227         New files, synced from libc, except that regex_internal.h
14228         currently has a small porting fix.
14229
14230 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14231
14232         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
14233         regex_internal.c, regexec.c.
14234         Add regex_internal.h too, but as a comment, since the libc version
14235         is currently broken in gnulib mode.
14236
14237 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14238
14239         Support programs like Emacs that use gnulib but not gettext.
14240         * MODULES.html.sh (Internationalization functions): Add gettext-h.
14241         * modules/gettext-h: New file.
14242         * modules/gettext (Files): Remove lib/gettext.h.
14243         (Depends-on): Add gettext-h.
14244         (Makefile.am): Remove lib_SOURCES.
14245         * modules/argmatch, modules/c-stack, modules/closeout:
14246         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
14247         * modules/execute, modules/file-type, modules/getaddrinfo:
14248         * modules/getopt, modules/human, modules/javacomp:
14249         * modules/javaexec, modules/mkdir-p, modules/obstack:
14250         * modules/openat, modules/pagealign_alloc, modules/pipe:
14251         * modules/quotearg, modules/regex, modules/rpmatch:
14252         * modules/unicodeio, modules/userspec, modules/version-etc:
14253         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
14254         * modules/xsetenv:
14255         Depend on gettext-h, not gettext.
14256
14257 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
14258
14259         * gnulib-tool (func_import): Add support for 'public domain' license.
14260         * modules/alloca, modules/atexit, modules/memmove:
14261         Now public domain, not GPL.
14262         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
14263         * modules/realloc, modules/strerror, modules/strtod:
14264         Now LGPL, not GPL.
14265
14266 2005-07-05  Bruno Haible  <bruno@clisp.org>
14267
14268         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
14269         autoconf CVS. Needed for mingw.
14270
14271 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14272
14273         Remove the dependency of the strftime module on the tzset module.
14274         * modules/strftime (Depends-on): Remove dependency on tzset.
14275
14276 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14277
14278         Remove the dependency of the strftime module on the tzset module.
14279         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
14280         gl_FUNC_TZSET_CLOBBER.
14281
14282 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14283
14284         Remove the dependency of the strftime module on the tzset module.
14285         * lib/strftime.c (my_strftime)
14286         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
14287         Copy the input structure, to work around some of the bug with
14288         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
14289         Solaris releases, you should also use the tzset module, but we won't
14290         require it as a dependency any more since we don't want LGPLed code
14291         to depend on GPLed code.
14292
14293 2005-07-02  Jim Meyering  <jim@meyering.net>
14294
14295         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
14296         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
14297         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
14298         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
14299
14300 2005-07-02  Jim Meyering  <jim@meyering.net>
14301
14302         * lib/backupfile.c (backup_args): Change a `0' to NULL.
14303
14304 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
14305
14306         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
14307         declares only 'struct timespec;' (!).
14308
14309 2005-07-01  Jim Meyering  <jim@meyering.net>
14310
14311         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
14312         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
14313         * lib/save-cwd.c, tempname.c:
14314         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
14315         and don't include <sys/file.h>).
14316
14317 2005-06-29  Jim Meyering  <jim@meyering.net>
14318
14319         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
14320         type name.  Use the variable name instead.
14321         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
14322         Likewise.
14323
14324 2005-06-28  Simon Josefsson  <jas@extundo.com>
14325
14326         * modules/check-version (Files): Add check-version.m4.
14327
14328 2005-06-28  Simon Josefsson  <jas@extundo.com>
14329
14330         * m4/check-version.m4: New file, suggested by Jim Meyering
14331         <jim@meyering.net>.
14332
14333 2005-06-28  Simon Josefsson  <jas@extundo.com>
14334
14335         * lib/check-version.h, lib/check-version.c: New files.
14336
14337 2005-06-28  Simon Josefsson  <jas@extundo.com>
14338
14339         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
14340         collision with global variable.  Better indentation.  Don't
14341         increment buffer pointer beyond buffer end.  Based on comments
14342         from Paul Eggert <eggert@cs.ucla.edu>.
14343
14344         * lib/base64.h: Indent.
14345
14346 2005-06-28  Simon Josefsson  <jas@extundo.com>
14347
14348         * doc/gnulib.texi (Library version handling): New section.
14349
14350 2005-06-28  Jim Meyering  <jim@meyering.net>
14351
14352         * check-module (find_included_lib_files): Hard-code another
14353         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
14354         but modules/fts-lgpl (correctly) does not list those files.
14355
14356         * modules/canonicalize (Files): Add lib/pathmax.h.
14357
14358 2005-06-25  Simon Josefsson  <jas@extundo.com>
14359
14360         * modules/check-version: New file.
14361
14362 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
14363
14364         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
14365         initializer of struct addrinfo, as an indication that we don't
14366         care how many members the structure has.
14367
14368 2005-06-24  Derek Price  <derek@ximbiot.com>
14369         and Bruno Haible  <bruno@clisp.org>
14370
14371         Remove stat module & update lstat.
14372         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
14373         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14374         * m4/stat.m4: Remove this file.
14375
14376 2005-06-24  Derek Price  <derek@ximbiot.com>
14377         and Bruno Haible  <bruno@clisp.org>
14378
14379         Remove stat module & update lstat.
14380         * lib/stat.c: Remove this file...
14381         (slash_aware_lstat): ...moving this content and its support...
14382         * lib/lstat.c (rpl_lstat): ...into here.
14383         * lib/lstat.h: New file.
14384
14385 2005-06-24  Derek Price  <derek@ximbiot.com>
14386         and Bruno Haible  <bruno@clisp.org>
14387
14388         Remove stat module & update lstat.
14389         * config/srclist.txt (libc sources): Remove stat.
14390
14391 2005-06-24  Derek Price  <derek@ximbiot.com>
14392         and Bruno Haible  <bruno@clisp.org>
14393
14394         Remove stat module & update lstat.
14395         * MODULES.html.sh (stat): Remove.
14396         * MODULES.html: Regenerated.
14397         * modules/lstat (Description): Correct function name.
14398         (Files): Add "lstat.h".
14399         (Depends-on): Remove stat, add xalloc, stat-macros.
14400         * modules/stat: Remove this file.
14401         (Include): Add "lstat.h", remove <sys/stat.h>.
14402
14403 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
14404
14405         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
14406         (ranged_convert): Don't save conversion in a temporary struct.
14407         This causes a warning with GCC 4.0.0, and anyway in the typical
14408         case it's not worth the extra 100 bytes or so of code.
14409         (ranged_convert, __mktime_internal): When calling a function via a
14410         pointer P, use P () rather than (*P) (), as we now assume C89 or
14411         better.
14412
14413 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14414
14415         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
14416         "who -r" failed to give output.  Problem reported by Tim Waugh.
14417
14418         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
14419         (xcalloc): Use it to avoid needless tests.
14420         Problem reported by Jim Meyering.
14421
14422 2005-06-20  Derek Price  <derek@ximbiot.com>
14423
14424         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
14425         unnecessary for Autoconfs > 2.59c.
14426
14427 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14428
14429         * lib/argp.h (__option_is_short): Check upper limit of
14430         __key. Isprint() requires its argument to have the value
14431         of an unsigned char or EOF.
14432
14433 2005-06-16  Jim Meyering  <jim@meyering.net>
14434
14435         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
14436         when either N or S is zero.
14437
14438 2005-06-16  Derek Price  <derek@ximbiot.com>
14439
14440         * m4/bison.m4: Declare YACC & YFLAGS precious.
14441
14442 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
14443
14444         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
14445         multibyte string or pattern, fall back on unibyte matching.
14446         Problem reported by James Youngman.
14447
14448 2005-06-08  Bruno Haible  <bruno@clisp.org>
14449
14450         * modules/csharpcomp: New file.
14451         * MODULES.html.sh (C#): Add csharpcomp.
14452
14453 2005-06-08  Bruno Haible  <bruno@clisp.org>
14454
14455         * m4/csharpcomp.m4: New file, from GNU gettext.
14456
14457 2005-06-08  Bruno Haible  <bruno@clisp.org>
14458
14459         * lib/csharpcomp.h: New file, from GNU gettext.
14460         * lib/csharpcomp.c: New file, from GNU gettext.
14461         * lib/csharpcomp.sh.in: New file, from GNU gettext.
14462
14463 2005-06-08  Bruno Haible  <bruno@clisp.org>
14464
14465         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
14466         warning on mingw.
14467
14468 2005-06-07  Derek Price  <derek@ximbiot.com>
14469
14470         Sync from CVS.
14471         * lib/glob_.h: Indent nested #ifdef.
14472
14473 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14474
14475         Sync from coreutils.
14476         Use "file name" when talking about file names, instead of "filename"
14477         or "path", as per the GNU coding standards.
14478         * lib/mkdir-p.c: Renamed from makepath.c.
14479         (make_dir_parents): Renamed from make_path.  All callers changed.
14480         * lib/mkdir-p.h: Likewise.  All includers changed.
14481         * lib/filenamecat.c: Renamed from path-concat.c.
14482         (file_name_concat): Renamed from path_concat.  All callers changed.
14483         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
14484         * lib/filenamecat.h: Likewise.  All includers changed.
14485         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
14486         in comments or local variable names.
14487         * lib/basename.c: Likewise.
14488         * lib/canonicalize.c, canonicalize.h: Likewise.
14489         * lib/dirname.c, dirname.h: Likewise.
14490         * lib/euidaccess.c: Likewise.
14491         * lib/exclude.c: Likewise
14492         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
14493         * lib/fsusage.c, fsuage.h: Likewise.
14494         * lib/fts.c, fts_.h: Likewise.
14495         * lib/getcwd.c: Likewise.
14496         * lib/getloadavg.c: Likewise.
14497         * lib/mkstemp.c: Likewise.
14498         * lib/mountlist.c, mountlist.h: Likewise.
14499         * lib/openat.c, openat.h: Likewise.
14500         * lib/readlink-stub.c: Likewise.
14501         * lib/readutmp.c, readutmp.h: Likewise.
14502         * lib/rename.c: Likewise.
14503         * lib/rmdir.c: Likewise.
14504         * lib/same.c: Likewise.
14505         * lib/savedir.c: Likewise.
14506         * lib/stripslash.c: Likewise.
14507         * lib/tempname.c: Likewise.
14508         * lib/xreadlink.c: Likewise.
14509         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
14510         All uses changed.
14511         * lib/exclude.h: Likewise.
14512
14513         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
14514         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14515         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
14516         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14517         * lib/pathmax.h: Include <limits.h> unconditionally, since other
14518         files have been getting away with it for years (MORE/BSD 4.3
14519         is extinct now).
14520         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
14521         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14522
14523         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
14524         Define to 256, not 255, as per modern POSIX.
14525
14526 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14527
14528         Sync from coreutils.
14529         Use "file name" when talking about file names, instead of "filename"
14530         or "path", as per the GNU coding standards.
14531         * MODULES.html.sh: mkdir-p renamed from makepath.
14532         filenamecat renamed from path-concat.
14533         * modules/filenamecat: Renamed from modules/path-concat.
14534         (Files): filenamecat.h and filenamecat.c renamed from
14535         path-concat.h and path-concat.c.
14536         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
14537         (Include): filenamecat.h, not path-concat.h.
14538         * modules/mkdir-p: Renamed from modules/makepath.
14539         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
14540         makepath.c.
14541         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
14542         (Include): mkdir-p.h, not makepath.h.
14543
14544 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14545
14546         Sync from coreutils.
14547         * m4/mkdir-p.m4: Renamed from makepath.m4.
14548         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
14549         Rename files from makepath.c to mkdir-p.c, and from
14550         makepath.h to mkdir-p.h.
14551         * m4/filenamecat.m4: Renamed from path-concat.m4.
14552         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
14553         Rename files from path-concat.c to filenamecat.c,
14554         and from path-concat.h to filenamecat.h.
14555         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
14556         "file name" in local variables or comments.
14557         * m4/rename.m4: Likewise.
14558
14559 2005-06-01  Bruno Haible  <bruno@clisp.org>
14560
14561         * modules/csharpexec: New file.
14562         * MODULES.html.sh (C#): New section.
14563
14564 2005-06-01  Bruno Haible  <bruno@clisp.org>
14565
14566         * m4/csharp.m4: New file, from GNU gettext.
14567         * m4/csharpexec.m4: New file, from GNU gettext.
14568
14569 2005-06-01  Bruno Haible  <bruno@clisp.org>
14570
14571         * lib/csharpexec.h: New file, from GNU gettext.
14572         * lib/csharpexec.c: New file, from GNU gettext.
14573         * lib/csharpexec.sh.in: New file, from GNU gettext.
14574
14575 2005-05-31  Derek Price  <derek@ximbiot.com>
14576             Paul Eggert  <eggert@cs.ucla.edu>
14577
14578         Sync from cvs.
14579         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
14580
14581 2005-05-31  Derek Price  <derek@ximbiot.com>
14582             Paul Eggert  <eggert@cs.ucla.edu>
14583
14584         Sync from cvs.
14585         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
14586
14587 2005-05-29  Derek Price  <derek@ximbiot.com>
14588
14589         * config/srclist.txt (glob_.h, glob.c): Add these files.
14590
14591 2005-05-29  Derek Price  <derek@ximbiot.com>
14592
14593         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
14594         * modules/glob: New file.
14595         * modules/getlogin_r: Add link to POSIX spec in description.
14596
14597 2005-05-29  Derek Price  <derek@ximbiot.com>
14598             Paul Eggert  <eggert@cs.ucla.edu>
14599
14600         * m4/glob.m4: New file.
14601
14602 2005-05-29  Derek Price  <derek@ximbiot.com>
14603             Paul Eggert  <eggert@cs.ucla.edu>
14604
14605         * lib/glob_.h, lib/glob.c: New files.
14606
14607 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14608
14609         * modules/fts (Files): Remove m4/inttypes-pri.m4.
14610         * modules/fts-lgpl (Depends-on): Remove gettext.
14611
14612 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14613
14614         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
14615         and don't require gt_INTTYPES_PRI.
14616
14617 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14618
14619         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
14620
14621         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
14622         the configuration hassle isn't worth it.
14623         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
14624         (LONGEST_MODIFIER, PRIuMAX): Remove.
14625
14626 2005-05-27  Bruno Haible  <bruno@clisp.org>
14627
14628         * lib/getlogin_r.h: Remove second include of <stddef.h>.
14629
14630 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
14631
14632         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
14633         _POSIX_PTHREAD_SEMANTICS for Solaris.
14634
14635 2005-05-25  Derek Price  <derek@ximbiot.com>
14636
14637         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
14638
14639 2005-05-25  Derek Price  <derek@ximbiot.com>
14640             Paul Eggert  <eggert@cs.ucla.edu>
14641
14642         * modules/getlogin_r, m4/getlogin_r.m4: New files.
14643         * lib/getlogin_r.c, getlogin_r.h: New files.
14644
14645 2005-05-25  Bruno Haible  <bruno@clisp.org>
14646             Derek Price  <derek@ximbiot.com>
14647
14648         * lib/getlogin_r.h: Simplify API documentation.
14649
14650 2005-05-23  Derek Price  <derek@ximbiot.com>
14651
14652         * modules/minmax (Files): Add m4/minmax.m4.
14653         (configure.ac): Add gl_MINMAX.
14654
14655 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14656
14657         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
14658         so that unistd-safer.h (GPL'ed code) need not be included.
14659
14660 2005-05-22  Bruno Haible  <bruno@clisp.org>
14661
14662         * m4/minmax.m4: New file.
14663         Based on a patch by Derek Price <derek@ximbiot.com>.
14664
14665 2005-05-22  Bruno Haible  <bruno@clisp.org>
14666
14667         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
14668         (INT64_MIN): Fix definition.
14669         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
14670
14671         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
14672         NEED_SIGNED_INT_TYPES.
14673
14674         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
14675         HAVE_SYSTEM_INTTYPES.
14676
14677 2005-05-22  Bruno Haible  <bruno@clisp.org>
14678
14679         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
14680         Also include <sys/param.h> if it defines MIN, MAX.
14681         Based on a patch by Derek Price <derek@ximbiot.com>.
14682
14683 2005-05-21  Jim Meyering  <jim@meyering.net>
14684
14685         * modules/fts (Files): Add m4/inttypes-pri.m4.
14686         (Depends-on): Add lstat and remove gettext.  Alphabetize.
14687
14688 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14689
14690         New fts module.
14691         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
14692         (setup_dir, free_dir): New functions.
14693         (enter_dir, leave_dir): Define trivial
14694         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
14695         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
14696         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
14697         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
14698         Move to fts-cycle.c.
14699         (fts_open): Use setup_dir.
14700         (fts_close): Use free_dir.
14701         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
14702         This adds a label and some gotos, but the alternatives were messier.
14703         Check for memory allocation failure when entering a dir.
14704         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
14705         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
14706         (FTS): New member fts_cycle, that is a union that contains the
14707         old active_dir_ht and cycle_state.  All uses changed to mention
14708         fts_cycle.ht and fts_cycle.state.
14709         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
14710         fts.c, with the following changes:
14711         (setup_dir, free_dir): New functions.
14712         (enter_dir): Now returns bool.  Return true if successful, false
14713         if memory exhausted.  All callers changed.
14714         Do not bother partly cleaning up on
14715         memory allocation failure; that is free_dir's job.
14716         However, free ad if hash_insert fails, to avoid memory leak.
14717         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
14718         fts->fts_options to see which union member to use.
14719
14720 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14721
14722         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
14723         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
14724
14725 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14726
14727         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
14728
14729 2005-05-20  Jim Meyering  <jim@meyering.net>
14730
14731         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
14732         Now a macro, to pacify GCC.
14733
14734 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
14735
14736         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
14737         of -1.
14738
14739 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
14740
14741         * lib/chown.c (rpl_chown): Return -1 on failure.
14742
14743 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
14744
14745         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
14746         Don't check for stddef.h.
14747         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
14748         don't use its results.
14749         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
14750         since we include them unconditionally.  Don't require
14751         AM_STDBOOL_H, since stdbool is a prerequisite.
14752         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
14753         since we assume C89 or better.
14754         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
14755         as we don't use their results.
14756         Don't check for fchdir, memmove, memset, strrchr, as we use
14757         them unconditionally.
14758         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
14759         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
14760
14761 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
14762
14763         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
14764         Include <stddef.h> unconditionally, since we assume C89 now.
14765         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
14766         * lib/fts.c: Include fts_.h first, to check interface.
14767         Do not include intprops.h; no longer needed.
14768         Include cycle-check.h and hash.h, since fts_.h no longer does.
14769         Remove unnecessary casts of closedir to void.
14770         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
14771         decide whether to decrement nlinks.
14772         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
14773         (FTS): Use struct hash_table * instead of Hash_table, so that
14774         we no longer need to include hash.h here.
14775
14776 2005-05-18  Jim Meyering  <jim@meyering.net>
14777
14778         * modules/dirfd (License): Change to LGPL.  Most of the code
14779         is already in the public domain.
14780
14781 2005-05-18  Jim Meyering  <jim@meyering.net>
14782
14783         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
14784         Reported by Yoann Vandoorselaere.
14785
14786 2005-05-17  Jim Meyering  <jim@meyering.net>
14787
14788         * m4/fts.m4: New file, from coreutils.
14789
14790 2005-05-17  Jim Meyering  <jim@meyering.net>
14791
14792         * lib/fts.c, lib/fts_.h: New files, from coreutils.
14793
14794 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14795
14796         Sync from coreutils.
14797         * m4/unlinkdir.m4: New file.
14798
14799 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14800
14801         Sync from coreutils.
14802         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
14803         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
14804         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
14805         White space changes only.
14806         * lib/makepath.c (make_path): Port to hosts where leading "//" is
14807         special.
14808         * lib/yesno.c: Include getline.h, not ctype.h.
14809         (yesno): Don't remove leading white space; POSIX doesn't allow it.
14810         Use getline to remove arbitrary restriction on response length.
14811
14812 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14813
14814         * config/srclist-update: Spell out "Street" in FSF postal
14815         mail address; this is the style the FSF seems to prefer.
14816
14817         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
14818         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
14819         this updates FSF postal mail address.
14820
14821         Sync from coreutils.
14822         * modules/unlinkdir: New file.
14823         * modules/yesno (Depends-on): Add getline.
14824         * MODULES.html.sh (File system functions): Add unlinkdir.
14825
14826 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14827
14828         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
14829         lib/strsep.h:
14830         Change the initial comment to refer to GPL, not LGPL.
14831         gnulib-tool will change it to LGPL as needed.
14832
14833         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
14834         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
14835         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
14836         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
14837         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
14838         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
14839         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
14840         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
14841         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
14842         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
14843         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
14844         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
14845         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
14846         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
14847         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
14848         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
14849         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
14850         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
14851         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
14852         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
14853         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
14854         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
14855         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
14856         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
14857         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
14858         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
14859         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
14860         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
14861         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
14862         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
14863         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
14864         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
14865         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
14866         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
14867         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
14868         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
14869         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
14870         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
14871         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
14872         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
14873         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
14874         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
14875         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
14876         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
14877         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
14878         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
14879         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
14880         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
14881         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
14882         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
14883         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
14884         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
14885         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
14886         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
14887         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
14888         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
14889         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
14890         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
14891         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
14892         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
14893         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
14894         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
14895         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
14896         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
14897         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
14898         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
14899         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
14900         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
14901         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
14902         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
14903         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
14904         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
14905         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
14906         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
14907         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
14908         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
14909         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
14910         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
14911         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
14912         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
14913         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
14914         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
14915         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
14916         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
14917         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
14918         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
14919         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
14920         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
14921         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
14922         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
14923         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
14924         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
14925         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
14926         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
14927         lib/yesno.c, lib/yesno.h:
14928         Update FSF postal mail address.
14929
14930 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14931
14932         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
14933         tests/test-memmem.c, tests/test-stpncpy.c:
14934         Update FSF postal mail address.
14935
14936 2005-05-13  Bruno Haible  <bruno@clisp.org>
14937
14938         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
14939         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
14940         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
14941         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
14942         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
14943         Add support for 64-bit integers in the MSVC compiler.
14944
14945 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14946
14947         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
14948
14949 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
14950
14951         * gnulib-tool (func_import): Sort and uniquify recommended includes.
14952
14953 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
14954
14955         * doc/getdate.texi (General date syntax): Don't say that date
14956         date --iso-8601=ns generates acceptable dates; it doesn't yet.
14957         Problem reported by Nic Ferrier.
14958
14959 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14960
14961         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
14962         specified in ai_socktype. Fix invalid ai_protocol
14963         check. ai_protocol is usually set to 0 or depending on
14964         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
14965         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
14966         ai_socktype / ai_protocol in the returned addrinfo structure.
14967
14968 2005-05-10  Simon Josefsson  <jas@extundo.com>
14969
14970         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
14971         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
14972
14973 2005-05-10  Karl Berry  <karl@gnu.org>
14974
14975         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
14976         (from http://www.gnu.org/licenses).
14977         * doc/COPYING.LIB: also rename to COPYING.LESSER.
14978         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
14979         fdl.texi suffices.
14980
14981 2005-05-10  Karl Berry  <karl@gnu.org>
14982
14983         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
14984         (COPYING.DOC): remove.
14985
14986         * config/srclist-update: new FSF address.
14987
14988 2005-05-10  Derek Price  <derek@ximbiot.com>
14989
14990         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
14991         possible.
14992
14993 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14994             Bruno Haible  <bruno@clisp.org>
14995
14996         * modules/inet_ntop: New file.
14997         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14998         inet_ntop.
14999
15000 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15001             Bruno Haible  <bruno@clisp.org>
15002
15003         * m4/inet_ntop.m4: New file.
15004
15005 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15006             Bruno Haible  <bruno@clisp.org>
15007
15008         * lib/inet_ntop.h: New file.
15009         * lib/inet_ntop.c: New file, from glibc with modifications.
15010
15011 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
15012
15013         * modules/time_r (License): Change to LGPL.
15014         * modules/extensions (License): Change to LGPL.  Actually,
15015         the license is more permissive than that, but currently gnulib-tool
15016         doesn't know how to handle more-permissive licenses.
15017
15018         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
15019         Problem reported by Dave Love.
15020
15021 2005-05-08  Jim Meyering  <jim@meyering.net>
15022
15023         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
15024         blank.
15025
15026 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
15027
15028         * modules/argmatch (Depends-on): Add stdbool.
15029         * modules/backupfile (Depends-on): Likewise.
15030         * modules/chdir-long (Depends-on): Likewise.
15031         * modules/closeout (Depends-on): Likewise.
15032         * modules/cycle-check (Depends-on): Likewise.
15033         * modules/dirname (Depends-on): Likewise.
15034         * modules/fnmatch (Depends-on): Likewise.
15035         * modules/fsusage (Depends-on): Likewise.
15036         * modules/fwriteerror (Depends-on): Likewise.
15037         * modules/getcwd (Depends-on): Likewise.
15038         * modules/getloadavg (Depends-on): Likewise.
15039         * modules/hard-locale (Depends-on): Likewise.
15040         * modules/makepath (Depends-on): Likewise.
15041         * modules/mountlist (Depends-on): Likewise.
15042         * modules/nanosleep (Depends-on): Likewise.
15043         * modules/posixtm (Depends-on): Likewise.
15044         * modules/quotearg (Depends-on): Likewise.
15045         * modules/readtokens (Depends-on): Likewise.
15046         * modules/readtokens0 (Depends-on): Likewise.
15047         * modules/readutmp (Depends-on): Likewise.
15048         * modules/save-cwd (Depends-on): Likewise.
15049         * modules/strftime (Depends-on): Likewise.
15050         * modules/userspec (Depends-on): Likewise.
15051         * modules/utimecmp (Depends-on): Likewise.
15052         * modules/xgetcwd (Depends-on): Likewise.
15053         * modules/xnanosleep (Depends-on): Likewise.
15054         * modules/xstrtod (Depends-on): Likewise.
15055         * modules/yesno (Depends-on): Likewise.
15056
15057 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
15058
15059         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
15060         needless checks.
15061
15062 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15063
15064         Merge from coreutils.  Among other things,
15065         add bulletproofing for cases where stdin, stdout, or stderr are closed.
15066         * lib/fd-safer.c: New file.
15067         * lib/fcntl-safer.h, open-safer.c: Remove.
15068         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
15069         * lib/dup-safer.c: Include unistd-safer.h first.
15070         Don't include errno.h.
15071         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
15072         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
15073         * lib/file-type.c: Rely on file-type.h change.
15074         * lib/getloadavg.c: Include unistd-safer.h.
15075         (getloadavg): Use safer open.
15076         * lib/getusershell.c: Include "stdio-safer.h".
15077         (getusershell): Use safer fopen.
15078         * lib/long-options.c (long_options): Use NULL rather than 0.
15079         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
15080         'free'.
15081         * lib/modechange.c: Likewise.
15082         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
15083         (MODE_DONE): New constant.
15084         (struct mode_change): Remove 'next' member.
15085         (make_node_op_equals): New function; like the old one of the
15086         same name, except it allocates an array.
15087         (mode_compile, mode_create_from_ref): Use it.
15088         (mode_compile): Allocate result as an array, not a linked list.
15089         Parse octal string ourself, so that we catch mistakes like "+0".
15090         (mode_adjust): Arg is an array, not a linked list.
15091         * lib/modechange.c: Include stat-macros.h, xalloc.h.
15092         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
15093         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
15094         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
15095         Remove.  This is now stat-macros.h's job.
15096         (talloc): Remove.  All callers replaced by xalloc, so that
15097         our invokers don't have to worry about reporting memory failures.
15098         (make_node_op_equals): Remove.
15099         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
15100         New constants.
15101         (struct mode_change): Moved here from modechange.h.
15102         (mode_append_entry): Remove.
15103         (mode_compile): Remove MASKED_OPS arg, since it encouraged
15104         apps to have incorrect behavior.  Use simpler algorithm for head
15105         and tail.  Don't futz with umask; that's now the job of mode_adjust.
15106         Detect more invalid usages rather than having somewhat-random behavior.
15107         Don't insert an "a=" action, as that leads to incorrect behavior.
15108         (mode_compile, mode_create_from_ref): Return NULL on error instead
15109         of an enum, since now there's only one way to have an error.  All
15110         callers changed.
15111         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
15112         at the correct time.  Simplify calculation of "+u" and its ilk.
15113         Don't mishandle "+X".
15114         (mode_free): Remove "register" and localize decls.
15115         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
15116         (struct mode_change): Move to modechange.c; callers don't
15117         need to see this stuff.
15118         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
15119         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
15120         (mode_change, mode_adjust): Reflect the new signatures noted above.
15121         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
15122         that might redefine system include files.
15123         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
15124         (my_usleep): Use NULL rather than (void *) 0.
15125         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
15126         Use siginterrupt to specify that system calls should be interrupted.
15127         (rpl_nanosleep): Move initialization of suspended closer to call of
15128         my_usleep.
15129         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
15130         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
15131         (desirable_utmp_entry): New function.
15132         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
15133         using x2nrealloc, to simplify logic.
15134         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
15135         size calculation.  Do not assume utmp file is a regular file.
15136         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
15137         (READ_UTMP_CHECK_PIDS): New constant.
15138         * lib/save-cwd.c: Include unistd-safer.h.
15139         (save_cwd): Use fd_safer.
15140         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
15141         [!_LIBC] Include "stat-macros.h" instead.
15142         * lib/unistd-safer.h (fd_safer): New decl.
15143
15144 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15145
15146         * modules/getloadavg (Depends-on): Add unistd-safer.
15147         * modules/getusershell (Depends-on): Add stdio-safer.
15148         * modules/lstat (Depends-on): Remove xalloc.
15149         * modules/mkstemp (Depends-on): Add stat-macros.
15150         * modules/modechange (Depends-on): Remove xstrtol.
15151         Add stat-macros, xalloc.
15152         * modules/save-cwd (Depends-on): Add unistd-safer.
15153         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
15154         * modules/unistd-safer (Files): Add lib/fd-safer.c
15155         (Makefile.am): Remove lib_SOURCES.
15156
15157         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
15158         Remove fcntl-safer; unistd-safer supersedes it.
15159
15160 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15161
15162         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
15163         AC_HEADER_STAT.
15164         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
15165         (gl_PREREQ_CHOWN): Remove.
15166         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
15167         it.  Don't require AC_HEADER_STAT.
15168         (gl_PREREQ_LSTAT): Remove.
15169         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
15170         Don't require AC_HEADER_STAT.
15171         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
15172         (gl_PREREQ_RMDIR): Remove.
15173         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
15174         mention stat-macros.h or AC_HEADER_STAT, since we'll make
15175         the stat-macros module a prerequisite.
15176         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
15177         * m4/filemode.m4 (gl_FILEMODE): Likewise.
15178         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
15179         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
15180         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
15181         variable names.
15182         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
15183         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
15184         variable prefixes.
15185         * m4/fcntl-safer.m4: Remove.
15186         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
15187         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
15188         Invoke gl_PREREQ_FD_SAFER.
15189         (gl_PREREQ_FD_SAFER): New macro.
15190         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
15191         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
15192         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
15193         Remove duplicate call to AC_LIBOBJ(readutmp).
15194         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
15195
15196         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
15197         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
15198
15199 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15200
15201         * MODULES.html.sh (Misc): Add byteswap.
15202
15203 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15204
15205         * modules/getcwd (Depends-on): Add extensions.
15206         * modules/openat (Depends-on): Likewise.
15207
15208 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15209
15210         * modules/byteswap: New file.
15211
15212 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15213
15214         * m4/byteswap.m4: New file.
15215
15216 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15217
15218         * lib/byteswap_.h: New file.
15219
15220 2005-04-25  Karl Berry  <karl@gnu.org>
15221
15222         * m4/gettext.m4: Update from GNU gettext 0.14.4.
15223
15224 2005-04-25  Albert Chin  <china@thewrittenword.com>
15225
15226         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
15227         Toolkit C bug.
15228
15229 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
15230
15231         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
15232         (func_ln_if_changed) Remove forcibly for no error message
15233         in case file does not exist.
15234
15235 2005-04-19  Simon Josefsson  <jas@extundo.com>
15236
15237         * gnulib-tool (Options): Make --symlink mean --symbolic.
15238
15239 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
15240
15241         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
15242
15243 2005-04-16  Simon Josefsson  <jas@extundo.com>
15244
15245         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
15246
15247 2005-04-15  Simon Josefsson  <jas@extundo.com>
15248
15249         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
15250
15251 2005-04-15  Simon Josefsson  <jas@extundo.com>
15252
15253         * gnulib-tool: Rename --symlink to --symbolic.
15254
15255 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
15256
15257         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
15258         symbolic links to files instead of copying/moving.  Add --aux-dir,
15259         specifying directory relative --dir where auxiliary build tools
15260         are placed.
15261
15262 2005-04-14  Bruno Haible  <bruno@clisp.org>
15263
15264         * modules/allocsa (License): Change to LGPL.
15265         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
15266
15267 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
15268
15269         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
15270         that "UTC +1 second" continues to work.  Problem reported
15271         by Dmitry V. Levin.
15272         (relunit_snumber): New rule.
15273         (relunit): Use it.
15274
15275 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
15276
15277         * lib/getdate.y (universal_time_zone_table): New constant.
15278         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
15279         universal_time_zone_table.
15280         (lookup_zone): Prefer universal_time_zone_table to
15281         local_time_zone_table, so that "GMT" time stamps are allowed in
15282         London during the summer.  Problem reported by Ian Abbott.
15283
15284 2005-04-12  Jim Meyering  <jim@meyering.net>
15285
15286         * lib/human.c (humblock): Set *options even when returning due to
15287         xstrtoumax conversion failure.  Thanks to a used-uninitialized
15288         warning from gcc-4.
15289
15290 2005-04-09  Jim Meyering  <jim@meyering.net>
15291
15292         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
15293         -Wuninitialized: initialize tm0.tm_year.
15294
15295 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
15296
15297         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
15298         count, since there's no maximum.  All uses changed.
15299         Add member dsts_seen.
15300         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
15301         not being INT_MAX.
15302         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
15303         Use pc_rels_seen to decide whther a date is absolute.
15304
15305         * lib/getdate.y (number): Don't overwrite year.
15306         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
15307         check.
15308
15309 2005-04-02  Simon Josefsson  <jas@extundo.com>
15310
15311         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
15312         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
15313
15314 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
15315
15316         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
15317         where no absolute path name can be longer than PATH_MAX.
15318
15319 2005-03-27  Jim Meyering  <jim@meyering.net>
15320
15321         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
15322
15323 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
15324
15325         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
15326         "one's complement" -> "ones' complement" in comment, as per Knuth.
15327         "value of type" -> "type or expression" in comment.
15328         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
15329
15330 2005-03-26  Jim Meyering  <jim@meyering.net>
15331
15332         Comment nits.
15333         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
15334         Correct typos: s/or/of/.
15335
15336 2005-03-26  Jim Meyering  <jim@meyering.net>
15337
15338         * modules/check-include-files: Move to ../ and rename to...
15339         * check-module: ...this.
15340
15341 2005-03-25  Jim Meyering  <jim@meyering.net>
15342
15343         * modules/xvasprintf (Files): Add xalloc.h.
15344
15345 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
15346
15347         * modules/gettext (Files): config/config.rpath ->
15348         build-aux/config.rpath
15349         * modules/iconv (Files): Likewise.
15350         Problem reported by Oskar Liljeblad.
15351
15352 2005-03-23  Jim Meyering  <jim@meyering.net>
15353
15354         * modules/check-include-files: New script to check for
15355         missing dependencies, multiple includes, etc.
15356
15357         * modules/c-strtold (Depends-on): Add xalloc.
15358         * modules/c-strtod (Depends-on): Add xalloc.
15359         * modules/hash (Depends-on): Add xalloc.
15360         (Files): Remove lib/xalloc.h.
15361
15362         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
15363         * modules/userspec (Files): Add lib/inttostr.h.
15364
15365 2005-03-23  Jim Meyering  <jim@meyering.net>
15366
15367         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
15368
15369 2005-03-22  Jim Meyering  <jim@meyering.net>
15370
15371         * modules/stat-macros: New module.
15372         * modules/canonicalize, modules/euidaccess, modules/file-type,
15373         * modules/filemode, modules/lchown, modules/makepath,
15374         * modules/rmdir, modules/stat: Depend on new stat-macros module
15375         rather than listing lib/stat-macros.h manually.
15376         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
15377
15378 2005-03-22  Jim Meyering  <jim@meyering.net>
15379
15380         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
15381
15382 2005-03-22  Bruno Haible  <bruno@clisp.org>
15383
15384         * config/srclist.txt: Replace target directory 'config' with
15385         'build-aux'.
15386         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
15387         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
15388         ../build-aux/.
15389
15390 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
15391
15392         * modules/chdir-long (Depends-on): Add mempcpy.
15393
15394         * modules/acl, modules/backupfile, modules/c-strtod,
15395         modules/c-strtold, modules/canon-host, modules/canonicalize,
15396         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
15397         modules/exclude, modules/exitfail, modules/file-type,
15398         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
15399         modules/getdate, modules/getline, modules/getpagesize,
15400         modules/getpass, modules/getugroups, modules/group-member,
15401         modules/hard-locale, modules/hash, modules/human, modules/idcache,
15402         modules/inttostr, modules/long-options, modules/makepath,
15403         modules/md5, modules/memcasecmp, modules/memcoll,
15404         modules/modechange, modules/mountlist, modules/path-concat,
15405         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
15406         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
15407         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
15408         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
15409         modules/strftime, modules/strndup, modules/strverscmp,
15410         modules/timespec, modules/unlocked-io, modules/userspec,
15411         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
15412         modules/yesno:
15413         Remove lib_SOURCES line from Makefile.am section, as this is now
15414         done automatically by the corresponding Autoconf macro.
15415
15416 2005-03-21  Jim Meyering  <jim@meyering.net>
15417
15418         Changes imported from coreutils.
15419
15420         * lib/cycle-check.c: Don't include xalloc.h.
15421
15422         * lib/path-concat.c: Don't include assert.h.
15423         (path_concat): Remove assertion that would have triggered
15424         for ABASE starting with more than one slash.
15425         Reported by Andreas Schwab.
15426
15427         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
15428         properly when ABASE is an absolute file name.
15429         Correct the description of this function.
15430         Include <assert.h>.
15431         Add an assertion and a test driver.
15432         This fixes a bug introduced on 2004-07-02.
15433         Andreas Schwab reported the resulting failure of cp --parents:
15434         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
15435
15436 2005-03-21  Jim Meyering  <jim@meyering.net>
15437
15438         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
15439         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
15440
15441 2005-03-21  Jim Meyering  <jim@meyering.net>
15442         and  Paul Eggert  <eggert@cs.ucla.edu>
15443
15444         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
15445         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
15446         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
15447         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
15448         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
15449         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
15450         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
15451         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
15452         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
15453         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
15454         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
15455         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
15456         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
15457         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
15458         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
15459         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
15460         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
15461         for these modules.
15462
15463 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
15464
15465         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
15466         (which shouldn't happen), generate nothing instead of returning 0
15467         immediately, so that nstrftime (NULL, ...) doesn't return 0.
15468
15469 2005-03-16  Bruno Haible  <bruno@clisp.org>
15470
15471         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
15472         HAVE_LONGLONG_64BIT.
15473
15474 2005-03-16  Bruno Haible  <bruno@clisp.org>
15475
15476         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
15477         HAVE_LONGLONG_64BIT.
15478
15479 2005-03-16  Bruno Haible  <bruno@clisp.org>
15480
15481         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
15482         HAVE_LONGLONG_64BIT.
15483
15484 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
15485
15486         * lib/strftime.c (my_strftime): Prepend space to format so that we can
15487         reliably distinguish strftime failure from empty output on POSIX
15488         hosts.
15489
15490 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
15491
15492         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
15493         (iconv_string): Don't guess a size-zero buffer, as that might cause
15494         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
15495         result would be 'too large', where 'too large' is (heuristically)
15496         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
15497         overflow concerns.  This will prevent some unwanted malloc failures
15498         when the inputs are very large.
15499
15500 2005-03-15  Karl Berry  <karl@gnu.org>
15501
15502         * config/srclist.txt (config.rpath): from gettext.
15503         * config/config.rpath: update.
15504
15505 2005-03-15  Bruno Haible  <bruno@clisp.org>
15506
15507         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
15508         to 'negate'.
15509
15510         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
15511         variable.
15512
15513         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
15514         results.
15515
15516 2005-03-14  Simon Josefsson  <jas@extundo.com>
15517
15518         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
15519         <fx@gnu.org>.
15520
15521 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
15522
15523         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
15524         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
15525         intprops.h.
15526         * lib/strtol.c: Likewise.
15527
15528 2005-03-14  Jim Meyering  <jim@meyering.net>
15529
15530         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
15531         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
15532         to be nonzero so that we (and caller) can detect the difference
15533         between a valid zero-length expansion and an error return, even
15534         when the underlying strftime fails before writing anything into
15535         that location.
15536
15537 2005-03-14  Bruno Haible  <bruno@clisp.org>
15538
15539         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
15540         Update from GNU gettext 0.14.3.
15541
15542 2005-03-10  Jim Meyering  <jim@meyering.net>
15543
15544         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
15545
15546 2005-03-10  Jim Meyering  <jim@meyering.net>
15547
15548         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
15549         so that this module works on systems without fchdir.
15550
15551 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
15552
15553         Factor int-properties macros into a single file, except for
15554         glibc-related files.
15555         * lib/intprops.h: New file.
15556         * lib/getloadavg.c: Include it instead of limits.h.
15557         (INT_STRLEN_BOUND): Remove.
15558         * lib/human.c: Include intprops.h.
15559         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
15560         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
15561         302/1000.
15562         * lib/inttostr.h: Include intprops.h instead of limits.h.
15563         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
15564         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
15565         for consistency with intprops.h.
15566         (time_t_is_integer, twos_complement_arithmetic): Use them.
15567         * lib/sig2str.h: Include <signal.h>, intprops.h.
15568         (INT_STRLEN_BOUND): Remove.
15569         * lib/strftime.c (TYPE_SIGNED): Remove.
15570         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
15571         * lib/strtol.c: Adjust comments to match intprops.h.
15572         * lib/userspec.c: Include intprops.h.
15573         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
15574         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
15575         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
15576         instead of rolling our own expressions.
15577         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
15578
15579         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
15580         instead of int.
15581         (my_strftime): Do not mishandle years close to INT_MAX, by doing
15582         the right thing even if adding 1900 would overflow.  Similarly
15583         for tm_mon + 1 and tm_yday + 1.
15584         Make %Y always equivalent to %C%y, and similarly for %G and %g.
15585         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
15586         (DO_SIGNED_NUMBER): New macro.
15587         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
15588
15589 2005-03-07  Bruno Haible  <bruno@clisp.org>
15590
15591         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
15592
15593 2005-03-07  Bruno Haible  <bruno@clisp.org>
15594
15595         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
15596
15597 2005-03-04  Derek R. Price  <derek@ximbiot.com>
15598
15599         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
15600         (func_import): Only replace files via --import when they have actually
15601         changed.
15602
15603 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15604
15605         * m4/mmap-anon.m4: New file.
15606         * m4/pagealign_alloc.m4: New file.
15607
15608 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15609             Bruno Haible  <bruno@clisp.org>
15610
15611         * modules/pagealign_alloc: New file.
15612         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
15613
15614 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15615             Bruno Haible  <bruno@clisp.org>
15616
15617         * lib/pagealign_alloc.h: New file.
15618         * lib/pagealign_alloc.c: New file.
15619
15620 2005-03-03  Bruno Haible  <bruno@clisp.org>
15621
15622         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
15623         Use an all-permissive copyright notice, recommended by RMS.
15624
15625 2005-03-02  Bruno Haible  <bruno@clisp.org>
15626
15627         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
15628         of AIX, the replacement has to be done only after <string.h> is
15629         included, therefore not in config.h. stpncpy.h does the replacement,
15630         and stpncpy.c uses it.
15631
15632 2005-03-02  Bruno Haible  <bruno@clisp.org>
15633
15634         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
15635         stpncpy.c uses it.
15636
15637 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15638
15639         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
15640         The workaround isn't strictly needed for POSIX conformance, and
15641         it's too much of a pain to configure and maintain.  We'll ask
15642         people to fix their kernels instead.
15643         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
15644         (NANOSLEEP_BUG_WORKAROUND): Remove.
15645         (xnanosleep): Remove the workaround.
15646
15647 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15648
15649         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
15650         Reported by Derek Price.
15651         (Include): Add "timespec.h".
15652
15653         * modules/xnanosleep (Depends-on): Remove gethrxtime.
15654
15655 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15656
15657         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
15658         to detect nanosleep bug.
15659
15660 2005-03-01  Bruno Haible  <bruno@clisp.org>
15661
15662         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
15663
15664 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
15665
15666         * modules/gethrxtime: New file.
15667         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
15668         (Depends-on): Add gethrxtime.
15669         (configure.ac): Add gl_XNANOSLEEP.
15670         (Makefile.am): Remove lib_SOURCES line.
15671
15672 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15673
15674         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
15675         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
15676
15677 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15678
15679         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
15680         * lib/timespec.h (gettime): Return void, since it always
15681         succeeds now.  All uses changed.
15682         * lib/gettime.c (gettime) Likewise.
15683         [HAVE_NANOTIME]: Prefer nanotime.
15684         Assume gettimeofday succeeds, as POSIX requires.
15685         Assime time () succeeds, since other code already does.
15686         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
15687         (timespec_subtract): Remove.
15688         (NANOSLEEP_BUG_WORKAROUND): New constant.
15689         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
15690         things considerably.  Use it only on GNU/Linux hosts, since the
15691         workaround shouldn't be needed elsewhere.
15692
15693 2005-02-24  Bruno Haible  <bruno@clisp.org>
15694
15695         * modules/gettext (Files): Add m4/glibc2.m4.
15696
15697 2005-02-24  Bruno Haible  <bruno@clisp.org>
15698
15699         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
15700         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
15701         * m4/progtest.m4:
15702         Update from GNU gettext 0.14.2.
15703         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
15704
15705 2005-02-24  Bruno Haible  <bruno@clisp.org>
15706
15707         * lib/localcharset.c: Update from GNU gettext 0.14.2.
15708         * lib/config.charset: Update from GNU gettext 0.14.2.
15709
15710 2005-02-24  Bruno Haible  <bruno@clisp.org>
15711
15712         * lib/gettext.h: Update from GNU gettext 0.14.2.
15713
15714 2005-02-23  Simon Josefsson  <jas@extundo.com>
15715
15716         * m4/iconvme.m4: New file.
15717
15718 2005-02-23  Jim Meyering  <jim@meyering.net>
15719
15720         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
15721         change.
15722         Thanks to Bruno Haible for catching it.
15723
15724 2005-02-22  Simon Josefsson  <jas@extundo.com>
15725
15726         * modules/iconvme: New file.
15727
15728         * MODULES.html.sh: Add iconvme.
15729
15730 2005-02-22  Simon Josefsson  <jas@extundo.com>
15731
15732         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
15733
15734 2005-02-22  Simon Josefsson  <jas@extundo.com>
15735
15736         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
15737
15738 2005-02-22  Jim Meyering  <jim@meyering.net>
15739
15740         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
15741         s/ifndef/ifdef/.
15742
15743 2005-02-20  Neil Conway  <neilc@samurai.com>
15744
15745         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
15746         returned by OSX/Darwin if the specified buffer is not large
15747         enough for the hostname.
15748
15749 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15750
15751         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
15752         pass it to _help, otherwise the latter coredumps trying to
15753         dereference state.root_argp.
15754
15755 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15756
15757         * modules/chdir-long (Depends-on): Add memrchr.
15758         * modules/memrchr (Files): Add lib/memrchr.h.
15759         (Include): "memrchr.h".
15760
15761 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15762
15763         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
15764
15765 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15766
15767         * lib/memrchr.h: New file.
15768         * lib/chdir-long.c: Include it.
15769         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
15770         Don't bother including stddef.h.
15771
15772 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
15773
15774         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
15775         inclusion.
15776         Include <sys/types.h>, for dev_t.
15777         (ME_DUMMY, ME_REMOTE): Move from here....
15778         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
15779         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
15780         Dmitry V. Levin.
15781         Include mountlist.h first, to test the interface.
15782
15783 2005-01-29  Bruno Haible  <bruno@clisp.org>
15784
15785         * lib/progname.c (program_name): Initialize.
15786         Needed when linking statically on MacOS X.
15787
15788 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
15789
15790         Sync from coreutils.
15791         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
15792         (Depends-on): Add c-strtod.
15793         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
15794
15795 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
15796
15797         Sync from coreutils.
15798         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
15799
15800         Remove files that are specific to coreutils.
15801         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
15802
15803 2005-01-28  Bruno Haible  <bruno@clisp.org>
15804
15805         * modules/javacomp: New file.
15806         * MODULES.html.sh (Java): Add javacomp.
15807
15808 2005-01-28  Bruno Haible  <bruno@clisp.org>
15809
15810         * m4/javacomp.m4: New file, from GNU gettext.
15811
15812 2005-01-28  Bruno Haible  <bruno@clisp.org>
15813
15814         * lib/javacomp.sh.in: New file, from GNU gettext.
15815         * lib/javacomp.h: New file, from GNU gettext.
15816         * lib/javacomp.c: New file, from GNU gettext.
15817
15818 2005-01-26  Simon Josefsson  <jas@extundo.com>
15819
15820         * lib/gai_strerror.c: Use GPL in header.
15821
15822 2005-01-26  Bruno Haible  <bruno@clisp.org>
15823
15824         * modules/javaexec: New file.
15825         * MODULES.html.sh (Java): Add javaexec.
15826
15827 2005-01-26  Bruno Haible  <bruno@clisp.org>
15828
15829         * m4/javaexec.m4: New file, from GNU gettext.
15830
15831 2005-01-26  Bruno Haible  <bruno@clisp.org>
15832
15833         * lib/javaexec.sh.in: New file, from GNU gettext.
15834         * lib/javaexec.h: New file, from GNU gettext.
15835         * lib/javaexec.c: New file, from GNU gettext.
15836
15837 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15838
15839         * modules/lchown (Depends-on): Remove lchown.h
15840
15841 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15842
15843         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
15844         must be defined if the header file was not found, in order
15845         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
15846
15847 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15848
15849         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
15850         initializers for struct pentry_state.
15851         (__argp_error): Check return value of __asprintf
15852         (__argp_failure): Translate error message
15853
15854         * lib/argp-parse.c: Removed braces around the expansion of N_()
15855
15856 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15857
15858         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
15859         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
15860         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
15861         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
15862         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
15863         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
15864         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
15865         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
15866         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
15867         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
15868         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
15869         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
15870         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
15871         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
15872         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
15873         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
15874         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
15875         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
15876         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
15877         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
15878         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
15879         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
15880         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
15881         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
15882         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
15883         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
15884         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
15885         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
15886         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
15887         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
15888         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
15889         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
15890         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
15891         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
15892         xstrtol.m4, xstrtoumax.m4, yesno.m4:
15893         Use an all-permissive copyright notice, recommended by RMS.
15894
15895 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
15896
15897         * modules/chdir-long (Depends-on): Remove mempcpy.
15898
15899 2005-01-21  Jim Meyering  <jim@meyering.net>
15900
15901         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
15902         same value as for Solaris 9.
15903
15904         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
15905         component length.  This included changing the parameter to be
15906         of type `char *' rather than `char const *'.
15907         * lib/chdir-long.h (chdir_long): Update prototype.
15908
15909         * lib/openat.c (fdopendir, fstatat): New functions.
15910         * lib/openat.h: Include headers required for use of DIR and struct
15911         stat.
15912         [AT_SYMLINK_NOFOLLOW]: Define.
15913         (fdopendir, fstatat): Add prototypes.
15914
15915 2005-01-21  Bruno Haible  <bruno@clisp.org>
15916
15917         * modules/classpath: New file.
15918         * MODULES.html.sh (Java): Add classpath.
15919
15920 2005-01-21  Bruno Haible  <bruno@clisp.org>
15921
15922         * lib/classpath.h: New file, from GNU gettext.
15923         * lib/classpath.c: New file, from GNU gettext.
15924
15925 2005-01-20  Simon Josefsson  <jas@extundo.com>
15926
15927         * modules/version-etc-fsf: New file.
15928
15929 2005-01-20  Simon Josefsson  <jas@extundo.com>
15930
15931         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
15932         * lib/version-etc.c: Remove version_etc_copyright.
15933         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
15934         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
15935
15936 2005-01-20  Simon Josefsson  <jas@extundo.com>
15937
15938         * lib/base64.h (isbase64): Add.
15939
15940         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
15941         using a unsigned prototype, don't inline.
15942         (base64_decode): Use it.
15943
15944 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15945
15946         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
15947         it.
15948
15949 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15950
15951         * lib/save-cwd.c (save_cwd): Remove code to support the case
15952         where fchdir is missing or flaky.
15953
15954 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15955
15956         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
15957
15958 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
15959
15960         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
15961         AC_LIBSOURCES now does this.
15962         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
15963         with new ullong_max module.
15964
15965 2005-01-19  Bruno Haible  <bruno@clisp.org>
15966
15967         * modules/sh-quote: New file.
15968         * MODULES.html.sh (Executing programs): Add sh-quote.
15969
15970 2005-01-19  Bruno Haible  <bruno@clisp.org>
15971
15972         * lib/sh-quote.h: New file, from GNU gettext.
15973         * lib/sh-quote.c: New file, from GNU gettext.
15974
15975 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15976
15977         Merge from coreutils.
15978         * m4/ullong_max.m4: New file.
15979         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
15980         (gl_MACROS): Assume localeconv exists.
15981
15982 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15983
15984         Merge changes from coreutils, as described below in several
15985         changelogs dated today.
15986
15987         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
15988         (O_DIRECTORY): Remove; not needed here, since "." must be
15989         a directory.  All uses removed.
15990         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
15991         universal on Suns, and we also need to test for IRIX.
15992         Revamp code to use 'if' rather than '#if'.
15993         Avoid unnecessary comparison of cwd->desc to 0.
15994
15995         * lib/utimens.c (futimens): Robustify the previous patch, by checking
15996         for known valid error numbers rather than observed invalid ones.
15997
15998 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15999
16000         * modules/ullong_max: New file.
16001
16002         * modules/chdir-long, modules/openat: New files.
16003         * modules/save-cwd (Depends-on): Depend on chdir-long.
16004         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
16005
16006 2005-01-18  Jim Meyering  <jim@meyering.net>
16007
16008         Merge from coreutils.
16009         * m4/chdir-long.m4, m4/openat.m4: New files.
16010         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
16011         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
16012         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
16013         is sane and DOES follow symlinks.  Besides, testing 20 different
16014         systems found no broken chown implementations.
16015         Prompted by a change in rsync's copy of this macro.
16016         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
16017
16018         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
16019
16020         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
16021         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
16022         NULL-means-set-to-current-time semantics.
16023         Remove temporary file immediately, rather than waiting
16024         for configure's at-exit trap code to do it.
16025
16026 2005-01-18  Jim Meyering  <jim@meyering.net>
16027
16028         * lib/version-etc.c (version_etc_copyright): Update copyright date.
16029
16030         * lib/utimens.c (futimens): Account for the fact that futimes
16031         can also fail with errno == ENOSYS or errno == ENOENT.
16032         Patch from Dmitry V. Levin.
16033
16034         Change the name of the robust chdir function from chdir to chdir_long.
16035         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
16036         (restore_cwd): Use chdir_long, not chdir.
16037         * lib/chdir-long.c: Renamed from chdir.c.
16038         * lib/chdir-long.h: Renamed from chdir.h.
16039         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
16040         Hurd.
16041
16042 2005-01-18  Bruno Haible  <bruno@clisp.org>
16043
16044         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
16045         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
16046         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
16047         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
16048         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
16049         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
16050         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
16051         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
16052         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
16053         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
16054         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
16055         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
16056         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
16057         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
16058         Use an all-permissive copyright notice, recommended by RMS.
16059
16060 2005-01-18  Bob Proulx  <bob@proulx.com>
16061
16062         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
16063         simplify offsetof() macro construct to avoid compile failure with
16064         native HP-UX 11.0 ANSI C compiler.
16065
16066 2005-01-17  Bruno Haible  <bruno@clisp.org>
16067
16068         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
16069         redundant because stpncpy.m4 takes care of it.
16070
16071 2005-01-17  Bruno Haible  <bruno@clisp.org>
16072
16073         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
16074
16075 2005-01-17  Bruno Haible  <bruno@clisp.org>
16076
16077         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
16078         used.
16079
16080 2005-01-17  Bruno Haible  <bruno@clisp.org>
16081
16082         * lib/fwriteerror.h (fwriteerror): Change specification to include
16083         fclose.
16084         * lib/fwriteerror.c: Include <stdbool.h>.
16085         (fwriteerror): At the end, close the file stream. Record whether
16086         stdout was already closed.
16087
16088 2005-01-17  Bruno Haible  <bruno@clisp.org>
16089
16090         * lib/execute.c (environ): Declare if needed.
16091         * lib/pipe.c (environ): Likewise.
16092         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
16093
16094 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16095
16096         * modules/argp: Depend on vsnprintf
16097
16098 2005-01-10  Jim Meyering  <jim@meyering.net>
16099
16100         * modules/closeout (Depends-on): Add atexit.
16101
16102 2005-01-06  Bruno Haible  <bruno@clisp.org>
16103
16104         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
16105
16106 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
16107
16108         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
16109         definitions to be after all include files, to avoid collisions.
16110         Problem reported by Bob Proulx.
16111
16112 2005-01-04  Jim Meyering  <jim@meyering.net>
16113
16114         Changes imported from coreutils.
16115         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
16116         as the mkstemp template, use a temporary directory and an
16117         8.3-friendly template to avoid trouble on systems like DJGPP.
16118         Reported by Juan M. Guerrero via Stepan Kasal.
16119         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
16120         close. Remove the temporary directory right away, rather than waiting
16121         for configure's at-exit trap code to do it.
16122         Suggestion from Stepan Kasal.
16123
16124 2005-01-01  Simon Josefsson  <jas@extundo.com>
16125
16126         * gnulib-tool: Print #include directives when --import'ing.
16127
16128 2004-12-28  Simon Josefsson  <jas@extundo.com>
16129
16130         * tests/test-base64.c: Include required header files.  Remove
16131         unused variables.
16132
16133 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16134
16135         * modules/error (Depends-on): Remove gettext.
16136
16137 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
16138
16139         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
16140         not needed.  This removes a dependency on the gettext module.
16141         [defined _LIBC]: Do not include <libintl.h>; not needed.
16142
16143 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
16144
16145         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
16146         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
16147
16148 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
16149
16150         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
16151         HAVE_DECL_STRTOLD.
16152
16153 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16154
16155         * modules/getdate (Depends-on): Remove alloca-opt.
16156
16157 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16158
16159         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
16160
16161 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
16162
16163         * lib/argp-parse.c: Include <stddef.h>.
16164         (alignof, alignto): New macros.
16165         (parser_init): Don't assume that void * is aligned sufficiently
16166         for struct option.
16167
16168         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
16169         need to extend the stack.
16170         (YYINITDEPTH): New macro, so that the initial stack isn't overly
16171         large.
16172
16173 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16174
16175         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
16176
16177 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16178
16179         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
16180         (2004-10-24) change.  Apparently this was a false alarm.
16181
16182         * modules/getdate: Depend on alloca-opt, not alloca.
16183
16184 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
16185
16186         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
16187         Remove now-obsolete comment about AIX.
16188         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
16189         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
16190         (YYMAXDEPTH): New macro.
16191
16192 2004-12-18  Simon Josefsson  <jas@extundo.com>
16193
16194         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
16195
16196 2004-12-18  Bruno Haible  <bruno@clisp.org>
16197
16198         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
16199
16200 2004-12-18  Bruno Haible  <bruno@clisp.org>
16201
16202         * lib/fatal-signal.c (fatal_signals): Make non-const.
16203         (init_fatal_signals): New function.
16204         (uninstall_handlers, install_handlers): Ignore signals that were set to
16205         SIG_IGN.
16206         (at_fatal_signal): Call init_fatal_signals.
16207         (init_fatal_signal_set): Likewise. Ignore signals that were set to
16208         SIG_IGN.
16209         Reported by Paul Eggert.
16210
16211 2004-12-18  Bruno Haible  <bruno@clisp.org>
16212
16213         * doc/alloca.texi: New file.
16214         * doc/alloca-opt.texi: New file.
16215
16216 2004-12-17  Jim Meyering  <jim@meyering.net>
16217
16218         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
16219         Otherwise, install-sh could exit with improper exit status when
16220         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
16221
16222 2004-12-16  Simon Josefsson  <jas@extundo.com>
16223
16224         * tests/test-base64.c: Add license.
16225
16226 2004-12-15  Stepan Kasal  <address@hidden>
16227
16228         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
16229
16230 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
16231
16232         * modules/getcwd (Files): Add m4/d-ino.m4.
16233         Suggested by Mark D. Baushke.
16234
16235 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16236
16237         * lib/getdate.y (textint): New member "negative".
16238         (time_zone_hhmm): New function.
16239         Expect 14 shift-reduce conflicts, not 13.
16240         (o_colon_minutes): New rule.
16241         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
16242         (yylex): Set the "negative" member of signed numbers.
16243
16244 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16245
16246         * doc/getdate.texi (Time of day items, Time zone items):
16247         Describe new formats +00:00, UTC+00:00.
16248
16249 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16250
16251         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
16252         spurious "-l"s.  Problem reported by Stepan Kasal.
16253
16254 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
16255
16256         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
16257         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
16258
16259 2004-12-04  Simon Josefsson  <jas@extundo.com>
16260
16261         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
16262         Vandoorselaere <yoann@prelude-ids.org>.
16263
16264 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16265
16266         Changes imported from coreutils.
16267         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
16268         exist.
16269         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
16270
16271 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16272
16273         Changes imported from coreutils.
16274         * lib/hard-locale.c: Assume <locale.h> exists.
16275         Include "strdup.h".
16276         (GLIBC_VERSION): New macro.
16277         (hard_locale): Assume setlocale exists.
16278         Rewrite to avoid #ifdef.
16279         Use strdup rather than malloc + strcpy.
16280         * lib/human.c: Assume <locale.h> exists.
16281         (human_readable): Assume localeconv exists.
16282
16283 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16284
16285         * modules/hard-locale (Depends-on): Add strdup.
16286
16287 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
16288
16289         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
16290         convert T2, not T.  (Imported from libc.)
16291
16292 2004-11-30  Simon Josefsson  <jas@extundo.com>
16293
16294         * modules/restrict (License): Change to LGPL.
16295
16296 2004-11-30  Simon Josefsson  <jas@extundo.com>
16297
16298         * m4/restrict.m4: Add copyright and copying conditions.
16299
16300 2004-11-30  Simon Josefsson  <jas@extundo.com>
16301
16302         * m4/base64.m4: New file.
16303
16304 2004-11-30  Simon Josefsson  <jas@extundo.com>
16305
16306         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
16307         base64.
16308
16309         * tests/test-base64.c: New file.
16310
16311         * modules/base64: New file.
16312
16313 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16314
16315         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
16316         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
16317
16318         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
16319
16320 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16321
16322         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
16323         (__getcwd.c): Don't restore errno; glibc doesn't.
16324         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
16325         first, falling back to our code only if its results look suspicious.
16326         Ensure that the resulting buffer is only as large as necessary.
16327
16328         * lib/readutmp.c: Include readutmp.h first.
16329         Include <errno.h>, since readutmp.h no longer does that.
16330         * lib/readutmp.h: Don't include <errno.h>,
16331         <sys/param.h>, <time.h>; not needed to establish interface.
16332         (errno): Remove decl.
16333         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
16334         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
16335         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
16336
16337 2004-11-28  Simon Josefsson  <jas@extundo.com>
16338
16339         * lib/base64.h, base64.c: New file.
16340
16341 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
16342
16343         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
16344
16345 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
16346
16347         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
16348         (Depends-on): Remove pathmax, same.  Add mempcpy.
16349         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
16350         (Makefile.am): Append getcwd.h to lib_SOURCES.
16351         (Include): Add getcwd.h.
16352         (Maintainer): Change from Jim Meyering to "all, glibc",
16353         since getdate now uses intended-for-glibc code.
16354         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
16355         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
16356
16357 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16358
16359         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
16360         HP's ANSI C compiler.
16361         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
16362         Declaring int functions causes warnings on some modern systems and
16363         shouldn't be needed to compile on ancient ones.
16364         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
16365         defined.
16366
16367         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
16368         with the following changes.
16369         (__set_errno): Parenthesize properly.
16370         Include <stdbool.h>.
16371         (MIN, MAX, MATCHING_INO): New macros.
16372         (__getcwd): Define with prototype, not K&R form.
16373         Use heuristics to allocate default buffer on stack if possible.
16374         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
16375         behavior, and to avoid the PATH_MAX limit when computing
16376         ../../../../...
16377         Use MATCHING_INO to compare inode number to file.
16378         Check for arithmetic overflow in size calculations.
16379         Fix bug in reallocation of dot array that caused getcwd to fail
16380         on directories nested deeper than 75.
16381         Be more careful about saving errno on error.
16382         Do not use realloc; use only free+malloc, as this is a bit
16383         more flexible and avoids a needless copy operation.
16384         Do not inspect st_dev and st_ino for symbolic links; POSIX
16385         doesn't specify the latter.
16386         Check for closedir errors.
16387         Avoid needless casts.
16388         Use "#ifdef weak_alias" around weak_alias, to be like other
16389         glibc code.
16390         The following changes to getcwd.c have effect only when used in
16391         gnulib; they have no effect inside glibc proper.
16392         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
16393         as alloca isn't used.
16394         (alloca, __alloca): Likewise.
16395         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
16396         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
16397         unconditionally, as gnulib assumes C89 or better.
16398         Do not include <sys/param.h>.
16399         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
16400         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
16401         better.
16402         (NULL) [!defined NULL]: Remove; we assume C89 or better.
16403         Include <dirent.h> in a way that is compatible with modern Autoconf.
16404         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
16405         New macros, if not already defined.
16406         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
16407         Use "_LIBC", not "defined _LIBC", for consistency.
16408         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
16409         a mempcpy module.
16410         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
16411         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
16412         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
16413         credit only to Jim Meyering and adjust the copyright dates.
16414         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
16415         <stdlib.h>, <unistd.h>, "pathmax.h".
16416         Instead, include "xgetcwd.h" (first) and "getcwd.h".
16417         (INITIAL_BUFFER_SIZE): Remove.
16418         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
16419
16420 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16421
16422         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
16423         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
16424         Use the _ONCE methods, for efficiency.
16425         Check for fcntl.h.  In test program, include <errno.h>
16426         and <fcntl.h> if available.  Remove old K&R cruft from
16427         test program.  Check for common errors in GNU/Linux,
16428         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
16429         don't do AC_LIBOBJ, as that's getcwd.m4's job.
16430         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
16431         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
16432         name accordingly.
16433         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
16434         accommodate new getcwd.c.
16435         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
16436         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
16437         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
16438         that's all we need now.
16439
16440 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16441
16442         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
16443         argp-parse.c depends on getopt internals, that means we should
16444         always use our getopt, to be on the safe side.
16445         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
16446         order not to spoil the result of an eventual previous invocation
16447         of gl_GETOPT_SUBSTITUTE.
16448
16449 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16450
16451         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
16452         redefinition warnings. To avoid them, include the defines
16453         in `#if !defined __need_getopt ... #endif'. The only place
16454         where __getopt_argv_const is used is in definitions
16455         of getopt_long and getopt_long_only below, which are as well
16456         protected by `#ifndef __need_getopt'.
16457         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
16458         __need_getopt after including <stdio.h> and <unistd.h> These
16459         headers might have defined it.
16460
16461 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
16462
16463         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
16464
16465 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
16466
16467         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
16468         (futimens): New function, which uses futimes if available.
16469         (futimens, utimens): Support timespec==NULL, with same semantics
16470         as utime and utimens.
16471         * lib/utimens.h (futimens): New decl.
16472
16473 2004-11-23  Jim Meyering  <jim@meyering.net>
16474
16475         * lib/getopt_.h: Remove trailing blanks.
16476
16477 2004-11-23  Jim Meyering  <jim@meyering.net>
16478
16479         * lib/__fpending.c: Add comment.
16480
16481 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
16482
16483         * modules/canonicalize (Depends-on): Add xreadlink.
16484         Problem reported by James Youngman.
16485
16486 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
16487
16488         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
16489         New macros.
16490         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
16491         optopt): Use them instead of invoking ## directly; otherwise, the
16492         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
16493
16494 2004-11-19  Bruno Haible  <bruno@clisp.org>
16495
16496         * lib/strtok_r.c: Move comments from here...
16497         * lib/strtok_r.h: ... to here.
16498
16499 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16500
16501         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
16502         implementations that mishandle size_t overflow.
16503
16504 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16505
16506         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
16507         might fail.  Problem reported by Yoann Vandoorselaere.
16508         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
16509         implementations that mishandle size_t overflow.
16510
16511 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16512
16513         * modules/canon-host (Depends-on): Add strdup.
16514
16515 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16516
16517         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
16518
16519 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16520
16521         * lib/canon-host.c: Include "strdup.h".
16522         (canon_host): Use getaddrinfo if available, so that IPv6 works.
16523         Use strdup instead of malloc/strcpy to duplicate strings.
16524
16525         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
16526         (human_space_before_unit): New constant.
16527         * lib/human.c (human_readable): Support it.
16528
16529         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
16530         (xgetcwd): Set errno correctly when failing.
16531         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
16532         the failure is actually due to a PATH_MAX problem.
16533
16534         Further getopt changes to make it more likely that glibc will
16535         buy the changes back.
16536         * lib/getopt.c (POSIXLY_CORRECT): New constant.
16537         (getopt): Use it, so to preserve glibc semantic
16538         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
16539         when compiling for libc.
16540         * lib/getopt_.h (__getopt_argv_const): Bring it back.
16541         (getopt_long, getopt_long_only): Use it.
16542
16543         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
16544         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
16545         (getopt): Argv is now char * const *, as per standard.
16546         (_getopt_internal_r, _getopt_internal): Argv is now char **,
16547         not char *__getopt_argv_const *.
16548         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
16549         _getopt_long_only_r): Likewise.
16550         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
16551         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
16552         _getopt_long_r, _getopt_long_only_r): Likewise.
16553         * lib/getopt_.h (__getopt_argv_const): Remove.
16554         (getopt): Argv is now char * const *, as per standard.
16555
16556         * lib/getdate.y (tORDINAL): New token.
16557         (day, relunit): Allow it for relative times.
16558         (relative_time_table): Use tORDINAL for ordinals.
16559
16560 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16561
16562         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
16563         Document that "second" isn't allowed as an ordinal number.
16564
16565 2004-11-16  Jim Meyering  <jim@meyering.net>
16566
16567         * modules/closeout (Depends-on): Add fpending.
16568
16569 2004-11-15  Jim Meyering  <jim@meyering.net>
16570
16571         * lib/closeout.c: Include "__fpending.h" once again.
16572         Include <stdbool.h>.
16573         (close_stdout): Don't fail just because stdout was closed initially,
16574         since some programs don't write to stdout in the normal course of
16575         operation (other than --version and --help), and we don't want this
16576         function to make e.g. `touch file >&-' fail.
16577         But do fail if it was closed and someone has tried to write to it.
16578         E.g., `printf foo >&-' must fail.
16579
16580 2004-11-13  Jim Meyering  <jim@meyering.net>
16581
16582         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
16583
16584 2004-11-12  Simon Josefsson  <jas@extundo.com>
16585
16586         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
16587         small doc fix is still pending.
16588
16589 2004-11-11  Simon Josefsson  <jas@extundo.com>
16590
16591         * modules/strtok_r: New file.
16592
16593         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16594         strtok_r.
16595
16596 2004-11-11  Simon Josefsson  <jas@extundo.com>
16597
16598         * m4/strtok_r.m4: New file.
16599
16600         * m4/getopt.m4: Replace opterr.
16601
16602 2004-11-11  Simon Josefsson  <jas@extundo.com>
16603
16604         * lib/strtok_r.h, strtok_r.c: New file.
16605
16606 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16607
16608         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
16609         of replacing opterr, getopt, etc.  This should handle the
16610         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
16611
16612 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16613
16614         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
16615         we can stop lying to compilers about the constness of argv when we
16616         are compiled outside glibc.
16617         (getopt, getopt_long, getopt_long_only): Use it.
16618         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
16619         _getopt_internal, getopt): Likewise.
16620         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
16621         _getopt_long_only_r): Likewise.
16622         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
16623         _getopt_long_r, _getopt_long_only_r): Likewise.
16624
16625         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
16626         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
16627         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
16628         the other external symbols.
16629         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
16630         declaration, since the above renaming now works around collisions.
16631
16632 2004-11-11  Jim Meyering  <jim@meyering.net>
16633
16634         * lib/linebreak.c: Remove trailing blanks.
16635         * lib/alloca_.h: Likewise.
16636         * lib/acosl.c: Likewise.
16637         * lib/euidaccess.c: Likewise.
16638         * lib/allocsa.h: Likewise.
16639
16640 2004-11-10  Simon Josefsson  <jas@extundo.com>
16641
16642         * m4/getaddrinfo.m4: New file.
16643
16644 2004-11-10  Simon Josefsson  <jas@extundo.com>
16645
16646         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
16647
16648 2004-11-10  Simon Josefsson  <jas@extundo.com>
16649
16650         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16651         getaddrinfo.
16652
16653         * modules/getaddrinfo: New file.
16654
16655 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16656
16657         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
16658
16659 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16660
16661         * lib/mktime.c (SHR): New macro, which is a portable
16662         substitute for >> that should work even on Crays.
16663         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
16664         Problem reported by Mark D. Baushke in
16665         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
16666         * lib/getdate.y (SHR): Likewise.
16667         (tm_diff): Use it.
16668         * lib/strftime.c (SHR): Likewise.
16669         (tm_diff): Use it.
16670         * lib/quotearg.c (struct quoting_options): Use unsigned int for
16671         quote_these_too, so that right shifts are well defined.  All uses
16672         changed.
16673
16674 2004-11-10  Jim Meyering  <jim@meyering.net>
16675
16676         Ensure that no close failure goes unreported.
16677         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
16678         return early when it seems there's nothing to flush.
16679         Don't include __fpending.h.
16680
16681 2004-11-10  Jim Meyering  <jim@meyering.net>
16682
16683         * modules/closeout (Depends-on): Remove fpending.
16684
16685 2004-11-10  Jim Meyering  <jim@meyering.net>
16686
16687         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
16688
16689 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16690
16691         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
16692         gl_FUNC_STRFTIME.
16693         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
16694         and AC_REQUIRE when possible, to avoid duplicate checks.
16695         Check for <wchar.h>.
16696
16697 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16698
16699         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
16700
16701 2004-11-09  Bruno Haible  <bruno@clisp.org>
16702
16703         * m4/sockpfaf.m4: New file.
16704
16705 2004-11-05  Bruno Haible  <bruno@clisp.org>
16706
16707         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
16708         Reported by Mark D. Baushke <mdb@cvshome.org>.
16709
16710 2004-11-04  Bruno Haible  <bruno@clisp.org>
16711
16712         2004-09-11  Bruno Haible  <bruno@clisp.org>
16713                 * allocsa.valgrind: New file.
16714         2004-02-06  Bruno Haible  <bruno@clisp.org>
16715                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
16716                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
16717                 Reported by Christopher Seip <chris.seip@hp.com>.
16718
16719 2004-11-04  Bruno Haible  <bruno@clisp.org>
16720
16721         * modules/allocsa (Files): Add lib/allocsa.valgrind.
16722         (Makefile.am): Distribute it.
16723
16724 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16725
16726         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
16727         with errno == ERANGE if the buffer is too small.
16728         Problem reported by Mark D. Baushke.
16729
16730 2004-11-03  Albert Chin  <china@thewrittenword.com>
16731             Paul Eggert  <eggert@cs.ucla.edu>
16732
16733         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
16734         equivalent, substitute $ac_type for equivalent type rather than
16735         blindly using uint32_t *always* which won't work if uint32_t is not
16736         available.  Define _UINT32_T to work around typedef of uint32_t if
16737         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
16738         2.5.1.
16739
16740 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16741
16742         * m4/jm-macros.m4: Sync from coreutils.
16743         (gl_MACROS): Check for mbrlen, for pathchk.
16744         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
16745
16746 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16747
16748         * lib/xreadlink.c (MAXSIZE): New macro.
16749         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
16750         size does not exceed MAXSIZE.  Avoid cast.
16751         As suggested by Mark D. Baushke in
16752         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
16753         if readlink fails with buffer size just under MAXSIZE, try again
16754         with MAXSIZE.
16755
16756 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16757
16758         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
16759
16760 2004-11-02  Derek R. Price  <derek@ximbiot.com>
16761         and  Paul Eggert  <eggert@cs.ucla.edu>
16762
16763         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
16764         (get_date): Overparenthesize to avoid GCC warning.
16765
16766 2004-11-02  Bruno Haible  <bruno@clisp.org>
16767
16768         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
16769         returns void.
16770
16771 2004-11-02  Bruno Haible  <bruno@clisp.org>
16772
16773         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
16774         function returns void.
16775
16776 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
16777
16778         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
16779         fflush_unlocked, flockfile, funlockfile, funlockfile,
16780         fputs_unlocked, putc_unlocked.
16781
16782 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
16783
16784         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
16785         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
16786         already declared.
16787
16788 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16789
16790         * modules/getdate (Files): Add doc/getdate.texi.
16791         (Depends-on): Add setenv, xalloc.
16792
16793 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16794
16795         * lib/getdate.y: Add support for TZ="foo" within a date string.
16796         Fix some bugs near time_t boundaries.  Reject dates with
16797         out-of-range components, e.g., "Sept 31".
16798         Include <stdlib.h>, "setenv.h", "xalloc.h".
16799         (ISDIGIT_LOCALE): Remove; unused.
16800         Note that the TZ and time functions used here are not reentrant.
16801         (mktime_ok, get_tz): New functions.
16802         (TZBUFSIZE): New constant.
16803         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
16804         This requires that we sometimes generate our own TZ="XXX..." setting.
16805
16806 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16807
16808         * doc/getdate.texi: New file, from coreutils with modifications for
16809         the new TZ parsing.
16810
16811 2004-10-27  Derek R. Price  <derek@ximbiot.com>
16812
16813         * lib/mktime.c (not_equal_tm): Remove redundant check.
16814
16815 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16816
16817         * modules/regex (lib_SOURCES): Add regex.c.
16818         Reported by James Youngman in
16819         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
16820
16821 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16822
16823         * lib/getdate.y: Use Bison 1.875 features, and some minor
16824         code cleanups.  This change does not affect semantics.
16825         Don't include <stdlib.h>; no longer needed.
16826         Don't include unlocked-io.h; only the "#if TEST" code uses
16827         stdio, and performance isn't crucial there.
16828         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
16829         Bison 1.875 features as described below.
16830         All uses of "PC." replaced by "pc->".
16831         (YYSTYPE): Add a forward declaration.
16832         (yylex, yyerror): Use full prototypes in forward decls.
16833         Use "%pure-parser" rather than obsolescent "%pure_parser".
16834         Use %parse-param and %lex-param instead of obsolescent
16835         YYPARSE_PARAM and YYLEX_PARAM.
16836         (meridian_table, month_and_day_table, time_units_table,
16837         relative_time_table, time_zone_table, military_table,
16838         lookup_zone, lookup_word, get_date):
16839         Use NULL instead of 0 where appropriate.
16840         (to_hour): Avoid abort (), to avoid a dependency on
16841         stdlib.h.
16842         (yyerror, yylex): Now accepts parser_control * arg.
16843         (main) [TEST]: Use '\0' rather than 0 for char.
16844
16845 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
16846
16847         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
16848
16849 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
16850
16851         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
16852         It's now the caller's responsibility to handle the case where
16853         !HAVE_GETPAGESIZE && !defined getpagesize.
16854
16855         * lib/mktime.c (leapyear): Arg is long int, not int.
16856
16857 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
16858
16859         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
16860
16861 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
16862
16863         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
16864         missing.  Problem reported by James Youngman.
16865
16866 2004-10-16  Simon Josefsson  <jas@extundo.com>
16867
16868         * gnulib-tool: Fix comments.  Fix parse problem.
16869         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
16870
16871 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
16872
16873         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
16874         implementation of getopt_long.  Problem reported by Alexander Taler in:
16875         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
16876
16877 2004-10-15  Bruno Haible  <bruno@clisp.org>
16878
16879         * gnulib-tool: Untabify. Initialize supplied_libname.
16880         (func_usage): More homogenous output.
16881         (func_modules_transitive_closure, func_modules_to_filelist,
16882         func_emit_lib_Makefile_am): New functions.
16883         (func_import): New function, extracted from big case statement. Use
16884         func_get_license, func_modules_transitive_closure,
16885         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
16886         opt_lgpl. Don't use test -a, as it's not portable.
16887         (func_create_testdir): Use func_modules_transitive_closure,
16888         func_modules_to_filelist, func_emit_lib_Makefile_am.
16889
16890 2004-10-15  Bruno Haible  <bruno@clisp.org>
16891
16892         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
16893
16894 2004-10-15  Bruno Haible  <bruno@clisp.org>
16895
16896         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
16897         the portions belonging to each module.
16898         Suggested by Derek Robert Price <derek@ximbiot.com>.
16899
16900 2004-10-12  Simon Josefsson  <jas@extundo.com>
16901
16902         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
16903         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
16904         to real functions.
16905
16906 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16907
16908         * modules/vsnprintf: New file.
16909
16910 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16911
16912         * m4/vsnprintf.m4: New file.
16913
16914 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16915
16916         * lib/vsnprintf.h: New file.
16917         * lib/vsnprintf.c: New file.
16918
16919 2004-10-11  Bruno Haible  <bruno@clisp.org>
16920
16921         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
16922         vsnprintf.
16923
16924 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16925
16926         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
16927
16928 2004-10-07  Bruno Haible  <bruno@clisp.org>
16929
16930         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
16931         fits into the provided buffer.
16932
16933 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
16934
16935         * lib/diacrit.c, diacrit.h: Add GPL notice.
16936
16937         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
16938         notice.
16939         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
16940         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
16941         This avoids a potential constant-folding bug.
16942
16943 2004-10-05  Bruno Haible  <bruno@clisp.org>
16944
16945         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
16946         for the declaration of strsep.
16947
16948 2004-10-05  Bruno Haible  <bruno@clisp.org>
16949
16950         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
16951
16952 2004-10-04  Simon Josefsson  <jas@extundo.com>
16953
16954         * modules/memmem: New file.
16955         * tests/test-memmem.c: New file.
16956         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
16957
16958 2004-10-04  Simon Josefsson  <jas@extundo.com>
16959
16960         * m4/memmem.m4: New file.
16961
16962 2004-10-04  Simon Josefsson  <jas@extundo.com>
16963
16964         * lib/memmem.h: New file.
16965         * lib/memmem.c: New file, taken from glibc.
16966
16967 2004-10-04  Simon Josefsson  <jas@extundo.com>
16968
16969         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
16970         '#ifdef USE_UNLOCKED_IO'.
16971
16972 2004-10-04  Simon Josefsson  <jas@extundo.com>
16973
16974         * config/srclist.txt: Add memmem from glibc.
16975
16976 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16977
16978         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
16979
16980         * modules/argmatch, modules/argp, modules/closeout, modules/error,
16981         modules/exclude, modules/getdate, modules/getline,
16982         modules/getndelim2, modules/getpass, modules/getpass-gnu,
16983         modules/getusershell, modules/linebuffer, modules/md5,
16984         modules/mountlist, modules/posixtm, modules/readtokens,
16985         modules/readutmp, modules/regex, modules/sha1,
16986         modules/version-etc, modules/yesno:
16987         Remove dependency on unlocked-io.
16988
16989 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16990
16991         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
16992
16993         * m4/unlocked-io.m4: Add copyright notice.
16994         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
16995
16996 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16997
16998         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
16999         * lib/xmalloc.c (xmemdup): Likewise.
17000         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
17001         XFREE): Remove these long-obsolescent macros.
17002         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
17003         * lib/xstrdup.c: Remove.
17004
17005         * lib/regex.c (re_comp): Cast gettext return value to char *,
17006         Problem reported by Martin Neitzel via Mark D. Baushke.
17007
17008 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
17009
17010         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
17011         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
17012         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
17013         regex.c, sha1.c, version-etc.c, yesno.c:
17014         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
17015         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
17016         the includer's responsibility.
17017
17018         Sync from coreutils.
17019
17020         * lib/modechange.c (mode_compile): Don't decrement a pointer that
17021         points to the start of a string, as the C Standard says the
17022         resulting behavior is undefined.
17023
17024         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
17025         simple -> simple_backups, numbered_existing ->
17026         numbered_existing_backups, numbered -> numbered_backups
17027         to avoid shadowing problems.  All uses changed.
17028         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
17029         * lib/backupfile.c (check_extension, numbered_backup):
17030         Rename locals to avoid shadowing 'basename'.
17031         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
17032         once.
17033
17034         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
17035         * lib/.cvsignore: Add getopt.h.
17036
17037 2004-10-04  Bruno Haible  <bruno@clisp.org>
17038
17039         * modules/README: New file.
17040         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
17041         not a module.
17042
17043 2004-10-02  Jim Meyering  <jim@meyering.net>
17044
17045         * lib/dirfd.h, getpagesize.h: Add copyright notice.
17046
17047 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17048
17049         * modules/strsep: New file.
17050
17051 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17052
17053         * m4/strsep.m4: New file.
17054
17055 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
17056
17057         * lib/strsep.h: New file.
17058         * lib/strsep.c: New file.
17059
17060 2004-10-01  Simon Josefsson  <jas@extundo.com>
17061
17062         * lib/snprintf.c (snprintf): Handle size==0.
17063
17064 2004-10-01  Simon Josefsson  <jas@extundo.com>
17065             Bruno Haible  <bruno@clisp.org>
17066
17067         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
17068         (snprintf): Declare 'args'.
17069
17070 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
17071
17072         * lib/snprintf.c: Remove comments as to why each header is needed.
17073
17074 2004-10-01  Bruno Haible  <bruno@clisp.org>
17075
17076         * MODULES.html.sh: Add strsep.
17077
17078 2004-09-30  Simon Josefsson  <jas@extundo.com>
17079
17080         * modules/snprintf: New file.
17081
17082 2004-09-30  Simon Josefsson  <jas@extundo.com>
17083
17084         * m4/snprintf.m4: New file.
17085
17086 2004-09-30  Simon Josefsson  <jas@extundo.com>
17087
17088         * lib/snprintf.h, lib/snprintf.c: New files.
17089
17090 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
17091
17092         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
17093         (hol_entry_help): Never translate an empty string.
17094         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
17095         * lib/argp.h (OPTION_NO_TRANS): New option.
17096
17097 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17098
17099         * modules/argp (Maintainer): Replace Simon Josefsson
17100         by Sergey Poznyakoff.
17101
17102 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17103
17104         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
17105         changes merged back into glibc.
17106
17107 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
17108
17109         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
17110
17111 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
17112
17113         * lib/xvasprintf.c: Include xalloc.h.
17114         (xvasprintf): Use xalloc_die, not xmalloc_die.
17115
17116 2004-09-29  Bruno Haible  <bruno@clisp.org>
17117
17118         * modules/alloca-opt: New file, derived from modules/alloca.
17119         * modules/allocsa: Depend on alloca-opt instead of alloca.
17120         * modules/setenv: Likewise.
17121         * modules/vasnprintf: Likewise.
17122         * MODULES.html.sh: Add alloca-opt.
17123
17124 2004-09-28  Simon Josefsson  <jas@extundo.com>
17125
17126         * gnulib-tool: New parameter --lgpl, to asseert that modules are
17127         LGPL, and to replace license template from GPL to LGPL.
17128
17129 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
17130
17131         * modules/dummy: Change license to LGPL.
17132
17133 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
17134
17135         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
17136
17137 2004-09-24  Simon Josefsson  <jas@extundo.com>
17138
17139         * modules/minmax (License): Change from GPL to LGPL.
17140
17141 2004-09-23  Simon Josefsson  <jas@extundo.com>
17142
17143         * gnulib-tool (--import): Typo.
17144
17145 2004-09-23  Simon Josefsson  <jas@extundo.com>
17146
17147         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
17148
17149 2004-09-22  Bruno Haible  <bruno@clisp.org>
17150
17151         * modules/*: Add 'License' field.
17152         * gnulib-tool: Accept --extract-license option.
17153         (func_get_license): New function.
17154
17155 2004-09-21  Bruno Haible  <bruno@clisp.org>
17156
17157         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
17158         Reported by Simon Josefsson.
17159
17160 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17161
17162         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
17163         gl_AC_TYPE_LONG_LONG.
17164
17165 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
17166
17167         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
17168
17169 2004-09-18  Simon Josefsson  <jas@extundo.com>
17170         and  Paul Eggert  <eggert@cs.ucla.edu>
17171
17172         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
17173         calls with autoreconf.  Define GL_LIB.
17174
17175 2004-09-14  Karl Berry  <karl@gnu.org>
17176
17177         * config/srclist.txt: unsync setenv.c, sigh.
17178
17179 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17180
17181         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
17182         Problem reported by Bruno Haible in:
17183         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
17184
17185 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17186
17187         * config/srclist.txt: Comment out argp-pvh.c.
17188
17189 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17190
17191         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
17192         in case some system header has #define'd it.  Problem reported by
17193         Soeren D. Schulze in
17194         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
17195
17196 2004-09-09  Karl Berry  <karl@gnu.org>
17197
17198         * regex.[ch]: delete from the root.  These were supposed to be
17199                 synced with emacs cvs, but this has not happened for about
17200                 a year, and anyway nothing else uses emacs regex.[ch].
17201                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
17202                 lib/regex[.ch] is untouched.
17203
17204 2004-09-09  Bruno Haible  <bruno@clisp.org>
17205
17206         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
17207
17208 2004-09-09  Bruno Haible  <bruno@clisp.org>
17209
17210         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
17211         modifications.
17212         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
17213
17214 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17215
17216         * modules/xvasprintf: New file.
17217         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
17218
17219 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17220
17221         * lib/xvasprintf.h: New file.
17222         * lib/xvasprintf.c: New file.
17223         * lib/xasprintf.c: New file.
17224
17225 2004-09-08  Bruno Haible  <bruno@clisp.org>
17226
17227         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
17228
17229 2004-09-08  Bruno Haible  <bruno@clisp.org>
17230
17231         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
17232         length is > INT_MAX.
17233         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
17234         more.
17235
17236 2004-09-08  Bruno Haible  <bruno@clisp.org>
17237
17238         * lib/stdint_.h: New file, taken from GNU clisp.
17239
17240 2004-09-08  Bruno Haible  <bruno@clisp.org>
17241             Oskar Liljeblad  <oskar@osk.mine.nu>
17242
17243         * modules/stdint: New file.
17244         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
17245
17246 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17247
17248         Import from coreutils.
17249         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
17250         strings on unbounded length.  alloca's performance benefits aren't
17251         that important here.
17252         (V_STRDUP): Remove.
17253         (parse_with_separator): New function, with most of the internals
17254         of the old parse_user_spec.  Allow user to omit both user and group,
17255         for compatibility with FreeBSD.
17256         Clone only the user name, not the entire spec.
17257         Do not set *uid, *gid unless entirely successful.
17258         Avoid memory leak in some failing cases.
17259         Fix regression for USER.GROUP reported by Dmitry V. Levin in
17260         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
17261         (parse_user_spec): Rewrite to use parse_with_separator.
17262
17263 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17264
17265         * modules/userspec: Don't depend on alloca.
17266
17267 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17268
17269         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
17270
17271 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
17272
17273         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
17274         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
17275         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
17276
17277 2004-08-16  Simon Josefsson  <jas@extundo.com>
17278
17279         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
17280         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
17281         Add --dry-run for --import.
17282         Let user provided command line parameters override configure.ac
17283         settings.
17284
17285 2004-08-12  Simon Josefsson  <jas@extundo.com>
17286
17287         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
17288         as discussed with Paul Eggert in threads rooted at
17289         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
17290         and
17291         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
17292         Before, the test was empty, and relied on ELIDE_CODE in source
17293         code.)
17294         (gl_PREREQ_GETOPT): New macro.
17295         (gl_GETOPT): Use them.
17296
17297 2004-08-12  Simon Josefsson  <jas@extundo.com>
17298
17299         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
17300         * lib/getopt_.h: Renamed from getopt.h.
17301
17302 2004-08-12  Simon Josefsson  <jas@extundo.com>
17303
17304         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
17305         Change default library name from libfoo to libgnu.
17306         Now, if you have a configure.ac that says:
17307                 gl_SOURCE_BASE(gl)
17308                 gl_M4_BASE(gl/m4)
17309                 gl_MODULES(error getopt etcetera)
17310                 gl_INIT
17311         you can import all you need by running:
17312                 ../gnulib/gnulib-tool --import
17313
17314         * modules/getopt (Files): Rename getopt.h to getopt_.h.
17315         (Makefile.am): Rewrite, use logic from argz.
17316         (Include): Use <getopt.h> instead of "getopt.h".
17317
17318 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17319
17320         * modules/argp (Files): Add m4/unlocked-io.m4.
17321         (Depends-on): Add extensions.
17322
17323 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17324
17325         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
17326         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
17327         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
17328         Check for program_invocation_name, program_invocation_short_name,
17329         flockfile, funlockfile, features.h, _getopt_long_only_r.
17330
17331 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17332
17333         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
17334         its complicated substitute.
17335         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
17336         and program_invocation_name.
17337         (__argp_basename) [!_LIBC]: Remove; the only use was
17338         replaced by its body.
17339         (__argp_short_program_name): Change condition from
17340         !defined __argp_short_program_name to
17341         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
17342         to match argp-namefrob.h.
17343         (__argp_failure): Don't assume strerror_r returns char *.
17344         * lib/argp-parse.c (N_): Define unconditionally.
17345         (argp_default_options): Fill out initializers with 0 to avoid
17346         gcc warnings.
17347
17348 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17349
17350         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
17351         getopt1.c.
17352
17353 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17354
17355         Merge from coreutils.
17356
17357         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
17358
17359         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
17360         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
17361
17362 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17363
17364         Merge from coreutils.
17365
17366         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
17367         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
17368         for Reliant Unix 5.43.
17369
17370         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
17371         (union fooround): Use uintmax_t, not long int.
17372         The rest is a merge from libc:
17373         [defined _LIBC]: Include <shlib-compat.h>.
17374         (_obstack) [defined _LIBC]: Remove after 2.3.4.
17375
17376         * lib/settime.c (settime): Recode to avoid warning with
17377         Sun Forte C 6U2.
17378
17379         * lib/strverscmp.c: Convert to UTF-8.
17380
17381 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17382
17383         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
17384         m4/uintmax_t.m4.
17385
17386 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17387
17388         * modules/xalloc-die: New file.
17389         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
17390
17391         * modules/md5 (Files): Add m4/uint32_t.m4.
17392         * modules/sha1: Renamed from modules/sha.
17393         (Files):
17394         Rename lib/sha.h to lib/sha1.h.
17395         Rename lib/sha.c to lib/sha1.c.
17396         Rename m4/sha.m4 to m4/sha1.m4.
17397         (lib_SOURCES): Likewise.
17398         (configure.ac): Rename gl_SHA to gl_SHA1.
17399         (Include): sha.h -> sha1.h.
17400
17401 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17402
17403         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
17404         * m4/sha1.m4: Renamed from sha.m4.
17405         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
17406
17407 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17408
17409         * lib/obstack.h (obstack_empty_p):
17410         Don't assume that chunk->contents is suitably aligned.
17411         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
17412         Likewise. Problem reported by Benno in
17413         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
17414
17415         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
17416         readable.  This could be improved further but it'd take some work.
17417
17418 2004-08-08  Simon Josefsson  <jas@extundo.com>
17419
17420         * modules/xgethostname (Depends-on): Remove exit and error (not
17421         used).
17422
17423         * modules/getpass-gnu: Add getpass.h.
17424         (Depends-on): Add stdbool.
17425         * modules/getpass: Add getpass.h.
17426
17427 2004-08-08  Simon Josefsson  <jas@extundo.com>
17428
17429         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
17430         Check getpass declaration.
17431
17432 2004-08-08  Simon Josefsson  <jas@extundo.com>
17433
17434         * lib/xgethostname.c: Don't include error.h (not used).
17435
17436         * lib/getpass.h: Add.
17437         * lib/getpass.c: Include getpass.h first.
17438
17439 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
17440
17441         * lib/xalloc-die.c: New file.
17442         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
17443         All uses removed.
17444         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
17445         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
17446         xalloc-die.c.
17447         (_, N_, xalloc_die): Move to xalloc-die.c.
17448         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
17449         so that we needn't mess with xalloc_msg_memory_exhausted.
17450
17451         * lib/sha1.h: Renamed from sha.h.
17452         (SHA1_H): Renamed from _SHA_H.
17453         (sha1_ctx): Renamed from sha_ctx.
17454         (sha1_init_ctx): Renamed from sha_init_ctx.
17455         (sha1_process_block): Renamed from sha_process_block.
17456         (sha1_process_bytes): Renamed from sha_process_bytes.
17457         (sha1_finish_ctx): Renamed from sha_finish_ctx.
17458         (sha1_read_ctx): Renamed from sha_read_ctx.
17459         (sha1_stream): Renamed from sha_stream.
17460         (sha1_buffer): Renamed from sha_buffer.
17461         * lib/sha1.c: Likewise; renamed from sha.c.
17462         Do not include <sys/types.h>.
17463         Include <stddef.h> rather than <stdlib.h>.
17464
17465 2004-08-08  Bruno Haible  <bruno@clisp.org>
17466
17467         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
17468         FILESYSTEM_PREFIX_LEN.
17469         * lib/progreloc.c: Likewise.
17470         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
17471
17472 2004-08-06  Simon Josefsson  <jas@extundo.com>
17473
17474         * modules/progname (Depends-on): Don't depend on stdbool.
17475
17476 2004-08-06  Simon Josefsson  <jas@extundo.com>
17477
17478         * modules/getsubopt: New file.
17479         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17480         getsubopt.
17481
17482 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17483
17484         More merge from coreutils.
17485
17486         * m4/utimens.m4, m4/utimecmp.m4: New files.
17487         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
17488         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
17489         prereq.m4, sha.m4: Import changes from coreutils.
17490
17491 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17492
17493         More merge from coreutils.
17494         * modules/raise, modules/readtokens0, modules/utimens:
17495         * modules/utimecmp, module/xnanosleep: New files.
17496         * modules/strftime: Add lib/strftime.h.
17497         Change include from <time.h> to "strftime.h".
17498         * modules/yesno: Add lib/yesno.h.
17499         * modules/backupfile: Remove lib/addext.c.
17500         * modules/euidaccess: Add stat-macros.h.
17501         * modules/canonicalize, modules/euidaccess,
17502         modules/filemode, modules/lchown, modules/makepath,
17503         modules/rmdir, modules/stat: Likewise.
17504
17505 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17506
17507         Merge from tar.
17508         * lib/argp-help.c (make_hol, hol_append): Don't assume that
17509         SIZE_MAX is a valid preprocessor constant.
17510         (__argp_basename): Change from "#ifndef _LIBC"
17511         to "#ifndef __argp_short_program_name", so that
17512         we don't compile these functions for tar.
17513
17514         More merges from coreutils.
17515         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
17516         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
17517         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
17518         * lib/addext.c: Remove; no longer needed.
17519         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
17520         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
17521         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
17522         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
17523         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
17524         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
17525         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
17526         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
17527         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
17528         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
17529         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
17530         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
17531         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
17532         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
17533         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
17534         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
17535         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
17536         Import changes from coreutils.
17537
17538 2004-08-05  Simon Josefsson  <jas@extundo.com>
17539
17540         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
17541
17542 2004-08-05  Simon Josefsson  <jas@extundo.com>
17543
17544         * m4/getsubopt.m4: New file.
17545
17546 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17547
17548         Merge from coreutils.
17549
17550         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
17551         * m4/getcwd-path-max.m4: New files.
17552
17553         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
17554         FILESYSTEM_PREFIX_LEN ->
17555         FILE_SYSTEM_PREFIX_LEN.
17556         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
17557         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
17558         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
17559         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
17560
17561         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
17562         prerequisite modules now handle the DOS stuff.
17563         Don't check for unistd.h.
17564
17565 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17566
17567         Merge from coreutils.
17568
17569         * lib/.gdb-history: Remove; this doesn't belong here.
17570
17571         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
17572         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
17573         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
17574         * lib/getcwd.c: New files.
17575
17576         * lib/dirname.h: Include <stdbool.h>.
17577         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
17578         for consistency with POSIX terminology.  All uses changed.
17579         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
17580         (strip_trailing_slashes): Use bool for booleans.
17581         * lib/stripslash.c (strip_trailing_slashes): Likewise.
17582
17583         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
17584         sometimes returns a positive errno value even when it succeeds.
17585         (print_errno_message) [!LIBC]: Fall back on strerror if
17586         __strerror_r fails.
17587
17588         * lib/path-concat.c (mempcpy): Don't define if a system header defines
17589         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
17590         (longest_relative_suffix): New function.
17591         (path_concat): Use it.  Assume first argument is not NULL.
17592         Port to DOS.  Omit redundant separators.
17593         Report an error instead of returning NULL.
17594         Use mempcpy instead of memcpy.
17595         (xpath_concat): Remove: not declared or used.
17596
17597         * lib/same.h: Include <stdbool.h>
17598         (same_name): Return bool, not int.
17599         * lib/same.c (same_name): Likewise.
17600         (errno): Don't declare; we assume C89 or better now.
17601
17602         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
17603         if not already defined.
17604
17605         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
17606         * lib/dup-safer.c (errno): Likewise.
17607
17608 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17609
17610         Merge from coreutils.
17611         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
17612         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
17613         * modules/path-concat: Don't depend on strdup.
17614
17615 2004-08-03  Simon Josefsson  <jas@extundo.com>
17616
17617         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
17618         * lib/progname.h: Don't include stdbool.h.
17619
17620 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17621
17622         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
17623         * MODULES.html.sh (func_all_modules): Remove fatal.
17624
17625 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17626
17627         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
17628
17629 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17630
17631         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
17632         working.
17633
17634 2004-08-02  Simon Josefsson  <jas@extundo.com>
17635
17636         * lib/getsubopt.h: New file, with comments from Bruno Haible.
17637         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
17638         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
17639
17640 2004-08-01  Simon Josefsson  <jas@extundo.com>
17641
17642         * lib/xgetdomainname.c: Include stdlib.h, for free().
17643
17644 2004-07-19  Bruno Haible  <bruno@clisp.org>
17645
17646         * MODULES.html.sh (func_all_modules): Add dummy.
17647
17648 2004-07-16  Simon Josefsson  <jas@extundo.com>
17649
17650         * modules/dummy: New file.
17651
17652 2004-07-16  Simon Josefsson  <jas@extundo.com>
17653
17654         * lib/dummy.c: New file.
17655
17656 2004-07-16  Bruno Haible  <bruno@clisp.org>
17657
17658         * lib/backupfile.h: Add extern "C" for C++.
17659         * lib/closeout.h: Likewise.
17660         * lib/copy-file.h: Likewise.
17661         * lib/findprog.h: Likewise.
17662         * lib/full-write.h: Likewise.
17663         * lib/pathname.h: Likewise.
17664         * lib/progname.h: Likewise.
17665         * lib/stpcpy.h: Likewise.
17666         * lib/stpncpy.h: Likewise.
17667         * lib/strcase.h: Likewise.
17668         * lib/strstr.h: Likewise.
17669         * lib/xalloc.h: Likewise.
17670
17671         * lib/mbswidth.h: Add extern "C" for C++.
17672         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
17673
17674 2004-07-13  Robert Millan  <robertmh@gnu.org>
17675
17676         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
17677
17678 2004-07-09  Simon Josefsson  <jas@extundo.com>
17679
17680         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
17681         failed without this.)
17682
17683 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17684
17685         * modules/chown (Files): Add lib/fchown-stub.c, since
17686         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
17687
17688 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17689
17690         * lib/fchown-stub.c: New file.
17691
17692 2004-06-24  Jim Meyering  <jim@meyering.net>
17693
17694         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
17695
17696 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17697
17698         * modules/argz: Omit "#include".
17699
17700         * MODULES.html.sh (func_all_modules): Add calloc, to match
17701         2004-06-01 addition of calloc module.
17702
17703 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17704
17705         * m4/argz.m4: New file, which is autoupdated from libtool.
17706
17707 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17708
17709         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
17710         libtool.
17711
17712 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17713
17714         * config/srclist-update: Don't insist on "USA." before the
17715         close-comment, as libtool omits the period and puts the */ on a
17716         separate line.
17717         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
17718         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
17719
17720 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
17721
17722         * modules/argz: New file.
17723         * MODULES.html.sh (func_all_modules): Add argz.
17724
17725 2004-06-12  Jim Meyering  <jim@meyering.net>
17726         and  Paul Eggert  <eggert@cs.ucla.edu>
17727
17728         * modules/hash (Files): Add lib/xalloc.h.
17729         * modules/pipe (Depends-on): Add wait-process.
17730         * modules/stat (Depends-on): Add xalloc.
17731         * modules/userspec (Files): Add lib/userspec.h.
17732         * modules/xstrto
17733
17734         Upgrade from gettext-0.13.
17735         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
17736         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
17737         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
17738
17739 2004-06-10  Jim Meyering  <jim@meyering.net>
17740
17741         * lib/calloc.c: New file.
17742
17743 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
17744
17745         * lib/getdate.y (yylex): Allow space between sign and number.
17746         Problem reported by Dan Jacobson.
17747
17748 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17749
17750         Merge from coreutils CVS.
17751
17752         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
17753         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
17754         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
17755         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
17756         xstrtol.m4: Fix copyright date and/or serial number.
17757
17758         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
17759         See if we need an fchown replacement.
17760         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
17761         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
17762         and use the replacement function if we detect either defect.
17763
17764         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
17765         gl_UTIMECMP.
17766
17767 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17768         and  Jim Meyering  <jim@meyering.net>
17769
17770         Merge from coreutils CVS.
17771
17772         * lib/stat-macros.h: New file, with contents from file-type.h
17773         and coreutils' system.h.
17774         * lib/file-type.c: Include "stat-macros.h".
17775         * lib/file-type.h (file_type): Move all macro definitions to new file,
17776         stat-macros.h.
17777
17778         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
17779         Wrap old code with this conditional.
17780         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
17781         function that does not dereference symlinks.
17782         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
17783
17784         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
17785         dependency problems.
17786         (xreadlink): Accept new arg SIZE, for efficiency.
17787         All decls and uses changed.
17788         * lib/xreadlink.h: Include <stddef.h>, for size_t.
17789
17790         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
17791         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
17792
17793         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
17794         sysexits.h.
17795
17796 2004-06-01  Jim Meyering  <jim@meyering.net>
17797
17798         * m4/calloc.m4: New file.
17799
17800 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
17801
17802         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
17803         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
17804         Also, fix a typo in a diagnostic.
17805
17806 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17807
17808         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
17809         or AC_FUNC_REALLOC.
17810
17811 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17812
17813         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
17814         macros to be defined.
17815         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
17816         the allocator returns NULL because the requested size is zero.
17817
17818 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
17819
17820         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
17821         var.  Add comment explaining why libc still defines it.  This
17822         merges the following patch from glibc:
17823         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
17824
17825 2004-05-20  Andreas Schwab  <schwab@suse.de>
17826
17827         * m4/free.m4: Replace free if it not known to work, not the other
17828         way round.
17829
17830 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17831
17832         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
17833         present in glibc since revision 1.1 of this file.
17834         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
17835         obstack_alignment_mask, obstack_alloc, obstack_base,
17836         obstack_blank, obstack_blank_fast, obstack_chunk_size,
17837         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
17838         obstack_grow0, obstack_init, obstack_int_grow,
17839         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
17840         obstack_next_free, obstack_object_size, obstack_ptr_grow,
17841         obstack_ptr_grow_fast, obstack_room): Remove declarations of
17842         nonexistent functions.
17843
17844 2004-05-18  Karl Berry  <karl@gnu.org>
17845
17846         * config/srclist.txt: break link for vasnprintf.c.
17847
17848 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17849
17850         Port obstack to the AS/400, where pointers are 16 bytes wide and
17851         you cannot cast an integer to a valid pointer.  This patch is
17852         currently waiting to be integrated into glibc; see
17853         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
17854
17855         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
17856         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
17857         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
17858         (struct obstack): temp member is now a union of a pointer and
17859         an integer, instead of an integer.  All integer uses changed.
17860         This does not affect the physical layout of struct obstack,
17861         except on hosts (like the AS/400) where the size or alignment of
17862         void * is greater than that of ptrdiff_t.
17863         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
17864         __STDC__)]: Store temporary in pointer member of union, not
17865         integer member.
17866         * lib/obstack.c: Include <stddef.h>, for offsetof.
17867         (struct fooalign): Remove; it doesn't need a name.
17868         (union fooround): Change double to long double, and add void *.
17869         (DEFAULT_ALIGNMENT): Use offsetof to compute.
17870         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
17871         not a macro.  Hence the values are always int; so remove all
17872         casts-to-int in uses.
17873
17874 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17875
17876         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
17877         we can get this patch merged into glibc.
17878
17879 2004-05-17  Derek R. Price  <derek@ximbiot.com>
17880             Paul Eggert  <eggert@cs.ucla.edu>
17881
17882         * m4/argp: Depend on alloca.
17883
17884 2004-05-17  Derek R. Price  <derek@ximbiot.com>
17885             Paul Eggert  <eggert@cs.ucla.edu>
17886
17887         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
17888         freecoding.
17889
17890 2004-05-17  Bruno Haible  <bruno@clisp.org>
17891
17892         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
17893         precision that consists of a '.' followed by an empty digit string.
17894         Patch by Tor Lillqvist <tml@iki.fi>.
17895
17896 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17897
17898         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
17899         for backward compatibility with older code.  We need our own
17900         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
17901         it under some other name, and our alloca.h will define it.
17902
17903 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17904             Derek Price  <derek@ximbiot.com>
17905
17906         * lib/alloca.c: Include <alloca.h>, to get our interface.
17907         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
17908         include <alloca.h> first.  Use C89 prototype for alloca; this
17909         requires including <stddef.h> for size_t.  Use extern "C" if C++.
17910         Use #elif for simplicity, since we can assume C89 now.
17911         Don't try to source the system alloca.h since it will not be found
17912         and to prevent recursively including its replacement.
17913         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
17914         * lib/regex.c: Likewise.
17915
17916 2004-05-16  Derek Price  <derek@ximbiot.com>
17917             Paul Eggert  <eggert@cs.ucla.edu>
17918
17919         getline cleanup.  This changes the getndelim2 API: both order of
17920         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
17921         no delimiter).
17922
17923         * lib/getline.c: Don't include stddef.h or stdio.h, since our
17924         interface does that.
17925         (getline): Always use getdelim, so that we don't have two
17926         copies of this code.
17927         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
17928         if available.
17929         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
17930         (GETNDELIM2_MAXIMUM): New macro.
17931         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
17932         instead of the old practice of delim2==0.  All callers changed.
17933         Return -1 on overflow, instead of returning junk.
17934         Do not set *linesize unless allocation succeeds.
17935         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
17936         that we include sys/types.h.
17937         * lib/getnline.h: Likewise.
17938         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
17939         (getndelim2): Reorder arguments.
17940         * lib/getnline.c (getnline, getndelim):
17941         Don't discard the NMAX argument.
17942         (getnline): Invoke getndelim, to avoid code duplication.
17943         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
17944         of (size_t) -1 by callers of the getnline family.
17945
17946 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17947
17948         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
17949         Check for gettimeofday.
17950         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
17951         Check for settimeofday, stime.
17952
17953 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17954
17955         * lib/nanosleep.c (suspended): Change its type from int to
17956         sig_atomic_t volatile.
17957         (first_call): Make it private to rpl_nanosleep, and have it
17958         be zero initially as that's a bit faster.
17959         (my_usleep): Round up fractional times instead of truncating them,
17960         as this is the usual meaning for 'sleep'.
17961
17962         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
17963         doesn't work.
17964         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
17965         (ENOSYS): Define if not defined.
17966         (settime): Fall back on stime if it exists and settimeofday fails.
17967         But don't bother with fallbacks if a method fails with errno == EPERM.
17968
17969 2004-05-11  Jim Meyering  <jim@meyering.net>
17970
17971         Prior to this change, the save_cwd caller required read access to the
17972         current directory on most systems (ones with the fchdir function).
17973
17974         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
17975         fails, try write-only, and finally, resort to using xgetcwd.
17976
17977 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
17978
17979         * lib/obstack.c, obstack.h: Import changes from libc.
17980
17981 2004-04-28  Bruno Haible  <bruno@clisp.org>
17982
17983         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
17984         also implicitly appends .exe to executables.
17985         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
17986         accepts Windows pathnames.
17987         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
17988         Treat Cygwin like Windows, since it now accepts Windows pathnames.
17989         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
17990         Treat Cygwin like Windows, since it now accepts Windows pathnames.
17991         Reported by Derek Robert Price <derek@ximbiot.com>.
17992
17993 2004-04-21  Karl Berry  <karl@gnu.org>
17994
17995         * config/srclist.txt (localcharset.c): break sync.
17996
17997 2004-04-20  Paul Eggert  <eggert@twinsun.com>
17998
17999         * m4/host-os.m4: Add a copyright notice.
18000
18001 2004-04-20  Jim Meyering  <jim@meyering.net>
18002
18003         Change UTILS_ to gl_ in AC_DEFINE'd names.
18004         Change utils_- and jm_-prefixed variables, too.
18005         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
18006         UTILS_FUNC_MKDIR_TRAILING_SLASH.
18007         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
18008
18009         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
18010         Don't emit trailing blanks.
18011         Also rename jm_-prefixed variables to have gl_ prefix.
18012
18013         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
18014         Also rename jm_-prefixed variables to have gl_ prefix.
18015
18016         * m4/jm-macros.m4: Reflect the renamings.
18017         * m4/prereq.m4: Likewise.
18018
18019 2004-04-20  Jim Meyering  <jim@meyering.net>
18020
18021         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
18022         memory.
18023
18024 2004-04-20  Jim Meyering  <jim@meyering.net>
18025             Bruno Haible  <bruno@clisp.org>
18026
18027         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
18028         memory when realloc fails.
18029
18030 2004-04-19  Jim Meyering  <jim@meyering.net>
18031
18032         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
18033         now that readutmp.c may call `free (0)'.
18034
18035 2004-04-19  Bruno Haible  <bruno@clisp.org>
18036
18037         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
18038         * m4/inttypes_h.m4: Likewise.
18039         * m4/stdint_h.m4: Likewise.
18040         * m4/intmax_t.m4: Likewise.
18041         * m4/uintmax_t.m4: Likewise.
18042
18043 2004-04-18  Jim Meyering  <jim@meyering.net>
18044
18045         * m4/prereq.m4: Don't forbid jm_ prefix.
18046
18047         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
18048         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
18049         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
18050         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
18051         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
18052         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
18053         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
18054         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
18055         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
18056         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
18057         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
18058         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
18059         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
18060         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
18061         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
18062         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
18063         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
18064         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
18065         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
18066
18067 2004-04-18  Jim Meyering  <jim@meyering.net>
18068
18069         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
18070         failure, don't leak memory and do call END_UTMP_ENT.
18071
18072 2004-04-16  Jim Meyering  <jim@meyering.net>
18073
18074         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
18075         coreutils' stat program.
18076         (gl_PREREQ): Don't require jm_PREREQ_STAT.
18077
18078 2004-04-11  Paul Eggert  <eggert@twinsun.com>
18079
18080         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
18081         C89.
18082         (CHAR_BIT): Remove, since we assume C89.
18083         Include <stdint.h> if available, as per current Autoconf CVS advice.
18084
18085 2004-03-31  Jim Meyering  <jim@meyering.net>
18086
18087         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
18088         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
18089         * m4/xalloc.m4: Likewise.
18090
18091 2004-03-30  Paul Eggert  <eggert@twinsun.com>
18092
18093         Merge from coreutils.
18094
18095         * m4/inttostr.m4: New file.
18096         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
18097         Require AM_STDBOOL_H and gl_TIMESPEC instead.
18098         Require gl_CLOCK_TIME.
18099         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
18100
18101 2004-03-30  Paul Eggert  <eggert@twinsun.com>
18102
18103         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
18104         not bool, to be more consistent with Unix conventions.
18105         Suggested by Bruno Haible.
18106
18107         Merge from coreutils.
18108
18109         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
18110         * lib/umaxtostr.c: New files.
18111
18112         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
18113         the usual <time.h> dance.
18114         (get_date): Change signature to support fractional time stamps.
18115         All callers changed.
18116         * lib/getdate.y: Include "getdate.h" first, as we can now
18117         assume C89 and don't need to worry about 'const'.
18118         Similarly, include "unlocked-io.h" near start, not in middle.
18119         Include <limits.h>.
18120         (textint.value): Use long int rather than int.
18121         (textint.digits): Use size_t rather than int.
18122         (BILLION, LOG10_BILLION): New constants.
18123         (parser_control): New member rel_ns.  Members day_ordinal,
18124         time_zone, month, day, hour, minutes, rel_year, rel_month,
18125         rel_day, rel_hour, rel_minutes, rel_seconds
18126         are now long int, not int.  Member seconds is now struct timespec,
18127         not int.  New member timespec_seen.  Members dates_seen, days_seen,
18128         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
18129         not int.
18130         (%union.intval): Now long int, not int.
18131         New member timespec.
18132         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
18133         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
18134         (spec): Now is a timespec or an item list.
18135         (timespec, items): New nonterminals.
18136         (time, rel, relunit, number, get_date):
18137         Add support for fractional seconds.
18138         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
18139         (gmtime, localtime, mktime): Remove decls; not needed with C89.
18140         (to_hour): First arg is now long int, not int.
18141         (to_year): Returns long int, not int.
18142         Don't treat year -70 like 70.
18143         (tm_diff): Returns long int, not int.
18144         (lookup_word): Use bool instead of int when appropriate.
18145         (yylex): Use size_t for count, not int.
18146         Detect overflow when parsing large integer constants.
18147         Add support for fractions.
18148         (get_date): Make pointers 'const' if possible.
18149         Use more-portable code to detect integer overflow.
18150         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
18151         Don't use ctime; it's not reliable if the year has >4 digits.
18152
18153         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
18154         This is for compatibility with BSD.
18155
18156         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
18157         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
18158         From coreutils' system.h.
18159
18160         * lib/userspec.c: Don't include "posixver.h".
18161         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
18162         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
18163         compatible extension.  Simplify code by removing a boolean int
18164         that was always nonzero if a string was nonnull.
18165
18166 2004-03-30  Jim Meyering  <jim@meyering.net>
18167
18168         Merge from coreutils.
18169
18170         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
18171         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
18172         on some systems one must include <grp.h> before it.
18173         Reported by Christian Krackowizer.
18174
18175 2004-03-30  Jim Meyering  <jim@meyering.net>
18176
18177         Merge from coreutils.
18178
18179         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
18180
18181         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
18182         an empty input stream.
18183
18184         * lib/readtokens.c: Include <stdbool.h>.
18185         (readtoken): Use `size_t' rather than int/long.
18186         All callers adjusted.
18187         Use `bool' rather than `int' where appropriate.
18188         Use memset rather than an explicit loop.
18189         Use x2nrealloc rather than xrealloc.
18190         Allow the use of `\0' as a delimiter.
18191         (readtokens): Likewise.
18192         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
18193
18194 2004-03-30  Jim Meyering  <jim@meyering.net>
18195
18196         * m4/realloc.m4: Remove file, since now it does no more than
18197         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
18198         the `configure.ac' section of module/realloc.
18199         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
18200
18201 2004-03-30  Bruno Haible  <bruno@clisp.org>
18202
18203         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
18204         nonnull.
18205
18206 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18207
18208         Merge changes to getloadavg.c from coreutils and Emacs.
18209
18210         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
18211         Define to an expression, not to the empty string.
18212         Include cloexec.h and xalloc.h.
18213         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
18214         Use set_cloexec_flag rather than rolling our own.
18215         * lib/cloexec.c, lib/cloexec.h: New files.
18216
18217 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18218
18219         * m4/cloexec.m4: New file.
18220
18221 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18222
18223         * lib/getopt.h: Sync with libc CVS.
18224
18225 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18226             Bruno Haible  <bruno@clisp.org>
18227
18228         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
18229         mbswidth.
18230
18231 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18232             Bruno Haible  <bruno@clisp.org>
18233
18234         * lib/mbswidth.h: Include <wchar.h> only if
18235         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
18236         <wchar.h>.
18237         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
18238
18239 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18240
18241         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
18242         Sync with libc CVS.
18243         * lib/getopt_int.h: New file, also synced from libc.
18244
18245 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18246
18247         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
18248         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
18249         Bring back getopt.c, getopt.h, getopt1.c.
18250
18251 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18252
18253         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
18254         All uses changed.  Check for sa_sigaction member; this fixes
18255         a bug first reported by Jason Andrade in
18256         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18257
18258 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18259
18260         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
18261         '#if' expressions.  Unlike the code it replaces, it does not
18262         depend on (defined _SC_PAGESIZE).  However, it does depend on
18263         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
18264         first reported by Jason Andrade in
18265         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18266
18267 2004-02-25  Simon Josefsson  <jas@extundo.com>
18268
18269         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
18270
18271 2004-02-25  Simon Josefsson  <jas@extundo.com>
18272
18273         * lib/strdup.h: New file.
18274         * lib/strdup.c: Include it.
18275         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
18276         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
18277
18278 2004-02-23  Karl Berry  <karl@gnu.org>
18279
18280         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
18281         (from fencepost.gnu.org:/gd/gnuorg).
18282
18283 2004-02-23  Karl Berry  <karl@gnu.org>
18284
18285         * config/srclistvars.sh (GNUORG) [karl]: redefine.
18286         * config/srclist.txt: add maintain/standards documents.
18287
18288 2004-02-18  Bruno Haible  <bruno@clisp.org>
18289
18290         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
18291         Reported by Derek Robert Price <derek@ximbiot.com>.
18292
18293 2004-02-16  Karl Berry  <karl@gnu.org>
18294
18295         * config/mkinstalldirs, install-sh: update from automake.
18296
18297 2004-02-06  Karl Berry  <karl@gnu.org>
18298
18299         * m4/po.m4: update from gettext 0.14.1.
18300
18301 2004-02-06  Karl Berry  <karl@gnu.org>
18302
18303         * lib/config.charset: update from gettext 0.14.1.
18304
18305 2004-02-05  Paul Eggert  <eggert@twinsun.com>
18306
18307         Add comments and code, prompted by suggestions from Bruno Haible
18308         for sh-quote.
18309         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
18310         describing the enum quoting_style values.
18311         * lib/quotearg.c (quotearg_alloc): New function.
18312         (quotearg_buffer_restyled): Treat lone { and } as special.
18313         Treat = as special.  Work around bug with older shells
18314         that "see" a '\' that is really the 2nd byte of a multibyte char.
18315         Quote empty string with shell_quoting_style.
18316
18317 2004-02-03  Bruno Haible  <bruno@clisp.org>
18318
18319         * m4/pipe.m4: New file, from GNU gettext.
18320
18321 2004-02-03  Bruno Haible  <bruno@clisp.org>
18322
18323         * lib/pipe.h: New file, from GNU gettext.
18324         * lib/pipe.c: New file, from GNU gettext.
18325
18326 2004-01-27  Bruno Haible  <bruno@clisp.org>
18327
18328         * m4/execute.m4: New file, from GNU gettext.
18329
18330 2004-01-27  Bruno Haible  <bruno@clisp.org>
18331
18332         * lib/execute.h: New file, from GNU gettext.
18333         * lib/execute.c: New file, from GNU gettext.
18334         * lib/w32spawn.h: New file, from GNU gettext.
18335
18336 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18337
18338         Merge from diffutils.
18339
18340         * lib/file-type.c (file_type): Add typed memory objects.
18341         * lib/file-type.h (S_TYPEISTMO): New macro.
18342
18343         * lib/c-stack.h (c_stack_action): Remove argv argument.
18344         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
18345         (die): Don't calculate message unless segv_action returns.
18346         (get_stack_location, min_address_from_argv, max_address_from_argv,
18347         volatile stack_base, volatile_stack_size): Remove.
18348         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
18349         that every segmentation violation is a stack overflow.  (Ouch!)
18350         See Debian bug 136249 (still outstanding) for more info about why
18351         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
18352
18353 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18354
18355         Exit-status fix from coreutils.
18356
18357         Use exit_failure consistently in place of EXIT_FAILURE,
18358         so that program exit statuses are consistent on failure.
18359
18360         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
18361         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
18362         * lib/argmatch.h: Comment fix to match the above.
18363         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
18364         Now a macro referring to exit_failure, instead of a separate
18365         variable.  Include "exitfail.h" to get it.
18366         * lib/xstrtol.h: Include "exitfail.h".
18367         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
18368
18369         * lib/long-options.c (parse_long_options): Use prototype
18370         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
18371         for clarity.
18372
18373 2004-01-21  Jim Meyering  <jim@meyering.net>
18374
18375         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
18376         so as not to conflict with a different-sized __mktime_internal
18377         function in GNU libc.
18378         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
18379         Problem building statically-linked `ls' reported by Michael Brunnbauer.
18380
18381 2004-01-20  Karl Berry  <karl@gnu.org>
18382
18383         * config/config.guess: update from config.
18384
18385         * config/srclistvars.sh: GNUWWWLICENSES for karl.
18386
18387 2004-01-20  Bruno Haible  <bruno@clisp.org>
18388
18389         Safer stack allocation.
18390         * lib/setenv.c: Include allocsa.h.
18391         (alloca): Remove fallback definition.
18392         (freea): Remove macro.
18393         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
18394         instead of freea.
18395
18396 2004-01-20  Bruno Haible  <bruno@clisp.org>
18397
18398         * m4/eealloc.m4: New file, from GNU gettext.
18399
18400 2004-01-20  Bruno Haible  <bruno@clisp.org>
18401
18402         * m4/allocsa.m4: New file, from GNU gettext.
18403
18404 2004-01-20  Bruno Haible  <bruno@clisp.org>
18405
18406         * lib/xallocsa.h: New file, from GNU gettext.
18407         * lib/xallocsa.c: New file, from GNU gettext.
18408
18409 2004-01-20  Bruno Haible  <bruno@clisp.org>
18410
18411         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
18412
18413 2004-01-20  Bruno Haible  <bruno@clisp.org>
18414
18415         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
18416         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
18417         specially.
18418
18419 2004-01-20  Bruno Haible  <bruno@clisp.org>
18420
18421         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
18422         patch.
18423
18424 2004-01-20  Bruno Haible  <bruno@clisp.org>
18425
18426         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
18427
18428 2004-01-20  Bruno Haible  <bruno@clisp.org>
18429
18430         * lib/eealloc.h: New file.
18431
18432 2004-01-20  Bruno Haible  <bruno@clisp.org>
18433
18434         * lib/binary-io.h: Avoid warnings on Cygwin.
18435
18436 2004-01-20  Bruno Haible  <bruno@clisp.org>
18437
18438         * lib/allocsa.h: New file, from GNU gettext.
18439         * lib/allocsa.c: New file, from GNU gettext.
18440
18441 2004-01-18  Karl Berry  <karl@gnu.org>
18442
18443         * doc/gpl.texi, doc/lgpl.texi: new files.
18444
18445 2004-01-18  Karl Berry  <karl@gnu.org>
18446
18447         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
18448         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
18449
18450 2004-01-15  Paul Eggert  <eggert@twinsun.com>
18451
18452         Merge from coreutils.
18453
18454         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
18455         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
18456         (gl_DEFAULT_POSIX2_VERSION): Move
18457         the documentation from 'configure' into 'config.hin',
18458         so that 'configure --help' isn't burdened by it and
18459         we don't have to worry about its formatting there.
18460         Reword the documentation so that it's more succinct
18461         and can be run together into a single paragraph.
18462         * m4/same.m4 (gl_SAME): Check for pathconf.
18463
18464 2004-01-15  Paul Eggert  <eggert@twinsun.com>
18465
18466         Merge from coreutils.
18467
18468         * lib/posixver.c: Include posixver.h.
18469
18470         * lib/same.c: Include <stdbool.h>, <limits.h>.
18471         (_POSIX_NAME_MAX): Define if not defined.
18472         (MIN): New macro.
18473         (same_name): If file names are silently truncated, report
18474         that the file names are the same if they are the same after
18475         the silent truncation.
18476
18477         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
18478         conversion function.
18479         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
18480         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
18481         longer needed.
18482
18483 2004-01-15  Jim Meyering  <jim@meyering.net>
18484
18485         Merge from coreutils.
18486
18487         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
18488         if no library is required.
18489         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
18490         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
18491         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
18492         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
18493         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
18494         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
18495         value, $ac_cv_search_crypt, if it's "none required".
18496         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
18497         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
18498         not gl_FUNC_GETLOADAVG.
18499         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
18500         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
18501
18502 2004-01-15  Jim Meyering  <jim@meyering.net>
18503
18504         Merge from coreutils.
18505
18506         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
18507         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
18508         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
18509
18510         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
18511         optional configure-time default.
18512
18513         * lib/version-etc.c (version_etc_copyright): Update copyright date.
18514
18515         * lib/xreadlink.c (xreadlink): Correct outdated comment.
18516
18517 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
18518
18519         Merge from coreutils.
18520
18521         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
18522         value, $ac_cv_search_nanosleep, if it's "none required".
18523
18524 2004-01-14  Paul Eggert  <eggert@twinsun.com>
18525
18526         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
18527         with like-named macro in fnmatch.c.
18528         (EXT): Use an internal constant instead.
18529
18530         Merge fnmatch patches from glibc.
18531         * lib/fnmatch.c (mbsinit): Remove define.
18532         Add libc_hidden_ver (__fnmatch, fnmatch).
18533         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
18534         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
18535
18536 2004-01-14  Karl Berry  <karl@gnu.org>
18537
18538         * config/install-sh: update from automake.
18539
18540 2004-01-13  Karl Berry  <karl@gnu.org>
18541
18542         * config/install-sh: update from automake.
18543
18544 2004-01-09  Karl Berry  <karl@gnu.org>
18545
18546         * config/install-sh: update from automake.
18547
18548 2004-01-05  Karl Berry  <karl@gnu.org>
18549
18550         * config/config.{sub,guess}: update from config.
18551
18552 2003-12-31  Karl Berry  <karl@gnu.org>
18553
18554         * config/depcomp: update from automake.
18555
18556 2003-12-14  Karl Berry  <karl@gnu.org>
18557
18558         * lib/config.charset: update from gettext-runtime.
18559
18560 2003-12-03  Paul Eggert  <eggert@twinsun.com>
18561
18562         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
18563         Bug reported by Alfred M. Szmidt.
18564
18565 2003-12-03  Bruno Haible  <bruno@clisp.org>
18566
18567         * m4/gettext.m4: Upgrade from gettext-0.13.
18568         * m4/po.m4: Upgrade from gettext-0.13.
18569         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
18570         * m4/intmax.m4: New file, from gettext-0.13.
18571         * m4/printf-posix.m4: New file, from gettext-0.13.
18572
18573 2003-11-29  Karl Berry  <karl@gnu.org>
18574
18575         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
18576
18577 2003-11-25  Paul Eggert  <eggert@twinsun.com>
18578             Bruno Haible  <bruno@clisp.org>
18579
18580         * lib/printf-parse.h: Don't include sys/types.h.
18581         (ARG_NONE): New macro.
18582         (char_directive): Change type of *arg_index fields to size_t.
18583         * lib/printf-parse.c: Don't include sys/types.h.
18584         (SSIZE_MAX): Remove macro.
18585         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
18586         Remove unnecessary overflow check.
18587         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
18588         fields.
18589
18590 2003-11-25  Bruno Haible  <bruno@clisp.org>
18591
18592         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
18593
18594 2003-11-25  Bruno Haible  <bruno@clisp.org>
18595
18596         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
18597         gt_TYPE_SSIZE_T.
18598
18599 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18600
18601         * modules/alloca: Remove dependency on xalloc.
18602
18603 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18604
18605         * lib/alloca.c: Remove dependency on xalloc module.
18606         (xalloc_die): Remove.
18607         (memory_full) [!defined emacs]: New macro.
18608         [!defined emacs]: Don't include xalloc.h.
18609         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
18610         address arithmetic overflows.  Change datatypes a bit to avoid
18611         unnecessary casts.
18612
18613 2003-11-22  Jim Meyering  <jim@meyering.net>
18614
18615         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
18616         s/size/size_t/.
18617
18618 2003-11-21  Karl Berry  <karl@gnu.org>
18619
18620         * config/config.{sub,guess}: update from config.
18621
18622 2003-11-18  Karl Berry  <karl@gnu.org>
18623
18624         * config/config.{sub,guess}: update from config.
18625
18626         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
18627
18628 2003-11-17  Paul Eggert  <eggert@twinsun.com>
18629
18630         * README: Mention that S+T cannot overflow if S is the size of
18631         an existing object and T is sufficiently small.
18632
18633 2003-11-17  Jim Meyering  <jim@meyering.net>
18634
18635         On systems without utime and without a utimes function capable of
18636         dealing with a NULL struct utimbuf* argument, this utime replacement
18637         could -- in unusual circumstances -- leak a file descriptor.
18638         * lib/utime.c: Include <unistd.h> and <errno.h>.
18639         (utime_null): Be sure to close `fd' and to preserve errno.
18640         Reported by Geoff Collyer via Arnold Robbins.
18641
18642 2003-11-17  Bruno Haible  <bruno@clisp.org>
18643
18644         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
18645         (Depends-on): Add xsize.
18646
18647 2003-11-17  Bruno Haible  <bruno@clisp.org>
18648
18649         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
18650
18651 2003-11-17  Bruno Haible  <bruno@clisp.org>
18652
18653         * lib/vasnprintf.c (alloca): Remove fallback definition.
18654         (freea): Remove definition.
18655         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
18656         Reported by Paul Eggert.
18657
18658 2003-11-16  Paul Eggert  <eggert@twinsun.com>
18659             Bruno Haible  <bruno@clisp.org>
18660
18661         Protect against address arithmetic overflow.
18662         * lib/printf-args.h: Include stddef.h.
18663         (arguments): Change type of field 'count' to size_t.
18664         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
18665         'unsigned int' where appropriate.
18666         * lib/printf-parse.h: Include sys/types.h.
18667         (char_directive): Change type of *arg_index fields to ssize_t.
18668         (char_directives): Change type of fields 'count', max_*_length to
18669         size_t.
18670         * lib/printf-parse.c: Include sys/types.h and xsize.h.
18671         (SSIZE_MAX): Define fallback value.
18672         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
18673         instead of 'int' where appropriate. Check a_allocated, d_allocated
18674         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
18675         * lib/vasnprintf.c: Include xsize.h.
18676         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
18677         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
18678         overflow. Avoid wraparound when converting a width or precision from
18679         decimal to binary.
18680
18681 2003-11-16  Bruno Haible  <bruno@clisp.org>
18682
18683         Update from GNU gettext.
18684         * lib/printf-parse.c: Generalize to it can be compiled for wide
18685         strings.
18686         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
18687         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
18688         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
18689         SNPRINTF): New macros.
18690         Don't include <alloca.h> if the file is used inside libintl.
18691         (local_wcslen): New function, for Solaris 2.5.1.
18692         (VASNPRINTF): Use it instead of wcslen.
18693
18694 2003-11-16  Bruno Haible  <bruno@clisp.org>
18695
18696         * lib/xsize.h (xmax): New function.
18697         (xsum, xsum3, xsum4): Declare as "pure" functions.
18698
18699 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18700
18701         * modules/xalloc (Files): Undo latest change, since xalloc.h
18702         no longer needs SIZE_MAX or PTRDIFF_MAX.
18703
18704 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18705
18706         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
18707         gl_PTRDIFF_MAX.
18708
18709 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18710
18711         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
18712         "return", to pacify some unknown compiler.  Problem reported
18713         by Joerg Schilling.
18714
18715 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18716
18717         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
18718         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
18719         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
18720         heuristic is just as accurate as far as we know, and it removes a
18721         dependency on size_max.m4 and ptrdiff_max.m4.
18722
18723 2003-11-11  Bruno Haible  <bruno@clisp.org>
18724
18725         * modules/xsize (Files): Add m4/size_max.m4.
18726         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
18727
18728 2003-11-11  Bruno Haible  <bruno@clisp.org>
18729
18730         * m4/size_max.m4: New file.
18731         * m4/ptrdiff_max.m4: New file.
18732         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
18733         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
18734         (gl_XALLOC): Invoke it.
18735
18736 2003-11-11  Bruno Haible  <bruno@clisp.org>
18737
18738         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
18739         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
18740         defined.
18741
18742 2003-11-10  Paul Eggert  <eggert@twinsun.com>
18743
18744         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
18745         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
18746         rejected some allocations of exactly SIZE_MAX - 2 bytes.
18747         From Bruno Haible.
18748         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
18749         not (size_t) -1, since it's defined here.
18750
18751 2003-11-09  Karl Berry  <karl@gnu.org>
18752
18753         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
18754
18755 2003-11-06  Paul Eggert  <eggert@twinsun.com>
18756
18757         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
18758         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
18759         Reject sizes of exactly SIZE_MAX bytes.
18760         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
18761         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
18762
18763 2003-11-05  Bruno Haible  <bruno@clisp.org>
18764
18765         * lib/xsize.h: Include limits.h, to avoid a possible collision with
18766         SIZE_MAX defined in <limits.h> on Solaris.
18767
18768 2003-11-04  Jim Meyering  <jim@meyering.net>
18769
18770         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
18771         variable names, rather than @VAR@.
18772         * modules/poll: Likewise.
18773
18774 2003-11-04  Bruno Haible  <bruno@clisp.org>
18775
18776         * modules/xsize: New file.
18777         * modules/linebreak: Depend on xsize.
18778         * MODULES.html.sh (func_all_modules): Add xsize.
18779
18780 2003-11-04  Bruno Haible  <bruno@clisp.org>
18781
18782         * m4/xsize.m4: New file.
18783
18784 2003-11-04  Bruno Haible  <bruno@clisp.org>
18785
18786         * lib/xsize.h: New file.
18787         * lib/linebreak.c: Include xsize.h.
18788         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
18789         argument for overflow.
18790         Suggested by Paul Eggert.
18791
18792 2003-11-03  Karl Berry  <karl@gnu.org>
18793
18794         * config/config.{guess,sub}: update from config.
18795
18796 2003-11-03  Jim Meyering  <jim@meyering.net>
18797
18798         * modules/userspec (lib_SOURCES): Add userspec.h.
18799         (Include): Add "userspec.h".
18800         Improve description.
18801
18802 2003-11-03  Jim Meyering  <jim@meyering.net>
18803
18804         * lib/userspec.c: Include "userspec.h".
18805         * lib/userspec.h: New file.
18806
18807 2003-11-03  Bruno Haible  <bruno@clisp.org>
18808
18809         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
18810
18811 2003-11-03  Bruno Haible  <bruno@clisp.org>
18812
18813         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
18814         available, to avoid (extremely rare) race condition.
18815         Suggested by Paul Eggert.
18816
18817 2003-11-02  Karl Berry  <karl@gnu.org>
18818
18819         * config/srclist.txt (vasprintf.c): sync broken, sigh.
18820
18821 2003-10-31  Paul Eggert  <eggert@twinsun.com>
18822
18823         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
18824         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
18825         (read_filesystem_list): Set and use me_type_malloced.
18826         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
18827         whatever the type happens to be), for brevity and consistency.
18828         Check for size calculation overflow on Alphas running OSF/1.
18829
18830 2003-10-31  Jim Meyering  <jim@meyering.net>
18831
18832         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
18833
18834         * lib/linebuffer.c: Include <string.h> for declaration of memset.
18835
18836 2003-10-30  Paul Eggert  <eggert@twinsun.com>
18837             Bruno Haible  <bruno@clisp.org>
18838
18839         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
18840         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
18841
18842 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
18843
18844         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
18845         netbsd*-gnu*.  Suggested by Robert Millan.
18846
18847 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18848
18849         * modules/group-member: Depend on stdbool.
18850
18851 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18852
18853         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
18854
18855 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18856
18857         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
18858         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
18859         after the 'gnu' in these cases.  This fixes some bugs in the
18860         previous change, and is based on suggestions by Robert Millan.
18861
18862 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18863
18864         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
18865         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
18866         no longer needed.
18867         * lib/quotearg.c (quotearg_n_options): Use it.
18868         * lib/group-member.c: Include <stdbool.h>.
18869         (free_group_info): Arg is now const *; don't free arg.
18870         (get_group_info): Now returns bool and accepts struct group_info *,
18871         rather than returning a malloc'ed struct group_info *.
18872         All uses changed.  Check for overflow in internal size calculation.
18873
18874         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
18875         rather than xmalloc/xrealloc.
18876         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
18877         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
18878         conformance bug: the old code used a pointer after freeing the
18879         storage that it addressed.
18880         * lib/hash.c (hash_initialize): Simplify the code by using
18881         xalloc_oversized rather than doing it by hand.
18882         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
18883         the buffer preserved.  Use free and xmalloc instead.
18884         * lib/quotearg.c (quotearg_n_options): Likewise.
18885         Use a simpler test for size overflow.  Don't use xalloc_oversized
18886         because unsigned int might be wider than size_t (!); this suggests
18887         that we should switch from unsigned int to size_t for slot numbers.
18888
18889 2003-10-28  Paul Eggert  <eggert@twinsun.com>
18890
18891         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
18892         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
18893         NetBSD kernels.  Requested by Richard Stallman.
18894
18895 2003-10-27  Paul Eggert  <eggert@twinsun.com>
18896
18897         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
18898         to allocate the returned structure.  Do not allocate a subarray,
18899         as x2nrealloc will do that.
18900         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
18901         instead of xnrealloc.
18902         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
18903
18904 2003-10-27  Bruno Haible  <bruno@clisp.org>
18905
18906         * lib/stdbool_.h: Better support for BeOS.
18907
18908 2003-10-26  Paul Eggert  <eggert@twinsun.com>
18909
18910         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
18911         now uses inline.
18912
18913 2003-10-26  Paul Eggert  <eggert@twinsun.com>
18914
18915         * lib/xalloc.h (xalloc_oversized): New static inline function, for
18916         callers that want to do their own size-overflow checking.  Include
18917         <stdbool.h>, since xalloc_oversized returns bool.
18918         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
18919         to use xalloc_oversized.
18920
18921         Add two functions x2realloc, x2nrealloc, for programs that grow
18922         arrays dynamically by doubling their sizes.
18923         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
18924         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
18925         New functions.
18926
18927         Port to C99 semantics for 'inline' of external functions.
18928         Bug reported by Bruno Haible.
18929         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
18930         with the old contents of xnmalloc.
18931         (xnmalloc, xmalloc): Use it.
18932         (xnrealloc_inline): New static inline function,
18933         with the old contents of xnrealloc.
18934         (xnrealloc, xrealloc): Use it.
18935
18936         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
18937         that.
18938
18939 2003-10-26  Karl Berry  <karl@gnu.org>
18940
18941         * config/srclist.txt (COPYING.DOC): no longer available from
18942         /gd/gnuorg; don't know where the ultimate source is.
18943
18944 2003-10-25  Paul Eggert  <eggert@twinsun.com>
18945
18946         Fix several address-calculation bugs in the hash modules,
18947         plus some minor code cleanup.
18948
18949         * lib/hash.h: Include <stdbool.h>, for bool.
18950         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
18951         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
18952         hash_get_n_entries, hash_get_max_bucket_length,
18953         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
18954         hash_rehash): Use size_t rather than unsigned.
18955         * lib/hash.c (struct hash_table, hash_get_n_buckets,
18956         hash_get_n_buckets_used, hash_get_n_entries,
18957         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
18958         hash_get_entries, hash_do_for_each, hash_string, is_prime,
18959         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
18960         Likewise.
18961         (SIZE_MAX): Define if not defined.
18962         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
18963         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
18964         hash_print):
18965         Use const * when possible.
18966         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
18967         (check_tuning): Fix bug: if tuning parameters were very close to
18968         0 or 1, rounding errors could have caused subscript violations.
18969         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
18970         (hash_initialize): Add 'fail:' label
18971         to free table and return NULL, and use it to simplify code.
18972         Use calloc rather than clearing the storage ourself.
18973         (hash_initialize, hash_rehash): Check for arithmetic overflow in
18974         buffer size calculations.
18975         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
18976         Include <stddef.h>, for size_t.
18977         * lib/hash-pjw.c (hash_pjw): Likewise.
18978         Switch to method described by Bruno Haible.
18979         Include <limits.h>, for CHAR_BIT.
18980         (SIZE_BITS): New macro.
18981
18982 2003-10-23  Paul Eggert  <eggert@twinsun.com>
18983
18984         * m4/getline.m4 (AM_FUNC_GETLINE):
18985         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
18986         hosts.  Problem reported by Derek Robert Price in
18987         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
18988         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
18989         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
18990
18991 2003-10-21  Paul Eggert  <eggert@twinsun.com>
18992
18993         * lib/getndelim2.c (getndelim2): When size calculation overflows,
18994         ceiling the allocation at NMAX bytes rather than silently
18995         discarding input bytes before NMAX is reached.  This makes
18996         a difference only if NMAX exceeds SIZE_MAX / 2.
18997
18998         * lib/obstack.c: Merge from glibc.
18999         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
19000         Add libc_hidden_def (_obstack_newchunk).
19001         (_obstack_free) [! defined _LIBC]: Remove.
19002         [defined _LIBC]: Make a strong alias from obstack_free, rather than
19003         a clone of the function body.
19004         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
19005         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
19006
19007         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
19008         glibc.
19009         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
19010         arg to memcpy.
19011
19012         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
19013         (obstack_ptr_grow_fast, obstack_int_grow_fast):
19014         Don't use lvalue casts, as GCC plans to remove support for them
19015         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
19016         was also present in the non-GCC version, indicating that this
19017         code had always been buggy and had never been widely used.
19018         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
19019         Use the fast variant of each macro, rather than copying the
19020         definiens of the fast variant; that way, we'll be more likely to
19021         catch future bugs in the fast variants.
19022
19023 2003-10-20  Bruno Haible  <bruno@clisp.org>
19024
19025         * modules/wait-process: New file.
19026         * MODULES.html.sh (func_all_modules): Add wait-process.
19027
19028 2003-10-20  Bruno Haible  <bruno@clisp.org>
19029
19030         * m4/wait-process.m4: New file.
19031
19032 2003-10-20  Bruno Haible  <bruno@clisp.org>
19033
19034         * lib/wait-process.h: New file, from GNU gettext.
19035         * lib/wait-process.c: New file, from GNU gettext.
19036
19037 2003-10-19  Jim Meyering  <jim@meyering.net>
19038
19039         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
19040         HPUX 10.20.
19041
19042 2003-10-18  Karl Berry  <karl@gnu.org>
19043
19044         * config/config.guess: update from config.
19045
19046 2003-10-16  Paul Eggert  <eggert@twinsun.com>
19047
19048         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
19049         (getgroups): First arg is int, not size_t.
19050         Don't let 'free' mangle errno.
19051
19052 2003-10-16  Paul Eggert  <eggert@twinsun.com>
19053
19054         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
19055
19056 2003-10-16  Karl Berry  <karl@gnu.org>
19057
19058         * config/config.{guess,sub}: update from config.
19059
19060 2003-10-16  Jim Meyering  <jim@meyering.net>
19061
19062         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
19063         memcpy.
19064
19065 2003-10-15  Paul Eggert  <eggert@twinsun.com>
19066
19067         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
19068         (SIZE_MAX): Remove.
19069         (new_exclude, add_exclude_file): Initial size no longer needs to
19070         be a power of 2.
19071         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
19072         our own address arithmetic overflow checking.
19073
19074         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
19075         (fnmatch): Do not alloca more than 2000 wide characters;
19076         instead, use malloc for large buffers.
19077         Check for address arithmetic overflow, and return -1
19078         with errno set to ENOMEM in that case.
19079         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
19080         (NEW_PATTERN): Do not alloca more than 8000 bytes;
19081         instead, return -1.  Check for address arithmetic overflow.
19082
19083 2003-10-14  Paul Eggert  <eggert@twinsun.com>
19084
19085         Handle invalid suffixes and overflow independently, so that
19086         callers can treat them independently as needed.  Fix some bugs in
19087         suffix handling, e.g., "100k@" was not diagnosed as an invalid
19088         suffix for a human-readable blocksize.  The major caller-visible
19089         change is the addition of a new
19090         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
19091         that both overflow and suffix chars were found.
19092
19093         * lib/human.c (humblock): Don't check separately for invalid suffix
19094         char; that is xstrtoumax's job (now that its bug is fixed).
19095         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
19096         INTMAX_MAX]: New macros.
19097         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
19098         TYPE_MAXIMUM): New macros.
19099         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
19100         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
19101         if overflow occurs, as it's what __strtol does and it's more useful
19102         in practice.
19103         (__xstrtol): If __strtol reports some error other than ERANGE,
19104         reflect it to the caller as LONGINT_INVALID.  If it reports
19105         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
19106         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
19107         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
19108         value.
19109         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
19110         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
19111         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
19112         [defined UINTMAX_MAX]: New macros.
19113
19114 2003-10-14  Bruno Haible  <bruno@clisp.org>
19115
19116         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
19117
19118 2003-10-14  Bruno Haible  <bruno@clisp.org>
19119
19120         * m4/sig_atomic_t: New file, from GNU gettext.
19121         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
19122
19123 2003-10-14  Bruno Haible  <bruno@clisp.org>
19124
19125         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
19126         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
19127         Also use volatile where needed.
19128
19129 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19130
19131         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
19132         Change maintainer from Bruno Haible to 'all'.
19133
19134 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19135
19136         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
19137
19138 2003-10-12  Paul Eggert  <eggert@twinsun.com>
19139
19140         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
19141         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
19142         and define in terms of the other primitives.
19143         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
19144         (SIZE_MAX): Define if not already defined.
19145         (array_size_overflow): New function.
19146         (xalloc_die): Abort instead of exiting if 'error' returns.
19147         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
19148         (xmalloc, xrealloc): Use them.
19149         (xcalloc): Check for address arithmetic overflow.
19150         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
19151         a bit faster than strcpy.
19152
19153 2003-10-10  Simon Josefsson  <jas@extundo.com>
19154
19155         * modules/argp (Depends-on): Add restrict and strcase.
19156
19157 2003-10-10  Simon Josefsson  <jas@extundo.com>
19158
19159         * m4/argp.m4: Add AC_C_INLINE.
19160
19161 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19162
19163         Merge getpass from libc, plus a few fixes.
19164
19165         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
19166         Include <stdbool.h>.
19167         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
19168         __fsetlocking to empty.
19169         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
19170         do include <bits/libc-lock.h>.
19171         Do not include <fcntl.h>; not needed.
19172         [_LIBC]: Include <wchar.h>.
19173         (NOTCANCEL_MODE): New macro.
19174         (flockfile, funlockfile) [_LIBC]: New macros.
19175         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
19176         [!_LIBC]: New macros.
19177         (call_fclose): New function.
19178         (getpass): Use it.  Save tty stream separately; this simplifies the
19179         code and makes it more reliable if stdin happens to equal stdout.
19180         Invoke __fsetlocking on tty.
19181         Handle thread cancellation if needed.
19182         Namespace cleanup (use __tcgetattr, __getline).
19183         Use bool for Booleans.
19184         [USE_IN_LIBIO]: Handle wide streams.
19185         [!_LIBC]: Unconditionally do the fseek, since we don't know what
19186         stream might go where.
19187
19188         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
19189         doesn't have to include <stdio.h> before us.
19190         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
19191         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
19192         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
19193         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
19194         if not declared, so that we can use getpass.c code from libc without
19195         rewriting it.
19196         (flockfile, ftrylockfile, funlockfile): New macros.
19197
19198 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19199
19200         * modules/getpass: Depend on stdbool.
19201
19202 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19203
19204         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
19205
19206 2003-10-07  Karl Berry  <karl@gnu.org>
19207
19208         * config/config.{guess,sub}: update from config.
19209
19210 2003-10-06  Jim Meyering  <jim@meyering.net>
19211             Bruno Haible  <bruno@clisp.org>
19212
19213         This lets translators provide better translations for the
19214         "Written by ..." part of --version output.
19215         * lib/version-etc.h: Include stdarg.h.
19216         (version_etc_copyright): Declare as readonly.
19217         (version_etc): Make this function variadic with a NULL-terminated list
19218         of author name strings.
19219         (version_etc_va): New declaration.
19220         * lib/version-etc.c: Include stdarg.h, stdlib.h.
19221         (version_etc_copyright): Declare as readonly.
19222         (version_etc_va): New function. Provide a different translatable string
19223         for each possible number of authors < 10. Abbreviate when there are 10
19224         authors or more.
19225         (version_etc): Make this function variadic. Call version_etc_va.
19226         Suggestion from Gary V. Vaughan.
19227
19228         * lib/long-options.h (parse_long_options): Change prototype: the
19229         authors string is moved to the end and becomes variadic.
19230         * lib/long-options.c: Include stdarg.h.
19231         (parse_long_options): Make this function variadic, too.
19232         Call version_etc_va, not version_etc.
19233
19234 2003-10-06  Bruno Haible  <bruno@clisp.org>
19235
19236         * modules/version-etc-2: Remove file.
19237         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
19238
19239 2003-10-06  Bruno Haible  <bruno@clisp.org>
19240
19241         * modules/fatal-signal: New file.
19242         * MODULES.html.sh (func_all_modules): Add fatal-signal.
19243
19244 2003-10-06  Bruno Haible  <bruno@clisp.org>
19245
19246         * m4/fatal-signal.m4: New file.
19247         * m4/signalblocking.m4: New file, from GNU gettext.
19248
19249 2003-10-06  Bruno Haible  <bruno@clisp.org>
19250
19251         * lib/version-etc-2.h: Remove file.
19252         * lib/version-etc-2.c: Remove file.
19253
19254 2003-10-06  Bruno Haible  <bruno@clisp.org>
19255
19256         * lib/fatal-signal.h: New file, from GNU gettext.
19257         * lib/fatal-signal.c: New file, from GNU gettext.
19258
19259 2003-10-05  Paul Eggert  <eggert@twinsun.com>
19260
19261         * README: Rework advice for preventing empty .o files.
19262         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
19263         not <sys/types.h>.
19264
19265 2003-10-04  Karl Berry  <karl@gnu.org>
19266
19267         * lib/argp*: update from libc.
19268
19269 2003-10-04  Karl Berry  <karl@gnu.org>
19270
19271         * config/config.{guess,sub}: update from config.
19272
19273 2003-10-02  Bruno Haible  <bruno@clisp.org>
19274
19275         * modules/lchown (Include): Add lchown.h.
19276         * modules/time_r (Include): Use "..." syntax.
19277         * modules/xgetdomainname (Include): Add xgetdomainname.h.
19278
19279 2003-10-01  Simon Josefsson  <jas@extundo.com>
19280
19281         * MODULES.html.sh (func_all_modules): Move gethostname from section
19282         'based on' to section 'lacking' POSIX:2001.
19283
19284 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
19285
19286         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
19287         to output mode on the same stream.
19288
19289 2003-09-29  Paul Eggert  <eggert@twinsun.com>
19290
19291         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
19292         Fix arg typo in previous patch.
19293
19294 2003-09-28  Jim Meyering  <jim@meyering.net>
19295
19296         * lib/error.c: Correct cpp indentation.
19297
19298 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19299
19300         * modules/free: New file.
19301
19302 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19303
19304         * m4/free.m4: New file.
19305
19306 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19307
19308         * lib/minmax.h (MIN, MAX)
19309         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
19310         Omit the special code that used __typeof__, since we worry that
19311         it could be more trouble than it's worth.  See:
19312         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
19313         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
19314
19315         * lib/free.c: New file.
19316
19317 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
19318
19319         Trivial fixes to Makefile.am parts of module listings.
19320         * modules/strstr: Append strstr.h to lib_SOURCES.
19321         * modules/strcase: Likewise, for strcase.h.
19322
19323 2003-09-27  Karl Berry  <karl@gnu.org>
19324
19325         * config/mkinstalldirs: update from automake.
19326
19327 2003-09-26  Paul Eggert  <eggert@twinsun.com>
19328
19329         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
19330         (error_tail): Do not loop, reallocating temporary buffer, since
19331         the output cannot contain more wide characters than the input
19332         contains bytes, the size must be big enough already.  This avoids
19333         one potential size overflow calculation.  Check for size overflow
19334         when calculating temporary buffer size.  Free temporary buffer
19335         when done, if it was allocated with malloc; this plugs a memory
19336         leak.  Remove casts from void * to pointers, that are no longer
19337         needed now that we're assuming C89 or better.
19338
19339         Merge error changes from glibc.
19340
19341         * lib/error.c, error.h: Update copyright notice header to match glibc.
19342         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
19343         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
19344         Disable cancellation while printing error.
19345         * lib/error.h: Prepend __ to parameter names.
19346
19347 2003-09-26  Jim Meyering  <jim@meyering.net>
19348
19349         * lib/error.c (error_tail): Move some declarations
19350         into inner scope where the local variables are used.
19351
19352 2003-09-26  Bruno Haible  <bruno@clisp.org>
19353
19354         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
19355         stpncpy().
19356         Don't define stpncpy through config.h; it's now done through stpncpy.h.
19357
19358 2003-09-26  Bruno Haible  <bruno@clisp.org>
19359
19360         * lib/stpncpy.h (gnu_stpncpy): New declaration.
19361         (stpncpy): Define as alias for gnu_stpncpy.
19362         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
19363
19364 2003-09-25  Simon Josefsson  <jas@extundo.com>
19365
19366         * lib/xgetdomainname.h: New file.
19367         * lib/xgetdomainname.c: New file.
19368
19369 2003-09-25  Simon Josefsson  <jas@extundo.com>
19370             Bruno Haible  <bruno@clisp.org>
19371
19372         * modules/getdomainname: New file.
19373         * modules/xgetdomainname: New file.
19374         * MODULES.html.sh (func_all_modules): Add getdomainname,
19375         xgetdomainname.
19376
19377 2003-09-25  Simon Josefsson  <jas@extundo.com>
19378             Bruno Haible  <bruno@clisp.org>
19379
19380         * m4/getdomainname.m4: New file.
19381
19382 2003-09-25  Simon Josefsson  <jas@extundo.com>
19383             Bruno Haible  <bruno@clisp.org>
19384
19385         * lib/getdomainname.h: New file.
19386         * lib/getdomainname.c: New file.
19387
19388 2003-09-25  Karl Berry  <karl@gnu.org>
19389
19390         * lib/argp-fmtstream.c, argp-help.c: update from libc.
19391
19392 2003-09-25  Karl Berry  <karl@gnu.org>
19393
19394         * config/install-sh: update from automake.
19395
19396 2003-09-25  Bruno Haible  <bruno@clisp.org>
19397
19398         * modules/version-etc-2: New file, from modules/version-etc with
19399         modifications.
19400         * MODULES.html.sh (func_all_modules): Add version-etc-2.
19401
19402 2003-09-25  Bruno Haible  <bruno@clisp.org>
19403
19404         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
19405         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
19406
19407 2003-09-24  Simon Josefsson  <jas@extundo.com>
19408
19409         * modules/xgethostname: Add xgethostname.h.
19410
19411 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19412
19413         * lib/linebuffer.c (freebuffer): Don't free the argument, just
19414         the buffer associated with the argument.  Bug reported by
19415         Simon Josefsson.
19416
19417 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19418
19419         * README: Document assumptions that 'int' is at least 32 bits
19420         wide, that integer arithmetic is 2's complement without overflow,
19421         that there are no holes in integer values, that adding sizes of
19422         two nonoverlapping objects can't overflow, and that all-bits-zero
19423         yields scalar zero.  Fix spelling and capitalization typos.
19424
19425 2003-09-19  Karl Berry  <karl@gnu.org>
19426
19427         * lib/argp.h: update from libc.
19428
19429 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19430
19431         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
19432         to avoid spurious warnings like "AC_RUN_IFELSE was called before
19433         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
19434
19435 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19436
19437         * gnulib-tool: Use "test -h", not "test -L", for portability
19438         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
19439         (tags_regexp): Remove, since \| doesn't conform to POSIX.
19440         (sed_extract_prog): Issue s commands one-by-one, rather than
19441         using \| in one s command.
19442
19443 2003-09-16  Paul Eggert  <eggert@twinsun.com>
19444
19445         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
19446         input error, instead of returning NULL the next time we are called
19447         (and therefore losing track of errno).
19448
19449 2003-09-16  Bruno Haible  <bruno@clisp.org>
19450
19451         * gnulib-tool (func_create_testdir): Warn about duplicated
19452         dependencies.
19453
19454 2003-09-15  Paul Eggert  <eggert@twinsun.com>
19455
19456         * modules/argmatch, modules/fatal, modules/obstack,
19457         modules/xalloc, modules/xgethostname: Sort dependencies by
19458         importance, not alphabetically.
19459
19460 2003-09-15  Paul Eggert  <eggert@twinsun.com>
19461
19462         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
19463         fails, so that the caller gets the proper errno.
19464
19465         * lib/readutmp.c (read_utmp): Likewise.
19466         Check for fstat error.  Close stream and free storage
19467         when failing.
19468
19469 2003-09-14  Karl Berry  <karl@gnu.org>
19470
19471         * config/srclist.txt (strdup.c): disable for c89 changes.
19472
19473 2003-09-14  Jim Meyering  <jim@meyering.net>
19474
19475         * lib/getloadavg.c: Correct cpp indentation.
19476         * lib/strdup.c: Likewise.
19477         * lib/vasnprintf.c: Likewise.
19478
19479 2003-09-14  Bruno Haible  <bruno@clisp.org>
19480
19481         * modules/fwriteerror: New file.
19482         * MODULES.html.sh (func_all_modules): Add fwriteerror.
19483
19484 2003-09-14  Bruno Haible  <bruno@clisp.org>
19485
19486         * lib/fwriteerror.h: New file.
19487         * lib/fwriteerror.c: New file.
19488
19489 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19490
19491         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
19492         modules/xgethostname, modules/xalloc: Depend on exit.
19493
19494 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19495
19496         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
19497
19498         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
19499         and AC_MINIX, too, so that their extensions are available.
19500
19501         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
19502         This macro has been superseded by gl_BACKUPFILE.
19503
19504         More patches to assume C89 or better.
19505
19506         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
19507
19508         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
19509         unconditionally.
19510         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
19511         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
19512         Include <string.h>, <stdlib.h> unconditionally.
19513         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
19514         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
19515         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
19516         headers or for string.h.
19517         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
19518         or strtoul.
19519
19520         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
19521         headers.
19522         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
19523         * m4/userspec.m4 (gl_USERSPEC): Likewise.
19524         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
19525         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
19526         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
19527         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
19528         memcpy, memset.
19529         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
19530         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
19531         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
19532         strtol.
19533         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
19534         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
19535         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
19536         strtoul.
19537
19538 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19539
19540         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
19541         * lib/obstack.c [!defined _LIBC]: Likewise.
19542         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
19543         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
19544         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
19545
19546         More changes to assume C89 or better.
19547
19548         * lib/error.c (error_tail): Assume vprintf.
19549
19550         * lib/argmatch.c (getenv): Remove decl.
19551         * lib/progreloc.c (get_full_program_name): Define via prototype.
19552         * lib/setenv.c (clearenv): Likewise.
19553         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
19554         needed.
19555         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
19556         (malloc, memcpy): Remove decls.
19557         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
19558         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
19559         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
19560         (memcpy): Remove macro.
19561         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
19562         (__P): Remove.  All uses removed.
19563         (PTR): Remove.  All uses changed to void *.
19564         (CHAR_BIT, NULL): Remove.
19565         (spaces, zeros, memset_space, memset_zero)
19566         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
19567         Remove.
19568         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
19569         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
19570         Define with prototype.
19571         Remove now-unnecessary prototype decl.
19572         (extra_args_spec): Assume ANSI C.  All uses changed.
19573         (extra_args_spec_iso): Remove.
19574         (my_strftime, emacs_strftimeu): Define via prototype.
19575         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
19576         unconditionally.
19577         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
19578         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
19579         (strtoul, strtol): Remove decls.
19580         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
19581         LONG_MAX): Remove.
19582         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
19583         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
19584         (LOCALE_PARAM_PROTO): New macro.
19585         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
19586         (INTERNAL (strtol), strtol): Define with a prototype.
19587         (PARAMS): Remove.  All uses removed.
19588         * lib/tempname.c: Include <string.h> unconditionally.
19589         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
19590         * lib/xgethostname.c (main): Define with a prototype.
19591         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
19592         Include <stdlib.h> unconditionally.
19593         (calloc, malloc, realloc, free): Remove decls.
19594         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
19595         Include <stdlib.h> unconditionally.  Sort include file names.
19596         (strtod): Remove.
19597         (xstrtod): Define with a prototype.
19598         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
19599         (strtol, strtoul): Remove decls.
19600
19601 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19602
19603         More patches to assume C89 or better.
19604         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
19605         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
19606         string.h, memchr, STDC_HEADERS.
19607
19608 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19609
19610         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
19611         Include <stdlib.h>, <string.h> unconditionally.
19612         Remove now-unnecessary cast to char *.
19613         * lib/strnlen.c: Include <string.h> unconditionally.
19614         * lib/yesno.c (yesno): Define with a prototype.
19615
19616 2003-09-11  Bruno Haible  <bruno@clisp.org>
19617
19618         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
19619
19620 2003-09-10  Jim Meyering  <jim@meyering.net>
19621
19622         * lib/error.c: Correct indentation of cpp directives.
19623
19624 2003-09-10  Bruno Haible  <bruno@clisp.org>
19625
19626         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
19627         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
19628         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
19629         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
19630         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
19631         <stdlib.h> and <string.h> checks.
19632         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
19633         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
19634
19635 2003-09-10  Bruno Haible  <bruno@clisp.org>
19636
19637         * lib/strcspn.c: Include <string.h> unconditionally.
19638         * lib/strpbrk.c: Include <string.h> unconditionally.
19639         * lib/strstr.c: Include <string.h> unconditionally.
19640         * lib/unicodeio.c: Include <string.h> unconditionally.
19641         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
19642         * lib/unsetenv.c: Likewise.
19643         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
19644         * lib/yesno.c: Include <stdlib.h> unconditionally.
19645         (rpmatch): Add prototype.
19646
19647 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19648
19649         More patches to assume C89 or better.
19650         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
19651         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
19652         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
19653         or for string.h.
19654         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
19655         stdlib.h.
19656         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
19657         C headers.
19658         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
19659         string.h.
19660         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
19661         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
19662         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
19663         or for string.h.
19664         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
19665         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
19666         C headers.
19667         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
19668         memcpy.
19669         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
19670         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
19671         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
19672         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
19673         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
19674         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
19675         string.h, free.
19676         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
19677         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
19678         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
19679         C headers, or for string.h.
19680         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
19681         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
19682         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
19683         headers, memory.h, stdlib.h, string.h, strings.h.
19684         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
19685         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
19686         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
19687         strchr.
19688         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
19689         headers, memory.h, string.h.
19690         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
19691         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
19692         free.
19693         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
19694         headers.
19695         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
19696         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
19697         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
19698         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
19699         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
19700
19701 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19702
19703         More K&R removal.
19704
19705         * lib/acosl.c (main): Use a prototype.
19706         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
19707         tanl.c: Likewise.
19708
19709         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
19710
19711         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
19712         (getopt, etopt_long, getopt_long_only, _getopt_internal)
19713         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
19714         with a prototype.
19715         * lib/getopt.c (const): Remove macro.
19716         Include <string.h> unconditionally.
19717         (my_index): Remove; all uses changed to strchr.
19718         (strlen): Remove decl.
19719         (exchange): Remove forward decl; no longer needed.
19720         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
19721         Define with prototype.
19722         * lib/getopt1.c (const): Remove macro.
19723         (getopt_long, getopt_long_only, main): Define with prototype.
19724
19725         * lib/getugroups.c: Include <string.h> unconditionally.
19726
19727         * lib/getusershell.c: Include <stdlib.h> unconditionally.
19728         (getusershell, setusershell, endusershell, readname, main):
19729         Define with prototypes.
19730
19731         * lib/group-member.c: Include group-member.h first.
19732         Include <stdlib.h> unconditionally.
19733
19734         * lib/hard-locale.c: Include hard-locale.h first.
19735         Include <stdlib.h>, <string.h> unconditionally.
19736
19737         * lib/hash.c (free, malloc): Remove decls.
19738         Include <stdlib.h> unconditionally.
19739
19740         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
19741         (getenv): Do not declare.
19742
19743         * lib/idcache.c: Include <string.h> unconditionally.
19744
19745         * lib/long-options.c: Include long-options.h first, to test interface.
19746         Include <stdlib.h> unconditionally.
19747
19748         * lib/makepath.c: Include makepath.h first, to test interface.
19749         Include <stdlib.h> and <string.h> unconditionally.
19750
19751         * lib/linebuffer.c: Include <stdlib.h>.
19752         (free): Remove decl.
19753
19754         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
19755         stddef.h. rpl_malloc returns void *, not char *.
19756         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
19757         prototype.
19758
19759         * lib/md5.h: Include <limits.h> unconditionally.
19760         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
19761         (__P): Remove; all uses removed.
19762         * lib/md5.c: Include "md5.h" first.
19763         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
19764         md5_buffer, md5_process_bytes, md5_process_block):
19765         Define with prototypes.
19766         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
19767         * lib/sha.c: Include "sha.h" first.
19768         Include <stdlib.h>, <string.h> unconditionally.
19769
19770         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
19771         * lib/memcmp.c (__ptr_t): Likewise.
19772         * lib/memrchr.c (__ptr_t): Likewise.
19773         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
19774         Include <string.h> unconditionally.
19775         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
19776         * lib/memchr.c: Include <stdlib.h> unconditionally.
19777         * lib/memchr.c (LONG_MAX): Remove.
19778         * lib/memrchr.c (LONG_MAX): Likewise.
19779         * lib/memchr.c (__memchr): Define via a prototype.
19780         * lib/memrchr.c (__memrchr): Likewise.
19781         * lib/memcmp.c (__P): Remove, and remove all uses.
19782         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
19783         Remove forward decls; no longer needed.
19784         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
19785         Use types required by C89 in prototype.
19786
19787         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
19788         * lib/savedir.c: Likewise.
19789         * lib/mkdir.c (free): Remove decl.
19790         * lib/rmdir.c (rmdir): Define with a prototype.
19791         * lib/savedir.c: Include savedir.h first, to test interface.
19792
19793         * lib/mktime.c (STDC_HEADERS): Remove.
19794         Include <stdlib.h>, <string.h> unconditionally.
19795
19796         * lib/modechange.c: Include <stdlib.h> unconditionally.
19797         (malloc): Remove decl.
19798
19799         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
19800         (free): Remove decl.
19801
19802         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
19803         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
19804         (This type really should be intptr_t, but that's a C99ism.)
19805         (_obstack_memcpy): Remove: all uses changed to memcpy.
19806         Include <string.h> unconditionally.
19807         (struct obstack): Assume __STDC__ for types of members
19808         chunkfun, freefun, extra_arg.
19809         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
19810         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
19811         obstack_begin, obstack_specify_allocation,
19812         obstack_specify_allocation_with_arg, obstack_chunkfun,
19813         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
19814         Remove unprototyped decls and the macros that use them.
19815         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
19816         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
19817         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
19818         (defined __STDC__ && __STDC__)]:
19819         Remove nonprototyped code.
19820         Include <stdlib.h> unconditionally.
19821         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
19822         _obstack_allocated_p, _obstack_free, obstack_free,
19823         _obstack_memory_used, print_and_abort):
19824         Define using prototypes.
19825         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
19826         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
19827         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
19828         obstack_next_free, obstack_object_size, obstack_room) [0]:
19829         Remove unused, unprototyped code.
19830
19831         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
19832
19833         * lib/physmem.c (physmem_total, physmem_available, main): Define
19834         with prototypes.
19835
19836         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
19837         (main): Define with a prototype.
19838
19839         * lib/posixver.c (getenv): Remove decl.
19840
19841         * lib/putenv.c (malloc): Returns void *, not char *.
19842         Include <string.h> unconditionally.
19843         (strchr, memcpy, NULL): Do not define.
19844
19845         * lib/readtokens.c: Include readtokens.h first, to test interface.
19846         Include <stdlib.h>, <string.h> unconditionally.
19847         (init_tokenbuffer): Define with a prototype.
19848
19849         * lib/regex.c (PARAMS): Remove.  All uses removed.
19850         All uses of _RE_ARGS removed, too.
19851         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
19852         unconditionally.
19853         (bzero): Assume memset exists.
19854         (memcmp, memcpy, NULL): Remove.
19855         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
19856         char, or assignments to local vars of type signed char.
19857         (init_syntax_once, PREFIX(extract_number_and_incr),
19858         PREFIX(print_partial_compiled_pattern),
19859         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
19860         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
19861         PREFIX(regex_grow_registers), PREFIX(regex_compile),
19862         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
19863         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
19864         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
19865         wcs_compile_range, byte_compile_range, truncate_wchar,
19866         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
19867         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
19868         count_mbs_length, wcs_re_match_2_internal,
19869         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
19870         PREFIX(alt_match_null_string_p),
19871         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
19872         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
19873         regfree, PREFIX(extract_number)): Define with prototype.  Remove
19874         now-unnecessary declaration, if any.
19875         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
19876         regcomp, regexec):
19877         Remove now-unnecessary casts among pointer types.
19878         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
19879
19880         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
19881         (free): Remove decl.
19882
19883         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
19884
19885         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
19886         (free): Remove decl.
19887
19888         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
19889         * lib/xgetcwd.c: Likewise.
19890
19891         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
19892         (free): Remove decl.
19893
19894         * lib/strchrnul.c (strchrnul): Define with a prototype.
19895         Fix bug: c_in was not converted to char before searching.
19896
19897         The following changes are not K&R related:
19898
19899         * lib/group-member.h: Include <sys/types.h>, so that this file is
19900         self-contained.
19901         * lib/makepath.h: Likewise.
19902
19903         * lib/getusershell.c (readname, default_index, line_size, readname):
19904         Use size_t, not int, for sizes.
19905         (readname): If the size overflows, report an error instead of
19906         looping forever.
19907
19908 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19909
19910         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
19911         libc.
19912
19913 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19914
19915         * README: New section: portability guidelines.
19916
19917 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
19918
19919         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
19920         C89 spec.
19921
19922 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
19923
19924         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
19925
19926 2003-09-08  Paul Eggert  <eggert@twinsun.com>
19927
19928         Assume C89 or better; remove K&R cruft.
19929         A few of these changes were first proposed by Derek Robert Price
19930         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
19931
19932         * lib/addext.c: Include <string.h> unconditionally.
19933         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
19934         Don't declare getenv or malloc.
19935
19936         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
19937         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
19938         (NULL): Remove.
19939         (find_stack_direction, alloca): Use prototypes.
19940
19941         * lib/atexit.c (atexit): Define using a prototype.
19942
19943         * lib/basename.c, dirname.c, stripslash.c:
19944         Include <string.h> unconditionally.
19945
19946         * lib/bcopy.c: Include <stddef.h>.
19947         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
19948
19949         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
19950
19951         * lib/error.h (error, error_at_line, error_print_progname)
19952         [! (defined (__STDC__) && __STDC__)]: Remove decls.
19953         * lib/error.c: Include error.h first, to check interface.
19954         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
19955         (VA_START): Remove; all uses changeed to va_start.
19956         (exit, strerror): Remove decls.
19957         (error_print_progname): Prototype uncondionally.
19958         Don't include <errno.h>; no longer needed.
19959         (private_strerror): Remove.
19960         (error_tail): Always define.
19961         (error, error_at_line): Assume C89 or better; always use prototypes.
19962         * lib/fatal.c: Include "fatal.h" first, to test interface.
19963         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
19964         (VA_START): Remove; all uses changed to va_start.
19965         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
19966         this case.
19967         (exit): Remove decl.
19968         (fatal): Prototype unconditionally.  Assume va_start works.
19969         Abort at end, to pacify gcc.
19970
19971         * lib/euidaccess.c (main): Define with a prototype.
19972
19973         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
19974
19975         * lib/exitfail.c: Include <stdlib.h> unconditionally.
19976
19977         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
19978         prototypes.
19979         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
19980         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
19981         (getenv): Remove decl.
19982         (fnmatch): Define using a prototype.
19983         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
19984         (FCT): Define using a prototype.
19985
19986         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
19987
19988         * lib/gethostname.c: Include <stddef.h>.
19989         (gethostname): Define with prototype.  Length is size_t, not int.
19990
19991 2003-09-08  Paul Eggert  <eggert@twinsun.com>
19992
19993         Assume C89 or better; remove K&R cruft.
19994         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
19995         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
19996         string.h, getenv, malloc.
19997         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
19998         headers.
19999         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
20000         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
20001         do not check for strerror.
20002         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
20003         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
20004         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
20005         do not check for doprnt or vprintf.
20006         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
20007         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
20008
20009 2003-09-08  Paul Eggert  <eggert@twinsun.com>
20010
20011         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
20012         getversion.c should have been removed then, but was accidentally
20013         preserved.
20014
20015         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
20016         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
20017
20018 2003-09-08  Karl Berry  <karl@gnu.org>
20019
20020         * config/config.sub, config.guess, srclistvars.sh: update from savannah
20021                 config, forget about prep.
20022
20023         * config/depcomp, missing: update from automake.
20024
20025 2003-09-07  Paul Eggert  <eggert@twinsun.com>
20026
20027         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
20028         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
20029
20030 2003-09-07  Paul Eggert  <eggert@twinsun.com>
20031
20032         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
20033         copy_tm_result.  Bug reported by Simon Josefsson in
20034         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
20035
20036 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20037
20038         * m4/time_r.m4: New file.
20039         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
20040         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
20041         is. Check for timegm declaration.
20042         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
20043         Do not check for gmtime_r.
20044         Replace mktime if __mktime_internal does not exist and if mktime
20045         hasn't been replaced already.
20046
20047 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20048
20049         * lib/time_r.c, lib/time_r.h: New files.
20050
20051         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
20052         __localtime_r.
20053         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
20054         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
20055
20056         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
20057         __gmtime_r.
20058         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
20059         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
20060         Include <time_r.h>.
20061
20062         * lib/timegm.c: Switch to glibc implementation, with the following
20063         changes:
20064         [defined HAVE_CONFIG_H]: Include <config.h>.
20065         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
20066         (__mktime_internal) [!defined _LIBC]: New decl.
20067         (__gmtime_r) [!defined _LIBC]: New macro and function.
20068         (timegm): Use a prototype, since gnulib assumes C89.
20069         Do not bother declaring tmp to be const, as it's not really usefu.
20070         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
20071         (timegm): Declare only if HAVE_DECL_TIMEGM.
20072
20073 2003-09-06  Paul Eggert  <eggert@twinsun.com>
20074
20075         * MODULES.html.sh (func_all_modules): Add time_r.
20076         * modules/time_r: New file.
20077         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
20078         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
20079
20080 2003-09-03  Paul Eggert  <eggert@twinsun.com>
20081
20082         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
20083         Bug reported by Lute Kamstra in
20084         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
20085
20086         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
20087         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
20088         course with correspondingly smaller numbers for tomorrow and
20089         yesterday.  From Tadayoshi Funaba.  Originally installed into
20090         sh-utils on 1999-08-07, but the patch got lost (I guess during the
20091         coreutils merge?).
20092
20093 2003-08-31  Simon Josefsson  <jas@extundo.com>
20094
20095         * modules/timegm: New file.
20096         * MODULES.html.sh (func_all_modules): Add timegm.
20097
20098 2003-08-31  Simon Josefsson  <jas@extundo.com>
20099
20100         * m4/timegm.m4: New file.
20101
20102 2003-08-31  Simon Josefsson  <jas@extundo.com>
20103
20104         * lib/timegm.h: New file.
20105         * lib/timegm.c: New file.  Based on
20106         wget-1.8.2/src/http.c:mktime_from_utc.
20107
20108 2003-08-31  Karl Berry  <karl@gnu.org>
20109
20110         * lib/argp.h: update from libc.
20111
20112 2003-08-28  Bruno Haible  <bruno@clisp.org>
20113
20114         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
20115         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
20116         followed by '#define fnmatch fnmatch_posix' gives an error.
20117
20118 2003-08-28  Bruno Haible  <bruno@clisp.org>
20119
20120         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
20121         warning on QNX, which defines O_BINARY to 000000.
20122
20123 2003-08-27  Jim Meyering  <jim@meyering.net>
20124
20125         * m4/mkstemp.m4: Require that the system mkstemp be able to create
20126         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
20127         would fail after 32.  Reported by Danny Levinson.  Details here:
20128         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
20129
20130 2003-08-24  Bruno Haible  <bruno@clisp.org>
20131
20132         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
20133         MSVC7 <stdio.h> is included later.
20134
20135 2003-08-22  Simon Josefsson  <jas@extundo.com>
20136
20137         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
20138
20139 2003-08-20  Karl Berry  <karl@gnu.org>
20140
20141         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
20142
20143 2003-08-20  Bruno Haible  <bruno@clisp.org>
20144
20145         * modules/progname: New file.
20146         * MODULES.html.sh (func_all_modules): Add progname.
20147
20148 2003-08-20  Bruno Haible  <bruno@clisp.org>
20149
20150         * lib/progname.h: New file, from GNU gettext.
20151         * lib/progname.c: New file, from GNU gettext.
20152         * lib/progreloc.c: New file, from GNU gettext.
20153
20154 2003-08-19  Jim Meyering  <jim@meyering.net>
20155
20156         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
20157         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
20158
20159 2003-08-19  Bruno Haible  <bruno@clisp.org>
20160
20161         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
20162         more.
20163
20164 2003-08-19  Bruno Haible  <bruno@clisp.org>
20165
20166         * lib/xstrdup.c: Assume <string.h> exists.
20167
20168 2003-08-18  Paul Eggert  <eggert@twinsun.com>
20169
20170         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
20171         in makefile rules.
20172
20173 2003-08-18  Jim Meyering  <jim@meyering.net>
20174
20175         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
20176         * m4/lib-ld.m4: Likewise.
20177
20178 2003-08-18  Jim Meyering  <jim@meyering.net>
20179
20180         * lib/setenv.h: Indent nested cpp directive.
20181         * lib/vasnprintf.c: Remove trailing blanks.
20182
20183 2003-08-17  Simon Josefsson  <jas@extundo.com>
20184
20185         * modules/xstrndup: New file.
20186         * MODULES.html.sh (func_all_modules): Add xstrndup.
20187
20188 2003-08-17  Simon Josefsson  <jas@extundo.com>
20189
20190         * modules/argp: Fix autoconf macro name. Add more dependencies.
20191
20192 2003-08-17  Simon Josefsson  <jas@extundo.com>
20193
20194         * m4/xstrndup.m4: New file.
20195
20196 2003-08-17  Simon Josefsson  <jas@extundo.com>
20197
20198         * m4/argp.m4: New file.
20199
20200 2003-08-17  Simon Josefsson  <jas@extundo.com>
20201             Bruno Haible  <bruno@clisp.org>
20202
20203         * lib/xstrndup.h: New file.
20204         * lib/xstrndup.c: New file.
20205
20206 2003-08-17  Bruno Haible  <bruno@clisp.org>
20207
20208         * modules/strndup (Files, Include): Add lib/strndup.h.
20209
20210 2003-08-17  Bruno Haible  <bruno@clisp.org>
20211
20212         * modules/euidaccess (Files): Add lib/euidaccess.h.
20213
20214 2003-08-17  Bruno Haible  <bruno@clisp.org>
20215
20216         * lib/strndup.h: New file.
20217
20218 2003-08-17  Bruno Haible  <bruno@clisp.org>
20219
20220         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
20221         like AC_GNU_SOURCE.
20222         * modules/extensions (configure.ac): Comment out the invocation of
20223         gl_USE_SYSTEM_EXTENSIONS.
20224
20225 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20226
20227         Merges from coreutils, etc.
20228         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
20229         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
20230         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
20231         fixing a typo.
20232         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
20233         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
20234
20235 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20236
20237         Document merge from coreutils.
20238         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
20239         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
20240         * modules/utime: Add m4/utimes-null.m4.
20241
20242 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20243
20244         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
20245         space, undoing this 2003-08-12 change:
20246         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20247
20248 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20249
20250         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
20251         strtoul.c from libc, undoing this 2003-08-12 change:
20252         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20253
20254 2003-08-16  Jim Meyering  <jim@meyering.net>
20255
20256         Merges from coreutils.
20257         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
20258         prefix.  Adjust cache variables similarly.  Create 500 rather than
20259         just 300 files, to exercise bug on Darwin6.5, too.
20260         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
20261         $missing_dir.
20262         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
20263         AM_SYS_POSIX_TERMIOS.
20264         Reported by mkc@mathdogs.com.
20265         Also change use of $am_cv_sys_posix_termios
20266         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
20267         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
20268         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
20269         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
20270         in /proc/mounts until it finds one with matching device number.  This
20271         is unnecessary when the FILE argument *is* a mount point.  No stat call
20272         is necessary in that case.  So, disable the statvfs-testing code on
20273         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
20274         as RedHat bug# 84846.
20275         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20276         to 1MB, so as not to render systems with no stack size limit (e.g.,
20277         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20278         Include <unistd.h>.  On some systems,
20279         it is required for the definition of _SC_PAGESIZE.
20280
20281 2003-08-16  Jim Meyering  <jim@meyering.net>
20282
20283         Merge from coreutils.
20284         * lib/xstrtoimax.c: #else #if -> #elif.
20285         * lib/xstrtoumax.c: Likewise.
20286
20287 2003-08-16  Jim Meyering  <jim@meyering.net>
20288
20289         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
20290         * m4/utimes.m4: Removed.
20291         * m4/utimes-null.m4: Renamed from utimes.m4.
20292
20293         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20294         to 1MB, so as not to render systems with no stack size limit (e.g.,
20295         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20296         Include <unistd.h>.  On some systems,
20297         it is required for the definition of _SC_PAGESIZE.
20298
20299 2003-08-16  Jim Meyering  <jim@meyering.net>
20300         and Paul Eggert  <eggert@cs.ucla.edu>
20301
20302         Merges from coreutils, etc.
20303
20304         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
20305         using the latest version from cvs.  This avoids problems with #line
20306         directives using a vendor (Sun) compiler.
20307         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
20308         Don't set GETGROUPS_LIB here; now it's
20309         done via getgroups.m4's wrapper function.
20310         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
20311         rather than just in sh-util/configure.in, so that the
20312         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
20313         same.
20314         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
20315         AC_FUNC_GETLOADAVG where to find getloadavg.c.
20316         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
20317         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
20318         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
20319         Remove code that is now done by the newly-required macros.
20320         Append $(EXEEXT) to DF_PROG.
20321         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
20322         Do not invoke or require the following here,
20323         since prereq.m4 or some gnulib .m4 now does this for us:
20324         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
20325         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
20326         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
20327         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
20328         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
20329         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
20330         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
20331         AC_FUNC_OBSTACK.
20332         Do not replace the following functions, as this is now the job
20333         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
20334         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
20335         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
20336         atexit getpass, strdup, getpagesize.
20337         Replace 'raise'.
20338         Do not check for the following functions, as this is now the job
20339         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
20340         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
20341         setregid.
20342         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
20343         Check for sys/sysctl.h.
20344         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
20345         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
20346         of checking for ssize_t ourselves.
20347
20348         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
20349         Require every macro that gnulib/modules/* suggests for us.
20350         (jm_PREREQ_ADDEXT): New macro.
20351         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
20352         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
20353
20354         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
20355         (gl_PHYSMEM): Use it.
20356         Also check for `table' function.
20357         Check for new headers and functions.
20358         Add check for sys/sysmp.h.
20359         With suggestions from Kaveh Ghazi.
20360         Ignore headers that are present but cannot be compiled.  This
20361         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
20362         C 5.4.
20363
20364 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20365
20366         Document merge from coreutils.
20367         * modules/userspec: Depend on posixver.
20368         * modules/strftime: Depend on tzset.
20369
20370 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20371
20372         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
20373         rather than tab, after '#' in shell-script copyright notices.
20374         Suggested by Bruno Haible.
20375
20376 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20377
20378         * config/srclist-update: Use three spaces, rather than tab, after '#'
20379         in shell-script copyright notices.  Suggested by Bruno Haible.
20380         Remove unnecessary parenthesization in regular expression.
20381
20382 2003-08-15  Jim Meyering  <jim@meyering.net>
20383
20384         Merge from coreutils.
20385         * lib/xgethostname.c: Include <stdlib.h>.
20386         (xghostname): Don't exit for anything other than memory-related
20387         failure; just return NULL.
20388         * lib/userspec.c: Include "posixver.h".
20389         (parse_user_spec): Accept `.' as a separator only
20390         in pre-POSIX-200112 mode.
20391         * lib/strtoimax.c: Use #elif rather than #else #if.
20392         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
20393         Remove function, now that we can rely on a working tzset function.
20394         [!_LIBC]: Ensure that the required autoconf test has been run.
20395         [!defined _NL_CURRENT && HAVE_STRFTIME]:
20396         Use underlying_strftime for %r.
20397         * lib/sha.c: Merge in some clean-up and optimization changes from
20398         glibc.
20399         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
20400         Ensure that it is a multiple of 64.
20401         Rearrange loop exit tests so as to avoid performing an
20402         additional fread after encountering an error or EOF.
20403         * lib/realloc.c: Update copyright date.
20404
20405 2003-08-15  Jim Meyering  <jim@meyering.net>
20406         and Paul Eggert  <eggert@twinsun.com>
20407
20408         Merge from coreutils.
20409         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
20410         member but strut utmpx does not.  Needed for AIX 4.3.3.
20411         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
20412
20413 2003-08-15  Jim Meyering  <jim@meyering.net>
20414         and Paul Eggert  <eggert@cs.ucla.edu>
20415
20416         Merges from coreutils, etc.
20417         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
20418         Require gl_FUNC_TZSET_CLOBBER.
20419         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
20420         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
20421         members.
20422
20423 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20424
20425         Help the merge from coreutils.
20426         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
20427         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
20428         * m4/tzset.m4: Use it too.
20429
20430 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20431
20432         * modules/tzset: New file.
20433
20434 2003-08-14  Jim Meyering  <jim@meyering.net>
20435
20436         Merges from coreutils.
20437         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
20438         variable names, rather than @FNMATCH_H@.
20439         * modules/alloca: Likewise for $(ALLOCA_H).
20440
20441         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
20442         the three copies of the literal target, `fnmatch.h'.
20443         * modules/alloca (alloca.h): Likewise.
20444
20445 2003-08-14  Jim Meyering  <jim@meyering.net>
20446
20447         Merge from coreutils.
20448         * m4/tzset.m4: New file.
20449         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
20450         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
20451         otherwise, AIX 5.1 systems would end up using the latter.
20452         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
20453         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
20454         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
20455         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
20456
20457 2003-08-14  Jim Meyering  <jim@meyering.net>
20458
20459         Merge from coreutils.
20460         * lib/obstack.h: Whitespace changes.
20461         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
20462         and xcalloc return values.
20463         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
20464         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
20465         hang on OSF/1 5.1 for DIR on both local and remote file systems.
20466         Reported by (and fix confirmed by) Nelson H. F. Beebe.
20467         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
20468         error from mntctl.
20469         Use mntctl's return value to drive the entry-processing loop, since
20470         we can't rely on the value of the vmt_length member in the last
20471         entry.  On some systems doing so could result in exhausting
20472         virtual memory.  Based in part on a patch from Mike Jetzer.
20473
20474 2003-08-14  Jim Meyering  <jim@meyering.net>
20475         and Paul Eggert  <eggert@twinsun.com>
20476
20477         Merges from coreutils, plus other fixes.
20478         * lib/physmem.c: Merge in portability changes from gcc/libiberty
20479         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
20480         for credits and details.  Thanks to Kaveh Ghazi for helping
20481         to keep these files in sync.
20482         (ARRAY_SIZE): Define it.
20483         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
20484         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
20485         (memcasecmp): Don't assume size_t fits in unsigned int.
20486         Remove casts and duplicate code.
20487         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
20488         (memcpy): Remove definition.
20489         Merge in some clean-up and optimization changes from glibc.
20490         [BLOCKSIZE]: Move definition to top of file.
20491         Ensure that it is a multiple of 64.
20492         Rearrange loop exit tests so as to avoid performing an
20493         additional fread after encountering an error or EOF.
20494         * lib/md5.h (md5_uintptr): Define.
20495         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
20496         return to the initial working directory.  Preserve errno
20497         for caller.
20498         * lib/idcache.c: Include "xalloc.h".
20499         (xmalloc, xrealloc): Remove decls.
20500         (getuser): Remove casts no longer required in C89.
20501         * lib/human.c: Include stdio.h, for sprintf.
20502         * lib/group-member.c: Include "xalloc.h".
20503         (xmalloc, xrealloc): Remove decls.
20504         (get_group_info): Remove casts no longer required in C89.
20505         * lib/getusershell.c (readname): Remove casts no longer required in
20506         C89.
20507         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
20508         * lib/getline.c: Whitespace fix, from coreutils.
20509
20510 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20511
20512         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
20513         Check for isascii.
20514
20515         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
20516         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
20517         Undo previous (whitespace-only) change.
20518
20519 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20520
20521         * lib/exclude.c: Include <ctype.h>
20522         (IN_CTYPE_DOMAIN): New macro.
20523         (is_space): New fn.
20524         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
20525         and empty lines.
20526
20527         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
20528         Undo previous (whitespace-only) change.
20529
20530 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20531
20532         * config/srclist-update: Change update back to the old behavior,
20533         leaving whitespace alone.  Use one 'sed' command rather than a
20534         pipeline.
20535         (fixlicense): Now a variable, not a function.
20536         (remove_trailing_blanks): Remove.
20537         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
20538         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
20539         Undo previous (whitespace-only) change.
20540
20541 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20542
20543         Merge from coreutils.
20544         * modules/euidaccess: Add lib_SOURCES, include for new
20545         file euidaccess.h
20546
20547 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20548
20549         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
20550         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
20551         Normalize leading white space and remove trailing white space.
20552
20553         Merge from coreutils
20554         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
20555
20556         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
20557         0.12.1.  These files are now being upgraded automatically by
20558         ../config/srclist-update.
20559
20560 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20561
20562         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
20563         Normalize leading white space and remove trailing white space.
20564         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
20565         notice, as per ../config/srclist-update.
20566
20567         Merge from coreutils.
20568         * lib/euidaccess.h: New file.
20569         * lib/euidaccess.c: Include it.
20570         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
20571         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
20572         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
20573
20574 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20575
20576         * config/srclist-update: Add copyright notice.
20577         (remove_id_lines, remove_trailing_blanks): New constants.
20578         (fixfile): Use them to normalize spacing a bit in copied files.
20579         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
20580         Normalize leading white space and remove trailing white space.
20581
20582         * config/texinfo.tex: Sync with texinfo.
20583
20584         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
20585         strtoul.c from libc, to merge coreutils whitespace changes.
20586
20587         * config/srclist.txt: Get the following m4 files from gettext:
20588         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
20589         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
20590         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
20591         wint_t.m4.
20592
20593 2003-08-12  Karl Berry  <karl@gnu.org>
20594
20595         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
20596         been made.
20597
20598 2003-08-11  Paul Eggert  <eggert@twinsun.com>
20599
20600         * modules/gnu-source, m4/gnu-source.m4:
20601         Remove; we're assuming Autoconf 2.54 or later now.
20602         Suggested by Bruno Haible.
20603         * MODULES.html.sh (func_all_modules): Remove gnu-source.
20604
20605 2003-08-11  Bruno Haible  <bruno@clisp.org>
20606
20607         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
20608
20609 2003-08-11  Bruno Haible  <bruno@clisp.org>
20610
20611         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
20612         (vasnprintf): Use it instead of wcslen.
20613
20614 2003-08-11  Bruno Haible  <bruno@clisp.org>
20615
20616         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
20617         value to ensure that _Bool promotes to int. Use #define for _Bool when
20618         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
20619
20620 2003-08-10  Karl Berry  <karl@gnu.org>
20621
20622         * lib/regex.h: update from libc (whitespace fix).
20623
20624 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20625
20626         Merge some files from coreutils.  These changes were
20627         originally made by Jim Meyering.
20628         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
20629         many older Unixes require this.
20630         * lib/alloca.c (alloca): Remove cast to argument of free;
20631         no longer needed in C89.
20632         * lib/alloca_.h, regex.h: Fix white space to match
20633         what GNU indent does.
20634
20635 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20636
20637         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
20638         apparently Emacs's Unicode mode got confused before my 2003-08-05
20639         checkin.
20640
20641 2003-08-08  Paul Eggert  <eggert@twinsun.com>
20642
20643         * m4/extensions.m4: New file.
20644         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
20645         Require gl_USE_SYSTEM_EXTENSIONS.
20646         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
20647         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
20648
20649 2003-08-08  Paul Eggert  <eggert@twinsun.com>
20650
20651         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
20652         * modules/extensions, modules/gnu-source: New files.
20653         * modules/timespec, modules/unlocked-io: Depend on extensions.
20654
20655 2003-08-07  Paul Eggert  <eggert@twinsun.com>
20656
20657         * modules/restrict: New file.
20658         * MODULES.html.sh (func_all_modules): Add restrict.
20659         * modules/regex: Depend on restrict.
20660
20661 2003-08-07  Paul Eggert  <eggert@twinsun.com>
20662
20663         * m4/restrict.m4: New file.
20664         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
20665
20666 2003-08-07  Bruno Haible  <bruno@clisp.org>
20667
20668         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
20669         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
20670
20671 2003-08-07  Bruno Haible  <bruno@clisp.org>
20672
20673         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
20674         makes the module 'getndelim2' compatible with the module 'getline'.
20675
20676 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20677
20678         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
20679         byte with "\201" to avoid glitches when editing that source file
20680         with multi-gnome-terminal.
20681
20682 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20683
20684         * lib/bumpalloc.h: Remove.
20685
20686 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20687
20688         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
20689         * modules/bumpalloc: Remove.
20690
20691 2003-08-04  Paul Eggert  <eggert@twinsun.com>
20692
20693         * lib/getloadavg.c: Change copyright notice and spacing to conform to
20694         GNU coding style.
20695
20696         Merge from coreutils.
20697         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
20698         1. From glibc.
20699         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
20700         from Karl Berry, implemented by Jim Meyering.
20701         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
20702         from Dmitry V. Levin.
20703         Remove anachronistic cast of xrealloc.
20704         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
20705         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
20706         type. Otherwise, it wouldn't compile with at least /bin/cc on
20707         ymp-cray-unicos9.0.2.X.
20708         Combine two mostly-identical uses of alloca into one.
20709         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
20710
20711 2003-08-04  Dave Love  <d.love@dl.ac.uk>
20712
20713         [From Emacs.]
20714
20715         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
20716         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
20717         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
20718         obsolete NLIST_NAME_UNION.
20719         [__GNU__]: Undef BSD and FSCALE.
20720         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
20721
20722 2003-08-03  Paul Eggert  <eggert@twinsun.com>
20723
20724         * lib/stdbool_.h (_Bool): Make it signed char, instead of
20725         an enum type, so that it's guaranteed to promote to int.  See:
20726         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
20727
20728 2003-08-03  Karl Berry  <karl@gnu.org>
20729
20730         * config/depcomp: update from automake.
20731
20732 2003-07-31  Paul Eggert  <eggert@twinsun.com>
20733
20734         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
20735         (strerror): Don't assume that a printable int fits in 14 bytes.
20736
20737 2003-07-31  Bruno Haible  <bruno@clisp.org>
20738
20739         * modules/getpass-gnu: New file.
20740         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
20741
20742 2003-07-31  Bruno Haible  <bruno@clisp.org>
20743
20744         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
20745
20746 2003-07-24  Karl Berry  <karl@gnu.org>
20747
20748         * config/missing: update from automake.
20749
20750 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
20751             Bruno Haible  <bruno@clisp.org>
20752
20753         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
20754         * lib/getline.c (getline, getdelim): Likewise.
20755         Remove _GNU_SOURCE define; now it's defined in config.h through
20756         m4/getline.m4.
20757
20758 2003-07-23  Karl Berry  <karl@gnu.org>
20759
20760         * config/config.sub: update from prep.
20761
20762 2003-07-22  Paul Eggert  <eggert@twinsun.com>
20763
20764         * modules/xalloc (Depends-on): Add exitfail.
20765         * modules/xmemcoll: Likewise.
20766
20767 2003-07-22  Paul Eggert  <eggert@twinsun.com>
20768
20769         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
20770         over-parenthesization in macros.
20771
20772         Sync with coreutils.
20773
20774         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
20775         required by C99.
20776
20777         Use `exit_failure' for xalloc and xmemcoll instead of their own
20778         private exit-failure variables.
20779         * lib/xalloc.h (xalloc_exit_failure): Remove.
20780         * lib/xmalloc.c: Likewise.  Include exitfail.h.
20781         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
20782         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
20783         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
20784         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
20785
20786 2003-07-20  Jim Meyering  <jim@meyering.net>
20787
20788         * modules/closeout (Depends-on): Add exitfail.
20789         Suggestion from Bruno Haible.
20790
20791 2003-07-19  Karl Berry  <karl@gnu.org>
20792
20793         * config/config.sub: update from prep.
20794
20795 2003-07-18  Paul Eggert  <eggert@twinsun.com>
20796
20797         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
20798         Remove.
20799         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
20800         to test that it can stand by itself.  Include "exitfail.h".
20801         Clients should set exit_failure instead.
20802         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
20803
20804 2003-07-18  Bruno Haible  <bruno@clisp.org>
20805
20806         * modules/getndelim2: New file.
20807         * modules/getline: Share files with module getndelim2.
20808         * modules/getnline: Depend on getndelim2 instead of sharing files with
20809         it. Add getnline.c to lib_SOURCES.
20810         * MODULES.html.sh (func_all_modules): Add getndelim2.
20811
20812 2003-07-18  Bruno Haible  <bruno@clisp.org>
20813
20814         * m4/getndelim2.m4: New file.
20815         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
20816         invoke gl_PREREQ_GETNDELIM2.
20817         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
20818         gl_PREREQ_GETNDELIM2.
20819         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
20820         gl_GETNDELIM2.
20821
20822 2003-07-18  Bruno Haible  <bruno@clisp.org>
20823
20824         * lib/getndelim2.h: New file.
20825         * lib/getndelim2.c: Make into a module of its own. Include config.h,
20826         getndelim2.h.
20827         (getndelim2): Make non-static. Change return type to ssize_t.
20828         * lib/getline.h: Change argument names.
20829         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
20830         * lib/getnline.c: Include getndelim2.h.
20831
20832 2003-07-18  Andreas Schwab  <schwab@suse.de>
20833
20834         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
20835
20836 2003-07-17  Karl Berry  <karl@gnu.org>
20837
20838         * config/config.sub: update from prep.
20839
20840 2003-07-17  Bruno Haible  <bruno@clisp.org>
20841
20842         * modules/getnline: New file.
20843         * modules/getline: Add lib/getndelim2.c to source file list.
20844         * MODULES.html.sh (func_all_modules): Add getnline.
20845
20846 2003-07-17  Bruno Haible  <bruno@clisp.org>
20847
20848         * m4/getnline.m4: New file.
20849
20850 2003-07-17  Bruno Haible  <bruno@clisp.org>
20851
20852         * m4/Makefile.am.in: Remove file.
20853         * m4/Makefile.am: Remove file.
20854         * m4/Makefile.in: Remove file.
20855
20856 2003-07-17  Bruno Haible  <bruno@clisp.org>
20857
20858         * lib/getnline.h: New file.
20859         * lib/getnline.c: New file.
20860         * lib/getndelim2.c: New file, extracted from getline.c.
20861         (getndelim2): Renamed from getdelim2, with added nmax argument.
20862         * lib/getline.c: Include getndelim2.c.
20863         (getdelim2): Moved out to getndelim2.c.
20864         (getline, getdelim): Update.
20865
20866 2003-07-17  Bruno Haible  <bruno@clisp.org>
20867
20868         * lib/Makefile.am: Remove file.
20869         * lib/Makefile.in: Remove file.
20870
20871 2003-07-17  Bruno Haible  <bruno@clisp.org>
20872
20873         * configure.in: Remove file.
20874         * Makefile.in: Remove file.
20875
20876 2003-07-17  Bruno Haible  <bruno@clisp.org>
20877
20878         * MODULES.html.sh: Put the </BODY> right before </HTML>.
20879
20880 2003-07-16  Karl Berry  <karl@gnu.org>
20881
20882         * config/srclist-update: was running fixlicense twice, which caused
20883                 texinfo.tex to be nullified for some reason.  Simplify,
20884                 $gplsrc is no longer needed as far as I can see?
20885
20886 2003-07-16  Jim Meyering  <jim@meyering.net>
20887
20888         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
20889
20890 2003-07-15  Paul Eggert  <eggert@twinsun.com>
20891
20892         * config/srclist.txt: Get the following files from gettext-runtime/intl
20893         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
20894         ref-del.sin.  From Bruno Haible.
20895         * config/srclist-update (fixfile): Change grep pattern again, since the
20896         previous fix didn't work (there was another trailing $).  Use
20897         '[$]' to escape the $s.
20898
20899 2003-07-15  Karl Berry  <karl@gnu.org>
20900
20901         * lib/vasnprintf.c: update from gettext.
20902
20903 2003-07-15  Karl Berry  <karl@gnu.org>
20904
20905         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
20906         gets expanded when surrounded by '$'.
20907
20908 2003-07-15  Jim Meyering  <jim@meyering.net>
20909
20910         * modules/save-cwd: Don't depend on error.  From Derek Price.
20911
20912 2003-07-15  Jim Meyering  <jim@meyering.net>
20913
20914         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
20915
20916 2003-07-14  Simon Josefsson  <jas@extundo.com>
20917
20918         * modules/mempcpy: New file.
20919         * MODULES.html.sh (func_all_modules): Add mempcpy.
20920
20921 2003-07-14  Simon Josefsson  <jas@extundo.com>
20922
20923         * m4/mempcpy.m4: New file.
20924
20925 2003-07-14  Simon Josefsson  <jas@extundo.com>
20926
20927         * lib/mempcpy.h: New file.
20928         * lib/mempcpy.c: New file.
20929
20930 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20931
20932         * modules/getdate, modules/posixtm: Depend on mktime.
20933
20934 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20935
20936         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
20937         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
20938         unicodeio.c, unicodeio.h, unlocked-io.h:
20939         Switch from LGPL to GPL.
20940
20941 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20942
20943         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
20944         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
20945         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
20946         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
20947         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
20948         updated automatically by ../config/srclist-update.  This changes
20949         their license from LPGL to GPL.
20950
20951 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20952
20953         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
20954         assumed to refer to the root of the most recent stable gettext version.
20955         * config/srclistvars.sh: Add defaults for eggert.
20956         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
20957         Match "This program" as well as "The program".  This is needed
20958         for gettext.
20959
20960 2003-07-14  Jim Meyering  <jim@meyering.net>
20961
20962         Don't emit diagnostics.  Let callers do that.
20963         * lib/save-cwd.c: Don't include "error.h".
20964         (save_cwd): Don't call error.  Ensure that errno is valid
20965         when returning nonzero.
20966
20967         * lib/save-cwd.h (restore_cwd): Update prototype.
20968         * lib/save-cwd.c (restore_cwd): Remove two parameters.
20969         Simplify.  Don't call error upon failure.  Let callers do that.
20970         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
20971         when auditing is enabled.  But don't bother updating the #if.
20972
20973 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
20974
20975         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
20976         it breaks C++ compilation.
20977         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
20978
20979 2003-07-10  Simon Josefsson  <jas@extundo.com>
20980
20981         * modules/strchrnul (Makefile.am): Add strchrnul.h.
20982
20983 2003-07-10  Jim Meyering  <jim@meyering.net>
20984
20985         * m4/clock_time.m4: Remove trailing blank.
20986         * m4/intmax_t.m4: Likewise.
20987
20988 2003-07-10  Jim Meyering  <jim@meyering.net>
20989
20990         * lib/vasnprintf.c: Remove trailing blanks.
20991         Make cpp indentation consistent.
20992
20993 2003-07-09  Paul Eggert  <eggert@twinsun.com>
20994
20995         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
20996         posixver.c, strftime.c, strnlen.c, strverscmp.c:
20997         Switch from LGPL to GPL.
20998
20999 2003-07-09  Paul Eggert  <eggert@twinsun.com>
21000
21001         * config/srclist.txt: Sort sublists.  Add
21002         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
21003         that differ from gnulib for one reason or another; we'd like this list
21004         to be smaller but for now let's document what we have.
21005
21006 2003-07-08  Paul Eggert  <eggert@twinsun.com>
21007
21008         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
21009         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
21010         and sweeter "eval x=$x".
21011         * config/srclist.txt: Get lib/argp* from glibc.
21012
21013 2003-07-07  Paul Eggert  <eggert@twinsun.com>
21014
21015         * lib/mktime.c: Fix some boundary cases and remove need for floating
21016         point.
21017
21018         Issue a compile-time diagnostic if time_t is floating point, or if
21019         two's complement arithmetic is not in effect, or if arithmetic
21020         right shift does not propagate the sign.  These assumptions were
21021         all in the original code but they weren't checked.
21022
21023         (TIME_T_MIDPOINT, verify): New macros.
21024         (__isleap): Remove; it has integer overflow problems.
21025         (leapyear): New function, without those problems.
21026         (ydhms_tm_diff): Remove; splitting into two parts.
21027         (ydhms_diff): New function, containing the arithmetic part of
21028         the old ydhms_tm_diff function.  Issue a compile-time
21029         diagnostic if we are not using C99 integer division.
21030         Avoid casts when possible.
21031         (guess_time_tm): New function, containing the checking part of
21032         the old ydhms_tm_diff function.  Return the new value, rather than
21033         the difference between it and the old.  Accept a new argument T
21034         so that *T specifies the old value.  Check for overflow in the result.
21035
21036         (__mktime_internal): Use a time_t offset, not a long int offset.
21037         This undoes the 2003-06-04 change, which is no longer needed now
21038         that we have better overflow checking.
21039         (localtime_offset): Likewise.
21040
21041         (__mktime_internal): Avoid harmful overflow on hosts where time_t
21042         and long are 64-bit but int is only 32-bit.
21043         (ydhms_diff): Use long int to store year1 and yday1.
21044         Issue a compile-time diagnostic if long int is not wide enough.
21045
21046         (__mktime_internal): Use long int to store adjusted year and yday.
21047         Use plain C rather than preprocessor commands, if that doesn't
21048         affect efficiency.
21049         Check for overflow (and try to repair) after each probe
21050         rather than checking only at the very end.  This avoids some bugs
21051         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
21052         does not equal GMT offset at maximum time).
21053         Use integer to check for overflow rather than floating point; this
21054         is more portable to non-IEEE hosts, and is a tad faster.
21055         When we detect that we are oscillating between two values,
21056         don't check whether tm_isdst has the requested value, since
21057         we already know the answer.  When tm_isdst has the wrong value,
21058         use a different heuristic to find the right one, based on the
21059         extreme values actually observed in practice in tz2003a,
21060         rather than the (overly optimistic) "previous 3 calendar quarters".
21061
21062         (not_equal_tm, print_tm, check_result): Use "const T" rather than
21063         "T const" to accommodate glibc style.
21064         (check_result): Use less-confusing report format.  "long" -> "long int.
21065         (main): Likewise.
21066         Don't loop if the iteration overflows time_t.
21067         Allow a negative step in the iteration.
21068
21069 2003-07-06  Karl Berry  <karl@gnu.org>
21070
21071         * config/depcomp: update from automake.
21072         * config/config.sub: update from prep.
21073
21074 2003-07-03  Karl Berry  <karl@gnu.org>
21075
21076         * config/config.guess: update from prep.
21077
21078 2003-07-01  Paul Eggert  <eggert@twinsun.com>
21079
21080         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
21081         xreadlink.c now includes it unconditionally.
21082
21083 2003-07-01  Paul Eggert  <eggert@twinsun.com>
21084
21085         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
21086         having it depend on HAVE_SYS_TYPES_H.
21087
21088 2003-07-01  Bruno Haible  <bruno@clisp.org>
21089
21090         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
21091         <sys/types.h> should be sufficient.
21092         Reported by Paul Eggert.
21093
21094 2003-06-26  Karl Berry  <karl@gnu.org>
21095
21096         * config/depcomp: update from automake.
21097
21098 2003-06-26  Bruno Haible  <bruno@clisp.org>
21099
21100         * modules/human: Depend on module stdbool.
21101
21102 2003-06-25  Bruno Haible  <bruno@clisp.org>
21103
21104         * modules/readlink: New file.
21105         * modules/xreadlink: Depend on it.
21106         * MODULES.html.sh (func_all_modules): Add readlink.
21107
21108 2003-06-25  Bruno Haible  <bruno@clisp.org>
21109
21110         * m4/readlink.m4: New file.
21111
21112 2003-06-25  Bruno Haible  <bruno@clisp.org>
21113
21114         * lib/readlink.c: New file.
21115
21116 2003-06-22  Karl Berry  <karl@gnu.org>
21117
21118         * config/srclist.txt: update mkinstalldirs from automake.
21119         * config/mkinstalldirs: update.
21120
21121 2003-06-22  Bruno Haible  <bruno@clisp.org>
21122
21123         Portability to mingw32.
21124         * m4/ssize_t.m4: New file, from GNU gettext.
21125         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
21126         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
21127
21128 2003-06-22  Bruno Haible  <bruno@clisp.org>
21129
21130         * modules/safe-read: Add m4/ssize_t.m4.
21131         * modules/xreadlink: Add m4/ssize_t.m4.
21132
21133 2003-06-20  Bruno Haible  <bruno@clisp.org>
21134
21135         Assume C89, so PARAMS isn't needed.
21136         * lib/unicodeio.h (PARAMS): Remove.
21137         * lib/unicodeio.c: Don't use PARAMS.
21138
21139 2003-06-18  Karl Berry  <karl@gnu.org>
21140
21141         * config/config.{guess,sub}: update from prep.
21142
21143 2003-06-18  Jim Meyering  <jim@meyering.net>
21144
21145         Merge changes from coreutils.
21146         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
21147         Remove explicit declarations of xmalloc and realloc.
21148         Include xalloc.h.
21149         (read_utmp): Remove anachronistic cast of xmalloc.
21150
21151 2003-06-17  Paul Eggert  <eggert@twinsun.com>
21152
21153         Assume C89, so PARAMS isn't needed.
21154         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
21155         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
21156         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
21157         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
21158         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
21159         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
21160         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
21161         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
21162         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
21163         lib/xstrtod.h, lib/xstrtol.h: Likewise.
21164         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
21165         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
21166         no longer needed. Anyway, config.h should always be included before any
21167         other file.
21168
21169 2003-06-11  Simon Josefsson  <jas@extundo.com>
21170
21171         * modules/sysexits: New file.
21172         * MODULES.html.sh (func_all_modules): Add sysexits.
21173
21174 2003-06-11  Simon Josefsson  <jas@extundo.com>
21175
21176         * lib/sysexit_.h: New file.
21177
21178 2003-06-11  Derek Price  <derek@ximbiot.com>
21179
21180         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
21181         necessary.
21182
21183 2003-06-11  Bruno Haible  <bruno@clisp.org>
21184
21185         * m4/sysexits.m4: New file.
21186
21187 2003-06-10  Simon Josefsson  <jas@extundo.com>
21188
21189         * lib/argp.h: New file, from glibc.
21190         * lib/argp-ba.c: New file, from glibc.
21191         * lib/argp-eexst.c: New file, from glibc.
21192         * lib/argp-fmtstream.c: New file, from glibc.
21193         * lib/argp-fmtstream.h: New file, from glibc.
21194         * lib/argp-fs-xinl.c: New file, from glibc.
21195         * lib/argp-help.c: New file, from glibc.
21196         * lib/argp-namefrob.h: New file, from glibc.
21197         * lib/argp-parse.c: New file, from glibc.
21198         * lib/argp-pv.c: New file, from glibc.
21199         * lib/argp-pvh.c: New file, from glibc.
21200         * lib/argp-xinl.c: New file, from glibc.
21201
21202 2003-06-10  Simon Josefsson  <jas@extundo.com>
21203
21204         * modules/strchrnul: New file.
21205
21206 2003-06-10  Simon Josefsson  <jas@extundo.com>
21207
21208         * modules/argp: New file.
21209
21210 2003-06-10  Simon Josefsson  <jas@extundo.com>
21211
21212         * m4/strchrnul.m4: New file.
21213
21214 2003-06-10  Simon Josefsson  <jas@extundo.com>
21215
21216         * lib/strchrnul.h: New file.
21217         * lib/strchrnul.c: New file.
21218
21219 2003-06-10  Bruno Haible  <bruno@clisp.org>
21220
21221         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
21222
21223 2003-06-07  Karl Berry  <karl@gnu.org>
21224
21225         * config/config.{guess,sub}: update from prep.
21226
21227 2003-06-07  Jim Meyering  <jim@meyering.net>
21228
21229         * modules/strtod: Use $(...) notation, not @...@ for
21230         AC_REPLACE'd variables.
21231         * modules/localcharset: Likewise.
21232
21233 2003-06-07  Jim Meyering  <jim@meyering.net>
21234
21235         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
21236         in place of my name in the copyright comment.
21237         Remove definition and uses of __P.
21238
21239         From coreutils.
21240         * lib/stat.c: Don't declare xmalloc explicitly.
21241         Instead, include "xalloc.h".
21242         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
21243         xrealloc, and xcalloc return values.
21244         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
21245         Improve comment.
21246         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
21247
21248 2003-06-07  Bruno Haible  <bruno@clisp.org>
21249
21250         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
21251         avoid AC_CONFIG_LINKS.
21252         * modules/fnmatch (Makefile.am): Use explicit creation rule for
21253         fnmatch.h, to avoid AC_CONFIG_LINKS.
21254         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
21255
21256 2003-06-07  Bruno Haible  <bruno@clisp.org>
21257
21258         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
21259         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
21260         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21261         directory.
21262         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
21263         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21264         directory.
21265
21266 2003-06-06  Jim Meyering  <jim@meyering.net>
21267
21268         Merge from coreutils.
21269         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
21270         Consolidate declarations and initializations of *_base* locals.
21271
21272         Merge from coreutils.
21273         This avoids a core dump on systems without GNU putenv,
21274         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
21275         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
21276         (unsetenv): New static function, from GNU libc.
21277         (rpl_putenv): Use it.
21278
21279         * lib/modechange.c: Remove trailing blanks.
21280
21281         Merge from coreutils.
21282         * lib/fsusage.c: Remove declaration of statfs.
21283         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
21284
21285         * lib/posixtm.c: Include <stdbool.h> unconditionally.
21286
21287 2003-06-06  Jim Meyering  <jim@meyering.net>
21288
21289         * lib/stdbool_.h: Renamed from stdbool.h.in.
21290
21291 2003-06-06  Jim Meyering  <jim@meyering.net>
21292             Bruno Haible  <bruno@clisp.org>
21293
21294         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
21295         Adjust Makefile.am snippet not to redirect directly to target.
21296         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
21297
21298 2003-06-05  Paul Eggert  <eggert@twinsun.com>
21299
21300         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
21301         mismatch, look in future quarters as well as past.  This fixes a
21302         bug when processing fall-backwards gaps immediately after a long
21303         period of daylight-saving time.
21304
21305         * lib/mktime.c: Assume freestanding C89 or better.
21306         (HAVE_LIMITS_H): Remove.  Assume it's 1.
21307         (__P): Remove; not used.
21308         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
21309         (mktime, not_equal_tm, print_tm, check_result,
21310         main): Use prototypes.  Use const * where appropriate.
21311         (main): Fix typo in testing code that uncovered by above changes.
21312         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
21313
21314 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21315
21316         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
21317         locale.h, localeconv.  This merges changes from coreutils.
21318
21319         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
21320         It can be removed after the next Autoconf is released.
21321         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
21322         needed.
21323
21324 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21325
21326         * lib/mktime.c: Fix Debian bug 177940
21327         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
21328         (localtime_offset): Now long int, not time_t, because we want it
21329         to be guaranteed to be signed.  All uses changed.
21330         (__mktime_internal): If overflow would occur when adding offset,
21331         don't add it.
21332
21333         Merge 'human' changes from coreutils.  Rewrite to support
21334         locale-specific notations like thousands separators.
21335         * lib/human.c: Simplify authorship notice.
21336         Include human.h immediately after config.h.
21337         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
21338         <limits.h>: Do not include, since human.h does.
21339         (SIZE_MAX, UINTMAX_MAX): New macros.
21340         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
21341         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
21342         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
21343         (power_letter): Renamed from suffixes.
21344         (generate_suffix_backwards): Remove.
21345         (adjust_value): Now takes int style (because of human.h changes)
21346         and long double value (for greater precision on some platforms).
21347         (group_number): New function.
21348         (human_readable): Use it.  Use integer options, not enum.
21349         Put the options before the sizes in the arg list.
21350         Support all the new options.
21351         The old human_readable function has been removed;
21352         use inttostr.h instead.
21353         (human_readable, default_block_size, humblock):
21354         Use uintmax_t, not int, for block sizes.
21355         (human_readable_inexact, block_size_types): Remove.
21356         (block_size_opts): New constant.
21357         (human_options): Renamed from human_block_size, with new signature
21358         that allows block sizes up to UINTMAX_MAX.  All callers changed.
21359         * lib/human.h: Add copyright and authorship notice.
21360         Include <limits.h> and <stdbool.h> unconditionally.
21361         (PARAMS): Remove.  All uses removed.
21362         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
21363         (enum human_inexact_style): Remove tag; now a nameless enum.
21364         (human_floor, human_ceiling, human_round_to_even): Now have
21365         values 2, 0, 1 rather than -1, 1, 0.
21366         (human_group_digits, human_suppress_point_zero, human_autoscale,
21367         human_base_1024, human_SI, human_B): New constants.
21368         (human_readable_inexact, human_block_size): Remove.
21369         (human_readable): Size args are now uintmax_t, not int.
21370         (human_options): New decl.
21371
21372         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
21373         unnecessary now that we assume C89 or better.  This change
21374         imported from coreutils.
21375
21376         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
21377         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
21378         in the 2003-05-30 sync from glibc.
21379
21380         .h files should stand alone, but we shouldn't include <sys/types.h>
21381         if we can get away with just <stddef.h>.
21382
21383         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
21384         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
21385         rather than <sys/types.h>, as we merely need size_t.
21386         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
21387         to get size_t.
21388         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
21389         Include <stdio.h>, to get FILE.
21390         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
21391         memcasecmp.h has included <stddef.h> and all we need is size_t.
21392         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
21393         our interface, instead of including <sys/types.h>
21394
21395 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21396
21397         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
21398         now, as glibc mktime is buggy on non-glibc systems.
21399
21400 2003-06-03  Karl Berry  <karl@gnu.org>
21401
21402         * config/config.sub: update from prep.
21403
21404 2003-06-02  Paul Eggert  <eggert@twinsun.com>
21405
21406         [from coreutils]
21407         Fix some minor time-related bugs with POSIX time arguments.
21408         Some valid time stamps were being rejected (notably -1, and
21409         time stamps before 1900 on 64-bit hosts).  And some invalid
21410         time stamps were being accepted, e.g. September 31.
21411
21412         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
21413         that we can return (time_t) -1 successfully.
21414         * lib/posixtm.c: Likewise.
21415         [HAVE_STDBOOL_H]: Include <stdbool.h>.
21416         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
21417         (t): Remove static var.
21418         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
21419         of static var.  All uses changed.
21420         (year): Do not reject years before 1900; they can occur with
21421         64-bit time_t.
21422         (posix_time_parse): Do not check for out-of-range components;
21423         that is now the caller's responsibility, since our checks were
21424         only approximations.
21425         (posixtime): Use mktime to check for out-of-range components,
21426         since it knows them exactly.
21427         If mktime returns (time_t) -1, check whether an error actually occurred
21428         by invoking localtime on -1.
21429         (main) [TEST_POSIXTIME]: Check for input data errors, and report
21430         posixtime failures better.
21431         Improve the test data (in comments only).
21432
21433 2003-06-02  Karl Berry  <karl@gnu.org>
21434
21435         * config/mkinstalldirs (version): new variable.
21436         (--version): new option.
21437         (usage): improve message.
21438
21439 2003-05-30  Karl Berry  <karl@gnu.org>
21440
21441         * lib/mktime.c: update from libc.
21442
21443 2003-05-30  Bruno Haible  <bruno@clisp.org>
21444
21445         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
21446         * config/config.rpath: Upgrade to gettext-0.12.1.
21447
21448 2003-05-30  Bruno Haible  <bruno@clisp.org>
21449
21450         * m4/gettext.m4: Upgrade to gettext-0.12.1.
21451         * m4/nls.m4: New file, from gettext-0.12.1.
21452         * m4/po.m4: New file, from gettext-0.12.1.
21453         * m4/progtest.m4: Upgrade to gettext-0.12.1.
21454
21455 2003-05-30  Bruno Haible  <bruno@clisp.org>
21456
21457         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
21458         * lib/localcharset.h: Likewise.
21459         * lib/localcharset.c: Likewise.
21460
21461 2003-05-29  Karl Berry  <karl@gnu.org>
21462
21463         * config/config.rpath: update from gettext.
21464
21465 2003-05-28  Paul Eggert  <eggert@twinsun.com>
21466
21467         Assume the headers required for C89 freestanding compilers.
21468         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
21469         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
21470         * m4/human.m4 (gl_HUMAN): Likewise.
21471         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
21472         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
21473         * m4/userspec.m4 (gl_USERSPEC): Likewise.
21474         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
21475         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
21476         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
21477
21478 2003-05-28  Paul Eggert  <eggert@twinsun.com>
21479
21480         Assume the headers required for C89 freestanding compilers.
21481         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
21482         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
21483         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
21484         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
21485         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
21486         define, since <limits.h> is guaranteed to do that.
21487         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
21488         * lib/exclude.c: Include <stdbool.h> unconditionally.
21489         * lib/tempname.c: Include <stddef.h> unconditionally.
21490         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
21491         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
21492         <stddef.h> does that.
21493         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
21494         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
21495         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
21496         needed.
21497         * lib/xstrtol.c: Likewise.
21498         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
21499         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
21500
21501         * lib/addext.c (addext): Use assignment rather than cast, to avoid
21502         warnings on some platforms.
21503
21504         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
21505         arbitrarily.
21506
21507 2003-05-26  Jim Meyering  <jim@meyering.net>
21508
21509         Merge in a change from coreutils:
21510         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
21511         that is guaranteed to be `no'.  Use `no_such_member' to indicate
21512         that condition, rather than `-1' which is slightly misleading.
21513         Change the name of the cache variable to have the gl_ prefix.
21514         Prompted by a patch from Richard Dawe for DJGPP.
21515
21516 2003-05-24  Karl Berry  <karl@gnu.org>
21517
21518         * config/config.guess: update from prep.
21519
21520 2003-05-22  Karl Berry  <karl@gnu.org>
21521
21522         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
21523
21524 2003-05-20  Karl Berry  <karl@gnu.org>
21525
21526         * config/config.guess: update from prep.
21527
21528 2003-05-18  Karl Berry  <karl@gnu.org>
21529
21530         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
21531         might actually be set by the user.
21532
21533         * config/depcomp, install-sh, mdate-sh: update from automake.
21534
21535 2003-05-17  Bruno Haible  <bruno@clisp.org>
21536
21537         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
21538         invalid expansion for AC_EGREP_CPP.
21539         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
21540         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21541         Suggested by Akim Demaille <akim@epita.fr> in
21542         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
21543
21544 2003-05-12  Jim Meyering  <jim@meyering.net>
21545
21546         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
21547         the space-padded-by-default conversion specifiers, %e, %k, %l.
21548
21549 2003-05-12  Bruno Haible  <bruno@clisp.org>
21550
21551         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
21552         the string is longer than 4 KB.
21553
21554 2003-05-11  Karl Berry  <karl@gnu.org>
21555
21556         * config/config.{guess,sub}: update from prep.
21557
21558 2003-05-09  Bruno Haible  <bruno@clisp.org>
21559
21560         * modules/error: Add m4/strerror_r.m4 to file list.
21561
21562 2003-05-03  Bruno Haible  <bruno@clisp.org>
21563
21564         Upgrade to Unicode-4.0.
21565         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
21566         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
21567         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
21568         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
21569         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
21570         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
21571         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
21572         Change width of U+E0100..U+E01EF from 1 to 0.
21573
21574 2003-04-25  Jim Meyering  <jim@meyering.net>
21575
21576         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
21577         of type size_t, not int.
21578
21579 2003-04-25  Bruno Haible  <bruno@clisp.org>
21580
21581         * lib/copy-file.c: Include <stddef.h>, for size_t.
21582
21583 2003-04-21  Paul Eggert  <eggert@twinsun.com>
21584
21585         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
21586         code which expansion is under static control.  Patch imported from
21587         Akim Demaille's patch to Bison; see
21588         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
21589
21590 2003-04-14  Bruno Haible  <bruno@clisp.org>
21591
21592         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
21593
21594 2003-04-11  Jim Meyering  <jim@meyering.net>
21595
21596         Merge changes from Coreutils.
21597
21598         2003-03-22  Jim Meyering  <jim@meyering.net>
21599
21600         * lib/strftime.c (widen): Cast alloca return value to proper type.
21601
21602         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
21603
21604         From GNU libc.
21605         * lib/strftime.c (my_strftime): Handle very large width
21606         specifications for numeric values correctly.  Improve checks for
21607         overflow.
21608
21609         2003-01-19  Jim Meyering  <jim@meyering.net>
21610
21611         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
21612         definitions.
21613         (nl_get_alt_digit) [! defined my_strftime]: Define.
21614         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
21615         _nl_get_alt_digit and _nl_get_walt_digit.
21616
21617         * lib/strftime.c (my_strftime): Merge in locale-related changes from
21618         libc. These changes have no effect outside of _LIBC.
21619
21620 2003-04-10  Bruno Haible  <bruno@clisp.org>
21621
21622         * modules/findprog: New file.
21623         * MODULES.html.sh (func_all_modules): Add it.
21624
21625 2003-04-10  Bruno Haible  <bruno@clisp.org>
21626
21627         * m4/findprog.m4: New file.
21628         * m4/eaccess.m4: New file.
21629
21630 2003-04-10  Bruno Haible  <bruno@clisp.org>
21631
21632         * lib/findprog.h: New file, from GNU gettext.
21633         * lib/findprog.c: New file, from GNU gettext.
21634
21635 2003-04-05  Jim Meyering  <jim@meyering.net>
21636
21637         Merge changes from Coreutils.
21638
21639         * lib/exclude.h (PARAMS): Remove definition and uses.
21640         * lib/exclude.c: Remove uses of `PARAMS'.
21641
21642         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
21643         Add test-cases for DOS filenames. Declare program_name.
21644         (main): Set up program_name.  Patch by Rich Dawe.
21645
21646         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
21647         error from mntctl.
21648         Use mntctl's return value to drive the entry-processing loop, since
21649         we can't rely on the value of the vmt_length member in the last
21650         entry.  On some systems doing so could result in exhausting
21651         virtual memory.  Based in part on a patch from Mike Jetzer.
21652
21653 2003-04-04  Bruno Haible  <bruno@clisp.org>
21654
21655         * modules/linebreak: New file.
21656         * MODULES.html.sh (func_all_modules): Add it.
21657
21658 2003-04-04  Bruno Haible  <bruno@clisp.org>
21659
21660         * m4/linebreak.m4: New file.
21661
21662 2003-04-04  Bruno Haible  <bruno@clisp.org>
21663
21664         * lib/linebreak.h: New file, from GNU gettext.
21665         * lib/linebreak.c: New file, from GNU gettext with slight
21666         modifications.
21667         * lib/lbrkprop.h: New file, from GNU gettext.
21668
21669 2003-04-03  Bruno Haible  <bruno@clisp.org>
21670
21671         * modules/utf8-ucs4: New file.
21672         * modules/utf16-ucs4: New file.
21673         * modules/ucs4-utf8: New file.
21674         * modules/ucs4-utf16: New file.
21675         * MODULES.html.sh (func_all_modules): Add them.
21676
21677 2003-04-03  Bruno Haible  <bruno@clisp.org>
21678
21679         * m4/utf-ucs4.m4: New file.
21680         * m4/ucs4-utf.m4: New file.
21681
21682 2003-04-03  Bruno Haible  <bruno@clisp.org>
21683
21684         * lib/utf8-ucs4.h: New file, from GNU gettext.
21685         * lib/utf16-ucs4.h: New file, from GNU gettext.
21686         * lib/ucs4-utf8.h: New file, from GNU gettext.
21687         * lib/ucs4-utf16.h: New file, from GNU gettext.
21688
21689 2003-04-02  Bruno Haible  <bruno@clisp.org>
21690
21691         * modules/binary-io: New file.
21692         * MODULES.html.sh (func_all_modules): Add it.
21693
21694 2003-04-02  Bruno Haible  <bruno@clisp.org>
21695
21696         * lib/binary-io.h: New file, from GNU gettext.
21697
21698 2003-04-01  Bruno Haible  <bruno@clisp.org>
21699
21700         * modules/pathname: New file.
21701         * MODULES.html.sh (func_all_modules): Add it.
21702
21703 2003-04-01  Bruno Haible  <bruno@clisp.org>
21704
21705         * lib/pathname.h: New file, from GNU gettext.
21706         * lib/concatpath.c: New file, from GNU gettext.
21707
21708 2003-03-30  Bruno Haible  <bruno@clisp.org>
21709
21710         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
21711
21712 2003-03-30  Bruno Haible  <bruno@clisp.org>
21713
21714         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
21715         function chown() doesn't exist.
21716
21717 2003-03-28  Bruno Haible  <bruno@clisp.org>
21718
21719         * modules/copy-file: New file.
21720         * MODULES.html.sh (func_all_modules): Add it.
21721
21722 2003-03-28  Bruno Haible  <bruno@clisp.org>
21723
21724         * m4/copy-file.m4: New file.
21725
21726 2003-03-28  Bruno Haible  <bruno@clisp.org>
21727
21728         * lib/copy-file.h: New file, from GNU gettext.
21729         * lib/copy-file.c: New file, from GNU gettext.
21730
21731 2003-03-18  Jim Meyering  <jim@meyering.net>
21732
21733         * lib/quote.c (quote_n): Fix typo in comment.
21734
21735 2003-03-18  Bruno Haible  <bruno@clisp.org>
21736
21737         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
21738         checking.
21739         * m4/onceonly_2_57.m4: Likewise.
21740
21741 2003-03-17  Bruno Haible  <bruno@clisp.org>
21742
21743         * m4/onceonly.m4: Require autoconf 2.54 or newer.
21744         (m4_quote): Remove macro.
21745         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
21746
21747 2003-03-14  Jim Meyering  <jim@meyering.net>
21748
21749         Merge changes from Coreutils.
21750         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
21751         to be const, in order to avoid warnings.
21752         (obstack_room): Likewise.
21753         (obstack_empty_p): Likewise.
21754
21755 2003-03-14  Bruno Haible  <bruno@clisp.org>
21756
21757         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
21758         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
21759
21760 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21761
21762         Merge changes from Bison.
21763         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
21764         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
21765         when compiling Bison 1.875's `bitset bset = obstack_alloc
21766         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
21767         * lib/hash.c: Include <stdbool.h> unconditionally.
21768
21769 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21770
21771         * m4/onceonly.m4 (m4_quote): New macro.
21772         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
21773         Quote AC_FOREACH variable-expansions properly.
21774
21775 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21776
21777         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
21778
21779 2003-03-09  Paul Eggert  <eggert@twinsun.com>
21780
21781         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
21782         Reported by Bruce Becker; see:
21783         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
21784
21785 2003-03-03  Paul Eggert  <eggert@twinsun.com>
21786             Bruno Haible  <bruno@clisp.org>
21787
21788         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
21789         Reported by John Hughes, see
21790         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
21791
21792 2003-02-20  Bruno Haible  <bruno@clisp.org>
21793
21794         * MODULES.html.sh (func_all_modules): Add poll.
21795
21796 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21797
21798         * modules/poll: New file.
21799
21800 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21801
21802         * lib/poll_.h: New file.
21803         * lib/poll.c: New file.
21804
21805 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21806
21807         * m4/poll.m4: New file.
21808
21809 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21810
21811         * modules/mathl: New file.
21812
21813 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21814
21815         * lib/mathl.h: New file.
21816         * lib/acosl.c: New file.
21817         * lib/asinl.c: New file.
21818         * lib/atanl.c: New file.
21819         * lib/ceill.c: New file.
21820         * lib/cosl.c: New file.
21821         * lib/expl.c: New file.
21822         * lib/floorl.c: New file.
21823         * lib/frexpl.c: New file.
21824         * lib/ldexpl.c: New file.
21825         * lib/logl.c: New file.
21826         * lib/sincosl.c: New file.
21827         * lib/sinl.c: New file.
21828         * lib/sqrtl.c: New file.
21829         * lib/tanl.c: New file.
21830         * lib/trigl.c: New file.
21831         * lib/trigl.h: New file.
21832
21833 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21834
21835         * m4/mathl.m4: New file.
21836
21837 2003-02-18  Bruno Haible  <bruno@clisp.org>
21838
21839         * MODULES.html.sh (func_all_modules): Add mathl.
21840
21841 2003-02-17  Bruno Haible  <bruno@clisp.org>
21842
21843         * modules/mkdtemp: New module.
21844         * MODULES.html.sh (func_all_modules): Add it.
21845
21846 2003-02-17  Bruno Haible  <bruno@clisp.org>
21847
21848         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
21849
21850 2003-02-17  Bruno Haible  <bruno@clisp.org>
21851
21852         * lib/mkdtemp.h: New file, from GNU gettext.
21853         * lib/mkdtemp.c: New file, from GNU gettext.
21854
21855 2003-02-02  Jim Meyering  <jim@meyering.net>
21856
21857         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
21858         e.g. glibc-2.2.93.
21859
21860 2003-01-31  Bruno Haible  <bruno@clisp.org>
21861
21862         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
21863         'rpl_rename'.
21864         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
21865         'rpl_strnlen'.
21866         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
21867         'rpl_strtod'.
21868         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
21869         'rpl_utime'.
21870
21871 2003-01-31  Bruno Haible  <bruno@clisp.org>
21872
21873         * lib/rename.c: #undef rename before defining rpl_rename.
21874         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
21875
21876 2003-01-30  Bruno Haible  <bruno@clisp.org>
21877
21878         * modules/vasnprintf, modules/vasprintf: New modules.
21879         * MODULES.html.sh (func_all_modules): Add them.
21880
21881 2003-01-30  Bruno Haible  <bruno@clisp.org>
21882
21883         * m4/signed.m4: New file, from GNU gettext.
21884         * m4/longdouble.m4: New file, from GNU gettext.
21885         * m4/wchar_t.m4: New file, from GNU gettext.
21886         * m4/wint_t.m4: New file, from GNU gettext.
21887         * m4/vasnprintf.m4: New file.
21888         * m4/vasprintf.m4: New file.
21889
21890 2003-01-30  Bruno Haible  <bruno@clisp.org>
21891
21892         * lib/printf-args.h: New file, from GNU gettext.
21893         * lib/printf-args.c: New file, from GNU gettext.
21894         * lib/printf-parse.h: New file, from GNU gettext.
21895         * lib/printf-parse.c: New file, from GNU gettext.
21896         * lib/vasnprintf.h: New file, from GNU gettext.
21897         * lib/vasnprintf.c: New file, from GNU gettext.
21898         * lib/asnprintf.c: New file, from GNU gettext.
21899         * lib/vasprintf.h: New file, from GNU gettext with modifications.
21900         * lib/vasprintf.c: New file, from GNU gettext.
21901         * lib/asprintf.c: New file, from GNU gettext.
21902
21903 2003-01-29  Bruno Haible  <bruno@clisp.org>
21904
21905         * modules/stpncpy: New module.
21906         * MODULES.html.sh (func_all_modules): Add it.
21907
21908 2003-01-29  Bruno Haible  <bruno@clisp.org>
21909
21910         * m4/stpncpy.m4: New file.
21911
21912 2003-01-29  Bruno Haible  <bruno@clisp.org>
21913
21914         * lib/stpncpy.h: New file, from GNU gettext with modifications.
21915         * lib/stpncpy.c: New file, from GNU gettext with modifications.
21916
21917 2003-01-28  Bruno Haible  <bruno@clisp.org>
21918
21919         * modules/c-ctype: New module.
21920         * MODULES.html.sh (func_all_modules): Add it.
21921
21922 2003-01-28  Bruno Haible  <bruno@clisp.org>
21923
21924         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
21925         Paul Eggert.
21926         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
21927         Paul Eggert.
21928
21929 2003-01-27  Bruno Haible  <bruno@clisp.org>
21930
21931         * modules/xsetenv: New module.
21932         * MODULES.html.sh (func_all_modules): Add it.
21933
21934 2003-01-27  Bruno Haible  <bruno@clisp.org>
21935
21936         * lib/xsetenv.h: New file, from GNU gettext.
21937         * lib/xsetenv.c: New file, from GNU gettext.
21938
21939 2003-01-23  Jim Meyering  <jim@meyering.net>
21940
21941         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
21942         from working on systems without dirfd (at least Irix and OSF1/Tru64).
21943
21944 2003-01-23  Bruno Haible  <bruno@clisp.org>
21945
21946         * modules/minmax: New module.
21947         * MODULES.html.sh (func_all_modules): Add it.
21948
21949 2003-01-23  Bruno Haible  <bruno@clisp.org>
21950
21951         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
21952         Eggert.
21953
21954 2003-01-22  Bruno Haible  <bruno@clisp.org>
21955
21956         * modules/exit: New module.
21957         * MODULES.html.sh (func_all_modules): Add it.
21958
21959 2003-01-22  Bruno Haible  <bruno@clisp.org>
21960
21961         * lib/exit.h: New file, from GNU gettext.
21962
21963 2003-01-19  Bruno Haible  <bruno@clisp.org>
21964
21965         * gnulib-tool: Recognize option --extract-maintainer.
21966         (func_get_maintainer): New function.
21967         * modules/*: Add Maintainer entry.
21968
21969 2003-01-16  Jim Meyering  <jim@meyering.net>
21970
21971         * m4/regex.m4: The `regex' struct is both input and output.
21972         Initialize it before each use.  Patch by Tim Waugh.
21973
21974 2003-01-16  Bruno Haible  <bruno@clisp.org>
21975
21976         * MODULES.html.sh: Add a table of contents. Add the module name as
21977         leftmost column. Add hyperlinks.
21978
21979 2003-01-15  Bruno Haible  <bruno@clisp.org>
21980
21981         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
21982
21983 2003-01-15  Bruno Haible  <bruno@clisp.org>
21984
21985         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
21986         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
21987         suffix.
21988
21989 2003-01-15  Bruno Haible  <bruno@clisp.org>
21990
21991         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
21992
21993 2003-01-15  Bruno Haible  <bruno@clisp.org>
21994
21995         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
21996         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
21997
21998 2003-01-14  Jim Meyering  <jim@meyering.net>
21999
22000         * lib/same.c (same_name): Tweak a comment.
22001
22002 2003-01-14  Bruno Haible  <bruno@clisp.org>
22003
22004         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
22005         when a string comparison is sufficient.
22006
22007 2003-01-14  Bruno Haible  <bruno@clisp.org>
22008
22009         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
22010         'unsigned int'.
22011
22012 2003-01-14  Bruno Haible  <bruno@clisp.org>
22013
22014         * lib/hash-pjw.c: Add comment about low quality of this function.
22015
22016 2003-01-13  Bruno Haible  <bruno@clisp.org>
22017
22018         * modules/stpcpy: Distribute lib/stpcpy.h.
22019         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
22020
22021 2003-01-13  Bruno Haible  <bruno@clisp.org>
22022
22023         * modules/*: Add a description.
22024         * modules/strpbrk: Fix Makefile.am snippet.
22025         * modules/strtoimax: Fix dependencies.
22026         * modules/strtoumax: Likewise.
22027
22028 2003-01-13  Bruno Haible  <bruno@clisp.org>
22029
22030         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
22031         * modules/alloca (Makefile.am): All object files depend on alloca.h.
22032         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
22033
22034 2003-01-13  Bruno Haible  <bruno@clisp.org>
22035
22036         * gnulib-tool (func_create_testdir): Store config/* files in the main
22037         directory.
22038         * config.rpath: Move to ...
22039         * config/config.rpath: ... here.
22040         * modules/gettext: Contains config/config.rpath, not config.rpath.
22041         * modules/iconv: Likewise.
22042
22043 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22044
22045         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22046         to avoid collisions with libcurses and libreadline.
22047
22048         * m4/getstr.m4: Remove.
22049         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
22050
22051 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22052
22053         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22054         to avoid collisions with libcurses and libreadline.
22055
22056         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
22057         * lib/getstr.h, getstr.c: Remove.
22058         * lib/getline.c: Include "getline.h", to check interface.
22059         Move body of old getstr.c here: this defines MIN_CHUNK and
22060         declares getdelim2, which is renamed from getstr.
22061         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
22062
22063         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
22064         All uses changed.
22065         * lib/linebuffer.h: Likewise.
22066         (readline): Remove backward-compatibility macro.
22067
22068 2003-01-12  Paul Eggert  <eggert@twinsun.com>
22069
22070         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
22071         to avoid collisions with libcurses and libreadline.
22072         * getstr: Remove.
22073         * MODULES.html.sh: Remove getstr.
22074         * modules/getline: Depend on unlocked-io, not getstr.
22075
22076 2003-01-12  Jim Meyering  <jim@meyering.net>
22077
22078         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
22079
22080 2003-01-10  Bruno Haible  <bruno@clisp.org>
22081
22082         * modules/alloca: Change Makefile.am requirements. Simplify Include
22083         requirements. Add lib/alloca_.h to file list.
22084
22085 2003-01-10  Bruno Haible  <bruno@clisp.org>
22086
22087         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
22088
22089 2003-01-10  Bruno Haible  <bruno@clisp.org>
22090
22091         * lib/alloca_.h: New file.
22092         * lib/getdate.y: Unconditionally include alloca.h.
22093         * lib/makepath.c: Likewise.
22094         * lib/setenv.c: Likewise.
22095         * lib/userspec.c: Likewise.
22096
22097 2003-01-09  Karl Berry  <karl@gnu.org>
22098
22099         * MODULES.html.sh: include `dirname $0` in PATH, to find
22100         gnulib-tool.
22101
22102 2003-01-09  Bruno Haible  <bruno@clisp.org>
22103
22104         * modules/stdbool: Change configure.ac, Makefile.am requirements.
22105         Simplify Include requirements. Add lib/stdbool.h.in to file list.
22106
22107 2003-01-09  Bruno Haible  <bruno@clisp.org>
22108
22109         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
22110
22111 2003-01-09  Bruno Haible  <bruno@clisp.org>
22112
22113         * lib/stdbool.h.in: New file.
22114
22115 2003-01-09  Bruno Haible  <bruno@clisp.org>
22116
22117         * gnulib-tool (func_all_modules): Ignore files ending in ~.
22118         * MODULES.html.sh: Likewise.
22119
22120 2003-01-08  Jim Meyering  <jim@meyering.net>
22121
22122         * lib/full-write.c: Undefine and define-away `const' after inclusion
22123         of errno.h, not before.  Suggestion from Bruno Haible.
22124
22125 2003-01-08  Bruno Haible  <bruno@clisp.org>
22126
22127         * modules/full-read: Depend on full-write.
22128
22129 2003-01-08  Bruno Haible  <bruno@clisp.org>
22130
22131         * lib/safe-read.c: Include specification header first, to ensure its
22132         selfcontainedness.
22133         * lib/full-write.c: Likewise.
22134
22135 2003-01-07  Jim Meyering  <jim@meyering.net>
22136
22137         * lib/full-write.c: Rework so that it may serve to define full_read,
22138         too.
22139         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
22140
22141 2003-01-07  Bruno Haible  <bruno@clisp.org>
22142
22143         * lib/strtoimax.c: Include <stdint.h> as an alternative to
22144         <inttypes.h>.
22145         * lib/xstrtol.h: Likewise.
22146         * lib/xstrtoimax.c: Likewise.
22147         * lib/xstrtoumax.c: Likewise.
22148         * lib/human.h: Likewise.
22149
22150         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
22151         on systems that have <inttypes.h> but not <stdint.h>.
22152
22153 2003-01-07  Bruno Haible  <bruno@clisp.org>
22154
22155         * MODULES.html.sh: Add copyright notice.
22156         (missed_files): Omit CVS directory entries.
22157         (func_module): Make it work with sed-3.02.
22158         * MODULES.txt: Remove file.
22159
22160 2003-01-06  Jim Meyering  <jim@meyering.net>
22161
22162         * lib/version-etc.c: Update year in translatable copyright string.
22163
22164 2003-01-03  Karl Berry  <karl@gnu.org>
22165
22166         * config/config.{guess,sub}: update from prep.
22167
22168 2003-01-02  Karl Berry  <karl@gnu.org>
22169
22170         * doc/COPYING.DOC: belatedly updated to 1.2.
22171
22172 2003-01-01  Karl Berry  <karl@gnu.org>
22173
22174         * gnulib-tool (func_verify_module): report module name $module in
22175         error message, not $1.
22176         * gnulib-tool (create-testdir): don't complain if destdir couldn't
22177         be created, only if it doesn't exist.
22178         * gnulib-tool (last_checkin_date): don't expand the $Date here.
22179
22180 2002-12-31  Paul Eggert  <eggert@twinsun.com>
22181
22182         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
22183
22184 2002-12-31  Paul Eggert  <eggert@twinsun.com>
22185
22186         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
22187         memcmp if strcoll doesn't work.
22188
22189 2002-12-31  Bruno Haible  <bruno@clisp.org>
22190
22191         * lib/utime.c (utime_null): No need to call ftruncate if the file was
22192         nonempty.
22193
22194 2002-12-31  Bruno Haible  <bruno@clisp.org>
22195
22196         * lib/memcoll.c (STRCOLL): New macro.
22197         (memcoll): Use it.
22198
22199 2002-12-31  Bruno Haible  <bruno@clisp.org>
22200
22201         * lib/localcharset.h: New file.
22202         * lib/localcharset.c: Include it.
22203         * lib/unicodeio.c: Likewise.
22204
22205 2002-12-31  Bruno Haible  <bruno@clisp.org>
22206
22207         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
22208         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
22209
22210 2002-12-31  Bruno Haible  <bruno@clisp.org>
22211
22212         * lib/getline.h: Include <stddef.h>, for size_t.
22213
22214         * lib/unicodeio.h: Include <stddef.h>, for size_t.
22215         * lib/unicodeio.c: Don't include <stddef.h>.
22216
22217 2002-12-31  Bruno Haible  <bruno@clisp.org>
22218
22219         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
22220         HAVE_TM_ZONE.
22221
22222 2002-12-24  Karl Berry  <karl@gnu.org>
22223
22224         * config/config.guess: update from prep.
22225
22226 2002-12-24  Bruno Haible  <bruno@clisp.org>
22227
22228         General infrasructure.
22229         * m4/README: Rewritten.
22230         * m4/onceonly.m4: New file.
22231         * m4/onceonly_2_57.m4: New file.
22232
22233         Module atexit.
22234         * m4/atexit.m4: New file.
22235
22236         Module strtod.
22237         * m4/strtod.m4: New file.
22238
22239         Module strtol.
22240         * m4/strtol.m4: New file.
22241
22242         Module strtoul.
22243         * m4/strtoul.m4: New file.
22244
22245         Module memchr.
22246         * m4/memchr.m4: New file.
22247
22248         Module memcmp.
22249         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
22250         (jm_FUNC_MEMCMP): Invoke it.
22251
22252         Module memcpy.
22253         * m4/memcpy.m4: New file.
22254
22255         Module memmove.
22256         * m4/memmove.m4: New file.
22257
22258         Module memset.
22259         * m4/memset.m4: New file.
22260
22261         Module strcspn.
22262         * m4/strcspn.m4: New file.
22263
22264         Module strpbrk.
22265         * m4/strpbrk.m4: New file.
22266
22267         Module strstr.
22268         * m4/strstr.m4: New file.
22269
22270         Module strerror.
22271         * m4/strerror.m4: New file.
22272
22273         Module mktime.
22274         * m4/mktime.m4: Renamed from jm-mktime.m4.
22275         (gl_PREREQ_MKTIME): New macro.
22276         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
22277
22278         Module malloc.
22279         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
22280         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
22281         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
22282
22283         Module realloc.
22284         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
22285         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
22286         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
22287
22288         Module strftime.
22289         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
22290         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
22291         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
22292         gl_TM_GMTOFF.
22293         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
22294
22295         Module xalloc.
22296         * m4/xalloc.m4: New file.
22297
22298         Module alloca.
22299         * m4/alloca.m4: New file.
22300
22301         Module putenv.
22302         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
22303         (jm_FUNC_PUTENV): Invoke it.
22304
22305         Module setenv.
22306         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
22307         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
22308         when invoked twice.
22309         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
22310         gt_FUNC_SETENV.
22311
22312         Module memrchr.
22313         * m4/memrchr.m4: New file.
22314
22315         Module stpcpy.
22316         * m4/stpcpy.m4: New file.
22317
22318         Module strcase.
22319         * m4/strcase.m4: New file.
22320
22321         Module strdup.
22322         * m4/strdup.m4: New file.
22323
22324         Module strnlen.
22325         * m4/strnlen.m4: New file.
22326
22327         Module strndup.
22328         * m4/strndup.m4: New file.
22329
22330         Module xstrtod.
22331         * m4/xstrtod.m4: New file.
22332
22333         Module xstrtol.
22334         * m4/xstrtol.m4: New file.
22335
22336         Module getdate.
22337         * m4/getdate.m4: New file.
22338
22339         Module unlocked-io.
22340         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
22341         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
22342         * m4/jm-glibc-io.m4n: Remove file.
22343
22344         Module long-options.
22345         * m4/long-options.m4: New file.
22346
22347         Module md5.
22348         * m4/md5.m4: New file.
22349
22350         Module sha.
22351         * m4/sha.m4: New file.
22352
22353         Module getstr.
22354         * m4/getstr.m4: New file.
22355
22356         Module getline.
22357         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
22358         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
22359         <sys/types.h>, for size_t. Use the function name gnu_getline, not
22360         simply getline. Infoke gl_PREREQ_GETLINE.
22361
22362         Module obstack.
22363         * m4/obstack.m4: New file.
22364
22365         Module hash.
22366         * m4/hash.m4: New file.
22367
22368         Module readtokens.
22369         * m4/readtokens.m4: New file.
22370
22371         Module strverscmp.
22372         * m4/strverscmp.m4: New file.
22373
22374         Module stdbool.
22375         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
22376         OSF/1.
22377
22378         Module strtoll.
22379         * m4/strtoll.m4: New file.
22380
22381         Module strtoull.
22382         * m4/strtoull.m4: New file.
22383
22384         Module strtoimax.
22385         * m4/strtoimax.m4: New file.
22386
22387         Module strtoumax.
22388         * m4/strtoumax.m4: New file.
22389
22390         Module xstrtoimax.
22391         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
22392         jm_AC_PREREQ_XSTRTOIMAX.
22393         Moved the strtol prerequisites to strtol.m4.
22394         Moved the strtoll prerequisites to strtoll.m4.
22395         Moved the strtoimax prerequisites to strtoimax.m4.
22396
22397         Module xstrtoumax.
22398         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
22399         jm_AC_PREREQ_XSTRTOUMAX.
22400         Moved the strtoul prerequisites to strtoul.m4.
22401         Moved the strtoull prerequisites to strtoull.m4.
22402         Moved the strtoumax prerequisites to strtoumax.m4.
22403
22404         Module chown.
22405         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
22406         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
22407
22408         Module dup2.
22409         * m4/dup2.m4: New file.
22410
22411         Module ftruncate.
22412         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
22413         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
22414
22415         Module getgroups.
22416         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
22417         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
22418
22419         Module gettimeofday.
22420         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
22421         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
22422         gl_PREREQ_GETTIMEOFDAY.
22423
22424         Module mkdir.
22425         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
22426         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
22427
22428         Module mkstemp.
22429         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
22430         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
22431         jm_AC_TYPE_UINTMAX_T.
22432         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
22433
22434         Module stat.
22435         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
22436         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
22437
22438         Module lstat.
22439         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
22440         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
22441
22442         Module timespec.
22443         * m4/timespec.m4 (gl_TIMESPEC): New macro.
22444         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
22445         * m4/st_mtim.m4: Indentation.
22446
22447         Module nanosleep.
22448         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
22449         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
22450         gl_PREREQ_NANOSLEEP.
22451
22452         Module regex.
22453         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
22454         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
22455         (gl_REGEX): New macro.
22456
22457         Module rename.
22458         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
22459         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
22460
22461         Module rmdir.
22462         * m4/rmdir.m4: New file.
22463
22464         Module utime.
22465         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
22466         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
22467         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
22468
22469         Module dirname.
22470         * m4/dirname.m4: New file.
22471
22472         Module getopt.
22473         * m4/getopt.m4: New file.
22474
22475         Module unistd-safer.
22476         * m4/unistd-safer.m4: New file.
22477
22478         Module fnmatch.
22479         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
22480         declaration.
22481         (gl_PREREQ_FNMATCH_EXTRA): New macro.
22482         (gl_FUNC_FNMATCH_POSIX): New macro.
22483         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
22484         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
22485         simply fnmatch.
22486
22487         Module exclude.
22488         * m4/exclude.m4: New file.
22489
22490         Module human.
22491         * m4/human.m4: New file.
22492
22493         Module acl.
22494         * m4/acl.m4: Nop.
22495
22496         Module backupfile.
22497         * m4/backupfile.m4: New file.
22498         * m4/d-ino.m4: Indentation.
22499
22500         Module fsusage.
22501         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
22502         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
22503         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
22504
22505         Module dirfd.
22506         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
22507         requirements.
22508
22509         Module euidaccess.
22510         * m4/euidaccess.m4: New file.
22511
22512         Module file-type.
22513         * m4/file-type.m4: New file.
22514
22515         Module fileblocks.
22516         * m4/fileblocks.m4: New file.
22517
22518         Module filemode.
22519         * m4/filemode.m4: New file.
22520
22521         Module isdir.
22522         * m4/isdir.m4: New file.
22523
22524         Module lchown.
22525         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
22526         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
22527
22528         Module makepath.
22529         * m4/makepath.m4: New file.
22530
22531         Module modechange.
22532         * m4/modechange.m4: New file.
22533
22534         Module mountlist.
22535         * m4/mountlist.m4: New file.
22536         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
22537         Indentation.
22538
22539         Module path-concat.
22540         * m4/path-concat.m4: New file.
22541
22542         Module pathmax.
22543         * m4/pathmax.m4: New file.
22544
22545         Module same.
22546         * m4/same.m4: New file.
22547
22548         Module save-cwd.
22549         * m4/save-cwd.m4: New file.
22550
22551         Module savedir.
22552         * m4/savedir.m4: New file.
22553
22554         Module xgetcwd.
22555         * m4/xgetcwd.m4: New file.
22556         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
22557
22558         Module xreadlink.
22559         * m4/xreadlink.m4: New file.
22560
22561         Module safe-read.
22562         * m4/safe-read.m4: New file.
22563
22564         Module safe-write.
22565         * m4/safe-write.m4: New file.
22566
22567         Module closeout.
22568         * m4/closeout.m4: New file.
22569
22570         Module stdio-safer.
22571         * m4/stdio-safer.m4: New file.
22572
22573         Module getpass.
22574         * m4/getpass.m4: New file.
22575
22576         Module getugroups.
22577         * m4/getugroups.m4: New file.
22578
22579         Module group-member.
22580         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
22581         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
22582
22583         Module idcache.
22584         * m4/idcache.m4: New file.
22585
22586         Module userspec.
22587         * m4/userspec.m4: New file.
22588
22589         Module gettime.
22590         * m4/clock_time.m4: New file.
22591         * m4/gettime.m4: New file.
22592
22593         Module settime.
22594         * m4/settime.m4: New file.
22595
22596         Module posixtm.
22597         * m4/posixtm.m4: New file.
22598
22599         Module gethostname.
22600         * m4/gethostname.m4: New file.
22601
22602         Module canon-host.
22603         * m4/canon-host.m4: New file.
22604
22605         Module gettext.
22606         * m4/codeset.m4: New file, from gettext-0.11.5.
22607         * m4/gettext.m4: New file, from gettext-0.11.5.
22608         * m4/glibc21.m4: New file, from gettext-0.11.5.
22609         * m4/iconv.m4: New file, from gettext-0.11.5.
22610         * m4/intdiv0.m4: New file, from gettext-0.11.5.
22611         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
22612         * m4/inttypes.m4: New file, from gettext-0.11.5.
22613         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
22614         * m4/isc-posix.m4: New file, from gettext-0.11.5.
22615         * m4/lcmessage.m4: New file, from gettext-0.11.5.
22616         * m4/lib-ld.m4: New file, from gettext-0.11.5.
22617         * m4/lib-link.m4: New file, from gettext-0.11.5.
22618         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
22619         * m4/progtest.m4: New file, from gettext-0.11.5.
22620         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
22621         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
22622         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
22623
22624         Module localcharset.
22625         * m4/localcharset.m4: New file.
22626
22627         Module hard-locale.
22628         * m4/hard-locale.m4: New file.
22629
22630         Module mbswidth.
22631         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
22632         onceonly macros.
22633         * m4/mbrtowc.m4: Add comment.
22634
22635         Module memcasecmp.
22636         * m4/memcasecmp.m4: New file.
22637
22638         Module memcoll.
22639         * m4/memcoll.m4: New file.
22640
22641         Module unicodeio.
22642         * m4/unicodeio.m4: New file.
22643
22644         Module rpmatch.
22645         * m4/rpmatch.m4: New file.
22646
22647         Module yesno.
22648         * m4/yesno.m4: New file.
22649
22650         Module exitfail.
22651         * m4/exitfail.m4: New file.
22652
22653         Module c-stack.
22654         * m4/c-stack.m4 (gl_C_STACK): New macro.
22655         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
22656
22657         Module error.
22658         * m4/error.m4 (gl_ERROR): New macro.
22659         (jm_PREREQ_ERROR): Use onceonly macros.
22660
22661         Module fatal.
22662         * m4/fatal.m4: New file.
22663
22664         Module getloadavg.
22665         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
22666         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
22667
22668         Module getpagesize.
22669         * m4/getpagesize.m4: New file.
22670
22671         Module getusershell.
22672         * m4/getusershell.m4: New file.
22673
22674         Module physmem.
22675         * m4/physmem.m4: New file.
22676
22677         Module posixver.
22678         * m4/posixver.m4: New file.
22679
22680         Module quotearg.
22681         * m4/quotearg.m4: New file.
22682
22683         Module quote.
22684         * m4/quote.m4: New file.
22685
22686         Module readutmp.
22687         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
22688
22689         Module sig2str.
22690         * m4/sig2str.m4: New file.
22691
22692         Other.
22693         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
22694         ulonglong.m4.
22695         * m4/intmax_t.m4: New file.
22696         * m4/d-type.m4: Indentation.
22697         * m4/jm-macros.m4: Update.
22698         * m4/prereq.m4 (jm_PREREQ): Update.
22699         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
22700         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
22701         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
22702         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
22703         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
22704         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
22705         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
22706         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
22707         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
22708         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
22709         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
22710         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
22711         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
22712         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
22713         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
22714         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
22715         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
22716         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
22717         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
22718
22719 2002-12-24  Bruno Haible  <bruno@clisp.org>
22720
22721         * MODULES.txt: Update according to m4/ changes.
22722
22723         Module gettext.
22724         * config.rpath: New file, from gettext-0.11.5.
22725
22726         * modules/*: New module descriptions.
22727         * gnulib-tool: New file.
22728         * MODULES.html.sh: New file.
22729
22730 2002-12-21  Karl Berry  <karl@gnu.org>
22731
22732         * doc/fdl.texi: update to version 1.2.
22733
22734 2002-12-19  Karl Berry  <karl@gnu.org>
22735
22736         * config/config.guess: update from prep.
22737
22738 2002-12-18  Bruno Haible  <bruno@clisp.org>
22739
22740         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
22741         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
22742
22743 2002-12-17  Bruno Haible  <bruno@clisp.org>
22744
22745         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
22746         stdlib.h, string.h.
22747
22748 2002-12-17  Bruno Haible  <bruno@clisp.org>
22749
22750         * lib/canon-host.c (strdup): Remove unused declaration.
22751
22752         * lib/fsusage.c: Include full_read.h.
22753         (get_fs_usage): Use full_read instead of safe_read.
22754
22755         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
22756
22757 2002-12-12  Karl Berry  <karl@gnu.org>
22758
22759         * config/config.guess: update from prep.
22760
22761 2002-12-11  Bruno Haible  <bruno@clisp.org>
22762
22763         * m4/setenv.m4: New file, from gettext-0.11.5.
22764
22765 2002-12-11  Bruno Haible  <bruno@clisp.org>
22766
22767         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
22768         not unsetenv().
22769         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
22770         modifications:
22771
22772         2002-12-11  Bruno Haible  <bruno@clisp.org>
22773
22774                 * setenv.c (alloca): Fall back to malloc.
22775                 (freea): New macro.
22776                 (setenv): Use freea() to free memory allocated with alloca().
22777
22778         2002-11-13  Bruno Haible  <bruno@clisp.org>
22779
22780                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
22781                 function declarations.
22782                 * unsetenv.c (unsetenv): Likewise.
22783
22784         2002-03-04  Bruno Haible  <bruno@clisp.org>
22785
22786                 Portability to AIX 4.3.3.
22787                 * unsetenv.c: New file, extracted from setenv.c.
22788                 * setenv.c: Move the unsetenv() function to unsetenv.c.
22789
22790         2001-12-20  Bruno Haible  <bruno@clisp.org>
22791
22792                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
22793                 use malloc instead. For SunOS 4.
22794
22795         2001-12-11  Bruno Haible  <bruno@clisp.org>
22796
22797                 * setenv.c: Declare alloca.
22798                 (compar_fn_t): New typedef.
22799                 (KNOWN_VALUE, STORE_VALUE): Use it.
22800
22801         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
22802         setenv.h.
22803
22804 2002-12-10  Paul Eggert  <eggert@twinsun.com>
22805
22806         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
22807         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
22808         Choose values that are less likely to collide with system fnmatch
22809         options.
22810         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
22811         defined (e.g., a pure POSIX system).
22812         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
22813         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
22814
22815 2002-12-06  Paul Eggert  <eggert@twinsun.com>
22816
22817         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
22818         a pain in practice to deal with generated m4 files.  This change
22819         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
22820
22821         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
22822         and jm-glibc-io.m4, as they are no longer a special case.
22823         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
22824         kludge and the auto-generation stuff.  Check only whether the
22825         functions are declared, not whether they exist, since older hosts
22826         that don't declare the functions can't use the optimization anyway.
22827
22828 2002-12-06  Jim Meyering  <jim@meyering.net>
22829
22830         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
22831
22832         Merge in changes from libc's misc/error.c, in preparation
22833         for the merge of gnulib's changes back into libc.
22834
22835         * lib/error.c (_): Define only if not already defined.
22836         Move definition to follow all #include directives.
22837         Include unlocked-io.h only if !_LIBC.
22838         [_LIBC]: Include <libio/libioP.h>.
22839         [USE_IN_LIBIO]: Include <libio/iolibio.h>
22840         (fflush): Tweak definition to use INTUSE.
22841         (putc): Define.
22842
22843 2002-12-05  Paul Eggert  <eggert@twinsun.com>
22844
22845         * lib/alloca.c [defined emacs]: Include "lisp.h".
22846         (xalloc_die) [defined emacs]: New macro.
22847         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
22848         [! defined emacs]: Include <xalloc.h>.
22849         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
22850         (pointer): Typedef to POINTER_TYPE *.
22851         (malloc): Remove decl; we now always use xmalloc.
22852         (alloca): Use old-style definition, since Emacs needs this.
22853         Check for arithmetic overflow when computing combined size.
22854
22855 2002-12-04  Paul Eggert  <eggert@twinsun.com>
22856
22857         Do not generate unlocked-io.h automatically, since it's easier to
22858         maintain it by hand.
22859
22860         * lib/unlocked-io.h: New file, from GNU diffutils,
22861         but with proper copyright notice and attribution.
22862         * lib/gen-uio: Remove.
22863         * lib/Makefile.am: Add copyright notice.
22864         (libfetish_a_SOURCES): Add unlocked-io.h.
22865         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
22866         (DISTCLEANFILES, io_functions): Remove macros.
22867         (EXTRA_DIST): Remove gen_uio.
22868         (unlocked-io.h): Remove rule.
22869
22870 2002-12-04  Jim Meyering  <jim@meyering.net>
22871
22872         Reflect the fact that stat.c and lstat.c are no longer generated.
22873         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
22874         (DISTCLEANFILES): Likewise.
22875         (EXTRA_DIST): Likewise.
22876         (all_local): Don't depend on stat.c or lstat.c.
22877         (stat.c, lstat.c): Remove rules.
22878         (EXTRA_DIST): Remove xstat.in.
22879
22880         * lib/xstat.in: Remove file.  Contents moved into stat.c.
22881         * lib/stat.c: New file.  Contents mostly from xstat.in.
22882         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
22883         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
22884
22885         * lib/safe-read.c: Rework so that it may serve to define safe_write,
22886         too.
22887         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
22888
22889 2002-12-03  Jim Meyering  <jim@meyering.net>
22890
22891         * lib/safe-read.c, safe-write.c: Change variable names and comments,
22892         but not semantics, to minimize the differences between these two files.
22893         (safe_read): Change comment to mention SAFE_READ_ERROR.
22894
22895         * lib/safe-read.c (IS_EINTR): Define.
22896         (safe_read): Use IS_EINTR in place of in-function cpp directives.
22897
22898 2002-12-02  Jim Meyering  <jim@meyering.net>
22899
22900         * lib/safe-read.c (EINTR): Define.
22901         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
22902         (INT_MAX): Provide fallback.
22903         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
22904
22905         * lib/safe-read.h (SAFE_READ_ERROR): Define.
22906
22907 2002-12-02  Bruno Haible  <bruno@clisp.org>
22908
22909         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
22910         Define, taken from safe-read.c.
22911         (INT_MAX): Provide fallback.
22912         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
22913         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
22914
22915         * lib/safe-read.c (EINTR): Remove definition.
22916         (safe_read): Don't use EINTR if it is absent.
22917
22918 2002-12-01  Jim Meyering  <jim@meyering.net>
22919
22920         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
22921         zero.
22922         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
22923
22924 2002-11-27  Paul Eggert  <eggert@twinsun.com>
22925
22926         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
22927         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
22928         with `if (! (value < limit)) abort ();', for readability.
22929
22930 2002-11-26  Karl Berry  <karl@gnu.org>
22931
22932         * lib/strdup.c: copy from libc again, with jim's ok.
22933         * lib/.cppi-disable: re-add strdup.c
22934
22935 2002-11-25  Karl Berry  <karl@gnu.org>
22936
22937         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
22938         instead of "strtol.c".
22939
22940 2002-11-25  Karl Berry  <karl@gnu.org>
22941
22942         * config/install-sh: update from automake for variable quoting, $0 in
22943         error msgs, etc.
22944
22945         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
22946         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
22947         entry.
22948
22949 2002-11-25  Jim Meyering  <jim@meyering.net>
22950
22951         * lib/mktime.c: Sync from libc, now that it has the latest fix.
22952
22953 2002-11-24  Karl Berry  <karl@gnu.org>
22954
22955         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
22956         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
22957
22958 2002-11-24  Jim Meyering  <jim@meyering.net>
22959
22960         Update from coreutils:
22961
22962         * lib/mktime.c: Merge in changes from libc.
22963
22964         Avoid a link-time failure on some Linux systems.
22965         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
22966         (otherwise).
22967         (__mon_yday): Declare with the STATIC attribute.
22968         (__mktime_internal): Likewise.
22969         Based on a report from Greg Schafer.
22970
22971 2002-11-23  Jim Meyering  <jim@meyering.net>
22972
22973         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
22974         Use `unsigned', not `int', as type of index.
22975
22976         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
22977
22978         * lib/fsusage.c: Remove unneeded parentheses around operands of
22979         `defined'.
22980
22981 2002-11-22  Paul Eggert  <eggert@twinsun.com>
22982
22983         * lib/quotearg.h: Allow multiple inclusion by surrounding with
22984         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
22985         so that we can be included first.
22986         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
22987         * lib/quotearg.c: Include quotearg.h immediately after config.h.
22988         No need to include stddef.h or sys/types.h any more.
22989         Surround local include files with "", not "<>".
22990         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
22991         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
22992         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
22993         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
22994         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
22995         (ISPRINT): Remove; no longer needed now that we assume C89.
22996
22997         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
22998         Preserve errno.
22999
23000         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
23001         quotearg_char): Use SIZE_MAX rather than
23002         (size_t) -1 when we are talking about "infinity".
23003
23004         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
23005
23006 2002-11-22  Paul Eggert  <eggert@twinsun.com>
23007
23008         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
23009         hint that one should use `if (! x) abort ();' rather than `assert
23010         (x);', and anyway it's one less thing to worry about configuring.
23011         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
23012         hash_rehash, hash_insert): Use abort rather than assert.
23013
23014 2002-11-22  Bruno Haible  <bruno@clisp.org>
23015
23016         * lib/safe-read.h: Assume C89. Add comments.
23017         (safe_read): Change return type to size_t.
23018         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
23019         byte counts > SSIZE_MAX correctly.
23020         * lib/safe-write.h: New file.
23021         * lib/safe-write.c: New file.
23022         * lib/full-read.h: New file.
23023         * lib/full-read.c: New file.
23024         * lib/full-write.h: Assume C89. Add comments.
23025         * lib/full-write.c: Include safe-write.h.
23026         (full_write): Rewritten to use safe_write.
23027         Suggested by Jim Meyering and Paul Eggert.
23028
23029 2002-11-21  Jim Meyering  <jim@meyering.net>
23030
23031         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
23032
23033         Merge in changes from the coreutils.
23034
23035         2002-09-25  Paul Eggert  <eggert@twinsun.com>
23036         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
23037         <stdint.h>.
23038         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
23039         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
23040         int.  Work more efficiently if X is the same width as uintmax_t.
23041         Do not compare X to -1, to avoid bogus compiler warning.
23042         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
23043         Don't assume that f_frsize and f_bsize are the same type.
23044
23045         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
23046         warning on FreeBSD.
23047
23048         * lib/makepath.c (make_path): Restore umask *before* creating the final
23049         component.
23050         (make_path): Minor reformatting.
23051
23052         * lib/xmalloc.c: Adjust to work with new autoconf macros,
23053         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
23054         HAVE_MALLOC/HAVE_REALLOC.
23055
23056         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
23057         dummy ones.  At least on GNU/Linux systems, `auto' means something
23058         else.
23059         From Michael Stone.
23060
23061 2002-11-21  Bruno Haible  <bruno@clisp.org>
23062
23063         Remove case insensitive option matching.
23064         * lib/argmatch.h (argcasematch): Remove declaration.
23065         (ARGCASEMATCH): Remove macro.
23066         (__xargmatch_internal): Remove case_sensitive argument.
23067         (XARGMATCH): Update.
23068         (XARGCASEMATCH): Remove macro.
23069         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
23070         case_sensitive argument.
23071         (argcasematch): Remove function.
23072         (__xargmatch_internal): Remove case_sensitive argument.
23073         (main): Use XARGMATCH instead of XARGCASEMATCH.
23074
23075         * lib/xmalloc.c: Change compile-time error message. Add comment about
23076         required autoconf version.
23077
23078 2002-11-20  Paul Eggert  <eggert@twinsun.com>
23079
23080         Merge argmatch cleanups from Bison.  Assume C89.
23081
23082         * lib/argmatch.c: Include config.h here, not in argmatch.h.
23083         Include stdlib.h, for EXIT_FAILURE.
23084         Always include <string.h>, since we assume C89.
23085         (EXIT_FAILURE): Remove pre-C89 bug workaround.
23086         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
23087         Include <stddef.h> instead, since it's all we need for size_t.
23088         (PARAMS): Remove.  All uses removed.
23089         (ARRAY_CARDINALITY): Do not bother to #undef.
23090         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
23091         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
23092         Remove unnecessary parentheses.
23093         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
23094         Insert necessary parentheses.
23095         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
23096         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
23097
23098 2002-11-19  Bruno Haible  <bruno@clisp.org>
23099
23100         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
23101         * lib/mbswidth.h: Include <stddef.h>, for size_t.
23102
23103         * lib/mbswidth.h (PARAMS): Remove macro.
23104         (mbswidth, mbsnwidth): Use ANSI C function declarations.
23105         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
23106
23107         * lib/gcd.h (PARAMS): Remove macro.
23108         (gcd): Use ANSI C function declarations.
23109         * lib/gcd.c (gcd): Likewise.
23110
23111 2002-11-15  Bruno Haible  <bruno@clisp.org>
23112
23113         * lib/strcspn.c: Include <stddef.h>.
23114         (strcspn): Use ANSI C function declaration. Change return type to
23115         size_t. Use NULL.
23116         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
23117         (strpbrk): Use NULL.
23118         * lib/strpbrk.h (PARAMS): Remove macro.
23119         (strpbrk): Use ANSI C function declaration.
23120         * lib/strstr.c: Don't include <sys/types.h>.
23121         * lib/strstr.h (PARAMS): Remove macro.
23122         (strstr): Use ANSI C function declarations.
23123
23124 2002-11-14  Karl Berry  <karl@gnu.org>
23125
23126         * config/mkinstalldirs: `do' on separate line, instead of
23127         `for var; do'.
23128
23129 2002-11-06  Bruno Haible  <bruno@clisp.org>
23130
23131         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
23132         * lib/gcd.c (gcd): Likewise.
23133
23134 2002-11-05  Bruno Haible  <bruno@clisp.org>
23135
23136         * lib/gcd.h: New file, from gettext-0.11.5.
23137         * lib/gcd.c: New file, from gettext-0.11.5.
23138
23139 2002-11-05  Bruno Haible  <bruno@clisp.org>
23140
23141         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23142         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23143         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23144         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
23145
23146         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
23147         <libintl.h>.
23148         * lib/makepath.c: Include gettext.h instead of <locale.h> and
23149         <libintl.h>.
23150
23151         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
23152         * lib/human.c: Include gettext.h instead of <libintl.h>.
23153         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
23154         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
23155         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
23156         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
23157         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
23158         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
23159         (textdomain): Remove definition.
23160         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
23161
23162         * lib/long-options.c: Remove include of <libintl.h> and definition of
23163         _.
23164         * lib/same.c: Remove include of <libintl.h> and definition of _.
23165
23166 2002-11-04  Owen Taylor  <otaylor@redhat.com>
23167
23168         * lib/config.charset: A few additions for Solaris.
23169
23170 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
23171
23172         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
23173         * lib/localcharset.c (locale_charset): Declare as extern "C".
23174
23175 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
23176
23177         * lib/config.charset: msdos in uk_UA uses CP1125.
23178
23179 2002-11-04  Bruno Haible  <bruno@clisp.org>
23180
23181         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
23182         * lib/strcase.h: New file, from GNU gettext-0.11.5.
23183         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
23184         * lib/strstr.h: New file, from GNU gettext-0.11.5.
23185         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
23186
23187 2002-11-04  Bruno Haible  <bruno@clisp.org>
23188
23189         * lib/localcharset.c (locale_charset): Don't return an empty string.
23190
23191 2002-11-04  Bruno Haible  <bruno@clisp.org>
23192
23193         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
23194         aliases.
23195
23196 2002-11-04  Bruno Haible  <bruno@clisp.org>
23197
23198         * lib/config.charset: Update for newest glibc. Add canonical names
23199         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
23200
23201 2002-11-04  Bruno Haible  <bruno@clisp.org>
23202
23203         * lib/config.charset: Add support for NetBSD.
23204
23205 2002-11-04  Bruno Haible  <bruno@clisp.org>
23206
23207         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
23208
23209 2002-11-01  Bruno Haible  <bruno@clisp.org>
23210
23211         * configure.in: Add AC_CONFIG_AUX_DIR call.
23212         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
23213         test/Makefile.
23214         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
23215
23216 2002-09-28  Karl Berry  <karl@gnu.org>
23217
23218         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
23219         installed automake until the next release, since changes have been
23220         made.
23221
23222 2002-09-25  Karl Berry  <karl@gnu.org>
23223
23224         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
23225         * lib/getopt*: copy from libc/posix.
23226         * lib/gettext.h: copy from gettext.
23227         * lib/.cppi-disable: add strdup.c, gettext.h.
23228
23229 2002-09-25  Karl Berry  <karl@gnu.org>
23230
23231         * config/srclist.txt: enable gettext.h check.
23232         * config/config.{guess,sub}: update from prep.
23233         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
23234                 from automake 1.6.3.
23235         See srclist*.
23236
23237 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
23238
23239         * regex.c (PATFETCH): Remove the translating fetch.
23240         (PATFETCH_RAW): Rename to PATFETCH.
23241         (set_image_of_range): New fun.
23242         (SET_RANGE_TABLE_WORK_AREA): Use it.
23243         (regex_compile): Don't translate the pattern chars so eagerly.
23244         Only do it when inserting an `exactn' bytecode or when handling
23245         a char-range.
23246         (mutually_exclusive_p): Avoid empty statement.
23247
23248 2002-07-06  Jim Meyering  <meyering@lucent.com>
23249
23250         * m4/README: Don't mention Makefile.am.in.
23251         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
23252
23253 2002-07-01  Jim Meyering  <meyering@lucent.com>
23254
23255         * lib/c-stack.c: Include sys/time.h.
23256         From Volker Borchert.
23257
23258 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23259
23260         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
23261
23262 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23263
23264         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
23265         New macro.  Use it uniformly instead of
23266         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
23267         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
23268         reported by Vin Shelton.
23269
23270 2002-06-22  Paul Eggert  <eggert@twinsun.com>
23271
23272         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
23273         Do not assume SA_SIGINFO behavior.
23274         Bug reported by Jim Meyering on NetBSD 1.5.2.
23275
23276 2002-06-22  Jim Meyering  <meyering@lucent.com>
23277
23278         * m4/c-stack.m4: New file, from diffutils-2.8.2.
23279         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
23280
23281         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
23282         now that configure.ac uses AC_GNU_SOURCE.
23283         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
23284         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
23285
23286         Update to latest tools.  Suggestions from Paul Eggert.
23287         * m4/stdbool.m4: New file, from diffutils-2.8.2.
23288         * m4/gnu-source.m4: Update from diffutils-2.8.2.
23289         * m4/fnmatch.m4: Likewise.
23290         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
23291         to AC_HEADER_STDBOOL
23292
23293 2002-06-22  Jim Meyering  <meyering@lucent.com>
23294
23295         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
23296         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
23297
23298 2002-06-22  Jim Meyering  <meyering@lucent.com>
23299
23300         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
23301
23302         * lib/exitfail.c, exitfail.h: Likewise.
23303         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
23304
23305         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
23306         of fnmatch.h.
23307         (EXTRA_DIST): Add fnmatch_loop.c.
23308         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
23309
23310         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
23311         * lib/fnmatch.c: Update from diffutils-2.8.2.
23312         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
23313         * lib/fnmatch.h: Remove file.
23314
23315 2002-06-21  Jim Meyering  <meyering@lucent.com>
23316
23317         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
23318         * m4/mbrtowc.m4: Likewise.
23319
23320         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
23321         * m4/mbswidth.m4: Reflect name change:
23322         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
23323         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
23324
23325         * m4/lib-link.m4: Update from gettext-0.11.2.
23326         * m4/gettext.m4: Likewise.
23327
23328         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
23329         From Alfred M. Szmidt.
23330
23331 2002-06-18  Paul Eggert  <eggert@twinsun.com>
23332
23333         * lib/file-type.h: Report an error if neither S_ISREG nor
23334         S_IFREG is defined, instead of using a test specific to glibc
23335         2.2.  This should be safe, since POSIX requires S_ISREG and
23336         Unix Version 7 had S_IFREG.  We don't need to check for
23337         <sys/types.h> since we don't use any symbols that it defines.
23338
23339 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
23340
23341         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
23342         $@-t, so that each temporary file name is unique and valid in the first
23343         8 characters, for operation under DOS.
23344
23345 2002-06-15  Paul Eggert  <eggert@twinsun.com>
23346
23347         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
23348
23349 2002-06-15  Jim Meyering  <meyering@lucent.com>
23350
23351         Work even with DJGPP 2.03, which lacks support for symlinks.
23352         From Richard Dawe.
23353         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
23354         is defined.
23355         * lib/lchown.c (S_ISLNK): Likewise.
23356
23357 2002-06-15  Jim Meyering  <meyering@lucent.com>
23358
23359         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
23360         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
23361         have been included before this file.
23362
23363 2002-06-14  Jim Meyering  <meyering@lucent.com>
23364
23365         * lib/file-type.h: Use the version from diffutils-2.8.2.
23366         * lib/file-type.c: Likewise.
23367
23368 2002-06-07  Jim Meyering  <meyering@lucent.com>
23369
23370         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
23371         They're needed at least for NetBSD 1.5.2.
23372         ($statxfs_includes): Include those same headers.
23373         ($statxfs_includes): Include sys/vfs.h if available.
23374         ($statxfs_includes): Likewise for sys/statvfs.h.
23375         Check for the following members in both structs statfs and statvfs:
23376         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
23377
23378 2002-06-01  Jim Meyering  <meyering@lucent.com>
23379
23380         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
23381         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
23382
23383 2002-05-28  Jim Meyering  <meyering@lucent.com>
23384
23385         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
23386         Reported by Volker Borchert.
23387
23388 2002-05-27  Jim Meyering  <meyering@lucent.com>
23389
23390         Fix a problem seen only on nonconforming systems whereby ls.c's
23391         use of localtime, and then of gettimeofday would cause trouble:
23392         the localtime call used to initialize rpl_gettimeofday's save
23393         mechanism would clobber ls's current local time information so
23394         that in any long listing the first file would always be listed
23395         with date 1970-01-01.  Analysis by Volker Borchert.
23396
23397         * lib/gettimeofday.c (localtime): Undefine.
23398         (rpl_localtime): New function.
23399
23400 2002-05-27  Jim Meyering  <meyering@lucent.com>
23401
23402         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
23403         localtime.
23404
23405         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
23406         use the replacement function; it wouldn't resolve at link time.
23407         Reported by Volker Borchert.
23408
23409 2002-05-22  Jim Meyering  <meyering@lucent.com>
23410
23411         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
23412         file-type.h.
23413         * lib/file-type.h: New file.
23414         * lib/file-type.c (file_type): New file/function.  Extracted from
23415         diffutils.
23416
23417 2002-04-30  Jim Meyering  <meyering@lucent.com>
23418
23419         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
23420
23421 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23422
23423         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
23424
23425 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23426
23427         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
23428         Do not check for alloca.h (no longer used) or stdbool.h (was never
23429         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
23430
23431 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23432
23433         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
23434
23435 2002-04-29  Jim Meyering  <meyering@lucent.com>
23436
23437         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
23438         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
23439         Use AC_FUNC_STRNLEN here instead.
23440
23441         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
23442         With autoconf-2.53a, it's part of AC_PROG_CC.
23443
23444 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23445
23446         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
23447         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
23448
23449 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23450
23451         * lib/sig2str.h, lib/sig2str.c: New files.
23452         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
23453
23454 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23455
23456         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
23457         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
23458         of 127, since 64 is the largest conceivable number for ancient
23459         nonstandard hosts.
23460         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
23461
23462 2002-04-28  Jim Meyering  <meyering@lucent.com>
23463
23464         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
23465
23466 2002-04-24  Jim Meyering  <meyering@lucent.com>
23467
23468         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
23469         (jm_PREREQ): Use it.
23470
23471         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
23472         mach/mach.h fcntl.h.
23473         Check for this function: setlocale.
23474
23475 2002-04-24  Jim Meyering  <meyering@lucent.com>
23476
23477         * lib/gettext.h: New file, from Gettext.
23478         * lib/Makefile.am (INCLUDES): Remove -I../intl.
23479         (libfetish_a_SOURCES): Add gettext.h.
23480
23481 2002-04-16  Jim Meyering  <meyering@lucent.com>
23482
23483         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
23484         ut_pid, ut_id, ut_exit.
23485
23486 2002-04-16  Jim Meyering  <meyering@lucent.com>
23487
23488         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
23489         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
23490         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
23491
23492 2002-04-12  Jim Meyering  <meyering@lucent.com>
23493
23494         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
23495         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
23496         existence of the getmntinfo function.  Needed for Darwin 5.3.
23497
23498         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
23499         This is necessary at least on Darwin 5.3.
23500
23501         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
23502         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
23503         strnlen.o in the library, and that makes some versions of ranlib
23504         object.
23505
23506 2002-04-12  Jim Meyering  <meyering@lucent.com>
23507
23508         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
23509
23510 2002-04-09  Jim Meyering  <meyering@lucent.com>
23511
23512         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
23513         to be more precise.  Rather than saying we're checking whether the
23514         function `works', say what we're testing.
23515         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
23516         Reported by Bruno Haible.
23517
23518 2002-03-10  Jim Meyering  <meyering@lucent.com>
23519
23520         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
23521         Suggestion from Santiago Vila.
23522
23523 2002-03-08  Jim Meyering  <meyering@lucent.com>
23524
23525         * lib/rename.c: Mention that this wrapper is needed also on
23526         mips-dec-ultrix4.4 systems.
23527
23528 2002-03-02  Jim Meyering  <meyering@lucent.com>
23529
23530         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
23531         not HAVE_CLOCK_SETTIME.
23532
23533 2002-02-27  Paul Eggert  <eggert@twinsun.com>
23534
23535         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
23536         Check for clock_settime.
23537
23538 2002-02-27  Paul Eggert  <eggert@twinsun.com>
23539
23540         * lib/nanosleep.h: Rename to....
23541         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
23542
23543         * lib/gettime.c: New file.
23544         * lib/settime.c: New file.
23545         * lib/stime.c: Remove.
23546
23547         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
23548         timespec.h.  Remove nanosleep.h.
23549
23550 2002-02-25  Paul Eggert  <eggert@twinsun.com>
23551
23552         * m4/acl.m4: New file.
23553         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
23554         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
23555
23556 2002-02-25  Paul Eggert  <eggert@twinsun.com>
23557
23558         * lib/acl.c, lib/acl.h: New files.
23559         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
23560
23561 2002-02-24  Jim Meyering  <meyering@lucent.com>
23562
23563         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
23564         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
23565         cause trouble.  Reported by Nelson Beebe.
23566
23567 2002-02-23  Paul Eggert  <eggert@twinsun.com>
23568
23569         * lib/path-concat.c (xpath_concat): Reorder code to pacify
23570         compilers that don't know that xalloc_die never returns.
23571
23572 2002-02-20  Jim Meyering  <meyering@lucent.com>
23573
23574         * lib/getdate.c: Regenerate using bison-1.33.
23575
23576 2002-02-17  Jim Meyering  <meyering@lucent.com>
23577
23578         * config/config.guess (main): Don't use `head -1'; it's no longer
23579         portable. Use `sed 1q' instead.
23580
23581 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
23582
23583         * m4/codeset.m4: Upgrade to gettext-0.11.
23584         * m4/gettext.m4: Upgrade to gettext-0.11.
23585         * m4/glibc21.m4: Upgrade to gettext-0.11.
23586         * m4/iconv.m4: Upgrade to gettext-0.11.
23587         * m4/isc-posix.m4: Upgrade to gettext-0.11.
23588         * m4/lcmessage.m4: Upgrade to gettext-0.11.
23589         * m4/lib-ld.m4: New file, from gettext-0.11.
23590         * m4/lib-link.m4: New file, from gettext-0.11.
23591         * m4/lib-prefix.m4: New file, from gettext-0.11.
23592         * m4/progtest.m4: Upgrade to gettext-0.11.
23593
23594 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23595
23596         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
23597         (jm_PREREQ): Use it.
23598
23599 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23600
23601         * lib/posixver.c, lib/posixver.h: New files.
23602         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23603
23604 2002-02-02  Paul Eggert  <eggert@twinsun.com>
23605             Bruno Haible  <bruno@clisp.org>
23606
23607         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
23608         (fwrite_success_callback): New declaration.
23609         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
23610         print_unicode_char. Call failure callback instead of error.
23611         (fwrite_success_callback): New function.
23612         (exit_failure_callback): New function.
23613         (fallback_failure_callback): New function.
23614         (print_unicode_char): Call unicode_to_mb.
23615
23616 2002-01-26  Jim Meyering  <meyering@lucent.com>
23617
23618         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
23619         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
23620
23621 2002-01-26  Jim Meyering  <meyering@lucent.com>
23622
23623         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
23624
23625 2002-01-22  Paul Eggert  <eggert@twinsun.com>
23626
23627         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
23628
23629 2002-01-22  Jim Meyering  <meyering@lucent.com>
23630
23631         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
23632         Otherwise, some versions of automake would omit the rule that makes
23633         Makefile from Makefile.in.
23634
23635 2002-01-21  Paul Eggert  <eggert@twinsun.com>
23636
23637         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
23638         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23639         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
23640         (memcoll): Set errno to zero if there is no error.
23641
23642         * lib/quotearg.c (quotearg_buffer_restyled):
23643         Fix bug with quoting buffers containing NUL when backslashing escapes.
23644         This bug was exposed by the other changes in this patch.
23645         (quotearg_n_options): New arg ARGSIZE.
23646         All callers changed.
23647         (quoting_options_from_style): New function.
23648         (quotearg_n_style): Use it.
23649         (quotearg_n_style_mem): New function.
23650
23651         * lib/quotearg.h (quotearg_n_style_mem): New function.
23652
23653 2002-01-19  Jim Meyering  <meyering@lucent.com>
23654
23655         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
23656         Remove useless quotes: DF_PROG="df".
23657         * m4/strnlen.m4: New file.
23658
23659 2002-01-16  Paul Eggert  <eggert@twinsun.com>
23660
23661         * lib/backupfile.c (ISDIGIT): Comment fix.
23662         * lib/getdate.y (ISDIGIT): Likewise.
23663         * lib/posixtm.c (ISDIGIT, year): Likewise.
23664         * lib/strverscmp.c (ISDIGIT): Likewise.
23665         * lib/userspec.c (ISDIGIT): Likewise.
23666
23667 2002-01-16  Jim Meyering  <meyering@lucent.com>
23668
23669         * lib/getdate.y: Add three semicolons, each just before a closing
23670         brace. Bison (as of version 1.31) no longer papers over that mistake.
23671
23672 2002-01-05  Jim Meyering  <meyering@lucent.com>
23673
23674         * lib/version-etc.c (version_etc_copyright): Update copyright year.
23675
23676 2001-12-19  Paul Eggert  <eggert@twinsun.com>
23677
23678         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
23679         not silently exit merely because the output buffer happens to
23680         have nothing pending.
23681
23682 2001-12-18  Paul Eggert  <eggert@twinsun.com>
23683
23684         See the big note in ../ChangeLog.
23685         * lib/human.c (suffixes): Prefer K to k for 1024.
23686         (generate_suffix_backwards): New function.
23687         (human_readable_inexact): Use it.
23688         * lib/xstrtol.c (__xstrtol): If there is no number but there
23689         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
23690         Accept 'K' as well as 'k'.
23691
23692 2001-12-15  Jim Meyering  <meyering@lucent.com>
23693
23694         * lib/regex.h (__restrict_arr): Update from libc.
23695
23696         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
23697         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
23698         (STREQ): Define.
23699
23700 2001-12-14  Jim Meyering  <meyering@lucent.com>
23701
23702         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
23703         Suggestion from Bruno Haible.
23704
23705 2001-12-10  Jim Meyering  <meyering@lucent.com>
23706
23707         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
23708         xrealloc, Instead, include "xalloc.h".
23709         (initbuffer): Don't cast xmalloc return value to char*.
23710         (readline): Reword comment.
23711         Don't cast xrealloc return value to char*
23712         Return NULL, not 0.
23713
23714 2001-12-09  Jim Meyering  <meyering@lucent.com>
23715
23716         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
23717         about `signed and unsigned type in conditional expression'.
23718         * lib/posixtm.c (posix_time_parse): Likewise.
23719
23720         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
23721
23722         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
23723         to avoid a pedantic warning.
23724
23725         * lib/getstr.c: Don't include assert.h.
23726         (getstr): Remove warning-evoking assertions.
23727         Return -1 if offset parameter is out of bounds.
23728         Change the type of a local from int to size_t.
23729
23730         * lib/strftime.c (my_strftime_localtime_r): Include this function
23731         definition in the `#if ! HAVE_TM_GMTOFF' block.
23732
23733         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
23734         Include xalloc.h instead.
23735
23736 2001-12-02  Jim Meyering  <meyering@lucent.com>
23737
23738         * lib/tempname.c: Don't declare getenv, thus reverting the change of
23739         2001-11-18.  It's no longer necessary, now that stdlib.h is always
23740         included.
23741
23742         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
23743         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
23744
23745 2001-11-30  Akim Demaille  <akim@epita.fr>
23746
23747         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
23748         before being defined.
23749
23750 2001-11-27  Paul Eggert  <eggert@twinsun.com>
23751
23752         * lib/quotearg.h (quotearg_n, quotearg_n_style):
23753         First arg is int, not unsigned.
23754         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
23755         (SIZE_MAX, UINT_MAX): New macros.
23756         (quotearg_n_options): Abort if N is negative.
23757         Avoid overflow check on hosts where size_t is 64 bits and int
23758         is 32 bits, as overflow is impossible there.
23759         Fix off-by-one typo that caused unnecessary reallocation.
23760
23761 2001-11-27  Jim Meyering  <meyering@lucent.com>
23762
23763         * lib/tempname.c: Merge with version from libc.
23764         * lib/regex.c: Likewise.
23765
23766         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
23767         systems for which STDC_HEADERS is 0, it was not included, resulting in
23768         a warning about an integer-to-pointer conversion problem with getenv.
23769         Reported by Volker Borchert.
23770
23771 2001-11-26  Jim Meyering  <meyering@lucent.com>
23772
23773         * lib/gtod.h: Remove file.
23774         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
23775         * lib/gettimeofday.c: Don't include gtod.h.
23776         (GTOD_init): Remove function.
23777         (rpl_gettimeofday): Do its job here instead, rather than aborting.
23778         Suggestion from Volker Borchert.
23779
23780 2001-11-23  Jim Meyering  <meyering@lucent.com>
23781
23782         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
23783         it.
23784         * lib/hash.c (struct hash_table): Define it here instead.
23785
23786 2001-11-22  Jim Meyering  <meyering@lucent.com>
23787
23788         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
23789
23790 2001-11-20  Jim Meyering  <meyering@lucent.com>
23791
23792         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
23793         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
23794
23795 2001-11-19  Jim Meyering  <meyering@lucent.com>
23796
23797         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
23798         directory.  Use "conftestXXXXXX" as the template.
23799         Suggestion from Paul Eggert.
23800
23801         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
23802         immediately, so the test doesn't mistakenly hit the max-open-files
23803         limit.
23804
23805 2001-11-18  Paul Eggert  <eggert@twinsun.com>
23806
23807         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
23808         (TEMPORARIES): New macro.
23809         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
23810         removes an artificial limitation (e.g. HP-UX 10.20, where
23811         TMP_MAX is 17576).
23812
23813 2001-11-18  Jim Meyering  <meyering@lucent.com>
23814
23815         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
23816
23817 2001-11-18  Jim Meyering  <meyering@lucent.com>
23818
23819         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
23820         on SunOS 4.
23821
23822         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
23823         files will be created before anything else.
23824
23825 2001-11-17  Paul Eggert  <eggert@twinsun.com>
23826
23827         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
23828         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
23829
23830 2001-11-17  Jim Meyering  <meyering@lucent.com>
23831
23832         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
23833         Prompted by a report from Bob Proulx.
23834
23835         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
23836         Instead, require UTILS_FUNC_MKSTEMP.
23837
23838 2001-11-17  Jim Meyering  <meyering@lucent.com>
23839
23840         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
23841         Now, that's done as part of AC_FUNC_STRTOD.
23842
23843 2001-11-17  Jim Meyering  <meyering@lucent.com>
23844
23845         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
23846         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
23847         rather than group writable.  Patch by Juan F. Codagnone.
23848
23849         * lib/readtokens.c: Remove explicit declarations of xmalloc and
23850         xrealloc, Instead, include "xalloc.h".
23851
23852         * lib/mountlist.c: Include unlocked-io.h after all system headers.
23853         Remove explicit declarations of xmalloc, xrealloc,
23854         and xstrdup.  Instead, include "xalloc.h".
23855
23856         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
23857         unlocked-io.h.
23858         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
23859         Likewise.
23860         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
23861
23862         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
23863         Reported by Padraig Brady.
23864
23865         * lib/mkstemp.c: #undef mkstemp.
23866         Include config.h.
23867         (rpl_mkstemp): Rename from mkstemp.
23868         Protoize.
23869
23870 2001-11-16  Jim Meyering  <meyering@lucent.com>
23871
23872         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
23873         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
23874         determine the amount of total physical memory, use pstat_getstatic.
23875         HPUX-11 doesn't define _SC_PHYS_PAGES.
23876         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
23877         If sysconf couldn't be used to determine the amount of available
23878         physical memory, use both pstat_getstatic and pstat_getdynamic.
23879         Based on a patch from Bob Proulx.
23880
23881 2001-11-10  Jim Meyering  <meyering@lucent.com>
23882
23883         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
23884         (jm_PREREQ): Use it.
23885
23886 2001-11-09  Jim Meyering  <meyering@lucent.com>
23887
23888         * m4/jm-macros.m4: Require autoconf-2.52f.
23889         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
23890         Use these AC_-prefixed names, not the AM_-prefixed ones.
23891
23892         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
23893
23894 2001-11-05  Jim Meyering  <meyering@lucent.com>
23895
23896         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
23897
23898 2001-11-04  Jim Meyering  <meyering@lucent.com>
23899
23900         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
23901         $DEFS.
23902
23903 2001-11-03  Jim Meyering  <meyering@lucent.com>
23904
23905         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
23906         of AC_DEFUN.
23907
23908         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
23909         know the name of the variable in the macro definition.
23910
23911 2001-11-03  Jim Meyering  <meyering@lucent.com>
23912
23913         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
23914         in argmatch_to_argument call.
23915
23916         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
23917         argument.
23918
23919         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
23920         e.g., a fault due to an attempt to free a NULL pointer.
23921
23922 2001-11-01  Jim Meyering  <meyering@lucent.com>
23923
23924         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
23925         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
23926
23927 2001-11-01  Jim Meyering  <meyering@lucent.com>
23928
23929         * lib/dirfd.c, lib/dirfd.h: New files.
23930         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
23931
23932         * lib/hash.c (hash_print) [TESTING]: Clean up.
23933
23934 2001-10-22  Paul Eggert  <eggert@twinsun.com>
23935
23936         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
23937         to avoid a warning if -Wall.
23938
23939 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
23940
23941         * README: New file
23942         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
23943         (per RMS's instructions, this is now the canonical source)
23944         * lgpl/, gpl/: New directories.
23945
23946 2001-10-21  Paul Eggert  <eggert@twinsun.com>
23947
23948         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
23949
23950 2001-10-21  Jim Meyering  <meyering@lucent.com>
23951
23952         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
23953         this code would end up calling gettext even in packages built
23954         with --disable-nls.
23955         * lib/getopt.c (_): Likewise.
23956         * lib/regex.c (_): Likewise.
23957
23958 2001-10-20  Paul Eggert  <eggert@twinsun.com>
23959
23960         * m4/error.m4 (jm_PREREQ_ERROR):
23961         Do not invoke AC_CHECK_FUNCS with strerror_r, as
23962         AC_FUNC_STRERROR_R does that.
23963         Check for strerror declaration.
23964
23965         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
23966         are supposed to have them these days.
23967         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
23968         Merge changes from latest Autoconf CVS.
23969         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
23970         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
23971         POSIX decided to standardize on the int flavor of strerror_r.
23972
23973 2001-10-20  Paul Eggert  <eggert@twinsun.com>
23974
23975         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
23976         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
23977         Use strerror_r that is only a macro, even if it is not a function.
23978         (strerror): Check for HAVE_DECL_STRERROR before declaring.
23979         (private_strerror): Use prototypes, not old-style function definition.
23980         (print_errno_message): New function.
23981         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
23982         char*-flavored one.
23983         (error_tail, error, error_at_line): Use it.
23984
23985 2001-10-11  Jim Meyering  <meyering@lucent.com>
23986
23987         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
23988         and quote_n (1, ... to avoid clobbering a buffer.
23989
23990 2001-10-05  Jim Meyering  <meyering@lucent.com>
23991
23992         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
23993         hash-pjw.h.
23994         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
23995         * lib/hash-pjw.h: New file.
23996
23997 2001-09-30  Jim Meyering  <meyering@lucent.com>
23998
23999         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
24000         `struct fsstat' has the `f_fstypename' member.
24001         Use that to define FS_TYPE, which is now used to make
24002         the getfsstat link test tighter.
24003
24004 2001-09-30  Jim Meyering  <meyering@lucent.com>
24005
24006         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
24007         Include <sys/ucred.h>, for Apple Darwin.
24008         Include sys/mount.h and sys/fs_types.h only if available.
24009         (FS_TYPE): Define.
24010         (read_filesystem_list): Use FS_TYPE.
24011
24012 2001-09-29  Paul Eggert  <eggert@twinsun.com>
24013
24014         * lib/exclude.c (excluded_filename): 0 -> false, since it's
24015         a boolean context.
24016
24017 2001-09-29  Jim Meyering  <meyering@lucent.com>
24018
24019         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
24020         [one-argument getmntent function]): Include stdio.h before mntent.h.
24021         SunOS 4.1.x needs it for the declaration of `FILE'.
24022         Patch by Volker Borchert.
24023
24024         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
24025         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
24026         sys/fs_types.h, and make the link-test for getfsstat guard #include
24027         directives with appropriate #if HAVE_*_H tests so that we can
24028         detect getfsstat on Apple Darwin1.3.7 systems.
24029         Reported by Nelson Beebe.
24030         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
24031
24032 2001-09-28  Paul Eggert  <eggert@twinsun.com>
24033
24034         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
24035         #defines strtoimax.  Also treat the other strto* functions
24036         like strtoimax.
24037
24038         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
24039         Check for strtoul and strtoumax,
24040         as those declarations are made even in the signed case.
24041         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
24042         Likewise, for strtol and strtoimax.
24043
24044 2001-09-28  Paul Eggert  <eggert@twinsun.com>
24045
24046         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
24047         #defines strtoimax.  Also treat the other strto* functions
24048         like strtoimax.
24049
24050         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
24051         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
24052         (strtoimax, strtoumax): Do not declare if already defined as a macro.
24053
24054 2001-09-26  Jim Meyering  <meyering@lucent.com>
24055
24056         Most macros in unlocked-io.h had the wrong number of arguments.
24057         * lib/gen-uio: New script.
24058         (USE_UNLOCKED_IO): Define to 1 if not already defined.
24059         * lib/unlocked-io.hin: Remove file.
24060         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
24061         rather than trying to embed it here.
24062         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
24063         Reported by Padraig Brady.
24064
24065 2001-09-25  Volker Borchert  <bt@teknon.de>
24066
24067         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
24068         `result'.
24069
24070 2001-09-24  Jim Meyering  <meyering@lucent.com>
24071
24072         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
24073
24074 2001-09-23  Jim Meyering  <meyering@lucent.com>
24075
24076         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
24077         instead of the mere test for existence of mntent.h.  The latter
24078         would get a false-positive on AIX 3.4 systems.
24079         In the outer getmntent if-block, don't die if neither of the getmntent
24080         tests succeeds.  Instead, just fall through and continue with the
24081         remaining tests.
24082
24083 2001-09-23  Jim Meyering  <meyering@lucent.com>
24084
24085         * lib/mountlist.c: Remove useless parentheses in #if directives.
24086         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
24087         the deprecated MOUNTED symbol is no longer defined in mntent.h.
24088
24089 2001-09-22  Jim Meyering  <meyering@lucent.com>
24090
24091         * m4/gettext.m4: New file.  From gettext.
24092         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
24093         * m4/progtest.m4: Likewise
24094         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
24095         * m4/glibc21.m4: Likewise.
24096
24097         * m4/libintl.m4: Remove.  No longer used.
24098
24099 2001-09-22  Jim Meyering  <meyering@lucent.com>
24100
24101         * lib/localcharset.c: Update from latest gettext.
24102         * lib/config.charset: Likewise.
24103
24104 2001-09-20  Jim Meyering  <meyering@lucent.com>
24105
24106         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
24107         strtoimax.
24108         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
24109         strtoumax.
24110
24111 2001-09-20  Jim Meyering  <meyering@lucent.com>
24112
24113         * lib/xstrtol.c (strtoimax): Guard declaration with
24114         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
24115         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
24116         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
24117         (strtoumax): Likewise, for completeness (it wasn't necessary).
24118
24119 2001-09-17  Paul Eggert  <eggert@twinsun.com>
24120
24121         * lib/strtoimax.c (HAVE_LONG_LONG):
24122         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
24123         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
24124         to work around bug in IBM C compiler.
24125
24126 2001-09-17  Jim Meyering  <meyering@lucent.com>
24127
24128         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
24129         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
24130         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
24131         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
24132         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
24133         whenever the right hand side need not be expanded by the shell.
24134
24135 2001-09-16  Paul Eggert  <eggert@twinsun.com>
24136
24137         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
24138         library.  It's not correct, as some older glibcs are buggy.
24139         fnmatch wasn't fixed until glibc 2.2.
24140
24141         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
24142         special shell magic here.
24143
24144 2001-09-16  Jim Meyering  <meyering@lucent.com>
24145
24146         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
24147         * m4/jm-macros.m4: Require it.
24148
24149 2001-09-16  Jim Meyering  <meyering@lucent.com>
24150
24151         * lib/mkdir.c: New file.
24152
24153 2001-09-15  Jim Meyering  <meyering@lucent.com>
24154
24155         * m4/jm-macros.m4: Check for help2man.
24156
24157 2001-09-11  Jim Meyering  <meyering@lucent.com>
24158
24159         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
24160         The body, by Paul Eggert, was moved here from configure.in.
24161         * m4/jm-macros.m4: Require UTILS_HOST_OS.
24162
24163 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24164
24165         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
24166         (jm_PREREQ): Use it.
24167
24168 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24169
24170         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
24171         Use ssize_t, not int, to store result of readlink.
24172         Check for ssize_t overflow as well as size_t overflow,
24173         as POSIX says the result of readlink is implementation-defined
24174         when ssize_t overflows.
24175         Remove unnecessary cast to char*.
24176         Use free+malloc instead of realloc, as the storage doesn't need
24177         to be preserved and it's clearer and can be more efficient that way.
24178         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
24179         * lib/xreadlink.h (xreadlink): Update prototype.
24180
24181 2001-09-04  Paul Eggert  <eggert@twinsun.com>
24182
24183         * lib/xgetcwd.c: Revert some of the previous change; intead,
24184         fix the HAVE_GETCWD_NULL code to behave more like the
24185         !HAVE_GETCWD_NULL code used to.
24186
24187         Include "xalloc.h".
24188         (xgetcwd): Do not return NULL when memory is exhausted; instead,
24189         invoke xalloc_die.
24190
24191 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24192
24193         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
24194         sys/param.h, as pathmax.h includes them.
24195
24196 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24197
24198         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
24199         (jm_PREREQ_XGETCWD): New macro.
24200
24201         * m4/getcwd.m4: New file.
24202
24203 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24204
24205         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
24206         like the HAVE_GETCWD_NULL code.
24207         Include pathmax.h if not HAVE_GETCWD.
24208         Do not include xalloc.h.
24209         (INITIAL_BUFFER_SIZE): New symbol.
24210         Do not use xmalloc / xrealloc, since the caller is responsible for
24211         handling errors.  Preserve errno around `free' during failure.
24212         Do not overrun buffer when using getwd.
24213
24214 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24215
24216         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
24217         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
24218         getcwd (NULL, 0).
24219
24220 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24221
24222         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
24223         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
24224         spotted by Jim Meyering.
24225
24226 2001-09-03  Jim Meyering  <meyering@lucent.com>
24227
24228         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
24229         failure.
24230
24231 2001-09-02  Jim Meyering  <meyering@lucent.com>
24232
24233         * lib/error.c: Update from GNU libc.
24234
24235 2001-09-01  Jim Meyering  <meyering@lucent.com>
24236
24237         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
24238         Used by df.
24239
24240 2001-09-01  Jim Meyering  <meyering@lucent.com>
24241
24242         * lib/xreadlink.c: New file.
24243         * lib/xreadlink.h: New file.
24244         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
24245         xreadlink.h.
24246
24247         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
24248         doesn't conflict with sparc Solaris 7's definition in
24249         /usr/include/sys/int_types.h.
24250
24251         * lib/exclude.c: Use `""', not `<>' to #include non-system header
24252         files.
24253         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
24254         and strncasecmp as r-values.  Unixware didn't have declarations.
24255
24256 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24257
24258         * lib/xstrtol.h: Add copyright notice.
24259         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
24260         LONGINT_INVALID_SUFFIX_CHAR.
24261
24262 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24263
24264         * lib/xstrtol.c (strtoimax): New decl.
24265
24266 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24267
24268         * lib/xgetcwd.c: Don't include pathmax.h.
24269         Include stdlib.h and unistd.h if available.
24270         Include xalloc.h.
24271         (xmalloc, xstrdup, free): Remove decls.
24272         (xgetcwd): Don't assume sizes fit in unsigned.
24273         Check for overflow when computing sizes.
24274         Simplify reallocation code.
24275
24276 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24277
24278         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
24279         a directory's st_size can have an arbitrary value, so the old
24280         usage could waste an arbitrary amount of memory.  All uses
24281         changed.
24282         * lib/savedir.h: Update prototype.
24283
24284 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24285
24286         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
24287
24288         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
24289         old strtoimax.c.
24290
24291         Also, make the following further changes to make this file's
24292         configuration more similar to that of strtol.c:
24293         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
24294         (strtoumax, uintmax_t, strtoull, strtol): Remove.
24295         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
24296         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
24297         changed to signed values.
24298
24299         And make the following changes as well:
24300         Fix copyright notice, as 1999 was missing.
24301         (verify): New macro.
24302         (strtoimax): Check sizes at compile-time, not run-time.
24303         Prefer strtol to strtoll if both work.
24304         (main): Remove; it was not that useful and was a pain to maintain.
24305
24306         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
24307
24308 2001-08-31  Jim Meyering  <meyering@lucent.com>
24309
24310         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
24311         Use an initial, malloc'd, buffer of length 128 rather than
24312         a statically allocated one of length 1024.
24313
24314 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24315
24316         Simplify code, partly by assuming autoconf 2.52 semantics.
24317
24318         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
24319
24320         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
24321         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
24322         All uses removed.
24323         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
24324         Move AC_REQUIRE to next-to-top level, to avoid confusion.
24325         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
24326         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
24327         jm_AC_HEADER_INTTYPES_H.
24328         * m4/jm-macros.m4 (jm_MACROS): Likewise.
24329
24330         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
24331
24332         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
24333         Quote first arg of AC_DEFUN.
24334         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
24335         since they are needed to parse the include file even if we need
24336         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
24337         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
24338         but with opposite signedness.
24339
24340 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24341
24342         Merge 'exclude' changes from tar 1.13.22.
24343         This fixes one or two unlikely storage allocation overflow bugs,
24344         but doesn't change user-visible behavior otherwise.
24345
24346 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24347
24348         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
24349         (jm_PREREQ_EXCLUDE): New macro.
24350
24351 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24352
24353         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
24354         tm to be declared.
24355
24356 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24357
24358         * lib/hash.c: Remove '2001' from copyright notice.
24359
24360 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24361
24362         * lib/full-write.h: New file.
24363         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
24364         * lib/full-write.c: Correct credits, as cccp.c no longer
24365         exists and anyway it was so heavily changed from the old cccp
24366         code as to be unrecognizable.  Include full-write.h.
24367         (full_write) Return size_t, with short writes meaning failure.
24368         All callers changed.  This fixes a bug with large buffers
24369         on 64-bit hosts.
24370         * lib/utime.c: Include full-write.h.
24371
24372 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24373
24374         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
24375         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
24376         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
24377         Include if available.
24378         (<xalloc.h>): Include
24379         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
24380         (verify): New macro.  Use it to verify that EXCLUDE macros do not
24381         collide with FNM macros.
24382         (struct patopts): New struct.
24383         (struct exclude): Use it, as exclude patterns now come with options.
24384         (new_exclude): Support above changes.
24385         (new_exclude, add_exclude_file):
24386         Initial size must now be a power of two to simplify overflow checking.
24387         (free_exclude, fnmatch_no_wildcards): New function.
24388         (excluded_filename): No longer requires options arg, as the options
24389         are determined by add_exclude.  Now returns bool, not int.
24390         (excluded_filename, add_exclude):
24391         Add support for the fancy new exclusion options.
24392         (add_exclude, add_exclude_file): Now takes int options arg.
24393         Check for arithmetic overflow when computing sizes.
24394         (add_exclude_file): xrealloc might modify errno, so don't
24395         realloc until after errno might be used.
24396
24397         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
24398         New macros.
24399         (free_exclude): New decl.
24400         (add_exclude, add_exclude_file): Now takes int options arg.
24401         (excluded_filename): No longer requires options arg, as the options
24402         are determined by add_exclude.  Now returns bool, not int.
24403
24404 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24405
24406         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
24407
24408 2001-08-27  Jim Meyering  <meyering@lucent.com>
24409
24410         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
24411
24412         * lib/version-etc.c (N_): Remove definition.
24413         Revert most of last change.
24414         Instead, simply don't mark the `Copyright...' string for translation.
24415         Based on advice from Paul Eggert.
24416
24417         * lib/strtoxmax.c: Tweak comment.
24418
24419 2001-08-26  Jim Meyering  <meyering@lucent.com>
24420
24421         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
24422
24423         * m4/xstrtoimax.m4: New file.
24424         * m4/xstrtoumax.m4: Add comments explaining why we
24425         AC_REPLACE_FUNCS(strtol).
24426
24427 2001-08-26  Jim Meyering  <meyering@lucent.com>
24428
24429         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
24430         of copyright with `%s' so translators don't get an untranslated
24431         message in 2002.
24432         (COPYRIGHT_YEAR): Define.
24433         (version_etc): Use fprintf rather than fputs.
24434         Suggestion from Ulrich Drepper.
24435
24436         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
24437
24438         * lib/strtoll.c: New file, from GNU libc.
24439         * lib/xstrtoimax.c: New file.
24440
24441         * lib/xstrtol.h: Add xstrtoimax.
24442         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
24443         * lib/strtoimax.c: New file.  Likewise, but first define
24444         STRTOUXMAX_SIGNED.
24445
24446         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
24447         ...
24448         * lib/strtoxmax.c: ... then renamed to this.
24449
24450 2001-08-18  Paul Eggert  <eggert@twinsun.com>
24451
24452         * m4/inttypes.m4: Add AC_PREREQ(2.13).
24453         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
24454         (jm_AC_TYPE_INTMAX_T): New macro.
24455         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
24456
24457         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
24458
24459         * m4/longlong.m4: Renamed from ulonglong.m4.
24460         * m4/inttypes.m4: Renamed from inttypes_h.m4.
24461         * m4/uintmax_t.m4: Removed.
24462
24463 2001-08-13  Paul Eggert  <eggert@twinsun.com>
24464
24465         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
24466         Port to Solaris 8, where 'sed' requires a space after the 'r'
24467         command, and where sh dislikes "$/".  Clean up the spacing a bit.
24468         Redirect output to $tmp just once.
24469
24470 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
24471
24472         * lib/addext.c (<errno.h>): Include.
24473         (errno): Declare if not defined.
24474         (addext): Work correctly when pathconf returns -1 and leaves
24475         errno alone because there is no limit.  Also, work even if
24476         pathconf returns a value greater than SIZE_MAX.
24477
24478 2001-08-12  Jim Meyering  <meyering@lucent.com>
24479
24480         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
24481         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
24482         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
24483         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
24484         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
24485         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
24486         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
24487         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
24488         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
24489         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
24490         utime.m4, utimes.m4, xstrtoumax.m4:
24491         Quote the first argument in each use of AC_DEFUN.
24492
24493 2001-08-12  Jim Meyering  <meyering@lucent.com>
24494
24495         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
24496         Simply `return getcwd (NULL, 0);'.
24497         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
24498         Use 1300 as initial value for length, not PATH_MAX.
24499
24500         * lib/pathmax.h: Clean up cpp syntax.
24501
24502 2001-08-12  Jim Meyering  <meyering@lucent.com>
24503
24504         * lib/gettimeofday.c: New file.
24505         * lib/gtod.h: New file.
24506         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
24507
24508 2001-08-05  Jim Meyering  <meyering@lucent.com>
24509
24510         * m4/jm-macros.m4: Require autoconf-2.52.
24511
24512 2001-08-04  Jim Meyering  <meyering@lucent.com>
24513
24514         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
24515         stmt, to get in sync with glibc.
24516
24517 2001-08-03  Paul Eggert  <eggert@twinsun.com>
24518
24519         The following changes are from gettext 0.10.39 as maintained by
24520         Bruno Haible.
24521
24522         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
24523         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
24524         with inverted sense.  All uses changed.
24525
24526         * lib/mbswidth.c: Don't include <limits.h>.
24527         Include <stdlib.h> and <string.h> unconditionally.
24528         (iswcntrl, mbsinit, ISCNTRL): New macros.
24529         (mbsnwidth): Use K&R style function declarations.
24530         Don't bother checking for MB_LEN_MAX == 1, since the compiler
24531         can optimize it when MB_CUR_MAX == 1.
24532         The width of control characters is zero, not 1.
24533
24534 2001-08-03  Paul Eggert  <eggert@twinsun.com>
24535
24536         The following changes are from gettext 0.10.39 as maintained by
24537         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
24538
24539         * m4/codeset.m4: Upgrade to serial AM1.
24540         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
24541         all uses changed.  Quote first arg of AC_DEFUN.
24542         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
24543
24544         * m4/iconv.m4: Upgrade to serial AM2.
24545         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
24546         Add --with-libconv-prefix.
24547         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
24548         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
24549         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
24550         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
24551         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
24552
24553         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
24554         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
24555         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
24556         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
24557         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
24558         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
24559         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24560         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
24561         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
24562
24563         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
24564         string.h any more.
24565
24566         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
24567         not the default value.
24568
24569         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
24570         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
24571         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
24572         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
24573         Also check for iswcntrl, used for wcwidth fallback.
24574         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
24575         to Autoconf 2.13.
24576
24577 2001-08-03  Jim Meyering  <meyering@lucent.com>
24578
24579         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
24580         as it was in the original.  Reported by Paul Eggert.
24581
24582 2001-07-16  Jim Meyering  <meyering@lucent.com>
24583
24584         * m4/gettimeofday.m4: New file.
24585         Prompted by a report from Bernhard Baehr.
24586
24587 2001-07-15  Jim Meyering  <meyering@lucent.com>
24588
24589         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
24590         stuff. Now it's in ../Makefile.cfg.
24591
24592 2001-07-15  Jim Meyering  <meyering@lucent.com>
24593
24594         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
24595         (BUILT_SOURCES): Add unlocked-io.h.
24596         (io_functions): Define.
24597         (unlocked-io.h): New rule.
24598         (DISTCLEANFILES): Add unlocked-io.h.
24599         (all-local): Depend on unlocked-io.h, to ensure it is created.
24600
24601         * lib/unlocked-io.hin: New file
24602
24603         * lib/regex.c: Update from glibc.
24604
24605 2001-07-05  Jim Meyering  <meyering@lucent.com>
24606
24607         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
24608         recommendation.
24609         (libfetish_a_SOURCES): Put all .h files here instead.
24610         Remove a thus-exposed (better checks in automake) duplicate and
24611         two unnecessary .h files.
24612
24613 2001-07-04  Jim Meyering  <meyering@lucent.com>
24614
24615         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
24616         that generates jm-glibc-io.m4 so that it doesn't trigger any make
24617         distcheck failure.
24618
24619 2001-07-02  Jim Meyering  <meyering@lucent.com>
24620
24621         The following changes were prompted by suggestions from Bruno Haible.
24622
24623         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
24624         is now generated.
24625         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
24626         definition of EXTRA_DIST.
24627         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
24628         ensure that the generated file is created/updated whenever the list
24629         of $(unlocked_functions) is changed.
24630         (jm-glibc-io.m4): New rule.
24631         (unlocked-io.h): New rule -- currently unused.
24632
24633 2001-06-24  Jim Meyering  <meyering@lucent.com>
24634
24635         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
24636         unmatched right bracket, rather than kludging it with an extra,
24637         falsely-matching quote in a comment.  Patch by Akim Demaille.
24638
24639 2001-06-11  Jim Meyering  <meyering@lucent.com>
24640
24641         * lib/regex.c: Update from GNU libc.
24642
24643 2001-05-27  Jim Meyering  <meyering@lucent.com>
24644
24645         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
24646         Check for ut_type in struct utmp.
24647
24648 2001-05-27  Jim Meyering  <meyering@lucent.com>
24649
24650         * lib/readutmp.h (UT_TYPE): Define.
24651
24652 2001-05-24  Jim Meyering  <meyering@lucent.com>
24653
24654         * lib/argmatch.c: Include "quote.h".
24655         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
24656         quote function.  Reported by Göran Uddeborg.
24657
24658 2001-05-22  Jim Meyering  <meyering@lucent.com>
24659
24660         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
24661         now that we use the package-supplied version unconditionally.
24662         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
24663
24664 2001-05-21  Jim Meyering  <meyering@lucent.com>
24665
24666         * m4/regex.m4: Change a couple backticks to single quotes to avoid
24667         shell syntax errors.
24668
24669 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
24670
24671         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
24672
24673 2001-05-20  Paul Eggert  <eggert@twinsun.com>
24674
24675         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
24676         Don't bother to check library strftime, since
24677         we'll be using our own my_strftime function anyway.
24678         Define my_strftime instead of strftime.
24679
24680 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
24681
24682         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
24683         which is not yet declared.
24684
24685 2001-05-15  Jim Meyering  <meyering@lucent.com>
24686
24687         * m4/regex.m4: Use proper quoting so brackets appear in the test
24688         program.
24689         Reported by, and with help from, Bruno Haible.
24690
24691 2001-05-13  Jim Meyering  <meyering@lucent.com>
24692
24693         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
24694         undefined.
24695
24696 2001-05-11  Paul Eggert  <eggert@twinsun.com>
24697
24698         dirname code cleanup.  base_name now behaves more compatibly
24699         with POSIX basename when given file names that have trailing
24700         slashes, and similarly for dir_name.  Add new primitives
24701         base_len and dir_len.  Put the directory-name-related decls
24702         into dirname.h.
24703
24704         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
24705         * lib/backupfile.c (base_name): Likewise.
24706         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
24707         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
24708         * lib/makepath.c (strip_trailing_slashes): Likewise.
24709         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
24710         ISSLASH): Likewise.
24711         * lib/rename.c (strip_trailing_slashes): Likewise.
24712         * lib/same.c (base_name): Likewise.
24713         * lib/stripslash.c (ISSLASH): Likewise.
24714
24715         * lib/addext.c: Include <dirname.h> after size_t is defined.
24716         * lib/backupfile.c: Likewise.
24717
24718         * lib/addext.c (addext): Use base_len to trim redundant
24719         trailing slashes instead of doing it ourselves.
24720         But do not trim the last slash if it is not redundant.
24721
24722         * lib/backupfile.c (find_backup_file_name,
24723         max_backup_version): Use base_len instead of rolling it ourselves.
24724         Handle the case of "" and (on DOS) "C:" correctly.
24725
24726         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
24727         needed. Include <string.h>, <dirname.h>.
24728         (base_name): Allow file names ending in slashes, other than names
24729         that are all slashes.  In this case, return the basename followed
24730         by the slashes.  This is more general, and can be used in places
24731         where the original base_name purposely had an assertion failure.
24732         (base_len): New function.
24733
24734         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
24735         Do not include <assert.h>; no longer needed.
24736         Include xalloc.h.
24737         (memrchr): Remove decl.
24738         (dir_name_r): Remove.
24739         (dir_len): Renamed from dirlen.  All callers changed.
24740         Rewrite in terms of base_name, for simplicity and consistency.
24741         (dir_name): Never return NULL.  All callers changed.
24742         Do not include <stdlib.h> in test program; no longer needed.
24743         return 0; is fine for test program.
24744
24745         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
24746         New macros.
24747         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
24748
24749         * lib/path-concat.c (path_concat): Use base_len to compute
24750         base length, not strlen; this means we cannot rely on memcpy
24751         to null-terminate.
24752
24753         * lib/same.c (STREQ): Remove.
24754         (same_name): Handle the case where the basename ends in trailing '/'.
24755
24756         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
24757         a slash was stripped.  Do not strip the last slash after a
24758         file system prefix.
24759
24760 2001-05-11  Paul Eggert  <eggert@twinsun.com>
24761
24762         * lib/Makefile.am (libfetish_a_SOURCES):
24763         Add strftime.c, since we now compile it on all hosts.
24764
24765         * lib/strftime.c (my_strftime):
24766         Define to nstrftime if emacs, but only if my_strftime is not defined.
24767         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
24768         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
24769         Add one more extra argument: a nanoseconds value.
24770         All uses changed.
24771         (ns): New macro.
24772         (my_strftime function): Add %N format.
24773         (emacs_strftimeu): Renamed from emacs_strftime,
24774         with extra ut argument.
24775
24776 2001-05-09  Paul Eggert  <eggert@twinsun.com>
24777
24778         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
24779
24780 2001-04-21  Jim Meyering  <meyering@lucent.com>
24781
24782         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
24783         doesn't interfere.
24784
24785 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
24786
24787         * m4/ftruncate.m4: Check for chsize.
24788         Link with ftruncate.o unconditionally if ftruncate is missing.
24789         This was required when cross-compiling to i586-mingw32msvc.
24790
24791 2001-04-08  Jim Meyering  <meyering@lucent.com>
24792
24793         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
24794         recomputed; that's necessary when the offset spans a DST transition.
24795         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
24796
24797 2001-04-02  Jim Meyering  <meyering@lucent.com>
24798
24799         * lib/regex.h, regex.c: Update from GNU libc.
24800
24801 2001-03-24  Jim Meyering  <meyering@lucent.com>
24802
24803         * m4/jm-macros.m4: Require autoconf-2.49d.
24804
24805 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
24806
24807         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
24808
24809 2001-03-19  Paul Eggert  <eggert@twinsun.com>
24810
24811         * lib/version-etc.c (version_etc_copyright): Update to 2001.
24812
24813 2001-03-17  Jim Meyering  <meyering@lucent.com>
24814
24815         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
24816         now that the version in autoconf is equivalent.
24817         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
24818
24819         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
24820         Suggestion from Akim Demaille.
24821
24822         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
24823         (jm_PREREQ_TEMPNAME): New function.
24824
24825 2001-03-16  Paul Eggert  <eggert@twinsun.com>
24826
24827         * lib/tempname.c (uint64_t): Define to uintmax_t if
24828         not defined, and if UINT64_MAX is not defined.
24829         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
24830         Reported by John David Anglin.
24831
24832 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
24833
24834         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
24835         resolve alias if codeset is empty.
24836         * lib/config.charset (BeOS): Use wildcard syntax.
24837
24838 2001-03-13  Jim Meyering  <meyering@lucent.com>
24839
24840         * lib/path-concat.c (path_concat)
24841         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
24842         concatenating e.g., `C:' and `foo'.
24843         From Bruno Haible.
24844
24845 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
24846
24847         * lib/localcharset.c (locale_charset): Don't use
24848         setlocale(LC_CTYPE,NULL). Don't return NULL.
24849         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
24850
24851 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
24852
24853         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
24854         support for DOS/DJGPP.
24855
24856 2001-03-01  Paul Eggert  <eggert@twinsun.com>
24857
24858         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
24859         lacks mkstemp.  Compile our own tempname.c if we compile our own
24860         mkstemp.c, as mkstemp relies on tempname.
24861
24862 2001-03-01  Jim Meyering  <meyering@lucent.com>
24863
24864         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
24865         AH_VERBATIM really does output its argument verbatim.
24866
24867 2001-02-28  Paul Eggert  <eggert@twinsun.com>
24868
24869         * lib/Makefile.am (libfetish_a_SOURCES):
24870         Add dup-safer.c, fopen-safer.c.
24871         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
24872
24873         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
24874         * lib/unistd-safer.h: New files.
24875
24876 2001-02-25  Paul Eggert  <eggert@twinsun.com>
24877
24878         The mkstemp replacement is taken from glibc 2.2.2, with some
24879         portability fixes for use outside glibc, as follows:
24880
24881         * lib/tempname.c (struct_stat64): New macro.
24882         (direxists, __gen_tempname): Use it.
24883         This avoids a portability problem with Solaris 8.
24884
24885         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
24886         (<stddef.h>, <stdint.h>, <string.h>):
24887         Include only if STDC_HEADERS || _LIBC.
24888         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
24889         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
24890         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
24891         (__set_errno): Define this macro if <errno.h> doesn't.
24892         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
24893         Define these macros if <stdio.h> doesn't.
24894         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
24895         Define these macros if <sys/stat.h>
24896         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
24897         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
24898         __xstat64): Define if not _LIBC.
24899         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
24900         (__gen_tempname): Invoke gettimeofday only if
24901         HAVE_GETTIMEOFDAY || _LIBC;
24902         otherwise, fall back on plain "time".
24903         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
24904
24905         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
24906
24907         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
24908
24909 2001-02-18  Paul Eggert  <eggert@twinsun.com>
24910
24911         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
24912
24913 2001-02-17  Paul Eggert  <eggert@twinsun.com>
24914
24915         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
24916         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
24917         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
24918         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
24919
24920 2001-02-17  Paul Eggert  <eggert@twinsun.com>
24921
24922         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
24923         Remove workaround macros for hosts that have mbrtowc but not
24924         mbstate_t, as we now insist on proper declarations for both
24925         before using mbrtowc.
24926
24927 2001-02-17  Jim Meyering  <meyering@lucent.com>
24928
24929         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
24930         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
24931         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
24932         UnixWare 7.1.1.
24933
24934         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
24935         rather than AC_CACHE_VAL.
24936
24937 2001-02-17  Jim Meyering  <meyering@lucent.com>
24938
24939         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
24940         around included file name.
24941
24942         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
24943
24944         * lib/strftime.c: Update from GNU libc (the only changes were to
24945         comments).
24946
24947 2001-02-17  Jim Meyering  <meyering@lucent.com>
24948
24949         * lib/regex.c: Update from libc.
24950
24951 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
24952
24953         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
24954         clash.
24955
24956 2001-02-16  Paul Eggert  <eggert@twinsun.com>
24957
24958         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
24959         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
24960         Reported by Mark Hounschell via Paul Eggert.
24961
24962 2001-02-07  Jim Meyering  <meyering@lucent.com>
24963
24964         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
24965
24966 2001-02-05  Jim Meyering  <meyering@lucent.com>
24967
24968         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
24969         it includes the patch required for `large file' support with at least
24970         HP-UX's 10.20 /bin/cc.
24971
24972 2001-02-03  Jim Meyering  <meyering@lucent.com>
24973
24974         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
24975         AS_IF, now that it works once again (mysteriously).
24976         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
24977
24978 2001-01-30  Jim Meyering  <meyering@lucent.com>
24979
24980         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
24981         * m4/chown.m4: Rename conftestchown to conftest.chown.
24982         * m4/rename.m4: s/conftestdir/conftest.d1/ and
24983         s/conftestdir2/conftest.d2/.
24984         * m4/utimes.m4: s/conftestdata/conftest.data/
24985         Inspired by Pavel Roskin's change in autoconf.
24986
24987 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
24988
24989         * lib/config.charset: Update for FreeBSD 4.2.
24990
24991 2001-01-27  Jim Meyering  <meyering@lucent.com>
24992
24993         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
24994         a use of AS_IF.
24995         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
24996
24997 2001-01-26  Jim Meyering  <meyering@lucent.com>
24998
24999         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
25000         quotearg.c includes it.
25001
25002 2001-01-26  Jim Meyering  <meyering@lucent.com>
25003
25004         * lib/quotearg.c: Include stddef.h.
25005         * lib/quote.c: Include stddef.h.
25006         Reported by Axel Kittenberger.
25007
25008         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
25009         line in double quotes so that it evokes a better diagnostic.
25010         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
25011         Reported by Axel Kittenberger.
25012
25013 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
25014
25015         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
25016         as if it was a `charset'.
25017
25018 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
25019
25020         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
25021         has const.
25022
25023 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
25024
25025         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
25026         to avoid a warning.  Add back 'const' to inptr.
25027
25028 2001-01-20  Jim Meyering  <meyering@lucent.com>
25029
25030         Be sure that headers are checked before used in code compiled
25031         for the type checks.
25032         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
25033         In place of that, invoke jm_CHECK_ALL_TYPES.
25034         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
25035         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
25036         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
25037         The check for ssize_t was mistakenly run before the test for unistd.h.
25038
25039         The configure-time check for stdbool.h was missing.
25040         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
25041         (jm_PREREQ_HASH): New function.
25042
25043 2001-01-17  Jim Meyering  <meyering@lucent.com>
25044
25045         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
25046         for autoconf-2.49c.
25047         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
25048
25049 2001-01-16  Jim Meyering  <meyering@lucent.com>
25050
25051         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
25052         From Bruno Haible.
25053
25054 2001-01-14  Jim Meyering  <meyering@lucent.com>
25055
25056         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
25057         foo and bar.  Create conftestdir/ in the script, not in the C code.
25058         Remove directories in the script, not in the C code.
25059         Remove conftestdir{,2} before trying to create the directory.
25060         Make the entire configure script fail if the mkdir fails.
25061
25062 2001-01-14  Jim Meyering  <meyering@lucent.com>
25063
25064         * lib/rename.c: New file.  From Volker Borchert.
25065         Include stdlib.h, string.h or strings.h, and xalloc.h.
25066         Use strip_trailing_slashes rather than open-coding it.
25067
25068 2001-01-03  Paul Eggert  <eggert@twinsun.com>
25069
25070         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
25071
25072 2001-01-03  Jim Meyering  <meyering@lucent.com>
25073
25074         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
25075         of local `inptr' to avoid warning with some system declarations of
25076         iconv.
25077
25078 2001-01-02  Volker Borchert  <bt@teknon.de>
25079
25080         * m4/rename.m4: New file.
25081         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
25082
25083 2001-01-01  Jim Meyering  <meyering@lucent.com>
25084
25085         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
25086         even on systems with utmpx.h.  It's necessary for the declaration of
25087         utmp's ut_user member.  Reported by Andreas Jaeger.
25088
25089         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
25090         available. They are required for the declarations of getgrgid and
25091         getpwuid resp.
25092         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
25093         Reported by Andreas Jaeger.
25094
25095 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
25096
25097         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
25098         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
25099         so `make install' also works in VPATH builds.
25100
25101 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
25102
25103         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
25104         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
25105         can be used in subdirectories.
25106
25107 2000-12-29  Paul Eggert  <eggert@twinsun.com>
25108
25109         * lib/modechange.c: Do not assume that mode_t uses the
25110         traditional octal encoding.  E.g. "chmod 1 FOO" should set
25111         the other-execute bit of FOO even if S_IXOTH != 1.
25112
25113         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
25114         WOTH, XOTH, ALLM): New macros.
25115         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
25116          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
25117         Use them.
25118         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
25119         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
25120         (mode_compile):
25121         No need to use uintmax_t; unsigned long is long enough.
25122         Don't bother to get suffix since we don't use it.
25123
25124 2000-12-26  Jim Meyering  <meyering@lucent.com>
25125
25126         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
25127         better with autoheader.
25128
25129 2000-12-24  Jim Meyering  <meyering@lucent.com>
25130
25131         * lib/hash.c (is_prime): Return explicit boolean values.
25132         (hash_get_first): Return NULL to appease Irix5.6's 89.
25133         Reported by Nelson Beebe.
25134
25135 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
25136
25137         * lib/localcharset.c (locale_charset): Add support for Win32.
25138
25139 2000-12-18  Paul Eggert  <eggert@twinsun.com>
25140
25141         * lib/physmem.h, lib/physmem.c: New files.
25142
25143         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
25144         (noinst_HEADERS): Add physmem.h.
25145
25146         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
25147         't' for compatibility with Solaris 8 sort.
25148
25149 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
25150
25151         * lib/config.charset: Add support for BeOS.
25152
25153 2000-12-17  Jim Meyering  <meyering@lucent.com>
25154
25155         * m4/dos.m4 (jm_AC_DOS): New file and macro.
25156         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
25157
25158 2000-12-16  Jim Meyering  <meyering@lucent.com>
25159
25160         This bug had a serious impact on chown: `chown N:M FILE' (for integer
25161         N and M) would have treated it like `chown N:N FILE'.
25162
25163         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
25164
25165 2000-12-16  Jim Meyering  <meyering@lucent.com>
25166
25167         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
25168         SHELLS_FILE to a file name that's useful on djgpp systems.
25169         Include stdlib.h.
25170         (ADDITIONAL_DEFAULT_SHELLS): Define.
25171         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
25172         Based mostly on a patch from Prashant TR.
25173
25174 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
25175
25176         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
25177         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
25178         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
25179
25180 2000-12-08  Andreas Schwab  <schwab@suse.de>
25181
25182         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
25183         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
25184
25185 2000-12-07  Jim Meyering  <meyering@lucent.com>
25186
25187         * lib/stripslash.c (ISSLASH): Define.
25188         (strip_trailing_slashes): Use ISSLASH rather than comparing against
25189         `/'.
25190         From Prashant TR.
25191
25192         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
25193         (dir_name_r): Declare this function as static.
25194         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
25195         manifest itself on a name containing a mix of slashes and
25196         backslashes.
25197         Make this function work with names starting with a DOS-style
25198         drive letter and colon prefix.
25199         (dir_name): Append `.' if necessary.
25200         Based mostly on patches from Prashant TR and Eli Zaretskii.
25201
25202         * lib/dirname.h (dir_name_r): Remove prototype.
25203
25204 2000-12-06  Paul Eggert  <eggert@twinsun.com>
25205
25206         * m4/off_t-format.m4: Remove this file.
25207         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
25208
25209 2000-12-06  Jim Meyering  <meyering@lucent.com>
25210
25211         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
25212         replacement strtoull, we may well need the replacement strtoul, too.
25213         Check for declarations of strtoul and strtoull.
25214         Check for strtol.  Mainly as a cue to cause automake to include
25215         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
25216         Check for limits.h -- strtol.c needs it.
25217
25218 2000-12-05  Jim Meyering  <meyering@lucent.com>
25219
25220         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
25221
25222 2000-12-04  Jim Meyering  <meyering@lucent.com>
25223
25224         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
25225         Also include memory.h, stdlib.h, unistd.h if appropriate.
25226         Reported by Andreas Jaeger (conflicting declaration of malloc).
25227
25228 2000-12-02  Jim Meyering  <meyering@lucent.com>
25229
25230         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
25231         * m4/jm-macros.m4 (jm_MACROS): require it.
25232
25233 2000-12-02  Jim Meyering  <meyering@lucent.com>
25234
25235         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
25236
25237 2000-12-01  Paul Eggert  <eggert@twinsun.com>
25238
25239         * lib/memrchr.c: Include <config.h> before any system include file.
25240
25241 2000-11-30  Jim Meyering  <meyering@lucent.com>
25242
25243         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
25244
25245 2000-11-30  Jim Meyering  <meyering@lucent.com>
25246
25247         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
25248
25249 2000-11-29  Paul Eggert  <eggert@twinsun.com>
25250
25251         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
25252
25253 2000-11-26  Jim Meyering  <meyering@lucent.com>
25254
25255         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
25256
25257 2000-11-22  Paul Eggert  <eggert@twinsun.com>
25258
25259         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
25260         size of (size_t) -1; it's not portable.
25261
25262 2000-11-17  Jim Meyering  <meyering@lucent.com>
25263
25264         * lib/strstr.c: Update from GNU libc.
25265
25266 2000-11-17  Akim Demaille  <akim@epita.fr>
25267
25268         * lib/obstack.h: Formatting changes.
25269         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
25270         prevent type checking.
25271         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
25272         cast the value to (void *): assigning a `foo *' to a `void *'
25273         variable is valid.
25274         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
25275
25276 2000-11-16  Jim Meyering  <meyering@lucent.com>
25277
25278         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
25279
25280 2000-11-11  Jim Meyering  <meyering@lucent.com>
25281
25282         * lib/error.c: Add a couple #includes, merging from GNU libc version.
25283
25284 2000-11-10  Jim Meyering  <meyering@lucent.com>
25285
25286         * lib/obstack.h: Update from GNU libc.
25287         * lib/obstack.c: Likewise.
25288
25289 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
25290
25291         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
25292
25293 2000-11-06  Paul Eggert  <eggert@twinsun.com>
25294
25295         * lib/getusershell.c (setusershell): Use rewind rather than
25296         fseek/fseeko, to avoid configuration hassles with fseeko.
25297         Don't bother opening SHELLS_FILE if shellstream is NULL;
25298         it's not necessary.
25299
25300 2000-11-05  Jim Meyering  <meyering@lucent.com>
25301
25302         * lib/makepath.h (make_dir): Declare.
25303         * lib/makepath.c (make_dir): Remove `static' attribute.
25304         Tweak a comment.
25305
25306 2000-11-04  Jim Meyering  <meyering@lucent.com>
25307
25308         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
25309
25310 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
25311
25312         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
25313         last one in a bucket, advance to the next bucket.
25314
25315 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
25316
25317         * lib/fnmatch.c: Do not comment out all the code if we are using
25318         the GNU C library, because in some cases we are replacing buggy
25319         code in the GNU C library itself.
25320
25321 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
25322
25323         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
25324         (regex_compile): Catch bogus \(\1\).
25325
25326 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25327
25328         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
25329         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
25330         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
25331
25332 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25333
25334         * lib/error.h, getline.h, modechange.h:
25335         Remove "2000" from Copyright line, as the file hasn't been
25336         changed this year other than in the copyright notice.
25337
25338         * lib/xalloc.h: Add "2000" to Copyright line, as this file
25339         was changed this year.
25340
25341 2000-10-29  Jim Meyering  <meyering@lucent.com>
25342
25343         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
25344         renaming.
25345         * m4/ls-mntd-fs.m4: Likewise
25346
25347 2000-10-29  Jim Meyering  <meyering@lucent.com>
25348
25349         * lib/xstat.in: Fix grammar in comment.
25350
25351 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
25352
25353         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
25354         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
25355         doesn't define __restrict_arr.
25356
25357 2000-10-28  Jim Meyering  <meyering@lucent.com>
25358
25359         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
25360         (jm_PREREQ_MEMCHR): New function.
25361
25362 2000-10-28  Jim Meyering  <meyering@lucent.com>
25363
25364         * lib/memchr.c: Update from libc.
25365         Adjust for portability:
25366         [HAVE_STDLIB_H]: Include stdlib.h.
25367         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
25368         Undef __memchr, too.
25369         [!weak_alias]: Define __memchr to memchr.
25370
25371         * lib/regex.c: Update from libc.
25372         * lib/regex.h: Likewise.
25373         * lib/getopt1.c: Likewise.
25374         * lib/memcmp.c: Likewise.
25375
25376         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
25377         Avoid using fseek, when possible -- it's broken by design.
25378         Patch by Ulrich Drepper.
25379
25380 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
25381
25382         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
25383         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
25384         Giving in to popular pressure to shut up the compiler with casts.
25385
25386 2000-10-26  Jim Meyering  <meyering@lucent.com>
25387
25388         * lib/strftime.c: Update from libc.
25389
25390 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
25391
25392         * regex.c: More `unsigned char' -> `re_char' changes.
25393         Also change several `int' into `re_wchar_t'.
25394         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
25395         (PUSH_FAILURE_POINTER): Don't cast any more.
25396         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
25397         We want GCC to complain, since this piece of code makes
25398         re_match non-reentrant, which *should* be fixed.
25399         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
25400         (EXTEND_BUFFER): Use RETALLOC.
25401         (SET_LIST_BIT): Don't cast.
25402         (re_wchar_t): New type.
25403         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
25404         that those two functions will always properly return.
25405         (IMMEDIATE_QUIT_CHECK): Cast to void.
25406         (analyse_first): Use recursion rather than an explicit stack.
25407         (re_compile_fastmap): Can't fail anymore.
25408         (re_search_2): Don't check re_compile_fastmap for failure.
25409         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
25410         Now also sets the new value (passed in a new argument).
25411         (re_match_2_internal): Use it.
25412         Also, use a new var `reg' of type size_t when looping through regs
25413         rather than reuse the inappropriate `mcnt'.
25414
25415 2000-10-25  Jim Meyering  <meyering@lucent.com>
25416
25417         * lib/obstack.c: Update from libc.
25418
25419 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
25420
25421         * regex.c (regex_compile): Change the way of handling a range from
25422         a char less than 256 to a char not less than 256.
25423
25424 2000-10-24  Andrew Innes  <andrewi@gnu.org>
25425
25426         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
25427         NT-Emacs only.
25428         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
25429         so that re_search functions only quit when callers expect them to.
25430
25431 2000-10-23  Jim Meyering  <meyering@lucent.com>
25432
25433         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
25434         wrong.  That set_locale call must not have any side effects.
25435         From Paul Eggert.
25436
25437 2000-10-22  Jim Meyering  <meyering@lucent.com>
25438
25439         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
25440         [CYCLIC]: Remove now-unused definition.
25441
25442         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
25443         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
25444         Suggestion from Ulrich Drepper.
25445
25446 2000-10-21  Jim Meyering  <meyering@lucent.com>
25447
25448         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
25449         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
25450         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
25451
25452 2000-10-21  Jim Meyering  <meyering@lucent.com>
25453
25454         * lib/dirname.c (memrchr): Declare if necessary.
25455         (dir_name): Remove the restriction that there be no
25456         trailing slashes.  Now, this code skips past them, effectively
25457         ignoring them.
25458         [TEST_DIRNAME] (main): New unit tests.
25459
25460         * lib/memrchr.c: New file from GNU libc.
25461         Undef __memrchr, too.
25462         [!weak_alias]: Define __memrchr to memrchr.
25463         Guard weak_alias use with `#ifdef weak_alias'.
25464
25465 2000-10-21  Jim Meyering  <meyering@lucent.com>
25466
25467         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
25468         (dir_name): Use dir_name_r.
25469         * lib/dirname.h (dir_name_r): Declare it.
25470
25471 2000-10-17  Jim Meyering  <meyering@lucent.com>
25472
25473         * lib/quote.h (PARAMS): Define and use.
25474         Reported by Akim Demaille.
25475
25476         * lib/getopt.c: Update from libc.
25477
25478 2000-10-16  Jim Meyering  <meyering@lucent.com>
25479
25480         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
25481         setlocale.
25482         From Jan Fedak.
25483
25484 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
25485
25486         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
25487
25488 2000-09-25  Jim Meyering  <meyering@lucent.com>
25489
25490         * lib/md5.h (rol): Define (from GnuPG).
25491
25492         * lib/sha.c: Give credit (GnuPG) where due.
25493         (M): Use rol rather than open-coding it.
25494         Add a FIXME comment.
25495
25496 2000-09-21  Jim Meyering  <meyering@lucent.com>
25497
25498         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
25499         Reported by Michael Stone.
25500
25501 2000-09-20  Jim Meyering  <meyering@lucent.com>
25502
25503         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
25504         (noinst_HEADERS): Add sha.h.
25505         Based on code from Scott G. Miller and from GnuPG.
25506
25507 2000-09-18  Jim Meyering  <meyering@lucent.com>
25508
25509         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
25510         LIBS. Otherwise, everyone ends up linking with -lelf for some
25511         configurations.
25512         Reported by Mike Stone.
25513
25514 2000-09-15  Jim Meyering  <meyering@lucent.com>
25515
25516         * lib/regex.c: Update from libc.
25517
25518 2000-09-10  Jim Meyering  <meyering@lucent.com>
25519
25520         * lib/getopt.c (_getopt_internal): Update from glibc.
25521
25522 2000-09-09  Jim Meyering  <meyering@lucent.com>
25523
25524         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
25525         think it should be used as a general replacement for isascii.
25526         * lib/fnmatch.c: Likewise.
25527         * lib/mbswidth.c: Likewise
25528         * lib/regex.c: Likewise.
25529
25530         Don't use atoi.
25531         * lib/userspec.c: Include sys/param.h and limits.h.
25532         Include xstrtol.h.
25533         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
25534         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
25535         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
25536         UID, GID.  Check range.
25537
25538 2000-09-06  Jim Meyering  <meyering@lucent.com>
25539
25540         * lib/getopt.c (_getopt_internal): Update from glibc.
25541
25542 2000-08-30  Jim Meyering  <meyering@lucent.com>
25543
25544         * lib/strftime.c: Merge in changes from GNU libc.
25545
25546 2000-08-26  Jim Meyering  <meyering@lucent.com>
25547
25548         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
25549         * m4/fpending.m4: New file.
25550
25551 2000-08-26  Jim Meyering  <meyering@lucent.com>
25552
25553         * lib/closeout.c: Include "__fpending.h".
25554         (close_stdout_status): Return right away if there's nothing to flush.
25555
25556         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
25557         * lib/__fpending.c: New file.
25558         * lib/__fpending.h: New file.
25559
25560 2000-08-20  Jim Meyering  <meyering@lucent.com>
25561
25562         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
25563         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
25564         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
25565
25566 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
25567
25568         Improve fileutils installation on systems where running
25569         programs (like install) can't be unlinked.
25570         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
25571         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
25572
25573 2000-08-07  Paul Eggert  <eggert@twinsun.com>
25574
25575         Standardize on "memory exhausted" instead of "Memory exhausted"
25576         or "virtual memory exhausted".
25577         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
25578         "virtual memory exhausted".
25579         * lib/same.c (same_name): Invoke xalloc_die instead of printing
25580         our own message.
25581         * lib/userspec.c (parse_user_spec): Likewise.
25582         * lib/bumpalloc.h: comment fix
25583         * lib/same.c, userspec.c: Include xalloc.h.
25584
25585         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
25586         not char *const and pointing to a constant array.
25587         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
25588         (xrealloc): Comment fix.
25589
25590         * lib/userspec.c (parse_user_spec):
25591         Don't translate a message until just before returning,
25592         to avoid unnecessary translation.
25593
25594 2000-08-07  Jim Meyering  <meyering@lucent.com>
25595
25596         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
25597         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
25598         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
25599         getgroups.c, gethostname.c, getopt.h, group-member.c,
25600         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
25601         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
25602         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
25603         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
25604         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
25605         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
25606         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
25607         yesno.c: Back out Copyright date changes for each file with no change
25608         this year.  This eases coordination with other programs using the same
25609         source code modules.  From Paul Eggert.
25610
25611 2000-08-06  Paul Eggert  <eggert@twinsun.com>
25612
25613         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
25614         not char, for compatibility with glibc 2.1.3 strftime.c.
25615
25616 2000-08-03  Greg McGary  <greg@mcgary.org>
25617
25618         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
25619         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
25620         (EXTEND_BUFFER): Use them.
25621
25622 2000-08-01  Jim Meyering  <meyering@lucent.com>
25623
25624         * lib/dirname.c (ISSLASH): Define.
25625         (BACKSLASH_IS_PATH_SEPARATOR): Define.
25626         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
25627         both `\' and `/' may be use as path separators.
25628         Based on a patch from Prashant TR.
25629
25630 2000-07-31  Paul Eggert  <eggert@twinsun.com>
25631
25632         * lib/quotearg.c (quotearg_n_options): Don't make the initial
25633         slot vector a constant, since it might get modified.
25634
25635 2000-07-31  Jim Meyering  <meyering@lucent.com>
25636
25637         * lib/xmalloc.c: Use `virtual memory exhausted', not
25638         `Memory exhausted'.
25639         * lib/obstack.c (print_and_abort): Likewise.
25640
25641 2000-07-30  Paul Eggert  <eggert@twinsun.com>
25642
25643         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
25644         buffer, so that the caller can always quote one small
25645         component of a "memory exhausted" message in slot 0.
25646         From a suggestion by Jim Meyering.
25647
25648 2000-07-30  Jim Meyering  <meyering@lucent.com>
25649
25650         * lib/makepath.c (make_path): Quote the other instance, too.
25651
25652         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
25653         (STATIC_BUF_SIZE): Define.
25654         (quotearg_n_options): Use only statically allocated storage when
25655         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
25656         than STATIC_BUF_SIZE.
25657
25658 2000-07-29  Jim Meyering  <meyering@lucent.com>
25659
25660         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
25661         * lib/dirname.c (dir_name): Likewise.
25662
25663         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
25664         `/'.
25665
25666         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
25667         (dir_name): Assert that there are no trailing slashes.
25668
25669 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
25670
25671         * lib/mbswidth.h (mbswidth): Add a flags argument.
25672         (mbswidth): New declaration.
25673         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
25674         * lib/mbswidth.c (mbswidth): Add a flags argument.
25675         (mbsnwidth): New function.
25676
25677 2000-07-24  Jim Meyering  <meyering@lucent.com>
25678
25679         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
25680
25681 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25682
25683         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
25684
25685 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25686
25687         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
25688         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
25689         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
25690         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
25691         invoke multibyte primitives.
25692
25693 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25694
25695         * lib/quotearg.c:
25696         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
25697         so that mbstate_t is always defined.
25698
25699         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
25700         be 1 in at least one GCC installation, and this configuration
25701         error is likely to be common.  Ignoring MB_LEN_MAX hurts
25702         performance on hosts that have mbrtowc but have only unibyte
25703         locales, but I assume these hosts are rare.
25704
25705 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25706
25707         * lib/mbswidth.c (_XOPEN_SOURCE):
25708         Don't define; this causes problems on Solaris 7.
25709         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
25710
25711 2000-07-23  Jim Meyering  <meyering@lucent.com>
25712
25713         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
25714         too: getgrgid, getpwuid, getuid.
25715
25716 2000-07-23  Jim Meyering  <meyering@lucent.com>
25717
25718         * lib/basename.c (base_name): Add an assertion.
25719
25720 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
25721
25722         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
25723         shadow its mbsinit function.
25724
25725 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
25726
25727         * lib/mbswidth.h: New file.
25728         * lib/mbswidth.c: New file.
25729         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
25730         (noinst_HEADERS): Add mbswidth.h.
25731
25732 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
25733
25734         * lib/config.charset: Add support for FreeBSD. Improve support for
25735         HP-UX and IRIX 6.
25736
25737 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
25738
25739         * m4/mbswidth.m4: New file.
25740         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
25741
25742 2000-07-15  Jim Meyering  <meyering@lucent.com>
25743
25744         * lib/makepath.c: Include quote.h.
25745         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
25746         corresponding argument in a `quote (...)' call.
25747         Give better diagnostics.
25748
25749         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
25750         (noinst_HEADERS): Add quote.h.
25751
25752         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
25753         from tar's src/misc.c.
25754         * lib/quote.h: New file.  Prototypes for same.
25755
25756 2000-07-14  Paul Eggert  <eggert@twinsun.com>
25757
25758         From a suggestion by Bruno Haible.
25759         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
25760         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
25761         to decide whether to define the BeOS workaround macro;
25762         this adjusts to the change to AC_MBSTATE_T.
25763
25764 2000-07-14  Jim Meyering  <meyering@lucent.com>
25765
25766         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
25767         jm_AC_TYPE_UINTMAX_T.
25768
25769 2000-07-13  Paul Eggert  <eggert@twinsun.com>
25770
25771         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
25772
25773         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
25774         quotearg_buffer_restyled): Add support for
25775         clocale_quoting_style.  Undo previous change to
25776         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
25777         and "{RIGHT QUOTATION MARK}" msgids.
25778
25779 2000-07-10  Paul Eggert  <eggert@twinsun.com>
25780
25781         From a suggestion by Bruno Haible.
25782         * m4/mbstate_t.m4 (AC_MBSTATE_T):
25783         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
25784         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
25785         and mbstate_t, to a single-part test that simply defines mbstate_t.
25786         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
25787         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
25788
25789 2000-07-10  Jim Meyering  <meyering@lucent.com>
25790
25791         * m4/strerror_r.m4: Mirror the correction made in autoconf.
25792
25793         * m4/gnu-source.m4: Output to confdefs.h directly.
25794         Suggestion from Akim Demaille.
25795
25796 2000-07-09  Paul Eggert  <eggert@twinsun.com>
25797
25798         The old behavior of quoting `like this' doesn't look good with
25799         newer, ISO-style fonts.  See:
25800         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
25801
25802         Instead, quote "like this" by default.  Let the translator
25803         tailor the locale-specific quoting behavior by providing
25804         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
25805
25806         * lib/quotearg.c (N_): New macro.
25807         (gettext_default): New function.
25808         (quotearg_buffer_restyled): Use
25809         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
25810         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
25811
25812 2000-07-09  Jim Meyering  <meyering@lucent.com>
25813
25814         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
25815         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
25816
25817         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
25818         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
25819
25820 2000-07-09  Jim Meyering  <meyering@lucent.com>
25821
25822         * lib/Most files: Update copyright dates to include 2000.
25823
25824 2000-07-08  Jim Meyering  <meyering@lucent.com>
25825
25826         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
25827         if not defined.
25828         (xgethostname): Remove now-unnecessary #ifdef.
25829         Move declaration of `err' into loop where it's used.
25830
25831 2000-07-05  Paul Eggert  <eggert@twinsun.com>
25832         and Bruno Haible  <haible@clisp.cons.org>
25833
25834         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
25835         only if the test for an object-type mbstate_t fails.  This
25836         prevents us from mistakenly reporting that mbstate_t is a
25837         system object type after we "#define mbstate_t int" to work
25838         around its lack.
25839
25840 2000-07-05  Paul Eggert  <eggert@twinsun.com>
25841         and Bruno Haible  <haible@clisp.cons.org>
25842
25843         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
25844
25845 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25846
25847         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
25848         to strerror_r.
25849         Include <ctype.h> for use of isalpha.
25850
25851 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25852
25853         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
25854         by allocating a larger buffer. Test the gethostname return value for
25855         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
25856         returns an error and ENAMETOOLONG isn't defined.
25857
25858 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25859
25860         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
25861         dimension.
25862
25863 2000-07-04  Jim Meyering  <meyering@lucent.com>
25864
25865         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
25866         of the deprecated AC_CHECKING.
25867
25868 2000-07-04  Jim Meyering  <meyering@lucent.com>
25869
25870         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
25871         Reported by Bruno Haible.
25872
25873 2000-07-04  Jim Meyering  <meyering@lucent.com>
25874
25875         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
25876         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
25877         lacks mbrtowc.
25878
25879 2000-07-03  Paul Eggert  <eggert@twinsun.com>
25880
25881         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
25882         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
25883
25884 2000-07-03  Paul Eggert  <eggert@twinsun.com>
25885         and Bruno Haible  <haible@clisp.cons.org>
25886
25887         * lib/quotearg.c (mbrtowc):
25888         Assign to *pwc, and return 1 only if result is nonzero.
25889         (iswprint): Use ISPRINT when substituting our own mbrtowc.
25890
25891 2000-07-03  Jim Meyering  <meyering@lucent.com>
25892
25893         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
25894
25895 2000-07-03  Jim Meyering  <meyering@lucent.com>
25896
25897         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
25898         This is necessary to get a definition of e.g., UTMP_FILE on
25899         HP-UX 10.20.
25900         From Bob Proulx.
25901
25902 2000-07-02  Jim Meyering  <meyering@lucent.com>
25903
25904         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
25905
25906         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
25907         AC_LIBOBJ(function_name).
25908         * m4/chown.m4: Likewise.
25909         * m4/fnmatch.m4: Likewise.
25910         * m4/ftruncate.m4: Likewise.
25911         * m4/getgroups.m4: Likewise.
25912         * m4/getline.m4: Likewise.
25913         * m4/group-member.m4: Likewise.
25914         * m4/jm-macros.m4: Likewise.
25915         * m4/lstat.m4: Likewise.
25916         * m4/malloc.m4: Likewise.
25917         * m4/memcmp.m4: Likewise.
25918         * m4/nanosleep.m4: Likewise.
25919         * m4/putenv.m4: Likewise.
25920         * m4/realloc.m4: Likewise.
25921         * m4/regex.m4: Likewise.
25922         * m4/stat.m4: Likewise.
25923         * m4/strftime.m4: Likewise.
25924
25925 2000-07-02  Jim Meyering  <meyering@lucent.com>
25926
25927         * lib/quotearg.c (mbstate_t): Don't define here.
25928
25929 2000-07-02  Jim Meyering  <meyering@lucent.com>
25930
25931         * lib/nanosleep.c (SIGCONT): Define if not already defined.
25932
25933 2000-07-01  Jim Meyering  <meyering@lucent.com>
25934
25935         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
25936
25937 2000-07-01  Jim Meyering  <meyering@lucent.com>
25938
25939         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
25940         problem.
25941
25942 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
25943
25944         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
25945         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
25946
25947 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
25948
25949         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
25950         per change in ../m4/ls-mntd-fs.m4.
25951         (read_filesystem_list): Ignore symbolic links.
25952
25953 2000-06-29  Jim Meyering  <meyering@lucent.com>
25954
25955         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
25956         for declaration of strcmp.
25957
25958         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
25959
25960         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
25961         Avoid warning by casting result to `char *' to remove `const'.
25962
25963 2000-06-28  Jim Meyering  <meyering@lucent.com>
25964
25965         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
25966         included by quotearg.c, for which we perform this test.  From
25967         Bruno Haible.
25968
25969 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
25970
25971         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
25972         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
25973         <utmpx.h> exists, put readutmp.o into LIBOBJS.
25974
25975 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
25976
25977         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
25978
25979 2000-06-26  Paul Eggert  <eggert@twinsun.com>
25980
25981         savedir now sets errno on failure and invokes xmalloc to get memory.
25982         Fix a couple of other minor bugs while we're at it.
25983
25984         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
25985         (NAMLEN): Remove macro.
25986         (malloc, realloc): Remove decls.
25987         (stpcpy): Likewise.
25988         ("xalloc.h"): Include.
25989         (NAME_SIZE_DEFAULT): New macro.
25990         (savedir): Use xmalloc / xrealloc to allocate memory.
25991         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
25992         Skip "" directory entries.
25993         Use strlen to calculate directory entry length, since the old method
25994         is rarely used these days and isn't worth supporting.
25995         Don't use a pointer after freeing it.
25996         Check for integer overflow when calculating allocation size.
25997         Use memcpy to copy entries, instead of stpcpy.
25998         Set errno properly when returning NULL.
25999         Check for readdir error.
26000
26001 2000-06-26  Jim Meyering  <meyering@lucent.com>
26002
26003         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
26004
26005 2000-06-25  Jim Meyering  <meyering@lucent.com>
26006
26007         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
26008         Linux header bug when _XOPEN_SOURCE is defined to 500.
26009
26010 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
26011
26012         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
26013         deficiency.
26014
26015 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
26016
26017         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
26018         Include xalloc.h.
26019         Don't include <stdlib.h>.  Don't declare malloc, realloc.
26020
26021 2000-06-24  Jim Meyering  <meyering@lucent.com>
26022
26023         * m4/strerror_r.m4: Revive this file -- to try out an experimental
26024         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
26025         for which strerror does return char*, but which lacks a conveniently
26026         accessible declaration of the function.  If the compile-test says
26027         strerror_r doesn't work, then resort to a `run'-test that works on
26028         BeOS and segfaults on DEC Unix.
26029
26030 2000-06-24  Jim Meyering  <meyering@lucent.com>
26031
26032         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
26033
26034 2000-06-23  Paul Eggert  <eggert@twinsun.com>
26035
26036         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
26037         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
26038
26039 2000-06-23  Paul Eggert  <eggert@twinsun.com>
26040
26041         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
26042         (mbrtowc, mbstate_t): Define substitutes if
26043         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
26044         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
26045         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
26046
26047 2000-06-23  Jim Meyering  <meyering@lucent.com>
26048
26049         * m4/afs.m4: Add missing AC_MSG_RESULT.
26050         Reported by Bruno Haible.
26051
26052         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
26053         Suggestion from Bruno Haible.
26054
26055 2000-06-23  Jim Meyering  <meyering@lucent.com>
26056
26057         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
26058
26059 2000-06-21  Jim Meyering  <meyering@lucent.com>
26060
26061         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
26062
26063 2000-06-21  Jim Meyering  <meyering@lucent.com>
26064
26065         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
26066         (noinst_HEADERS): Add getstr.h.
26067
26068         * lib/getline.c (getstr): Move into a separate file.
26069         * lib/getstr.c (getstr): New file, extracted from getline.c, with
26070         the following changes: new parameter, delim2; both delim[12]
26071         parameters have type `int', not `char'.  The latter would lose
26072         with 8-bit delimiters.
26073         * lib/getstr.h: New file.
26074
26075 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26076
26077         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
26078         than 1024, return a memory chunk of least possible size, instead
26079         of size PATH_MAX + 2. In the loop, increment the size proportionally.
26080         Use free/xmalloc instead of xrealloc to avoid copying for very long
26081         paths.
26082
26083 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26084
26085         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
26086         the empty string.
26087
26088 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
26089
26090         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
26091         address, not strdup.  Include <stdlib.h> and don't declare free().
26092
26093 2000-06-19  Jim Meyering  <meyering@lucent.com>
26094
26095         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
26096
26097 2000-06-18  Jim Meyering  <meyering@lucent.com>
26098
26099         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
26100
26101         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
26102         `checking whether...' message to be consistent with that of the
26103         lstat test.
26104
26105 2000-06-18  Jim Meyering  <meyering@lucent.com>
26106
26107         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
26108         Besides, these days every porting target provides a mkdir function.
26109
26110         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
26111         needed. (this snippet comes from src/system.h).
26112
26113 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
26114
26115         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
26116
26117 2000-06-15  Paul Eggert  <eggert@twinsun.com>
26118
26119         * lib/human.c (adjust_value): New function.
26120         (human_readable_inexact): Apply rounding style even when
26121         printing approximate values.
26122
26123 2000-06-14  Paul Eggert  <eggert@twinsun.com>
26124
26125         * lib/human.c (human_readable_inexact): Allow an input block
26126         size that is not a multiple of the output block size, and vice versa.
26127         Reported by Piergiorgio Sartor.
26128
26129 2000-06-14  Paul Eggert  <eggert@twinsun.com>
26130
26131         * lib/getdate.y (get_date): Apply relative times after time
26132         zone indicator, not before.  Reported by Todd A. Jacobs.
26133
26134 2000-06-13  Jim Meyering  <meyering@lucent.com>
26135
26136         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
26137
26138         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
26139
26140 2000-06-12  Paul Eggert  <eggert@twinsun.com>
26141
26142         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
26143
26144 2000-06-12  Jim Meyering  <meyering@lucent.com>
26145
26146         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
26147         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
26148         optional argument.
26149         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
26150         the optional argument, `lib'.
26151
26152 2000-06-08  Jim Meyering  <meyering@lucent.com>
26153
26154         * m4/largefile.m4: Remove file (now that it's part of autoconf).
26155
26156 2000-06-04  Paul Eggert  <eggert@twinsun.com>