5fc9822e7a580caaa6b21dbdfe2a7c2d03ad4be8
[gnulib.git] / ChangeLog
1 2007-02-28  Bruno Haible  <bruno@clisp.org>
2
3         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
4         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
5         lib/xreadlink-with-size.c.
6         (configure.ac): Remove gl_XREADLINK invocation.
7         (Makefile.am): Augment lib_SOURCES.
8         * m4/xreadlink.m4: Remove file.
9         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
10
11 2007-02-25  Jim Meyering  <jim@meyering.net>
12
13         * build-aux/announce-gen: When complaining about excess arguments,
14         list them.
15
16 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17
18         * README: Document signed integer overflow situation more
19         accurately.
20
21 2007-02-25  Bruno Haible  <bruno@clisp.org>
22
23         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
24         'a' or 'A' conversion.
25
26 2007-02-25  Bruno Haible  <bruno@clisp.org>
27
28         * modules/filename: Renamed from modules/pathname.
29         (Files): Replace lib/pathname.h with lib/filename.h. Replace
30         lib/concatpath.c with lib/concat-filename.c.
31         (Makefile.am): Update.
32         (Include): Replace pathname.h with filename.h.
33         * lib/filename.h: Renamed from lib/pathname.h.
34         (concatenated_filename): Renamed from concatenated_pathname.
35         * lib/concat-filename.c: Renamed from lib/concatpath.c.
36         (concatenated_filename): Renamed from concatenated_pathname.
37         * lib/findprog.c: Include filename.h instead of pathname.h.
38         (find_in_path): Update.
39         * lib/javacomp.c: Include filename.h instead of pathname.h.
40         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
41         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
42         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
43         is_oldgcj_14_13_usable, is_javac_usable): Update.
44         * lib/javaexec.c: Include filename.h instead of pathname.h.
45         (execute_java_class): Update.
46         * modules/findprog: Update.
47         * modules/javacomp: Update.
48         * modules/javaexec: Update.
49         * MODULES.html.sh (File system functions): Add 'filename', remove
50         'pathname'.
51
52 2007-02-25  Bruno Haible  <bruno@clisp.org>
53
54         * modules/printf-frexpl-tests: New file.
55         * tests/test-printf-frexpl.c: New file.
56
57         * modules/printf-frexpl: New file.
58         * lib/printf-frexpl.h: New file.
59         * lib/printf-frexpl.c: New file.
60         * m4/printf-frexpl.m4: New file.
61
62 2007-02-25  Bruno Haible  <bruno@clisp.org>
63
64         * modules/printf-frexp-tests: New file.
65         * tests/test-printf-frexp.c: New file.
66
67         * modules/printf-frexp: New file.
68         * lib/printf-frexp.h: New file.
69         * lib/printf-frexp.c: New file.
70         * m4/printf-frexp.m4: New file.
71
72 2007-02-25  Bruno Haible  <bruno@clisp.org>
73
74         Assume automake >= 1.10 for the tests.
75         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
76         * modules/arctwo-tests: Likewise.
77         * modules/argp-tests: Likewise.
78         * modules/avltree-list-tests: Likewise.
79         * modules/avltree-oset-tests: Likewise.
80         * modules/avltreehash-list-tests: Likewise.
81         * modules/carray-list-tests: Likewise.
82         * modules/crc-tests: Likewise.
83         * modules/des-tests: Likewise.
84         * modules/gc-arcfour-tests: Likewise.
85         * modules/gc-arctwo-tests: Likewise.
86         * modules/gc-des-tests: Likewise.
87         * modules/gc-hmac-md5-tests: Likewise.
88         * modules/gc-hmac-sha1-tests: Likewise.
89         * modules/gc-md2-tests: Likewise.
90         * modules/gc-md4-tests: Likewise.
91         * modules/gc-md5-tests: Likewise.
92         * modules/gc-pbkdf2-sha1-tests: Likewise.
93         * modules/gc-rijndael-tests: Likewise.
94         * modules/gc-sha1-tests: Likewise.
95         * modules/gc-tests: Likewise.
96         * modules/getaddrinfo-tests: Likewise.
97         * modules/hmac-md5-tests: Likewise.
98         * modules/hmac-sha1-tests: Likewise.
99         * modules/linked-list-tests: Likewise.
100         * modules/linkedhash-list-tests: Likewise.
101         * modules/lock-tests: Likewise.
102         * modules/md2-tests: Likewise.
103         * modules/md4-tests: Likewise.
104         * modules/md5-tests: Likewise.
105         * modules/rbtree-list-tests: Likewise.
106         * modules/rbtree-oset-tests: Likewise.
107         * modules/rbtreehash-list-tests: Likewise.
108         * modules/read-file-tests: Likewise.
109         * modules/rijndael-tests: Likewise.
110         * modules/stdint-tests: Likewise.
111         * modules/tls-tests: Likewise.
112
113 2007-02-24  Bruno Haible  <bruno@clisp.org>
114
115         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
116         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
117         function; instead check whether isnan with a double argument links.
118         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
119         function; instead check whether isnan with a 'long double' argument
120         links.
121         Reported by Eric Blake <ebb9@byu.net>.
122
123 2007-02-24  Bruno Haible  <bruno@clisp.org>
124
125         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
126         defined.
127         * lib/isnanl.c: Remove all code. Just include isnan.c.
128         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
129
130 2007-02-25  Jim Meyering  <jim@meyering.net>
131
132         Avoid conflicting types for 'unsetenv' on FreeBSD.
133         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
134         conflicting with FreeBSD's (5.0 and 6.1) function declaration
135         in stdlib.h.
136
137 2007-02-24  Bruno Haible  <bruno@clisp.org>
138
139         * modules/isnanl-nolibm-tests: New file.
140         * tests/test-isnanl.c: New file.
141
142         * modules/isnanl-nolibm: New file.
143         * lib/isnanl.h: New file.
144         * lib/isnanl.c: New file.
145         * m4/isnanl.m4: New file.
146
147 2007-02-24  Bruno Haible  <bruno@clisp.org>
148
149         * modules/isnan-nolibm-tests: New file.
150         * tests/test-isnan.c: New file.
151
152         * modules/isnan-nolibm: New file.
153         * lib/isnan.h: New file.
154         * lib/isnan.c: New file.
155         * m4/isnan.m4: New file.
156
157 2007-02-24  Bruno Haible  <bruno@clisp.org>
158
159         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
160         assume that an exponent fits in 20 bits.
161
162 2007-02-24  Jim Meyering  <jim@meyering.net>
163
164         * m4/regex.m4: Update the description of the configure-time option,
165         --without-included-regex, to state accurately what the defaults are,
166         and perhaps to give people an idea why using this option is risky.
167
168 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
169
170         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
171         loops on small arguments.  This attempts to avoid the problem
172         Bruno Haible reported for AIX 4.3.2 in
173         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
174
175 2007-02-23  Bruno Haible  <bruno@clisp.org>
176
177         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
178         Needed for help2man.
179
180 2007-02-23  Karl Berry  <karl@gnu.org>
181
182         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
183         exists, foo.h should be cvs-ignored, not committed.
184
185 2007-02-23  Eric Blake  <ebb9@byu.net>
186
187         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
188         * lib/stat-time.h (includes): Likewise.
189         * lib/utimecmp.c (includes): Likewise.
190         * lib/utimens.h (includes): Likewise.
191         * lib/getdate.y (includes): Also include "timespec.h" for use
192         internal to the module.
193         * modules/utimens (Depends-on): Revert yesterday's patch.
194         * modules/nanosleep (Depends-on): Add missing dependency.
195
196 2007-02-22  Bruno Haible  <bruno@clisp.org>
197
198         * lib/glob.c: Don't include getlogin_r.h.
199
200 2007-02-22  Jim Meyering  <jim@meyering.net>
201
202         * modules/utimens (Depends-on): Add timespec, required for
203         utimens.h's inclusion of timespec.h.
204
205 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
206
207         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
208         long unreadable paths in GNU/Linux.  Problem reported by Andreas
209         Schwab in
210         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
211         I'll try to think of a better way to fix the Solaris problem.
212
213         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
214         like glibc; on Solaris 10, it fails with errno == EINVAL.
215         POSIX says the behavior is unspecified if the first argument is NULL,
216         so play it safe and never pass NULL to the system getcwd.
217
218 2007-02-21  Jim Meyering  <jim@meyering.net>
219
220         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
221         of gettimeofday.  It would conflict with the one now always
222         provided via sys_time_.h.  Reported by Matthew Woehlke, as
223         an IRIX 6.5 build failure.
224
225 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
226
227         Minor fixups to port to Solaris 10 with Sun C 5.8.
228         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
229         * modules/getcwd (Depends-on): Add dirfd.
230         * lib/putenv.c (putenv): #undef it.
231         (rpl_putenv): New decl.
232         (malloc, free): Include <stdlib.h> rather than prototyping separately.
233
234 2007-02-20  Bruno Haible  <bruno@clisp.org>
235
236         * modules/stdio-tests: New file.
237         * tests/test-stdio.c: New file.
238
239         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
240         (Depends-on): Add stdio.
241         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
242         (Include): Use <stdio.h> instead of vsnprintf.h.
243         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
244         HAVE_DECL_VSNPRINTF.
245         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
246
247         * modules/snprintf (Files): Remove lib/snprintf.h.
248         (Depends-on): Add stdio.
249         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
250         (Include): Use <stdio.h> instead of snprintf.h.
251         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
252         HAVE_DECL_SNPRINTF.
253         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
254         * lib/getaddrinfo.c: Likewise.
255
256         * modules/stdio: New file.
257         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
258         * lib/snprintf.h: Remove file.
259         * lib/vsnprintf.h: Remove file.
260         * lib/.cppi-disable: Remove snprintf.h.
261         * m4/stdio_h.m4: New file.
262         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
263
264 2007-02-20  Jim Meyering  <jim@meyering.net>
265
266         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
267         used by e.g., mingw.  From Bruno Haible.
268
269 2007-02-19  Bruno Haible  <bruno@clisp.org>
270
271         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
272         warnings.
273         Reported by Ben Pfaff <blp@cs.stanford.edu>.
274
275 2007-02-19  Bruno Haible  <bruno@clisp.org>
276
277         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
278         from mingw users.
279
280 2007-02-19  Bruno Haible  <bruno@clisp.org>
281
282         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
283         warnings.
284         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
285
286 2007-02-19  Jim Meyering  <jim@meyering.net>
287
288         Don't use FD after a successful "fdopendir (fd)".
289         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
290         Reset it by calling dirfd on the just-obtained DIR*.
291
292         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
293         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
294
295 2007-02-18  Bruno Haible  <bruno@clisp.org>
296
297         * lib/readlink.c: Include <unistd.h>.
298         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
299         HAVE_READLINK.
300         * modules/readlink (Depends-on): Add unistd.
301         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
302         (Include): Add <unistd.h>.
303
304         * lib/getlogin_r.h: Remove file.
305         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
306         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
307         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
308         HAVE_DECL_GETLOGIN_R.
309         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
310         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
311         (Include): Use <unistd.h> instead of getlogin_r.h.
312
313         * lib/getcwd.h: Remove file.
314         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
315         * lib/xgetcwd.c: Likewise.
316         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
317         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
318         * modules/getcwd (Files): Remove lib/getcwd.h.
319         (Depends-on): Add unistd.
320         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
321         (Include): Use <unistd.h> instad of getcwd.h.
322
323         * lib/ftruncate.c: Include <unistd.h> first.
324         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
325         Set HAVE_FTRUNCATE.
326         * modules/ftruncate (Depends-on): Add unistd.
327         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
328
329         * lib/fchdir.c: Include <unistd.h> first.
330         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
331         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
332         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
333         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
334         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
335
336         * lib/dup2.c: Include <unistd.h> first.
337         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
338         HAVE_DUP2.
339         * modules/dup2 (Depends-on): Add unistd.
340         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
341
342         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
343         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
344         REPLACE_CHOWN. Don't define chown as a macro here.
345         * modules/chown (Depends-on): Add unistd.
346         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
347
348         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
349         Add definition for GL_LINK_WARNING.
350         (chown, dup2): New declarations.
351         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
352         link warning.
353         (ftruncate): New declaration.
354         (getcwd): New declaration, taken from old getcwd.h.
355         (getlogin_r): New declaration, taken from old getlogin_r.h.
356         (readlink): New declaration.
357         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
358         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
359         (gl_PREREQ_UNISTD): Remove macro.
360         (gl_UNISTD_MODULE_INDICATOR): New macro.
361         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
362         many new variables. Don't set UNISTD_H.
363         * modules/unistd (Description): Change.
364         (Depends-on): Add link-warning.
365         (configure.ac): Update.
366         (Makefile.am): Create unistd.h always. Substitute many new variables
367         into it.
368
369 2007-02-18  Bruno Haible  <bruno@clisp.org>
370
371         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
372         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
373         HAVE_GETSUBOPT.
374         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
375         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
376         * lib/getsubopt.h: Remove file.
377         * modules/getsubopt (Files): Remove lib/getsubopt.h.
378         (Depends-on): Add stdlib.
379         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
380         (Includes): Use <stdlib.h> instead of getsubopt.h.
381         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
382         Set HAVE_GETSUBOPT.
383         * lib/getsubopt.c: Don't include getsubopt.h.
384
385 2007-02-18  Bruno Haible  <bruno@clisp.org>
386
387         * modules/fchdir (Depends-on): Add dup2.
388
389 2007-02-18  Bruno Haible  <bruno@clisp.org>
390
391         * lib/stdlib_.h: Handle glibc's special invocation convention
392         specially.
393
394 2007-02-18  Bruno Haible  <bruno@clisp.org>
395
396         * modules/stdlib-tests: New file.
397         * tests/test-stdlib.c: New file.
398
399         * modules/mkstemp (Files): Remove lib/mkstemp.h.
400         (Depends-on): Add stdlib.
401         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
402         (Includes): Use <stdlib.h> instead of mkstemp.h.
403         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
404         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
405         * lib/mkstemp.c: Don't include mkstemp.h.
406         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
407         * lib/stdlib--.h: Don't include mkstemp.h.
408
409         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
410         (Depends-on): Add stdlib.
411         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
412         (Includes): Use <stdlib.h> instead of mkdtemp.h.
413         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
414         HAVE_MKDTEMP.
415         * lib/mkdtemp.c: Don't include mkdtemp.h.
416         * lib/clean-temp.c: Don't include mkdtemp.h.
417
418         * modules/exit (Files): Remove lib/exit.h.
419         (Depends-on): Add stdlib.
420         (Makefile.am): Remove lib_SOURCES.
421         (Include): Use <stdlib.h> instead of exit.h.
422         * lib/argmatch.c: Don't include exit.h.
423         * lib/execute.c: Likewise.
424         * lib/pagealign_alloc.c: Likewise.
425         * lib/pipe.c: Likewise.
426         * lib/wait-process.c: Likewise.
427         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
428         * lib/exitfail.c: Likewise.
429         * lib/savewd.c: Likewise.
430         * lib/xsetenv.c: Likewise.
431
432         * modules/stdlib: New file.
433         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
434         and extra comments about mkstemp().
435         * lib/exit.h: Remove file.
436         * lib/mkdtemp.h: Remove file.
437         * lib/mkstemp.h: Remove file.
438         * m4/stdlib_h.m4: New file.
439         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
440
441 2007-02-18  Bruno Haible  <bruno@clisp.org>
442
443         * modules/math-tests: New file.
444         * tests/test-math.c: New file.
445
446         * modules/math: New file.
447         * modules/mathl (Files): Remove lib/mathl.h.
448         (Depends-on): Add math.
449         (Makefile.am): Don't mention mathl.h.
450         (Include): Use <math.h> instead of mathl.h.
451         * lib/math_.h: New file.
452         * lib/mathl.h: Remove file.
453         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
454         mathl.h.
455         * lib/asinl.c: Likewise.
456         * lib/atanl.c: Likewise.
457         * lib/ceill.c: Likewise.
458         * lib/cosl.c: Likewise.
459         * lib/expl.c: Likewise.
460         * lib/floorl.c: Likewise.
461         * lib/frexpl.c: Likewise.
462         * lib/ldexpl.c: Likewise.
463         * lib/logl.c: Likewise.
464         * lib/sincosl.c: Likewise.
465         * lib/sinl.c: Likewise.
466         * lib/sqrtl.c: Likewise.
467         * lib/tanl.c: Likewise.
468         * lib/trigl.c: Likewise.
469         * m4/math_h.m4: New file.
470         * MODULES.html.sh (Mathematics): Add math.
471
472 2007-02-17  Bruno Haible  <bruno@clisp.org>
473
474         * modules/wctype-tests: New file.
475         * tests/test-wctype.c: New file.
476
477         * modules/wchar-tests: New file.
478         * tests/test-wchar.c: New file.
479
480         * modules/unistd-tests: New file.
481         * tests/test-unistd.c: New file.
482
483         * modules/time-tests: New file.
484         * tests/test-time.c: New file.
485
486         * modules/sysexits-tests: New file.
487         * tests/test-sysexits.c: New file.
488
489         * modules/sys_time-tests: New file.
490         * tests/test-sys_time.c: New file.
491
492         * modules/sys_stat-tests: New file.
493         * tests/test-sys_stat.c: New file.
494
495         * modules/sys_socket-tests: New file.
496         * tests/test-sys_socket.c: New file.
497
498         * modules/sys_select-tests: New file.
499         * tests/test-sys_select.c: New file.
500
501         * modules/string-tests: New file.
502         * tests/test-string.c: New file.
503
504         * modules/stdbool-tests: New file.
505         * tests/test-stdbool.c: New file.
506
507         * modules/netinet_in-tests: New file.
508         * tests/test-netinet_in.c: New file.
509
510         * modules/inttypes-tests: New file.
511         * tests/test-inttypes.c: New file.
512
513         * modules/fcntl-tests: New file.
514         * tests/test-fcntl.c: New file.
515
516         * modules/byteswap-tests: New file.
517         * tests/test-byteswap.c: New file.
518
519         * modules/arpa_inet-tests: New file.
520         * tests/test-arpa_inet.c: New file.
521
522 2007-02-17  Bruno Haible  <bruno@clisp.org>
523
524         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
525         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
526         if the corresponding module is not enabled. Emit link warnings if
527         the function is used nevertheless.
528         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
529         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
530         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
531         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
532         * modules/inttypes (Depends-on): Add link-warning.
533         (Makefile.am): Copy the contents of build-aux/link-warning.h into
534         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
535         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
536         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
537         * modules/imaxdiv (configure.ac): Likewise.
538         * modules/strtoimax (configure.ac): Likewise.
539         * modules/strtoumax (configure.ac): Likewise.
540
541 2007-02-17  Bruno Haible  <bruno@clisp.org>
542
543         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
544         gl_STRING_MODULE_INDICATOR_DEFAULTS.
545         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
546         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
547
548 2007-02-17  Bruno Haible  <bruno@clisp.org>
549
550         * modules/link-warning: New file.
551         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
552         * lib/string_.h (GL_LINK_WARNING): Remove definition.
553         * modules/string (Depends-on): Add link-warning.
554         (Makefile.am): Copy the contents of build-aux/link-warning.h into
555         string.h.
556         * MODULES.html.sh (Support for building libraries and executables): Add
557         link-warning.
558
559 2007-02-17  Bruno Haible  <bruno@clisp.org>
560
561         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
562         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
563         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
564         long lines.
565
566 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
567             Bruno Haible  <bruno@clisp.org>
568
569         * modules/tmpfile: New file.
570         * lib/tmpfile.c: New file.
571         * m4/tmpfile.m4: New file.
572         * MODULES.html.sh (func_all_modules): New section "Input/output".
573
574 2007-02-15  Bruno Haible  <bruno@clisp.org>
575
576         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
577         (supports_delete_on_close): New function.
578         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
579
580 2007-02-14  Bruno Haible  <bruno@clisp.org>
581
582         * modules/mbspcasecmp-tests: New file.
583         * tests/test-mbspcasecmp.sh: New file.
584         * tests/test-mbspcasecmp.c: New file.
585
586         New module mbspcasecmp.
587         * modules/mbspcasecmp: New file.
588         * lib/mbspcasecmp.c: New file.
589         * lib/string_.h (strncasecmp): Change warning message.
590         (mbspcasecmp): New declaration.
591         * m4/mbspcasecmp.m4: New file.
592         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
593         GNULIB_MBSPCASECMP.
594         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
595         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
596
597 2007-02-14  Bruno Haible  <bruno@clisp.org>
598
599         * modules/mbsncasecmp-tests: New file.
600         * tests/test-mbsncasecmp.sh: New file.
601         * tests/test-mbsncasecmp.c: New file.
602
603         New module mbsncasecmp.
604         * modules/mbsncasecmp: New file.
605         * lib/mbsncasecmp.c: New file.
606         * lib/string_.h (mbsncasecmp): New declaration.
607         * m4/mbsncasecmp.m4: New file.
608         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
609         GNULIB_MBSNCASECMP.
610         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
611         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
612
613 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
614
615         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
616         Verify that it doesn't overlap with our flags.
617         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
618         do not have the desired effect in multibyte locales; instead, use
619         mbscasecmp.
620         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
621         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
622         we don't require GNU fnmatch ourselves (if our users require it, they
623         should do so explicitly).
624
625         Fix regex code so it doesn't rely on strcasecmp.
626         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
627         Otherwise, include gnulib's langinfo.h.
628         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
629         undesirable behavior in non-C locales.  Instead, rely on localecharset.
630         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
631         * modules/regex (FILES): Remove m4/codeset.m4.
632         (Depends-on): Add localcharset.  Remove strcase.
633
634 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
635
636         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
637         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
638
639 2007-02-13  Bruno Haible  <bruno@clisp.org>
640
641         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
642         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
643
644 2007-02-12  Bruno Haible  <bruno@clisp.org>
645
646         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
647         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
648         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
649         time warning rather than a link error.
650
651 2007-02-12  Bruno Haible  <bruno@clisp.org>
652
653         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
654         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
655         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
656
657 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
658
659         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
660         args, not 2.
661
662 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
663
664         New module 'time', so that apps can include <time.h> as per
665         POSIX and GNU instead of separate include files like time_r.h
666         and timegm.h.  This implementation tries out a simpler approach
667         for replacing decls in standard include files (as compared to
668         the string module), somewhat as an experiment.
669
670         * config/srclist.txt: Comment out mktime.c for now.
671         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
672         since it doesn't apply any more.  Use generic wording instead.
673         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
674         'time'.
675         * lib/time_.h, m4/time_h.m4, modules/time: New files.
676         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
677         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
678         Don't include <sys/types.h>; no longer needed since we assume C89.
679         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
680         * lib/strftime.c: Likewise.
681         * lib/time_r.c: Likewise.
682         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
683         * lib/nanosleep.c: Include <time.h> first, to check interface.
684         * lib/strptime.c: Likewise.
685         * lib/time_r.c: Likewise.
686         * lib/timegm.c: Likewise.
687         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
688         needed.
689         * lib/timegm.c: Don't include timegm.h; no longer needed.
690         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
691         time.h now handles any problems in that area.
692         (struct timespec, nanosleep): Remove; time.h now arranges for these.
693         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
694         that time.h defines struct timespec.
695         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
696         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
697         handles that.
698         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
699         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
700         needed.  Set REPLACE_LOCALTIME.
701         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
702         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
703         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
704         nanosleep; time_h.m4 now does that.  Don't require
705         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
706         module handles this now.
707         * modules/getdate (Depends-on): Remove timespec.  Add time.
708         * modules/nanosleep (Depends-on): Likewise.
709         * modules/stat-time (Depends-on): Likewise.
710         * modules/nanosleep (Include): Include time.h, not timespec.h.
711         * modules/strptime (Files): Remove lib/strptime.h.
712         (Depends-on): Add extensions, time.
713         (Include): Include time.h, not strptime.h.
714         * modules/time_r (Files): Remove lib/time_r.h.
715         (Depends-on): Add time.
716         (Include): Include time.h, not time_r.h.
717         * modules/timegm: Likewise.
718         * modules/timespec (Description): Now does timespec-related decls
719         of our own, instead of struct timespec itself.
720         (Depends-on): Add time; remove extensions.
721         (Maintainer): Add self.
722         * modules/utimecmp (Depends-on): Add time; remove timespec.
723         * modules/utimens (Depends-on): Likewise.
724         * modules/xnanosleep (Depends-on): Likewise.
725
726 2007-02-11  Bruno Haible  <bruno@clisp.org>
727
728         * lib/c-strstr.c: Include allocsa.h.
729         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
730         * lib/c-strcasestr.c: Include allocsa.h.
731         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
732         * lib/strcasestr.c: Include allocsa.h.
733         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
734         * lib/mbsstr.c: Include allocsa.h.
735         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
736         allocsa/freesa instead of malloc/free.
737         * lib/mbscasestr.c: Include allocsa.h.
738         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
739         allocsa/freesa instead of malloc/free.
740         * modules/c-strstr (Depends-on): Add allocsa.
741         * modules/c-strcasestr (Depends-on): Likewise.
742         * modules/strcasestr (Depends-on): Likewise.
743         * modules/mbsstr (Depends-on): Likewise.
744         * modules/mbscasestr (Depends-on): Likewise.
745
746 2007-02-11  Bruno Haible  <bruno@clisp.org>
747
748         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
749
750         * modules/mbsspn-tests: New file.
751         * tests/test-mbsspn.sh: New file.
752         * tests/test-mbsspn.c: New file.
753
754 2007-02-11  Bruno Haible  <bruno@clisp.org>
755
756         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
757
758         * modules/mbspbrk-tests: New file.
759         * tests/test-mbspbrk.sh: New file.
760         * tests/test-mbspbrk.c: New file.
761
762 2007-02-11  Bruno Haible  <bruno@clisp.org>
763
764         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
765         unneeded cast.
766
767         * modules/mbscspn-tests: New file.
768         * tests/test-mbscspn.sh: New file.
769         * tests/test-mbscspn.c: New file.
770
771 2007-02-11  Bruno Haible  <bruno@clisp.org>
772
773         * modules/mbscasecmp-tests: New file.
774         * tests/test-mbscasecmp.sh: New file.
775         * tests/test-mbscasecmp.c: New file.
776
777 2007-02-11  Bruno Haible  <bruno@clisp.org>
778
779         Ensure O(n) worst-case complexity of mbscasestr.
780         * lib/mbscasestr.c: Include stdbool.h.
781         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
782         functions.
783         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
784         the bookkeeping indicates that it's worth it.
785         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
786
787         * modules/mbscasestr-tests: New file.
788         * tests/test-mbscasestr1.c: New file.
789         * tests/test-mbscasestr2.sh: New file.
790         * tests/test-mbscasestr2.c: New file.
791         * tests/test-mbscasestr3.sh: New file.
792         * tests/test-mbscasestr3.c: New file.
793         * tests/test-mbscasestr4.sh: New file.
794         * tests/test-mbscasestr4.c: New file.
795         * m4/locale-tr.m4: New file.
796
797 2007-02-11  Bruno Haible  <bruno@clisp.org>
798
799         Ensure O(n) worst-case complexity of mbsstr.
800         * lib/mbsstr.c: Include stdbool.h.
801         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
802         functions.
803         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
804         bookkeeping indicates that it's worth it.
805         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
806
807         * modules/mbsstr-tests: New file.
808         * tests/test-mbsstr1.c: New file.
809         * tests/test-mbsstr2.sh: New file.
810         * tests/test-mbsstr2.c: New file.
811         * tests/test-mbsstr3.sh: New file.
812         * tests/test-mbsstr3.c: New file.
813         * m4/locale-fr.m4: New file.
814
815 2007-02-11  Bruno Haible  <bruno@clisp.org>
816
817         * lib/mbsrchr.c (mbsrchr): Fix bug.
818
819         * modules/mbsrchr-tests: New file.
820         * tests/test-mbsrchr.sh: New file.
821         * tests/test-mbsrchr.c: New file.
822
823 2007-02-11  Bruno Haible  <bruno@clisp.org>
824
825         * lib/mbschr.c (mbschr): Fix bug.
826
827         * modules/mbschr-tests: New file.
828         * tests/test-mbschr.sh: New file.
829         * tests/test-mbschr.c: New file.
830         * m4/locale-zh.m4: New file.
831
832 2007-02-11  Bruno Haible  <bruno@clisp.org>
833
834         Support for copying multibyte string iterators.
835         * lib/mbiter.h: Include <string.h>.
836         (mbiter_multi_copy): New function.
837         (mbi_copy): New macro.
838         * lib/mbuiter.h: Include <string.h>.
839         (mbuiter_multi_copy): New function.
840         (mbui_copy): New macro.
841
842 2007-02-11  Bruno Haible  <bruno@clisp.org>
843
844         New module mbslen.
845         * modules/mbslen: New file.
846         * lib/mbslen.c: New file.
847         * lib/string_.h (mbslen): New declaration.
848         * m4/mbslen.m4: New file.
849         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
850         GNULIB_MBSLEN.
851         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
852         * MODULES.html.sh (Internationalization functions): Add mbslen.
853
854 2007-02-11  Bruno Haible  <bruno@clisp.org>
855
856         Ensure O(n) worst-case complexity of strcasestr substitute.
857         * lib/strcasestr.c: Include stdbool.h.
858         (knuth_morris_pratt): New function.
859         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
860         bookkeeping indicates that it's worth it.
861         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
862
863         * modules/strcasestr-tests: New file.
864         * tests/test-strcasestr.c: New file.
865
866 2007-02-11  Bruno Haible  <bruno@clisp.org>
867
868         Ensure O(n) worst-case complexity of c_strcasestr.
869         * lib/c-strcasestr.c: Include stdbool.h, string.h.
870         (knuth_morris_pratt): New function.
871         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
872         the bookkeeping indicates that it's worth it.
873         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
874
875         * modules/c-strcasestr-tests: New file.
876         * tests/test-c-strcasestr.c: New file.
877
878 2007-02-11  Bruno Haible  <bruno@clisp.org>
879
880         Ensure O(n) worst-case complexity of c_strstr.
881         * lib/c-strstr.c: Include stdbool.h, string.h.
882         (knuth_morris_pratt): New function.
883         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
884         bookkeeping indicates that it's worth it.
885         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
886
887         * lib/c-strstr.c: Complete rewrite for maintainability.
888
889         * modules/c-strstr-tests: New file.
890         * tests/test-c-strstr.c: New file.
891
892 2007-02-11  Bruno Haible  <bruno@clisp.org>
893
894         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
895         5.2.1 and earlier, whereby \055 was treated just like the range
896         delimiter '-'.
897         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
898
899 2007-02-08  Bruno Haible  <bruno@clisp.org>
900
901         * modules/regex (Depends-on): Add stdbool.
902         Reported by Dalibor Topic <robilad@kaffe.org>.
903
904 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
905
906         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
907         Prefer returning from main to exiting from it.
908         Remove unnecessary parens after sizeof.
909
910 2007-02-05  Bruno Haible  <bruno@clisp.org>
911
912         New module mbssep.
913         * modules/mbssep: New file.
914         * lib/mbssep.c: New file.
915         * lib/string_.h (strsep): Add a conditional link warning.
916         (mbssep): New declaration.
917         * m4/mbssep.m4: New file.
918         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
919         GNULIB_MBSSEP.
920         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
921         * MODULES.html.sh (Internationalization functions): Add mbssep.
922
923 2007-02-05  Bruno Haible  <bruno@clisp.org>
924
925         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
926         Optimize search in case of 1 delimiter.
927
928 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
929
930         * lib/acl.h: Include sys/types.h before sys/acl.h.
931
932 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
933
934         Merge upstream fix for glibc bugzilla #3957:
935
936         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
937
938         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
939         bit for RE_HAT_LISTS_NOT_NEWLINE.
940         (build_charclass_op): Remove bogus comment.
941
942 2007-02-05  Simon Josefsson  <simon@josefsson.org>
943
944         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
945
946 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
947
948         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
949         * lib/memmem.c [!defined _LIBC]: Include config.h.
950
951 2007-02-04  Bruno Haible  <bruno@clisp.org>
952
953         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
954         warning message.
955
956 2007-02-04  Bruno Haible  <bruno@clisp.org>
957
958         New module mbstok_r.
959         * modules/mbstok_r: New file.
960         * lib/mbstok_r.c: New file.
961         * lib/string_.h (strtok_r): Change argument names to match the
962         comments. Add a conditional link warning.
963         (mbstok_r): New declaration.
964         * m4/mbstok_r.m4: New file.
965         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
966         GNULIB_MBSTOK_R.
967         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
968         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
969
970 2007-02-04  Bruno Haible  <bruno@clisp.org>
971
972         New module mbsspn.
973         * modules/mbsspn: New file.
974         * lib/mbsspn.c: New file.
975         * lib/string_.h (strspn): Add a conditional link warning.
976         (mbsspn): New declaration.
977         * m4/mbsspn.m4: New file.
978         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
979         GNULIB_MBSSPN.
980         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
981         * MODULES.html.sh (Internationalization functions): Add mbsspn.
982
983 2007-02-04  Bruno Haible  <bruno@clisp.org>
984
985         New module mbspbrk.
986         * modules/mbspbrk: New file.
987         * lib/mbspbrk.c: New file.
988         * lib/string_.h (strpbrk): Add a conditional link warning.
989         (mbspbrk): New declaration.
990         * m4/mbspbrk.m4: New file.
991         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
992         GNULIB_MBSPBRK.
993         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
994         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
995
996 2007-02-04  Bruno Haible  <bruno@clisp.org>
997
998         New module mbscspn.
999         * modules/mbscspn: New file.
1000         * lib/mbscspn.c: New file.
1001         * lib/string_.h (strcspn): Add a conditional link warning.
1002         (mbscspn): New declaration.
1003         * m4/mbscspn.m4: New file.
1004         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1005         GNULIB_MBSCSPN.
1006         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
1007         * MODULES.html.sh (Internationalization functions): Add mbscspn.
1008
1009 2007-02-04  Bruno Haible  <bruno@clisp.org>
1010
1011         New module mbscasestr, reduced goal of strcasestr.
1012         * modules/mbscasestr: New file.
1013         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
1014         (mbscasestr): Renamed from strcasestr.
1015         * lib/strcasestr.c: Don't include mbuiter.h.
1016         (strcasestr): Remove support for multibyte locales.
1017         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
1018         Change the conditional link warning.
1019         (mbscasestr): New declaration.
1020         * m4/mbscasestr.m4: New file.
1021         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
1022         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
1023         REPLACE_STRCASESTR.
1024         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
1025         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1026         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1027         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
1028         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
1029         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
1030         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
1031         (Depends-on): Remove mbuiter.
1032         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
1033
1034 2007-02-04  Bruno Haible  <bruno@clisp.org>
1035
1036         Simplify handling of strncasecmp.
1037         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
1038         the conditional link warning.
1039         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
1040         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
1041         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
1042         * modules/strcase (configure.ac): Don't invoke
1043         gl_STRING_MODULE_INDICATOR.
1044         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
1045
1046 2007-02-04  Bruno Haible  <bruno@clisp.org>
1047
1048         New module mbscasecmp, reduced goal of strcasecmp.
1049         * modules/mbscasecmp: New file.
1050         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
1051         (mbscasecmp): Renamed from strcasecmp.
1052         * lib/strcasecmp.c: Don't include mbuiter.h.
1053         (strcasecmp): Remove support for multibyte locales.
1054         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
1055         Change the conditional link warning.
1056         (mbscasecmp): New declaration.
1057         * m4/mbscasecmp.m4: New file.
1058         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
1059         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
1060         REPLACE_STRCASECMP.
1061         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
1062         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1063         GNULIB_MBSCASECMP.
1064         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
1065         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
1066         * modules/strcase (Files): Remove m4/mbrtowc.m4.
1067         (Depends-on): Remove mbuiter.
1068         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
1069
1070 2007-02-04  Bruno Haible  <bruno@clisp.org>
1071
1072         New module mbsstr. Remove module strstr.
1073         * modules/mbsstr: New file.
1074         * modules/strstr: Remove file.
1075         * lib/mbsstr.c: Renamed from lib/strstr.c.
1076         (mbsstr): Renamed from strstr.
1077         * lib/string_.h (strstr): Remove declaration. Change the conditional
1078         link warning.
1079         (mbsstr): New declaration.
1080         * m4/mbsstr.m4: New file.
1081         * m4/strstr.m4: Remove file.
1082         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
1083         REPLACE_STRSTR.
1084         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
1085         Don't initialize GNULIB_STRSTR.
1086         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
1087         substitute GNULIB_STRSTR and REPLACE_STRSTR.
1088         * MODULES.html.sh (Internationalization functions): Add mbsstr.
1089         (Support for systems lacking ANSI C 89): Remove strstr.
1090
1091 2007-02-04  Bruno Haible  <bruno@clisp.org>
1092
1093         New module mbsrchr.
1094         * modules/mbsrchr: New file.
1095         * lib/mbsrchr.c: New file.
1096         * lib/string_.h (strrchr): Add a conditional link warning.
1097         (mbsrchr): New declaration.
1098         * m4/mbsrchr.m4: New file.
1099         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1100         GNULIB_MBSRCHR.
1101         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
1102         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
1103
1104 2007-02-04  Bruno Haible  <bruno@clisp.org>
1105
1106         New module mbschr.
1107         * modules/mbschr: New file.
1108         * lib/mbschr.c: New file.
1109         * lib/string_.h (strchr): Add a conditional link warning.
1110         (mbschr): New declaration.
1111         * m4/mbschr.m4: New file.
1112         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
1113         GNULIB_MBSCHR.
1114         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
1115         * MODULES.html.sh (Internationalization functions): Add mbschr.
1116
1117 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
1118
1119         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
1120
1121         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
1122
1123 2007-02-04  Bruno Haible  <bruno@clisp.org>
1124
1125         New module description section 'configure.ac-early'.
1126         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
1127         (func_get_autoconf_early_snippet): New function.
1128         (func_import, func_create_testdir): Use it. Remove special cases for
1129         modules 'extensions' and 'lock'.
1130         * modules/extensions (configure.ac-early): Require
1131         gl_USE_SYSTEM_EXTENSIONS.
1132         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
1133
1134 2007-02-04  Bruno Haible  <bruno@clisp.org>
1135
1136         Make use of gcj-4.3's -fsource and -ftarget option.
1137         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
1138         and if so try the options -fsource and -ftarget.
1139         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
1140         source_version, ftarget_option, target_version arguments.
1141         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
1142         (is_envjavac_oldgcj_14_14_usable): Renamed from
1143         is_envjavac_gcj_14_14_usable.
1144         (is_envjavac_oldgcj_14_13_usable): Renamed from
1145         is_envjavac_gcj_14_13_usable.
1146         (is_gcj_present): Update.
1147         (is_gcj_43, is_gcj43_usable): New functions.
1148         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
1149         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
1150         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
1151         try the options -fsource and -ftarget.
1152
1153 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
1154
1155         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
1156         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
1157         larger value.
1158
1159 2007-02-03  Jim Meyering  <jim@meyering.net>
1160
1161         Give tools a better chance to allocate space for very large buffers.
1162         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
1163
1164         Make pwd and readlink work also when run with an unreadable parent dir
1165         on systems with openat support.
1166         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
1167         provided getcwd function, even when we have openat support.
1168         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
1169
1170 2007-02-02  Bruno Haible  <bruno@clisp.org>
1171
1172         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
1173         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
1174         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
1175         portability problems if one of these functions is only used on specific
1176         platforms.
1177         Reported by Paul Eggert.
1178
1179 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
1180
1181         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
1182         is causing more trouble than it's curing.
1183         * lib/regex_internal.h (__mempcpy): Remove.
1184         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
1185         (and make the code a tad smaller to boot).
1186         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
1187
1188 2007-02-02  Jim Meyering  <jim@meyering.net>
1189
1190         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
1191         section, not in the Makefile.am: one.
1192
1193 2007-02-02  Eric Blake  <ebb9@byu.net>
1194
1195         * lib/strchrnul.c: Always include config.h first.
1196
1197         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
1198         gnulib strstr is not necessary here.
1199
1200 2007-02-02  Simon Josefsson  <simon@josefsson.org>
1201
1202         * m4/socklen.m4: Fix typo.
1203
1204 2007-02-02  Eric Blake  <ebb9@byu.net>
1205
1206         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
1207         * modules/netinet_in (Makefile.am): Likewise.
1208
1209 2007-02-01  Bruno Haible  <bruno@clisp.org>
1210
1211         * lib/string_.h (GL_LINK_WARNING): New macro.
1212         (strcasecmp, strstr, strcasestr): If provided by the system,
1213         conditionally define as a macro that leads to a warning instead of to
1214         an error.
1215         (strncasecmp): Conditionally define as a macro that leads to a warning.
1216
1217 2007-02-01  Karl Berry  <karl@gnu.org>
1218
1219         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
1220
1221 2007-02-01  Bruno Haible  <bruno@clisp.org>
1222
1223         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
1224         renamings.
1225
1226 2007-02-01  Eric Blake  <ebb9@byu.net>
1227
1228         * modules/regex (Depends-on): Revert dependence on mempcpy.
1229         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
1230         module's definition of mempcpy.
1231         Reported by Paul Eggert.
1232
1233 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
1234
1235         * lib/string_.h: If the gnulib module XYZ is not present, undefine
1236         the symbol XYZ before redefining it.  This fixes a problem with
1237         programs that don't use XYZ, when compiled on systems that define
1238         XYZ to something else.
1239
1240 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
1241
1242         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
1243         occurs when "mkdir -m foo" creates a setgid directory that is (1)
1244         writeable to group or other and (2) is intended to have a special
1245         mode bit that is set or cleared.  In such a case, the directory
1246         should be neither group- nor other-writeable until the special
1247         mode bits are right.
1248
1249 2007-01-31  Eric Blake  <ebb9@byu.net>
1250
1251         * modules/mountlist (Depends-on): Add strstr.
1252
1253         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
1254         bug.
1255         * modules/string (Makefile.am): Remove redundant replacement.
1256         * modules/regex (Depends-on): Add mempcpy.
1257
1258 2007-01-31  Bruno Haible  <bruno@clisp.org>
1259
1260         New module description field 'Link'.
1261         * gnulib-tool (func_usage): Document --extract-link-directive.
1262         (sed_extract_prog): Recognize 'Link' directive.
1263         (func_get_link_directive): New function.
1264         (func_import): Show summary of link directives.
1265         Handle --extract-link-directive option.
1266         * modules/acl (Link): New section.
1267         * modules/clock-time (Link): New section.
1268         * modules/euidaccess (Link): New section.
1269         * modules/gettext (Link): New section.
1270         * modules/iconv (Link): New section.
1271         * modules/lock (Link): New section.
1272         * modules/nanosleep (Link): New section.
1273         * modules/readline (Link): New section.
1274
1275 2007-01-27  Bruno Haible  <bruno@clisp.org>
1276
1277         Enforce the use of gnulib modules for unportable <string.h> functions.
1278         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
1279         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
1280         (gl_HEADER_STRING_H_BODY): Require it.
1281         * lib/string_.h: If the gnulib module XYZ is not present, redefine
1282         the symbol XYZ to one that gives a link error.
1283         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
1284         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
1285         * modules/mempcpy (configure.ac): Likewise.
1286         * modules/memrchr (configure.ac): Likewise.
1287         * modules/stpcpy (configure.ac): Likewise.
1288         * modules/stpncpy (configure.ac): Likewise.
1289         * modules/strcase (configure.ac): Likewise.
1290         * modules/strcasestr (configure.ac): Likewise.
1291         * modules/strchrnul (configure.ac): Likewise.
1292         * modules/strdup (configure.ac): Likewise.
1293         * modules/strndup (configure.ac): Likewise.
1294         * modules/strnlen (configure.ac): Likewise.
1295         * modules/strpbrk (configure.ac): Likewise.
1296         * modules/strsep (configure.ac): Likewise.
1297         * modules/strstr (configure.ac): Likewise.
1298         * modules/strtok_r (configure.ac): Likewise.
1299
1300 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
1301
1302         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
1303
1304 2007-01-30  Jim Meyering  <jim@meyering.net>
1305
1306         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
1307
1308 2007-01-29  Bruno Haible  <bruno@clisp.org>
1309
1310         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
1311         * lib/execute.c: Likewise.
1312         * lib/pipe.c: Likewise.
1313         * lib/printf-args.h: Likewise.
1314         * lib/printf-args.c: Likewise.
1315         * lib/printf-parse.c: Likewise.
1316         * lib/vasnprintf.c: Likewise.
1317
1318 2007-01-29  Eric Blake  <ebb9@byu.net>
1319
1320         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
1321         declaration.
1322
1323 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
1324
1325         * lib/strptime.h (strptime): Use 'restrict' for args where
1326         POSIX requires this.
1327         * lib/strptime.c (strptime): Likewise.
1328         Change license notice from LGPL to GPL, since gnulib-tool will
1329         change this as needed.
1330         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
1331         defined.
1332         Include "strptime.h" first, to check interface.
1333         Do not #undef _LIBC and _NL_CURRENT.
1334         Do not include <stdlib.h>; no longer needed.
1335         Include "time_r.h" and declare ptime_locale_status
1336         only if _LIBC is not defined.
1337         (__P): Remove unused macro.
1338         (match_string): Bring back glibc version, but use it only if _LIBC
1339         is defined.
1340         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
1341         Remove unnecessary assertion and abort() call.
1342         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
1343         * m4/strptime.m4: Fix serial number comment.
1344         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
1345         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
1346         (Depends-on): Add time_r.
1347
1348 2007-01-29  Bruno Haible  <bruno@clisp.org>
1349
1350         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
1351         strptime.
1352         * modules/strptime (Depends-on): Add stdbool.
1353         * lib/strptime.h: Include <time.h> always. Add comments.
1354
1355 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
1356
1357         * modules/strptime: New file.
1358         * lib/strptime.h: New file.
1359         * lib/strptime.c: New file.
1360         * m4/strptime.m4: New file.
1361
1362 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
1363
1364         * MODULES.html.sh: New module mpsort.
1365         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
1366
1367         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
1368         a circularity problem with HP-UX ia64 reported by Bob Proulx in
1369         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
1370         All uses changed.
1371         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
1372         All uses changed.
1373         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
1374         to _Restrict_.
1375         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
1376         the parameter matches the prototype.
1377
1378 2007-01-28  Jim Meyering  <jim@meyering.net>
1379
1380         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
1381         sys/time.h here, reverting that part of the previous patch:
1382         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
1383
1384 2007-01-28  Bruno Haible  <bruno@clisp.org>
1385
1386         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
1387         value of $(SYS_TIME_H).
1388         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
1389         remove it conditionally, too. [added by Jim Meyering]
1390         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
1391         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
1392         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
1393         GETTIMEOFDAY_REPLACEMENT to 1.
1394
1395 2007-01-28  Bruno Haible  <bruno@clisp.org>
1396
1397         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
1398         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
1399         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
1400         Set UNISTD_H instead of UNISTD_H2.
1401         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
1402
1403 2007-01-28  Bruno Haible  <bruno@clisp.org>
1404
1405         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
1406         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
1407
1408 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1409
1410         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
1411         (func_create_testdir): Ensure C locale for `grep' and `tr'
1412         character ranges.
1413         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
1414         ACLOCAL_AMFLAGS parsing state machine.
1415
1416 2007-01-27  Bruno Haible  <bruno@clisp.org>
1417
1418         * modules/unistr/base: Update.
1419
1420 2007-01-27  Bruno Haible  <bruno@clisp.org>
1421
1422         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
1423         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
1424         * modules/unistr/u32-mbtouc-unsafe: Renamed from
1425         modules/unistr/u32-mbtouc.
1426         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
1427         * lib/unistr.h: Update.
1428         * lib/linebreak.c: Update.
1429         * modules/unistr/u32-mbtouc: Renamed from
1430         modules/unistr/u32-mbtouc-safe.
1431         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
1432         * lib/unistr.h: Update.
1433         * lib/unistr/u32-to-u8.c: Update.
1434         * lib/unistr/u32-to-u16.c: Update.
1435
1436 2007-01-27  Bruno Haible  <bruno@clisp.org>
1437
1438         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
1439         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
1440         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
1441         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
1442         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
1443         * modules/unistr/u16-mbtouc-unsafe: Renamed from
1444         modules/unistr/u16-mbtouc.
1445         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
1446         * lib/unistr.h: Update.
1447         * lib/linebreak.c: Update.
1448         * modules/linebreak: Update.
1449         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
1450         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
1451         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
1452         * modules/unistr/u16-mbtouc: Renamed from
1453         modules/unistr/u16-mbtouc-safe.
1454         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
1455         * lib/unistr.h: Update.
1456         * lib/unistr/u16-to-u8.c: Update.
1457         * modules/unistr/u16-to-u8: Update.
1458         * lib/unistr/u16-to-u32.c: Update.
1459         * modules/unistr/u16-to-u32: Update.
1460
1461 2007-01-27  Bruno Haible  <bruno@clisp.org>
1462
1463         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
1464         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
1465         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
1466         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
1467         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
1468         * modules/unistr/u8-mbtouc-unsafe: Renamed from
1469         modules/unistr/u8-mbtouc.
1470         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
1471         * lib/unistr.h: Update.
1472         * lib/striconveh.c: Update.
1473         * modules/striconveh: Update.
1474         * lib/linebreak.c: Update.
1475         * modules/linebreak: Update.
1476         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
1477         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
1478         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
1479         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
1480         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
1481         * lib/unistr.h: Update.
1482         * lib/striconveh.c: Update.
1483         * modules/striconveh: Update.
1484         * lib/unistr/u8-to-u16.c: Update.
1485         * modules/unistr/u8-to-u16: Update.
1486         * lib/unistr/u8-to-u32.c: Update.
1487         * modules/unistr/u8-to-u32: Update.
1488
1489 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1490
1491         Sync from Libtool.
1492         * lib/argz.c: Do not include strings.h nor memory.h, include
1493         string.h unconditionally.  Patch by Simon Josefsson.
1494
1495 2007-01-27  Bruno Haible  <bruno@clisp.org>
1496
1497         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
1498         from gl_HEADER_STRING_H_BODY.
1499         (gl_HEADER_STRING_H_BODY): Require it.
1500         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
1501         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
1502         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
1503         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
1504         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1505         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
1506         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
1507         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
1508         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
1509         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
1510         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
1511         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
1512         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
1513         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
1514         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
1515
1516 2007-01-27  Bruno Haible  <bruno@clisp.org>
1517
1518         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
1519         check_PROGRAMS into noinst_PROGRAMS.
1520         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
1521         check_PROGRAMS in this case.
1522         (func_import): Set for_test to false.
1523         (func_create_testdir): Set for_test to true.
1524
1525 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
1526             Bruno Haible  <bruno@clisp.org>
1527
1528         * modules/strcasestr (Files): Remove lib/strcasestr.h.
1529         (Depends-on): Add string.
1530         (Includes): Use <string.h> instead of strcasestr.h.
1531         * modules/string (Makefile.am): Also substitute the value of
1532         REPLACE_STRCASESTR.
1533         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
1534         assume strcasestr is declared in <string.h> not <strings.h>. Also
1535         set REPLACE_STRCASESTR.
1536         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
1537         REPLACE_STRCASESTR.
1538         * lib/strcasestr.h: Remove file.
1539         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
1540         * lib/string_.h (strcasestr): New declaration.
1541
1542 2007-01-27  Bruno Haible  <bruno@clisp.org>
1543
1544         * lib/string_.h: Use 'extern'.
1545
1546 2007-01-27  Jim Meyering  <jim@meyering.net>
1547
1548         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
1549         of set-but-not-used local, "q".
1550
1551         * lib/mempcpy.c: Include <config.h> before <string.h>.
1552         This fixes a compilation error on HP-UX, due to the system's
1553         "restrict"-using mempcpy prototype.
1554
1555 2007-01-26  Bruno Haible  <bruno@clisp.org>
1556
1557         Small optimization.
1558         * lib/javacomp.c: Include c-strstr.h.
1559          (is_envjavac_gcj): Use c_strstr instead of strstr.
1560         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
1561
1562 2007-01-26  Bruno Haible  <bruno@clisp.org>
1563
1564         * MODULES.html.sh (Unicode string functions): Add the new modules.
1565
1566         * modules/uniconv/u32-strconv-to-locale: New file.
1567         * lib/uniconv/u32-strconv-to-locale.c: New file.
1568
1569         * modules/uniconv/u16-strconv-to-locale: New file.
1570         * lib/uniconv/u16-strconv-to-locale.c: New file.
1571
1572         * modules/uniconv/u8-strconv-to-locale: New file.
1573         * lib/uniconv/u8-strconv-to-locale.c: New file.
1574
1575         * modules/uniconv/u32-strconv-from-locale: New file.
1576         * lib/uniconv/u32-strconv-from-locale.c: New file.
1577
1578         * modules/uniconv/u16-strconv-from-locale: New file.
1579         * lib/uniconv/u16-strconv-from-locale.c: New file.
1580
1581         * modules/uniconv/u8-strconv-from-locale: New file.
1582         * lib/uniconv/u8-strconv-from-locale.c: New file.
1583
1584         * modules/uniconv/u32-strconv-to-enc: New file.
1585         * lib/uniconv/u32-strconv-to-enc.c: New file.
1586         * modules/uniconv/u32-strconv-to-enc-tests: New file.
1587         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
1588
1589         * modules/uniconv/u16-strconv-to-enc: New file.
1590         * lib/uniconv/u16-strconv-to-enc.c: New file.
1591         * lib/uniconv/u-strconv-to-enc.h: New file.
1592         * modules/uniconv/u16-strconv-to-enc-tests: New file.
1593         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
1594
1595         * modules/uniconv/u8-strconv-to-enc: New file.
1596         * lib/uniconv/u8-strconv-to-enc.c: New file.
1597         * modules/uniconv/u8-strconv-to-enc-tests: New file.
1598         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
1599
1600         * modules/uniconv/u32-strconv-from-enc: New file.
1601         * lib/uniconv/u32-strconv-from-enc.c: New file.
1602         * modules/uniconv/u32-strconv-from-enc-tests: New file.
1603         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
1604
1605         * modules/uniconv/u16-strconv-from-enc: New file.
1606         * lib/uniconv/u16-strconv-from-enc.c: New file.
1607         * modules/uniconv/u16-strconv-from-enc-tests: New file.
1608         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
1609
1610         * modules/uniconv/u8-strconv-from-enc: New file.
1611         * lib/uniconv/u8-strconv-from-enc.c: New file.
1612         * lib/uniconv/u-strconv-from-enc.h: New file.
1613         * modules/uniconv/u8-strconv-from-enc-tests: New file.
1614         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
1615
1616         * modules/uniconv/u32-conv-from-enc: New file.
1617         * lib/uniconv/u32-conv-from-enc.c: New file.
1618         * modules/uniconv/u32-conv-from-enc-tests: New file.
1619         * tests/uniconv/test-u32-conv-from-enc.c: New file.
1620
1621         * modules/uniconv/u16-conv-from-enc: New file.
1622         * lib/uniconv/u16-conv-from-enc.c: New file.
1623         * lib/uniconv/u-conv-from-enc.h: New file.
1624         * modules/uniconv/u16-conv-from-enc-tests: New file.
1625         * tests/uniconv/test-u16-conv-from-enc.c: New file.
1626
1627         * modules/uniconv/u8-conv-from-enc: New file.
1628         * lib/uniconv/u8-conv-from-enc.c: New file.
1629         * modules/uniconv/u8-conv-from-enc-tests: New file.
1630         * tests/uniconv/test-u8-conv-from-enc.c: New file.
1631
1632         * modules/uniconv/base: New file.
1633         * lib/uniconv.h: New file.
1634
1635 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
1636
1637         * doc/gnulib-tool.texi (Initial import): Update to match current
1638         behavior with strdup module.
1639         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
1640         * lib/memmem.h: Remove; all uses removed.  This is now done
1641         by <string.h>.
1642         * lib/mempcpy.h: Likewise.
1643         * lib/memrchr.h: Likewise.
1644         * lib/stpcpy.h: Likewise.
1645         * lib/stpncpy.h: Likewise.
1646         * lib/strcase.h: Likewise.
1647         * lib/strchrnul.h: Likewise.
1648         * lib/strdup.h: Likewise.
1649         * lib/strndup.h: Likewise.
1650         * lib/strnlen.h: Likewise.
1651         * lib/strpbrk.h: Likewise.
1652         * lib/strsep.h: Likewise.
1653         * lib/strstr.h: Likewise.
1654         * lib/strtok_r.h: Likewise.
1655         * lib/string_.h: New file.
1656         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
1657         Rely on <string.h> instead.
1658         * lib/canon-host.c: Likewise.
1659         * lib/chdir-long.c: Likewise.
1660         * lib/concatpath.c: Likewise.
1661         * lib/exclude.c: Likewise.
1662         * lib/fchdir.c: Likewise.
1663         * lib/getaddrinfo.c: Likewise.
1664         * lib/getcwd.c: Likewise.
1665         * lib/getsubopt.c: Likewise.
1666         * lib/glob.c: Likewise.
1667         * lib/hard-locale.c: Likewise.
1668         * lib/iconvme.c: Likewise.
1669         * lib/javacomp.c: Likewise.
1670         * lib/mempcpy.c: Likewise.
1671         * lib/memrchr.c: Likewise.
1672         * lib/regex_internal.h: Likewise.
1673         * lib/stpncpy.c: Likewise.
1674         * lib/strcasecmp.c: Likewise.
1675         * lib/strchrnul.c: Likewise.
1676         * lib/strdup.c: Likewise.
1677         * lib/striconv.c: Likewise.
1678         * lib/striconveh.c: Likewise.
1679         * lib/striconveha.c: Likewise.
1680         * lib/strncasecmp.c: Likewise.
1681         * lib/strndup.c: Likewise.
1682         * lib/strnlen.c: Likewise.
1683         * lib/strsep.c: Likewise.
1684         * lib/strstr.c: Likewise.
1685         * lib/strtok_r.c: Likewise.
1686         * lib/userspec.c: Likewise.
1687         * lib/w32spawn.h: Likewise.
1688         * lib/xstrndup.c: Likewise.
1689         * lib/mountlist.c (strstr): Remove decl.
1690         * m4/string_h.m4: New file.
1691         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
1692         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
1693         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
1694         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
1695         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
1696         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
1697         Set REPLACE_STRCASECMP if necessary.
1698         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
1699         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
1700         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
1701         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
1702         HAVE_DECL_STRDUP if necessary.
1703         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
1704         since gl_FUNC_STRNDUP does that now.
1705         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
1706         Check for decl here...
1707         (gl_PREREQ_STRNLEN): ... not here.
1708         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
1709         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
1710         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
1711         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
1712         necessary.
1713         * modules/string: New file.
1714         * modules/memmem (Files): Remove special-purpose include file.
1715         (Depends-on): Add string.
1716         (Include): Include <string.h>, not the removed file.
1717         * modules/mempcpy: Likewise.
1718         * modules/memrchr: Likewise.
1719         * modules/stpcpy: Likewise.
1720         * modules/stpncpy: Likewise.
1721         * modules/strcase: Likewise.
1722         * modules/strchrnul: Likewise.
1723         * modules/strdup: Likewise.
1724         * modules/strndup: Likewise.
1725         * modules/strnlen: Likewise.
1726         * modules/strpbrk: Likewise.
1727         * modules/strsep: Likewise.
1728         * modules/strstr: Likewise.
1729         * modules/strtok_r: Likewise.
1730         * tests/test-dirname.c: Don't include "strdup.h", since
1731         <string.h> now suffices.
1732         * tests/test-memmem.c: Don't include "memmem.h", since
1733         <string.h> now suffices.
1734
1735 2007-01-25  Bruno Haible  <bruno@clisp.org>
1736
1737         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
1738         *resultp is 0.
1739
1740         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
1741         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
1742         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
1743         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
1744
1745         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
1746         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
1747         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
1748         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
1749         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
1750         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
1751
1752 2007-01-24  Bruno Haible  <bruno@clisp.org>
1753
1754         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
1755         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
1756         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
1757         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
1758         gl_FUNC_FTS_CORE.
1759         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
1760         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
1761         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
1762         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
1763         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
1764         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
1765         gl_FUNC_FCHOWNAT.
1766         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
1767         gl_FUNC_STRFTIME.
1768         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
1769         Reported by Ralf Wildenhues.
1770
1771 2007-01-24  Bruno Haible  <bruno@clisp.org>
1772
1773         Drop AC_REQUIRE calls that are redundant with the module dependencies.
1774         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
1775         gl_GETADDRINFO.
1776         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
1777         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
1778         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
1779
1780 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
1781
1782         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
1783         Don't use 'exit'; just return from 'main'.
1784         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
1785
1786         * lib/fnmatch_.h: Readjust white space and comments to match
1787         glibc, to avoid spurious diffs.
1788
1789 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1790
1791         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
1792         2004-12-01 change by Jakub Jelinek, since this code won't compile
1793         if !LIBC.  Problem reported by Bob Proulx.
1794
1795 2007-01-23  Bruno Haible  <bruno@clisp.org>
1796
1797         * lib/striconveh.c: Include c-strcaseeq.h.
1798         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
1799         * modules/striconveh (Depends-on): Add c-strcaseeq.
1800
1801 2007-01-23  Bruno Haible  <bruno@clisp.org>
1802
1803         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
1804
1805         * modules/c-strcaseeq: New file.
1806         * lib/c-strcaseeq.h: New file.
1807
1808         * modules/streq: New file.
1809         * lib/streq.h: New file.
1810
1811 2007-01-23  Bruno Haible  <bruno@clisp.org>
1812
1813         * modules/striconveha-tests: New file.
1814         * tests/test-striconveha.c: New file.
1815
1816         * lib/striconveha.h: Include <stdbool.h>.
1817         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
1818         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
1819         (mem_iconveha_notranslit): Renamed from mem_iconveha.
1820         (mem_iconveha): New function.
1821         (str_iconveha_notranslit): Renamed from str_iconveha.
1822         (str_iconveha): New function.
1823         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
1824         c-strcase.
1825
1826 2007-01-23  Bruno Haible  <bruno@clisp.org>
1827
1828         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
1829         encodings without forgiving before trying any encoding with handler.
1830         (str_iconveha): Try all encodings without forgiving before trying any
1831         encoding with handler.
1832
1833 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1834
1835         Import the following changes from libc.
1836
1837         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
1838
1839         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
1840
1841         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
1842
1843         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
1844         normal_bracket label.
1845
1846         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
1847
1848         [BZ #361]
1849         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
1850         to normal_bracket after fetching the next character.
1851
1852 2007-01-22  Bruno Haible  <bruno@clisp.org>
1853
1854         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
1855         argument.
1856         * lib/striconveh.c (iconv_carefully_1): New function.
1857         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
1858         argument.
1859         (str_cd_iconveh): Update.
1860         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
1861         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
1862         * tests/test-striconveh.c (MAGIC): New macro.
1863         (new_offsets): New function.
1864         (main): Test call with and without offsets.
1865
1866 2007-01-22  Bruno Haible  <bruno@clisp.org>
1867
1868         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
1869         * modules/sys_select (Makefile.am): Likewise.
1870         * modules/sys_socket (Makefile.am): Likewise.
1871         * modules/sys_time (Makefile.am): Likewise.
1872
1873 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
1874
1875         * modules/gettimeofday (License): Change from GPL to LGPL, since
1876         gettimeofday is a library function.
1877
1878 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
1879
1880         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
1881
1882 2007-01-21  Bruno Haible  <bruno@clisp.org>
1883
1884         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
1885
1886 2007-01-21  Bruno Haible  <bruno@clisp.org>
1887
1888         * modules/striconveha: New file.
1889         * lib/striconveha.h: New file.
1890         * lib/striconveha.c: New file.
1891         * MODULES.html.sh (Internationalization functions): Add striconveha.
1892         * lib/striconv.c (str_iconv): Optimize the case of an empty input
1893         string.
1894         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
1895
1896 2007-01-21  Bruno Haible  <bruno@clisp.org>
1897
1898         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
1899         * lib/striconveh.c (str_iconveh): Likewise.
1900
1901 2007-01-21  Bruno Haible  <bruno@clisp.org>
1902
1903         * lib/striconveh.h (mem_iconveh): New declaration.
1904         * lib/striconveh.c (mem_iconveh): New function.
1905         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
1906
1907 2007-01-21  Bruno Haible  <bruno@clisp.org>
1908
1909         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
1910
1911         * lib/striconveh.h (mem_cd_iconveh): Change specification.
1912         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
1913         original result buffer.
1914         (str_cd_iconveh): Update.
1915         * tests/test-striconveh.c (main): Update.
1916
1917         * lib/striconv.h (mem_cd_iconv): Change specification.
1918         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
1919         result buffer.
1920         (str_cd_iconv): Update.
1921         * tests/test-striconv.c (main): Update.
1922
1923 2007-01-21  Bruno Haible  <bruno@clisp.org>
1924
1925         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
1926
1927 2007-01-20  Jim Meyering  <jim@meyering.net>
1928
1929         * lib/userspec.c (parse_with_separator): If a user or group string
1930         starts with "+", skip the corresponding name-to-ID look-up, since
1931         such a look-up must fail: user and group names may not include "+".
1932
1933 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
1934
1935         * lib/poll.c: Include sys/time.h and time.h unconditionally,
1936         since we now assume the sys_time module.
1937         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
1938         check for sys/time.h; no longer needed.
1939         * modules/poll (Depends-on): Depend on sys_time.
1940
1941 2007-01-18  Bruno Haible  <bruno@clisp.org>
1942
1943         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
1944         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
1945
1946         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
1947         gettimeofday.
1948
1949         * tests/test-gettimeofday.c: Include <time.h>.
1950         (dummy): Remove variable.
1951
1952         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
1953         gl_HEADER_SYS_TIME_H.
1954         (gl_HEADER_SYS_TIME_H): New macro.
1955
1956         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
1957         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1958         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
1959         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
1960         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1961         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
1962         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
1963         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1964         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
1965         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
1966         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1967
1968         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
1969         last change; it caused a compilation error when cross-compiling to
1970         Cygwin.
1971
1972 2007-01-18  Jim Meyering  <jim@meyering.net>
1973
1974         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
1975         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
1976         than the race-prone "test -d sys || mkdir sys".
1977         (configure.ac): Use AC_PROG_MKDIR_P.
1978         * modules/sys_select: Likewise.
1979         * modules/sys_socket: Likewise.
1980         * modules/sys_time: Likewise.
1981
1982 2007-01-18  Eric Blake  <ebb9@byu.net>
1983
1984         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
1985         replace gettimeofday.
1986         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
1987         name, to avoid infinite recursion.
1988
1989 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
1990
1991         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
1992         module sys_time.
1993         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
1994         assume timespec.h defines struct timeval.
1995         * lib/settime.c: Likewise.
1996         * lib/utimens.c: Likewise.
1997         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
1998         since we now assume the gettimeofday module.
1999         * lib/tempname.c (__gen_tempname): Likewise.
2000         * lib/gettimeofday.h: Remove.
2001         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
2002         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
2003         Include <time.h>, for 'time()'.
2004         (localtime_buffer_addr): Also use this workaround if
2005         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
2006         to simplify the uses.  All uses changed.
2007         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
2008         that #undef is inside {}, and 'const' follows type name consistently.
2009         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
2010         (gettimeofday): Do not use the maximum possible value for
2011         tv->tv_usec, since that might break usages other than ls.c.
2012         Instead, we'll leave ls.c alone.  This undoes today's patch
2013         by Bruno.  Add a compile-time warning for 1s-clock resolution;
2014         we've never observed the problem but might as well keep the
2015         canary.
2016         * lib/nanosleep.c: Include timespec.h first, for interface check.
2017         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
2018         now assume the sys_time module.
2019         * lib/tempname.c: Likewise.
2020         * lib/timespec.h: Likewise.
2021         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
2022         needed.
2023         * lib/strftime.c: Likewise.
2024         * lib/timespec.h: Likewise.
2025         * lib/posixtm.c: Include posixtm.h first, for interface check.
2026         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
2027         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
2028         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
2029         * lib/sys_time_.h: New file.
2030         * lib/timespec.h (struct timespec): Use long int, not long.
2031         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
2032         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
2033         Remove obsolescent call to AC_HEADER_TIME.
2034         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
2035         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
2036         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
2037         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
2038         Likewise.
2039         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
2040         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
2041         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
2042         into the sys_time module.  Check for gettimeofday just once.
2043         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
2044         for gettimeofday signature to just check the signature.  Merely
2045         compile it, since linking doesn't test signature.  Improve test for
2046         whether gettimeofday.o is actually needed.
2047         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
2048         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
2049         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
2050         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2051         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
2052         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
2053         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
2054         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
2055         than worrying about sys/time.h.
2056         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
2057         Don't bother worrying about TIME_WITH_SYS_TIME.
2058         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
2059         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
2060         * m4/sys_time_h.m4: New file.
2061         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
2062         Don't include sys/time.h.  Return from main rather than exiting.
2063         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
2064         all uses changed.
2065         * modules/gethrxtime (Depends-on): Add sys_time.
2066         * modules/gettime (Depends-on): Likewise.
2067         * modules/gettimeofday (Depends-on): Likewise.
2068         * modules/nanosleep (Depends-on): Likewise.
2069         * modules/settime (Depends-on): Likewise.
2070         * modules/tempname (Depends-on): Likewise.
2071         * modules/utimens (Depends-on): Likewise.
2072         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
2073         (Include:) Change back to <sys/time.h>.
2074         (Maintainer:) Add self.
2075         * modules/sys_time: New file.
2076         * modules/tempname (Depends-on): Add gettimeofday.
2077         * tests/test-gettimeofday.c: Include <sys/time.h>
2078         rather than gettimeofday.h.
2079
2080 2007-01-17  Bruno Haible  <bruno@clisp.org>
2081
2082         * gnulib-tool (func_get_license): Revert last patch. Instead, let
2083         the license default to GPL.
2084         (func_create_testdir): Don't complain if a module is LGPL and its
2085         tests module depends on GPLed modules.
2086
2087 2007-01-17  Bruno Haible  <bruno@clisp.org>
2088
2089         * lib/gettimeofday.c (gettimeofday): Add code for the case
2090         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
2091         maximum possible value for tv->tv_usec, rather than the minimum one.
2092
2093 2005-10-08  Martin Lambers  <marlam@marlam.de>
2094 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2095 2007-01-16  Bruno Haible  <bruno@clisp.org>
2096
2097         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
2098         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
2099         gl_FUNC_GETTIMEOFDAY.
2100         (Include): Add gettimeofday.h.
2101         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
2102         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
2103         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
2104         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
2105         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
2106         * lib/gettimeofday.h: New file.
2107         * lib/gettimeofday.c: Include <sys/timeb.h>.
2108         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
2109         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
2110         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
2111         fall back on time().
2112
2113         * tests/test-gettimeofday.c: New file.
2114         * modules/gettimeofday-tests: New file.
2115
2116 2007-01-16  Eric Blake  <ebb9@byu.net>
2117
2118         * modules/fnmatch (Depends-on): Depend on wchar.
2119         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
2120         * m4/fnmatch.m4: Likewise.
2121         * modules/mbchar (Makefile.am): Assume <wchar.h>.
2122         * m4/mbchar.m4: Likewise.
2123         * modules/mbswidth (Depends-on): Depend on wchar.
2124         * lib/mbswidth.c: Assume <wchar.h>.
2125         * m4/mbswidth.m4: Likewise.
2126         * modules/quotearg (Depends-on): Depend on wchar.
2127         * lib/quotearg.c: Assume <wchar.h>.
2128         * m4/quotearg.m4: Likewise.
2129         * modules/regex (Depends-on): Depend on wchar.
2130         * lib/regex_internal.h: Assume <wchar.h>.
2131         * m4/regex.m4: Likewise.
2132         * modules/stdint (Depends-on): Depend on wchar.
2133         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
2134         * m4/stdint.m4: Likewise.
2135         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
2136         * modules/strftime (Depends-on): Depend on wchar.
2137         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
2138         * modules/strtol (Depends-on): Depend on wchar.
2139         * lib/strtol.c: Assume <wchar.h>.
2140         * modules/wcwidth (Depends-on): Depend on wchar.
2141         * lib/wcwidth.h: Assume <wchar.h>.
2142         * m4/wcwidth.m4: Likewise.
2143
2144 2007-01-16  Bruno Haible  <bruno@clisp.org>
2145
2146         * modules/csharpexec-script: New, created from...
2147         * modules/csharpexec: ... this.
2148
2149 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
2150
2151         * modules/javaexec-script: New, created from...
2152         * modules/javaexec: ... this.
2153
2154 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2155
2156         * modules/poll (Dependencies): Add sys_select.
2157
2158 2007-01-15  Jim Meyering  <jim@meyering.net>
2159
2160         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
2161         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
2162         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
2163         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
2164
2165 2007-01-15  Bruno Haible  <bruno@clisp.org>
2166
2167         * modules/striconveh: New file.
2168         * lib/striconveh.h: New file.
2169         * lib/striconveh.c: New file.
2170         * MODULES.html.sh (Internationalization functions): Add striconveh.
2171
2172         * modules/striconveh-tests: New file.
2173         * tests/test-striconveh.c: New file.
2174
2175 2007-01-15  Bruno Haible  <bruno@clisp.org>
2176
2177         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
2178         not from GNU libiconv or GNU libc.
2179
2180 2007-01-15  Bruno Haible  <bruno@clisp.org>
2181
2182         * doc/gnulib-intro.texi (Copyright): Explain the different license
2183         terms for module descriptions, autoconf macros, tests, documentation.
2184
2185 2007-01-14  Bruno Haible  <bruno@clisp.org>
2186
2187         * modules/striconv-tests: New file.
2188         * tests/test-striconv.c: New file.
2189
2190 2007-01-14  Bruno Haible  <bruno@clisp.org>
2191
2192         * modules/iconv-tests: New file.
2193         * tests/test-iconv.c: New file.
2194
2195 2007-01-14  Bruno Haible  <bruno@clisp.org>
2196
2197         * gnulib-tool (func_get_license): For test modules, use the license of
2198         the main module.
2199
2200 2007-01-14  Bruno Haible  <bruno@clisp.org>
2201
2202         * modules/iconv (Include): Clarify that <iconv.h> can only be included
2203         if iconv is found to exist.
2204
2205 2007-01-14  Bruno Haible  <bruno@clisp.org>
2206
2207         * modules/c-ctype-tests: New file.
2208         * tests/test-c-ctype.c: New file.
2209
2210 2007-01-14  Bruno Haible  <bruno@clisp.org>
2211
2212         * modules/binary-io-tests: New file.
2213         * tests/test-binary-io.sh: New file.
2214         * tests/test-binary-io.c: New file.
2215
2216 2007-01-14  Bruno Haible  <bruno@clisp.org>
2217
2218         * modules/array-oset-tests: New file.
2219         * tests/test-array_oset.c: New file.
2220
2221 2007-01-14  Bruno Haible  <bruno@clisp.org>
2222
2223         * modules/array-list-tests: New file.
2224         * tests/test-array_list.c: New file.
2225
2226 2007-01-14  Bruno Haible  <bruno@clisp.org>
2227
2228         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
2229         and make.
2230         Reported by Simon Josefsson in
2231         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
2232
2233 2007-01-14  Bruno Haible  <bruno@clisp.org>
2234
2235         * modules/allocsa-tests: New file.
2236         * tests/test-allocsa.c: New file.
2237
2238 2007-01-14  Bruno Haible  <bruno@clisp.org>
2239
2240         * modules/fchdir (Depends-on): Add absolute-header.
2241         * modules/unistd (Depends-on): Likewise.
2242
2243 2006-12-30  Bruno Haible  <bruno@clisp.org>
2244
2245         * modules/fchdir: New file.
2246         * modules/unistd (Files): Add lib/unistd_.h.
2247         (Makefile.am): Generate unistd.h from unistd_.h.
2248         * lib/fchdir.c: New file.
2249         * lib/dirent_.h: New file.
2250         * lib/unistd_.h: New file.
2251         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
2252         * m4/fchdir.m4: New file.
2253         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
2254         (gl_HEADER_UNISTD): Invoke it.
2255         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
2256         function.
2257         * lib/backupfile.c (opendir, closedir): Undefine.
2258         * lib/chown.c (open, close): Undefine.
2259         * lib/clean-temp.c (open, close): Undefine.
2260         * lib/copy-file.c (open, close): Undefine.
2261         * lib/execute.c (open, close): Undefine.
2262         * lib/fsusage.c (open, close): Undefine.
2263         * lib/gc-gnulib.c (open, close): Undefine.
2264         * lib/getcwd.c (opendir, closedir): Undefine.
2265         * lib/glob.c (opendir, closedir): Undefine.
2266         * lib/javacomp.c (open, close): Undefine.
2267         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
2268         * lib/openat-proc.c (open, close): Undefine.
2269         * lib/pagealign_alloc.c (open, close): Undefine.
2270         * lib/pipe.c (open, close): Undefine.
2271         * lib/progreloc.c (open, close): Undefine.
2272         * lib/savedir.c (opendir, closedir): Undefine.
2273         * lib/utime.c (open, close): Undefine.
2274         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
2275
2276 2007-01-10  Bruno Haible  <bruno@clisp.org>
2277
2278         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
2279
2280 2007-01-12  Eric Blake  <ebb9@byu.net>
2281
2282         Provide a robust <wchar.h>.  Further simplifications are now
2283         possible in other modules, but not included here.
2284         * modules/wchar: New module.
2285         * m4/wchar.m4: New file.
2286         * lib/wchar_.h: Likewise.
2287         * modules/mbchar (Depends-on): Depend on wchar, as the first use
2288         of the new module.
2289         * MODULES.html.sh (Extended multibyte and wide character utilities):
2290         New section.
2291
2292 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
2293
2294         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
2295         to a reasonable default for memory allocation.
2296         (xreadlink): Don't allocate a huge buffer, to work around a buggy
2297         file system that reports garbage st_size values for symlinks.
2298         Problem reported by Liyang Hu.
2299
2300 2007-01-11  Simon Josefsson  <simon@josefsson.org>
2301
2302         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
2303         Emacs .#* auto-save files).
2304
2305 2007-01-11  Bruno Haible  <bruno@clisp.org>
2306
2307         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
2308         directory.
2309
2310 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
2311
2312         Use @...@ consistently in lib/wctype_.h.
2313         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
2314         on it being set to 1 or 0.
2315         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
2316         go back to AC_SUBSTing it.
2317         * modules/wctype (Makefile.am): Undo previous change.
2318
2319 2007-01-10  Eric Blake  <ebb9@byu.net>
2320
2321         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
2322         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
2323         * modules/wctype (Makefile.am): Likewise.
2324         Reported by Chris McGuire.
2325
2326 2007-01-10  Jim Meyering  <jim@meyering.net>
2327
2328         fts.c: a small readability/maintainability improvement
2329         * lib/fts.c (fts_read): Make this code slightly more readable and
2330         maintainable by hoisting the "sp->fts_cur = p" assignments to
2331         immediately follow the statements that set P.  Derived from
2332         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
2333
2334 2007-01-10  Eric Blake  <ebb9@byu.net>
2335
2336         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
2337         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
2338         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
2339         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
2340         Reported by Chris McGuire.
2341
2342 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2343
2344         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
2345         in sed script.
2346
2347 2007-01-09  Bruno Haible  <bruno@clisp.org>
2348
2349         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
2350         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
2351         variables.
2352         (func_module): Use them.
2353
2354 2007-01-09  Bruno Haible  <bruno@clisp.org>
2355
2356         * modules/unistr/base: New file.
2357         * lib/unistr.h: New file.
2358
2359         * modules/unistr/u8-to-u16: New file.
2360         * lib/unistr/u8-to-u16.c: New file.
2361
2362         * modules/unistr/u8-to-u32: New file.
2363         * lib/unistr/u8-to-u32.c: New file.
2364
2365         * modules/unistr/u16-to-u8: New file.
2366         * lib/unistr/u16-to-u8.c: New file.
2367
2368         * modules/unistr/u16-to-u32: New file.
2369         * lib/unistr/u16-to-u32.c: New file.
2370
2371         * modules/unistr/u32-to-u8: New file.
2372         * lib/unistr/u32-to-u8.c: New file.
2373
2374         * modules/unistr/u32-to-u16: New file.
2375         * lib/unistr/u32-to-u16.c: New file.
2376
2377         * modules/unistr/u8-check: New file.
2378         * modules/unistr/u16-check: New file.
2379         * modules/unistr/u32-check: New file.
2380         * lib/unistr/u8-check.c: New file.
2381         * lib/unistr/u16-check.c: New file.
2382         * lib/unistr/u32-check.c: New file.
2383
2384         * modules/unistr/u8-chr: New file.
2385         * modules/unistr/u16-chr: New file.
2386         * modules/unistr/u32-chr: New file.
2387         * lib/unistr/u8-chr.c: New file.
2388         * lib/unistr/u16-chr.c: New file.
2389         * lib/unistr/u32-chr.c: New file.
2390
2391         * modules/unistr/u8-cmp: New file.
2392         * modules/unistr/u16-cmp: New file.
2393         * modules/unistr/u32-cmp: New file.
2394         * lib/unistr/u8-cmp.c: New file.
2395         * lib/unistr/u16-cmp.c: New file.
2396         * lib/unistr/u32-cmp.c: New file.
2397
2398         * modules/unistr/u8-cpy: New file.
2399         * modules/unistr/u16-cpy: New file.
2400         * modules/unistr/u32-cpy: New file.
2401         * lib/unistr/u8-cpy.c: New file.
2402         * lib/unistr/u16-cpy.c: New file.
2403         * lib/unistr/u32-cpy.c: New file.
2404         * lib/unistr/u-cpy.h: New file.
2405
2406         * modules/unistr/u8-cpy-alloc: New file.
2407         * modules/unistr/u16-cpy-alloc: New file.
2408         * modules/unistr/u32-cpy-alloc: New file.
2409         * lib/unistr/u8-cpy-alloc.c: New file.
2410         * lib/unistr/u16-cpy-alloc.c: New file.
2411         * lib/unistr/u32-cpy-alloc.c: New file.
2412         * lib/unistr/u-cpy-alloc.h: New file.
2413
2414         * modules/unistr/u8-endswith: New file.
2415         * modules/unistr/u16-endswith: New file.
2416         * modules/unistr/u32-endswith: New file.
2417         * lib/unistr/u8-endswith.c: New file.
2418         * lib/unistr/u16-endswith.c: New file.
2419         * lib/unistr/u32-endswith.c: New file.
2420         * lib/unistr/u-endswith.h: New file.
2421
2422         * modules/unistr/u8-mblen: New file.
2423         * modules/unistr/u16-mblen: New file.
2424         * modules/unistr/u32-mblen: New file.
2425         * lib/unistr/u8-mblen.c: New file.
2426         * lib/unistr/u16-mblen.c: New file.
2427         * lib/unistr/u32-mblen.c: New file.
2428
2429         * modules/unistr/u8-mbtouc: New file.
2430         * modules/unistr/u16-mbtouc: New file.
2431         * modules/unistr/u32-mbtouc: New file.
2432         * lib/unistr/u8-mbtouc.c: New file.
2433         * lib/unistr/u16-mbtouc.c: New file.
2434         * lib/unistr/u32-mbtouc.c: New file.
2435
2436         * modules/unistr/u8-mbtouc-safe: New file.
2437         * modules/unistr/u16-mbtouc-safe: New file.
2438         * modules/unistr/u32-mbtouc-safe: New file.
2439         * lib/unistr/u8-mbtouc-safe.c: New file.
2440         * lib/unistr/u16-mbtouc-safe.c: New file.
2441         * lib/unistr/u32-mbtouc-safe.c: New file.
2442
2443         * modules/unistr/u8-move: New file.
2444         * modules/unistr/u16-move: New file.
2445         * modules/unistr/u32-move: New file.
2446         * lib/unistr/u8-move.c: New file.
2447         * lib/unistr/u16-move.c: New file.
2448         * lib/unistr/u32-move.c: New file.
2449         * lib/unistr/u-move.h: New file.
2450
2451         * modules/unistr/u8-next: New file.
2452         * modules/unistr/u16-next: New file.
2453         * modules/unistr/u32-next: New file.
2454         * lib/unistr/u8-next.c: New file.
2455         * lib/unistr/u16-next.c: New file.
2456         * lib/unistr/u32-next.c: New file.
2457
2458         * modules/unistr/u8-prev: New file.
2459         * modules/unistr/u16-prev: New file.
2460         * modules/unistr/u32-prev: New file.
2461         * lib/unistr/u8-prev.c: New file.
2462         * lib/unistr/u16-prev.c: New file.
2463         * lib/unistr/u32-prev.c: New file.
2464
2465         * modules/unistr/u8-set: New file.
2466         * modules/unistr/u16-set: New file.
2467         * modules/unistr/u32-set: New file.
2468         * lib/unistr/u8-set.c: New file.
2469         * lib/unistr/u16-set.c: New file.
2470         * lib/unistr/u32-set.c: New file.
2471         * lib/unistr/u-set.h: New file.
2472
2473         * modules/unistr/u8-startswith: New file.
2474         * modules/unistr/u16-startswith: New file.
2475         * modules/unistr/u32-startswith: New file.
2476         * lib/unistr/u8-startswith.c: New file.
2477         * lib/unistr/u16-startswith.c: New file.
2478         * lib/unistr/u32-startswith.c: New file.
2479         * lib/unistr/u-startswith.h: New file.
2480
2481         * modules/unistr/u8-stpcpy: New file.
2482         * modules/unistr/u16-stpcpy: New file.
2483         * modules/unistr/u32-stpcpy: New file.
2484         * lib/unistr/u8-stpcpy.c: New file.
2485         * lib/unistr/u16-stpcpy.c: New file.
2486         * lib/unistr/u32-stpcpy.c: New file.
2487         * lib/unistr/u-stpcpy.h: New file.
2488
2489         * modules/unistr/u8-stpncpy: New file.
2490         * modules/unistr/u16-stpncpy: New file.
2491         * modules/unistr/u32-stpncpy: New file.
2492         * lib/unistr/u8-stpncpy.c: New file.
2493         * lib/unistr/u16-stpncpy.c: New file.
2494         * lib/unistr/u32-stpncpy.c: New file.
2495         * lib/unistr/u-stpncpy.h: New file.
2496
2497         * modules/unistr/u8-strcat: New file.
2498         * modules/unistr/u16-strcat: New file.
2499         * modules/unistr/u32-strcat: New file.
2500         * lib/unistr/u8-strcat.c: New file.
2501         * lib/unistr/u16-strcat.c: New file.
2502         * lib/unistr/u32-strcat.c: New file.
2503         * lib/unistr/u-strcat.h: New file.
2504
2505         * modules/unistr/u8-strchr: New file.
2506         * modules/unistr/u16-strchr: New file.
2507         * modules/unistr/u32-strchr: New file.
2508         * lib/unistr/u8-strchr.c: New file.
2509         * lib/unistr/u16-strchr.c: New file.
2510         * lib/unistr/u32-strchr.c: New file.
2511
2512         * modules/unistr/u8-strcmp: New file.
2513         * modules/unistr/u16-strcmp: New file.
2514         * modules/unistr/u32-strcmp: New file.
2515         * lib/unistr/u8-strcmp.c: New file.
2516         * lib/unistr/u16-strcmp.c: New file.
2517         * lib/unistr/u32-strcmp.c: New file.
2518
2519         * modules/unistr/u8-strcpy: New file.
2520         * modules/unistr/u16-strcpy: New file.
2521         * modules/unistr/u32-strcpy: New file.
2522         * lib/unistr/u8-strcpy.c: New file.
2523         * lib/unistr/u16-strcpy.c: New file.
2524         * lib/unistr/u32-strcpy.c: New file.
2525         * lib/unistr/u-strcpy.h: New file.
2526
2527         * modules/unistr/u8-strcspn: New file.
2528         * modules/unistr/u16-strcspn: New file.
2529         * modules/unistr/u32-strcspn: New file.
2530         * lib/unistr/u8-strcspn.c: New file.
2531         * lib/unistr/u16-strcspn.c: New file.
2532         * lib/unistr/u32-strcspn.c: New file.
2533         * lib/unistr/u-strcspn.h: New file.
2534
2535         * modules/unistr/u8-strdup: New file.
2536         * modules/unistr/u16-strdup: New file.
2537         * modules/unistr/u32-strdup: New file.
2538         * lib/unistr/u8-strdup.c: New file.
2539         * lib/unistr/u16-strdup.c: New file.
2540         * lib/unistr/u32-strdup.c: New file.
2541         * lib/unistr/u-strdup.h: New file.
2542
2543         * modules/unistr/u8-strlen: New file.
2544         * modules/unistr/u16-strlen: New file.
2545         * modules/unistr/u32-strlen: New file.
2546         * lib/unistr/u8-strlen.c: New file.
2547         * lib/unistr/u16-strlen.c: New file.
2548         * lib/unistr/u32-strlen.c: New file.
2549         * lib/unistr/u-strlen.h: New file.
2550
2551         * modules/unistr/u8-strmblen: New file.
2552         * modules/unistr/u16-strmblen: New file.
2553         * modules/unistr/u32-strmblen: New file.
2554         * lib/unistr/u8-strmblen.c: New file.
2555         * lib/unistr/u16-strmblen.c: New file.
2556         * lib/unistr/u32-strmblen.c: New file.
2557
2558         * modules/unistr/u8-strmbtouc: New file.
2559         * modules/unistr/u16-strmbtouc: New file.
2560         * modules/unistr/u32-strmbtouc: New file.
2561         * lib/unistr/u8-strmbtouc.c: New file.
2562         * lib/unistr/u16-strmbtouc.c: New file.
2563         * lib/unistr/u32-strmbtouc.c: New file.
2564
2565         * modules/unistr/u8-strncat: New file.
2566         * modules/unistr/u16-strncat: New file.
2567         * modules/unistr/u32-strncat: New file.
2568         * lib/unistr/u8-strncat.c: New file.
2569         * lib/unistr/u16-strncat.c: New file.
2570         * lib/unistr/u32-strncat.c: New file.
2571         * lib/unistr/u-strncat.h: New file.
2572
2573         * modules/unistr/u8-strncmp: New file.
2574         * modules/unistr/u16-strncmp: New file.
2575         * modules/unistr/u32-strncmp: New file.
2576         * lib/unistr/u8-strncmp.c: New file.
2577         * lib/unistr/u16-strncmp.c: New file.
2578         * lib/unistr/u32-strncmp.c: New file.
2579
2580         * modules/unistr/u8-strncpy: New file.
2581         * modules/unistr/u16-strncpy: New file.
2582         * modules/unistr/u32-strncpy: New file.
2583         * lib/unistr/u8-strncpy.c: New file.
2584         * lib/unistr/u16-strncpy.c: New file.
2585         * lib/unistr/u32-strncpy.c: New file.
2586         * lib/unistr/u-strncpy.h: New file.
2587
2588         * modules/unistr/u8-strnlen: New file.
2589         * modules/unistr/u16-strnlen: New file.
2590         * modules/unistr/u32-strnlen: New file.
2591         * lib/unistr/u8-strnlen.c: New file.
2592         * lib/unistr/u16-strnlen.c: New file.
2593         * lib/unistr/u32-strnlen.c: New file.
2594         * lib/unistr/u-strnlen.h: New file.
2595
2596         * modules/unistr/u8-strpbrk: New file.
2597         * modules/unistr/u16-strpbrk: New file.
2598         * modules/unistr/u32-strpbrk: New file.
2599         * lib/unistr/u8-strpbrk.c: New file.
2600         * lib/unistr/u16-strpbrk.c: New file.
2601         * lib/unistr/u32-strpbrk.c: New file.
2602         * lib/unistr/u-strpbrk.h: New file.
2603
2604         * modules/unistr/u8-strrchr: New file.
2605         * modules/unistr/u16-strrchr: New file.
2606         * modules/unistr/u32-strrchr: New file.
2607         * lib/unistr/u8-strrchr.c: New file.
2608         * lib/unistr/u16-strrchr.c: New file.
2609         * lib/unistr/u32-strrchr.c: New file.
2610
2611         * modules/unistr/u8-strspn: New file.
2612         * modules/unistr/u16-strspn: New file.
2613         * modules/unistr/u32-strspn: New file.
2614         * lib/unistr/u8-strspn.c: New file.
2615         * lib/unistr/u16-strspn.c: New file.
2616         * lib/unistr/u32-strspn.c: New file.
2617         * lib/unistr/u-strspn.h: New file.
2618
2619         * modules/unistr/u8-strstr: New file.
2620         * modules/unistr/u16-strstr: New file.
2621         * modules/unistr/u32-strstr: New file.
2622         * lib/unistr/u8-strstr.c: New file.
2623         * lib/unistr/u16-strstr.c: New file.
2624         * lib/unistr/u32-strstr.c: New file.
2625         * lib/unistr/u-strstr.h: New file.
2626
2627         * modules/unistr/u8-strtok: New file.
2628         * modules/unistr/u16-strtok: New file.
2629         * modules/unistr/u32-strtok: New file.
2630         * lib/unistr/u8-strtok.c: New file.
2631         * lib/unistr/u16-strtok.c: New file.
2632         * lib/unistr/u32-strtok.c: New file.
2633         * lib/unistr/u-strtok.h: New file.
2634
2635         * modules/unistr/u8-uctomb: New file.
2636         * modules/unistr/u16-uctomb: New file.
2637         * modules/unistr/u32-uctomb: New file.
2638         * lib/unistr/u8-uctomb.c: New file.
2639         * lib/unistr/u16-uctomb.c: New file.
2640         * lib/unistr/u32-uctomb.c: New file.
2641
2642         * MODULES.html.sh (Unicode string functions): Add the new modules.
2643
2644 2007-01-08  Bruno Haible  <bruno@clisp.org>
2645
2646         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
2647         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
2648         subdirectories.
2649
2650 2007-01-08  Karl Berry  <karl@gnu.org>
2651
2652         * doc/error.texi: mention that main() fns must set program_name
2653         when progname is used.
2654
2655 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
2656
2657         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
2658         WCTYPE_H is empty, for the benefit of builds from non-distclean
2659         directories.  Problem reported by Eric Blake in
2660         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
2661
2662 2007-01-08  Bruno Haible  <bruno@clisp.org>
2663
2664         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
2665         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
2666         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
2667         PROVIDE_CANONICALIZE_FILENAME_MODE.
2668         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
2669
2670 2007-01-08  Bruno Haible  <bruno@clisp.org>
2671
2672         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
2673         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
2674         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
2675         * lib/fts.c: Likewise.
2676         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
2677
2678 2006-12-25  Bruno Haible  <bruno@clisp.org>
2679
2680         * modules/utf8-ucs4-safe: New file.
2681         * lib/utf8-ucs4-safe.h: New file.
2682         * lib/unistr/utf8-ucs4-safe.c: New file.
2683
2684         * modules/utf16-ucs4-safe: New file.
2685         * lib/utf16-ucs4-safe.h: New file.
2686         * lib/unistr/utf16-ucs4-safe.c: New file.
2687
2688         * MODULES.html.sh (Unicode string functions): Add the new modules.
2689
2690 2007-01-08  Bruno Haible  <bruno@clisp.org>
2691
2692         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
2693         (Depends-on): Add unitypes.
2694         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
2695         (u8_mbtouc_aux): Move out to separate file.
2696         (u8_mbtouc): Use ucs4_t, uint8_t types.
2697         * lib/unistr/utf8-ucs4.c: New file.
2698
2699         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
2700         (Depends-on): Add unitypes.
2701         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
2702         (u16_mbtouc_aux): Move out to separate file.
2703         (u16_mbtouc): Use ucs4_t, uint16_t types.
2704         * lib/unistr/utf16-ucs4.c: New file.
2705
2706         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
2707         (Depends-on): Add unitypes.
2708         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
2709         (u8_uctomb_aux): Move out to separate file.
2710         (u8_uctomb): Use ucs4_t, uint8_t types.
2711         * lib/unistr/ucs4-utf8.c: New file.
2712
2713         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
2714         (Depends-on): Add unitypes.
2715         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
2716         (u16_uctomb_aux): Move out to separate file.
2717         (u16_uctomb): Use ucs4_t, uint16_t types.
2718         * lib/unistr/ucs4-utf16.c: New file.
2719
2720 2006-12-25  Bruno Haible  <bruno@clisp.org>
2721
2722         * modules/unitypes: New file.
2723         * lib/unitypes.h: New file.
2724         * MODULES.html.sh (func_all_modules): New section "Unicode string
2725         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
2726         this section. Add unitypes.
2727
2728 2007-01-08  Bruno Haible  <bruno@clisp.org>
2729
2730         Avoid variable names that conflict with those from libtool.
2731         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
2732         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
2733         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
2734         library_names_spec to acl_library_names_spec, hardcode_* to
2735         acl_hardcode_*.
2736         Reported by Ralf Wildenhues.
2737
2738 2007-01-08  Bruno Haible  <bruno@clisp.org>
2739
2740         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
2741         definition.
2742         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
2743         definition.
2744         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
2745         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
2746         definition.
2747         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
2748         definition.
2749         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
2750         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
2751         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
2752         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
2753         definition.
2754         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
2755         definition.
2756         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
2757         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
2758         GC_USE_<algorithm>.
2759         * lib/gc-libgcrypt.c: Likewise.
2760         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
2761         * modules/gc-arctwo (configure.ac): Likewise.
2762         * modules/gc-des (configure.ac): Likewise.
2763         * modules/gc-hmac-md5 (configure.ac): Likewise.
2764         * modules/gc-hmac-sha1 (configure.ac): Likewise.
2765         * modules/gc-md2 (configure.ac): Likewise.
2766         * modules/gc-md4 (configure.ac): Likewise.
2767         * modules/gc-md5 (configure.ac): Likewise.
2768         * modules/gc-random (configure.ac): Likewise.
2769         * modules/gc-rijndael (configure.ac): Likewise.
2770         * modules/gc-sha1 (configure.ac): Likewise.
2771
2772 2007-01-08  Bruno Haible  <bruno@clisp.org>
2773
2774         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
2775         macro definition.
2776         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
2777         definition.
2778         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
2779         definition.
2780         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
2781         * modules/fcntl-safer (configure.ac): Likewise.
2782         * modules/fopen-safer (configure.ac): Likewise.
2783         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
2784         GNULIB_FWRITEERROR macro definition.
2785
2786 2007-01-08  Bruno Haible  <bruno@clisp.org>
2787
2788         * m4/gnulib-common.m4: New file.
2789         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
2790         (func_get_filelist): Add m4/gnulib-common.m4.
2791
2792 2007-01-08  Bruno Haible  <bruno@clisp.org>
2793
2794         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
2795         command.
2796
2797 2007-01-08  Jim Meyering  <jim@meyering.net>
2798
2799         Use a more robust test for a "can't happen" condition.
2800         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
2801         narrowed the st_size value.  Presuming the "can't happen" condition
2802         is true, that narrowing could conceivably convert an invalid st_size
2803         value into a valid one.  Instead, use a change based on Matthew
2804         Woehlke's original patch.
2805
2806         Slight readability improvement: use an assert-like macro
2807         in place of literal "abort ()" uses.
2808         * lib/fts.c (fts_assert): Define.
2809         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
2810         Use this macro instead of a bare 'abort'.
2811
2812 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
2813
2814         Don't worry about using IRIX 5.3's wctype.h broken definitions;
2815         simply work around them.
2816         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
2817         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
2818         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
2819         declaring.
2820         Don't bother to define as macros, since the standard doesn't require it.
2821         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
2822         longer worry about IRIX 5.3.
2823         (HAVE_WCTYPE_CTMP_BUG): Remove.
2824
2825 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
2826
2827         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
2828         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
2829         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
2830         Problems reported by Georg Schwarz for IRIX 5.3.
2831
2832         * gnulib-tool (autoconf_minversion): Take the maximum version number
2833         found, not the minimum.  Problem reported by James Youngman.
2834
2835 2007-01-03  Karl Berry  <karl@gnu.org>
2836
2837         * doc/error.texi: new file, explaining interaction with progname.
2838         * doc/gnulib.texi: include it.  Update copyright.
2839
2840 2007-01-03  Simon Josefsson  <simon@josefsson.org>
2841
2842         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
2843         AC_CANONICAL_HOST, to improve autobuild outputs.
2844
2845 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
2846             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
2847
2848         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
2849         sockets, server sockets, and other file descriptors.  Count errors
2850         to compute the return value.  Reorder the code a bit to be easier
2851         to follow.  Don't set event bits that were not requested (except
2852         POLLERR and POLLHUP).
2853
2854 2007-01-01  Bruno Haible  <bruno@clisp.org>
2855
2856         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
2857
2858 2007-01-03  Jim Meyering  <jim@meyering.net>
2859
2860         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
2861
2862 2007-01-02  Bruno Haible  <bruno@clisp.org>
2863
2864         * modules/settime (Include): Require timespec.h.
2865         * modules/nanosleep (Include): Likewise.
2866
2867 2007-01-01  Bruno Haible  <bruno@clisp.org>
2868
2869         * gnulib-tool (func_emit_copyright_notice): Bump year.
2870         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
2871
2872 2007-01-01  Bruno Haible  <bruno@clisp.org>
2873
2874         Improve support for OpenBSD.
2875         * build-aux/config.rpath (libname_spec): Export.
2876         (library_names_spec): New variable. Export.
2877         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
2878         library_names_spec from the config.rpath output. Locate shared library
2879         through the name pattern in library_names_spec.
2880
2881 2007-01-01  Eric Blake  <ebb9@byu.net>
2882
2883         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
2884
2885 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
2886
2887         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
2888         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
2889         assume the C locale, and avoid an "eval" that could cause trouble.
2890         Problem with SORT reported by Bob Proulx.
2891
2892         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
2893         Define.  Trivial patch from Henning Nielsen Lund, originally
2894         sent to bug-grep@gnu.org today.
2895
2896 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
2897
2898         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
2899         struct stat.  Problem reported by Henning Nielsen Lund.
2900         * lib/acl.c: Include acl.h first, to check interface.  Don't
2901         bother to include sys/types.h and sys/stat.h again.
2902
2903 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
2904
2905         Import the following change from libc; problem reported by
2906         Sven Verdoolaege.
2907
2908         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
2909
2910         [BZ #1373]
2911         * lib/argp.h: Remove __NTH for __argp_usage inline function.
2912
2913 2006-12-28  Jim Meyering  <jim@meyering.net>
2914
2915         * build-aux/announce-gen: Do not assume that the package
2916         builds any of tar.gz, tar.bz2, and .xdelta files.
2917         Suggestion from Simon Josefsson.
2918
2919 2006-12-28  Simon Josefsson  <simon@josefsson.org>
2920
2921         * modules/announce-gen: New file.
2922
2923 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
2924
2925         * lib/mbchar.h: Just include <wctype.h>; the wctype module
2926         handles its gotchas now.
2927         * lib/mbswidth.c: Likewise.
2928         * lib/wcwidth.h: Likewise.
2929         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
2930         and iswcntrl; the wctype module does this stuff now.
2931         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
2932         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
2933         * modules/mbchar (Depends-on): Add wctype.
2934         * modules/mbswidth (Depends-on): Likewise.
2935         * modules/wcwidth (Depends-on): Likewise.
2936
2937 2006-12-27  Eric Blake  <ebb9@byu.net>
2938
2939         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
2940         module uses more than what <wctype.h> is required to provide.
2941
2942 2006-12-26  Eric Blake  <ebb9@byu.net>
2943
2944         * gnulib-tool (sed_extract_prog): Avoid space-tab.
2945
2946 2006-12-26  Eric Blake  <ebb9@byu.net>
2947
2948         * modules/absolute-header: New module.
2949         * modules/fcntl (Depends-on): Depend on it.
2950         * modules/inttypes (Depends-on): Likewise.
2951         * modules/stdint (Depends-on): Likewise.
2952         * modules/sys_stat (Depends-on): Likewise.
2953         * modules/wctype (Depends-on): Likewise.
2954         * MODULES.html.sh (Support for building libraries and
2955         executables): Document it.
2956
2957 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
2958
2959         * gnulib-tool (SED): Remove, undoing previous change.
2960         The problem was that it broke coreutils on Solaris, because
2961         "sed --posix" leaked into a makefile.
2962         (sed): New alias, if 'alias' and GNU sed.
2963
2964 2006-12-24  Jim Meyering  <jim@meyering.net>
2965
2966         Work around an fchownat bug in glibc-2.4:
2967         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
2968         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
2969         in spite of the -P option.
2970         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
2971         New macros.
2972         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
2973         * modules/openat (Files): Add lib/fchownat.c.
2974         * lib/openat.c (fchownat): Don't define here.  Move to...
2975         * lib/fchownat.c: ...this new file.
2976
2977 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
2978
2979         Fix bug reported by Bruno Haible in
2980         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
2981         where quotearg.c didn't compile on Mac OS X 10.2 because it
2982         lacks <wchar.h> and wint_t.
2983         * lib/wctype_.h (__wctype_wint_t): New type.
2984         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
2985         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
2986         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
2987         Arg is now of type __wctype_wint_t, not wint_t.
2988         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
2989         substitute HAVE_WINT_T.
2990         * modules/wctype (Files): Add m4/wint_t.m4.
2991         (wctype.h): Substitute HAVE_WINT_T.
2992
2993 2006-12-23  Bruno Haible  <bruno@clisp.org>
2994
2995         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
2996
2997 2006-12-23  Bruno Haible  <bruno@clisp.org>
2998
2999         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
3000         S_ISLNK.
3001         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
3002         mingw.
3003
3004 2006-12-22  Bruno Haible  <bruno@clisp.org>
3005
3006         * lib/copy-file.c: Include acl.h.
3007         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
3008         Close the file descriptors only after being done with copy_acl.
3009         * modules/copy-file (Depends-on): Add acl.
3010
3011 2006-12-22  Bruno Haible  <bruno@clisp.org>
3012
3013         * gnulib-tool (SED): New variable.
3014         Use $SED instead of sed everywhere.
3015
3016 2006-12-22  Bruno Haible  <bruno@clisp.org>
3017
3018         * modules/no-c++: New file.
3019         * m4/no-c++.m4: New file.
3020         * MODULES.html.sh (Support for building libraries and executables):
3021         Add no-c++.
3022
3023 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
3024
3025         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
3026         Include <limits.h>, and use its INT_MAX to rewrite the
3027         j loop so that it does not overflow 'int'.  Problem reported by
3028         Ralf Wildenhues in
3029         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
3030         Play it safe by shifting left by 1 rather than multiplying by 2,
3031         as GCC is less likely to optimize this away when the value
3032         is signed (when it assumes overflow leads to undefined behavior).
3033         Also, don't assume time_t uses two's complement.
3034
3035 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
3036
3037         * MODULES.html.sh: New module wctype.
3038         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
3039         * lib/fnmatch.c: Don't bother to include <wchar.h> before
3040         <wctype.h>, since the new wctype module should fix this.
3041         * lib/quotearg.c: Include <wctype.h> unconditionally, since
3042         the wctype module should arrange for it.
3043         * lib/regex_internal.h: Likewise.
3044         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
3045         since the wctype module should handle this now.
3046         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
3047         * modules/fnmatch (Depends-on): Add wctype.
3048         * modules/quotearg (Depends-on): Likewise.
3049         * modules/regex (Depends-on): Likewise.
3050
3051 2006-12-19  Bruno Haible  <bruno@clisp.org>
3052
3053         * lib/strdup.h [C++]: Wrap definitions in extern "C".
3054         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
3055
3056 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3057
3058         * modules/savewd (Depends-on): Fix dependency on fcntl.
3059
3060 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3061
3062         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
3063         conforms to C99, rather than relying on the user's environment
3064         setting of STDINT_H.
3065
3066 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3067         and Eric Blake  <ebb9@byu.net>
3068
3069         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
3070         This is more consistent with the other defines here.
3071         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
3072         Port to z/OS.  Problem reported by Paul Gilmartin.
3073         Change local vars to use gl_ prefix rather than ac_.
3074         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
3075         with other defines.
3076         * modules/double-slash-root: New module.
3077         * modules/dirname (Files): Remove m4/double-slash-root.m4.
3078         (Depends-on): Add double-slash-root.
3079         * MODULES.html.sh (File system functions): Mention new module.
3080
3081 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
3082
3083         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
3084         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
3085         This is for the benefit of gzip, which doesn't do i18n.
3086
3087 2006-12-12  Jim Meyering  <jim@meyering.net>
3088
3089         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
3090         Reported by Andreas Schwab <schwab@suse.de>.
3091
3092 2006-12-12  Bruno Haible  <bruno@clisp.org>
3093
3094         Merge these changes.
3095         2006-09-05  Bruno Haible  <bruno@clisp.org>
3096         * lib/iconvme.c (iconv_string): No need to save and restore errno when
3097         iconv_alloc succeeded.
3098         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
3099         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
3100         test for " && dest " at the end - dest is always != NULL there. Call
3101         iconv with 4xNULL arguments initially, to reset the state. Call iconv
3102         with 2xNULL arguments, also to flush the state storage. Handle the
3103         IRIX iconv behaviour. Realloc the final result, to throw away unused
3104         memory.
3105
3106 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
3107
3108         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
3109         and fchmodat unconditionally, since glibc 2.4 has them.
3110         Problem reported by Arkadiusz Miskiewicz.
3111
3112 2006-12-10  Bruno Haible  <bruno@clisp.org>
3113
3114         * gnulib-tool (func_import): Show the include files only for those
3115         modules that are copied and specified.
3116         Reported by Karl Berry.
3117
3118 2006-12-08  Jim Meyering  <jim@meyering.net>
3119
3120         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
3121         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
3122
3123         * build-aux/announce-gen: Add two new options, both optional:
3124         --bootstrap-tools=TOOL_LIST
3125               a comma-separated list of tools, e.g.,
3126               autoconf,automake,bison,gnulib
3127         --gnulib-snapshot-date=DATE
3128               if gnulib is in the bootstrap tool list,
3129               then report this as the snapshot date.
3130               If not specified, use the current date/time.
3131               If you specify a date here, be sure it's UTC.
3132
3133 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3134
3135         * tests/test-argp-2.sh: Fix test to match actual output.
3136         (func_compare): Fix sed script to be portable.
3137
3138 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
3139
3140         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
3141         workaround for this case.  It is not autoconfigured now; offhand
3142         it's hard to see how to autoconfigure it.
3143
3144 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
3145
3146         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
3147         a directory that is about to be chowned.  Such a directory's
3148         initial file permissions should permit the owner only and this
3149         should not be changed until after the chown, since the group and
3150         other bits would be incorrect if they granted permission before
3151         the chown.
3152
3153         Fix porting problem for iswctype reported by Georg Schwarz in:
3154         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
3155         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
3156         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
3157         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
3158         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
3159
3160 2006-12-03  Jim Meyering  <jim@meyering.net>
3161
3162         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
3163         p->fts_statp may not yet be defined.
3164         (fts_read): Instead, set it in the caller, once p->fts_statp is
3165         sure to be defined, and corresponds to a top-level directory.
3166         This bug made du -x fail.  Here's the coreutils test case:
3167         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
3168         Reported by Mike Frysinger.
3169
3170 2006-12-01  Jim Meyering  <jim@meyering.net>
3171
3172         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
3173         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
3174         Reported by Simon Josefsson.
3175
3176 2006-11-30  Jim Meyering  <jim@meyering.net>
3177
3178         * m4/warning.m4: Use the all-permissive copyright notice
3179         recommended by RMS (rather than LGPL).
3180         * m4/vararrays.m4: Likewise.
3181         * m4/flexmember.m4: Likewise.
3182
3183 2006-11-29  Bruno Haible  <bruno@clisp.org>
3184
3185         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3186         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
3187         using +=.
3188         Reported by Simon Josefsson <simon@josefsson.org>.
3189
3190 2006-11-28  James Youngman <jay@gnu.org>
3191
3192         * README: Advise users that they might find the bug-gnulib@gnu.org
3193         and autotools-announce@gnu.org mailing lists useful.
3194
3195 2006-11-28  Bruno Haible  <bruno@clisp.org>
3196
3197         * m4/ptrdiff_max.m4: Remove file.
3198
3199 2006-11-21  Bruno Haible  <bruno@clisp.org>
3200
3201         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
3202         _AC_COMPUTE_INT.
3203         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3204         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
3205         _AC_COMPUTE_INT.
3206         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3207         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
3208         _AC_COMPUTE_INT.
3209         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3210
3211 2006-11-28  Jim Meyering  <jim@meyering.net>
3212
3213         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
3214         warning from "gcc -Wshadow" about shadowing the builtin.
3215
3216 2006-11-27  Bruno Haible  <bruno@clisp.org>
3217
3218         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
3219         _AC_COMPUTE_INT.
3220         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
3221
3222 2006-11-27  Bruno Haible  <bruno@clisp.org>
3223             Paul Eggert  <eggert@cs.ucla.edu>
3224
3225         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
3226
3227 2006-11-26  Bruno Haible  <bruno@clisp.org>
3228
3229         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
3230         noinst_LTLIBRARIES.
3231
3232 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
3233             Bruno Haible  <bruno@clisp.org>
3234
3235         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
3236         if compiling with "gcc -ansi".
3237
3238 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
3239
3240         Fix some incompatibilities with gcc -ansi -pedantic.
3241         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
3242         if compiling pedantically with GCC, unless it's C99 or later.
3243         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
3244         it mishandles gcc -ansi -pedantic as well.
3245         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
3246         if gcc -pedantic.
3247         * lib/regexec.c (check_node_accept_bytes): Don't use auto
3248         initializers for struct if -pedantic, unless it's C99 or later.
3249
3250 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
3251
3252         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
3253         Don't close an fd more than once. Identical atimes indicate
3254         success, not failure.
3255
3256 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
3257
3258         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
3259
3260 2006-11-23  Jim Meyering  <jim@meyering.net>
3261
3262         * build-aux/announce-gen: New file.  From coreutils.
3263
3264 2006-11-22  Jim Meyering  <jim@meyering.net>
3265
3266         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
3267         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
3268         (fts_read): Use a temporary to narrow the overused st_size member
3269         before using it in a switch statement.  Reported by Matthew Woehlke.
3270
3271         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
3272         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
3273
3274 2006-11-20  Bruno Haible  <bruno@clisp.org>
3275
3276         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
3277         changequote instead of pairs of brackets.
3278         Reported by Andreas Schwab <schwab@suse.de>.
3279
3280 2006-11-21  Jim Meyering  <jim@meyering.net>
3281
3282         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
3283         so as to remain compatible with older compilers.
3284         Patch from Michael Deutschmann.
3285
3286 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3287
3288         * MODULES.html.sh (File system functions): Add openat.
3289
3290         * lib/openat.h (rpl_fstatat): New macro, if
3291         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
3292         (fstatat): Define to rpl_fstatat under the same conditions,
3293         unless COMPILING_FSTATAT.
3294         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
3295         seems to have the bug.
3296         * lib/fstatat.c: New file.
3297         * modules/openat (Files): Add it.
3298
3299 2006-11-20  Bruno Haible  <bruno@clisp.org>
3300
3301         * Makefile: New file.
3302
3303 2006-11-20  Jim Meyering  <jim@meyering.net>
3304
3305         The beginnings of syntax-related checks for gnulib.
3306         * lib/Makefile: New file.
3307         * lib/t-idcache: New script.  Ensure that the two halves of
3308         idcache.c stay in sync.
3309
3310         * lib/idcache.c: Adjust comments in user- and group- portions to
3311         be more accurate, and to be consistent with one another.
3312
3313 2006-11-20  Jim Meyering  <jim@meyering.net>
3314
3315         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
3316         continue using the flexible array member (thus, this module performs
3317         half as many malloc calls), with the addition that...
3318         (getgroup, getuser): Consistently record a non-match via an empty
3319         "name" string, and map an empty string match to a NULL return value.
3320         * modules/idcache (Depends-on): Re-add flexmember.
3321
3322         * lib/idcache.c (getuser): Remove all uses of the register keyword.
3323         (getuidbyname, getgroup, getgidbyname): Likewise.
3324
3325         Use cleaner syntax: NULL rather than 0.
3326         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
3327
3328 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
3329
3330         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
3331         It mishandled the case where the group was missing.
3332         Problem reported by Greg Schafer.
3333         * modules/idcache: Likewise.
3334
3335 2006-11-18  Jim Meyering  <jim@meyering.net>
3336
3337         * check-module (%exempt_header): Add exception for some
3338         conditionally-included headers.
3339
3340         * modules/i-ring (Depends-on): Add verify.
3341         (License): Change to LGPL.
3342
3343 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
3344
3345         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
3346         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
3347         and inttostr.h.  Use snprintf rather than uinttostr, so that
3348         LGPLed code doesn't depend on GPLed.
3349
3350 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
3351
3352         * modules/inline (License): Change from GPL to LGPL.
3353
3354 2006-11-17  Jim Meyering  <jim@meyering.net>
3355
3356         * modules/d-type (License): Switch to LGPL.
3357
3358 2006-11-15  Bruno Haible  <bruno@clisp.org>
3359
3360         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
3361
3362 2006-11-15  Eric Blake  <ebb9@byu.net>
3363
3364         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
3365         the module dependency.
3366
3367 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
3368             Bruno Haible  <bruno@clisp.org>
3369
3370         * gnulib-tool (func_create_testdir): Add license consistency check.
3371
3372 2006-11-15  Eric Blake  <ebb9@byu.net>
3373
3374         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
3375         random "(cached)" in configure output.
3376
3377 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3378
3379         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
3380         test for conforming inttypes.h is both announced and cached.
3381
3382         * MODULES.html.sh (seen_modules, seen_files): New variables.
3383         (func_module): Rewrite to use a few less gnulib-tool and sed
3384         invocations.  Avoid a couple of quadratic algorithms for ...
3385         (missed_modules, missed_files): ... these, with ...
3386         (func_append, func_tmpdir): ... these new functions, from
3387         gnulib-tool.  Analogously, install traps for cleanup.
3388
3389         * tests/test-gc.c (main): Remove unused variables.
3390         * tests/test-read-file.c: Include stdlib.h, for 'free'.
3391
3392 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
3393
3394         * modules/inttostr (License): Change to LGPL.
3395
3396 2006-11-14  Eric Blake  <ebb9@byu.net>
3397
3398         * modules/tempname (License): Change to LGPL.
3399
3400 2006-11-14  Eric Blake  <ebb9@byu.net>
3401
3402         * doc/functions.texi (Function Portability): *printf functions on
3403         Cygwin now understand all POSIX size specifiers.
3404
3405 2006-11-14  Bruno Haible  <bruno@clisp.org>
3406
3407         * modules/c-ctype (License): Change to LGPL.
3408
3409 2006-11-12  Bruno Haible  <bruno@clisp.org>
3410
3411         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
3412         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
3413         for GNOME libraries, for which the include files are installed in
3414         subdirectories of $prefix/include.
3415
3416 2006-11-12  Bruno Haible  <bruno@clisp.org>
3417
3418         * m4/lib-link.m4: Require at least autoconf-2.54.
3419         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
3420         name to underscores for the --with option.
3421
3422 2006-11-13  Bruno Haible  <bruno@clisp.org>
3423
3424         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
3425         the tests directory.
3426         Reported by Ralf Wildenhues.
3427
3428 2006-11-13  Bruno Haible  <bruno@clisp.org>
3429
3430         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
3431         (func_emit_initmacro_end): Undo the override here.
3432         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
3433         Works around the famous automake error in coreutils.
3434
3435 2006-11-13  Eric Blake  <ebb9@byu.net>
3436
3437         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
3438         element, not its node.
3439
3440 2006-11-12  Bruno Haible  <bruno@clisp.org>
3441
3442         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
3443         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
3444
3445 2006-11-12  Bruno Haible  <bruno@clisp.org>
3446
3447         * gnulib-tool: New option --local-symlink.
3448         (func_usage): Document it.
3449         (lsymbolic): New variable.
3450         (func_import, func_create_testdir): If --symlink was not specified,
3451         test whether --local-symlink was specified and the file comes from
3452         the local_gnulib_dir.
3453
3454 2006-11-12  Bruno Haible  <bruno@clisp.org>
3455
3456         * gnulib-tool (func_ln): New function.
3457         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
3458
3459 2006-11-12  Bruno Haible  <bruno@clisp.org>
3460
3461         Finish support for source files in subdirectories.
3462         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
3463         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
3464         AUTOMAKE_OPTIONS.
3465         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
3466
3467 2006-11-12  Bruno Haible  <bruno@clisp.org>
3468
3469         * gnulib-tool (func_get_automake_snippet): Synthesize also an
3470         EXTRA_lib_SOURCES augmentation.
3471         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
3472
3473 2006-11-12  Jim Meyering  <jim@meyering.net>
3474
3475         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
3476         file descriptors.  This also averts a failure on systems with
3477         native openat support when a traversed directory lacks "x" access.
3478         * lib/fts_.h: Include "i-ring.h"
3479         (struct FTS) [fts_fd_ring]: New member.
3480         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
3481         (FCHDIR): Add parentheses.
3482         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
3483         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
3484         When descending, rather than simply closing the previous
3485         fts_cwd_fd value, push that file descriptor onto the ring.
3486         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
3487         (fts_open): Initialize the new fd_ring member.
3488         (fts_close): Clear the ring.
3489         (fts_safe_changedir): When possible, use our new fd_ring to skip
3490         the diropen and fstat and dev/ino comparison that would normally
3491         accompany a virtual `chdir ("..")'.
3492
3493         * modules/fts (Depends-on): Add i-ring.
3494         * modules/i-ring: New module.
3495         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
3496         * m4/i-ring.m4: New file.
3497
3498 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3499
3500         * gnulib-tool (func_create_testdir): Fix replacement of
3501         `build-aux' in configure.ac.  Run autotools in gltests
3502         subdirectory.
3503         (func_create_testdir, func_create_megatestdir, test): There is
3504         no need for '--force' in most autotool invocations in a new
3505         tree.  Actually fail the whole test if any of the tools, or the
3506         configure or make stages fail.
3507
3508         Sync from Automake.
3509         * build-aux/gnupload: Revert last change.  Add pointer to upload
3510         instructions of the GNU Maintenance Instructions.
3511         Suggestion by Karl Berry.
3512
3513 2006-11-10  Jim Meyering  <jim@meyering.net>
3514
3515         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
3516
3517 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3518
3519         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
3520         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
3521         (bind_textdomain_codeset) [! ENABLE_NLS]:
3522         Evaluate all the arguments.  That way, callers get compatible behavior
3523         if the arguments have side effects.  Also, it avoids some GCC
3524         diagnostics in some cases; Joel E. Denny reported problems when Bison
3525         was configured with --enable-gcc-warnigs.
3526
3527 2006-11-10  Jim Meyering  <jim@meyering.net>
3528
3529         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
3530         relevant options in CFLAGS (like -O, -fno-inline) are taken into
3531         account.
3532
3533 2006-11-10  Jim Meyering  <jim@meyering.net>
3534
3535         * modules/inline: New file/module.
3536         * modules/xalloc (Files): Remove m4/inline.m4.
3537         (Depends-on): Add inline, instead.
3538         * modules/oset: Likewise.
3539         * modules/list: Likewise.
3540
3541 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3542
3543         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
3544         Problem reported by Matthew Woehlke.
3545
3546 2006-11-09  Bruno Haible  <bruno@clisp.org>
3547
3548         * lib/tempname.c (gen_tempname): Remove variant that invokes
3549         __gen_tempname.
3550         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
3551         __gen_tempname.
3552
3553 2006-11-08  Bruno Haible  <bruno@clisp.org>
3554
3555         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
3556         to 'yes' instead of 'cross-compiling'.
3557
3558 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
3559
3560         * lib/quotearg.h (quotearg_free): New decl.
3561         * lib/quotearg.c (quotearg_free): New function.
3562         (slot0, nslots, slotvec0, slotvec):
3563         Now file-scope so that quotearg_free can get at them.
3564
3565 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3566
3567         Sync from Automake.
3568         * build-aux/gnupload: Add missing 'gnu' to example URL.
3569         Report by Karl Berry.
3570
3571 2006-11-08  Bruno Haible  <bruno@clisp.org>
3572
3573         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
3574         Suggested by Paul Eggert.
3575
3576 2006-11-08  Jim Meyering  <jim@meyering.net>
3577
3578         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
3579         It's already included if !_LIBC.
3580         (fts_safe_changedir): Add a comment.
3581
3582 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
3583
3584         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
3585         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
3586         Matthew Woehlke.
3587
3588         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
3589         definitions up, to avoid colliding with change below.
3590         (static_inline) [HAVE_INLINE]: New macro.
3591         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
3592         Provide extern decls when !HAVE_INLINE.  Do not define unless
3593         static_inline is defined, either by us or by xmalloc.c.  Use
3594         static_inline rather than static inline.
3595         (XCALLOC): Optimize sizeof(T) = 1 case.
3596         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
3597
3598 2006-11-07  Bruno Haible  <bruno@clisp.org>
3599
3600         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
3601         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
3602         AC_C_INLINE.
3603         * modules/xalloc (Files): Add m4/inline.m4.
3604
3605 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3606
3607         * README: Fix typo.
3608         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
3609         (Miscellanous Notes): ...from this.
3610
3611 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
3612
3613         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3614         Mention that offsetof should be used instead of sizeof.
3615         From Bruno Haible.
3616
3617 2006-11-07  Bruno Haible  <bruno@clisp.org>
3618
3619         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
3620
3621 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3622
3623         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
3624         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
3625         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
3626         (gl_tree_add_before, gl_tree_add_after):
3627         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
3628         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
3629         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
3630         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
3631         (gl_linked_add_after, gl_linked_add_at): Likewise.
3632         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
3633         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
3634         (gl_tree_add_before, gl_tree_add_after): Likewise.
3635         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
3636         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
3637         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
3638
3639 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3640
3641         * lib/gl_oset.h: Use C comment style, not C++ comment style.
3642
3643 2006-11-06  Bruno Haible  <bruno@clisp.org>
3644
3645         * m4/inline.m4: New file.
3646         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
3647         * modules/list (Files): Add m4/inline.m4.
3648         * modules/oset (Files): Likewise.
3649
3650 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3651
3652         * lib/idcache.c: Include <stddef.h>, for offsetof.
3653         (struct userid.name): Change from char * to a flexible array member.
3654         All uses changed.
3655         * modules/idcache (Depends-on): Add flexmember.
3656
3657         * MODULES.html.sh (Core language properties): New module flexmember.
3658         * modules/flexmember, m4/flexmember.m4: New files.
3659
3660         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
3661         inline functions that are identical with the old xnmalloc_inline,
3662         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
3663         that we can avoid some unnecessary integer multiplications and
3664         divisions in the common case where the element size is known at
3665         compile time.
3666         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
3667         needed.
3668         (xnboundedmalloc): Remove.
3669         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
3670         arguments, for consistency with rest of this header.
3671         (xcharalloc): Rewrite using XNMALLOC.
3672         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
3673         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
3674         versions have been moved to lib/xalloc.h and renamed to be the
3675         non-*_inline versions.
3676         (xmalloc, xrealloc): Implement without reference to the xnmalloc
3677         and xnrealloc functions, since those functions are now inline and
3678         now call us.
3679         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
3680         renaming described above.
3681         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
3682         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
3683         captures the dependency in AC_C_INLINE.
3684
3685         New module canonicalize-lgpl, proposed by Charles Wilson in
3686         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
3687         with a few small changes afterwards.
3688         * MODULES.html.sh (File system functions): New module
3689         canonicalize-lgpl.
3690         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
3691         and canonicalize_file_name.
3692         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
3693         * modules/canonicalize-lgpl: New files.
3694
3695 2006-11-05  Bruno Haible  <bruno@clisp.org>
3696
3697         * gnulib-tool (func_import, func_create_testdir): Create directories
3698         also for files in subdirectories of lib/.
3699
3700 2006-11-05  Bruno Haible  <bruno@clisp.org>
3701
3702         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
3703         ANSI C compliant.
3704
3705 2006-11-03  Bruno Haible  <bruno@clisp.org>
3706
3707         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
3708         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
3709         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
3710         (xnboundedmalloc): New inline function.
3711         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
3712         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
3713         xmalloc.
3714         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
3715         xmalloc.
3716         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
3717         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
3718         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
3719         xmalloc.
3720         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
3721         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
3722         xmalloc.
3723         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
3724         gl_tree_add_after): Use XMALLOC instead of xmalloc.
3725         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
3726         xmalloc.
3727         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
3728         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
3729         gl_tree_add_after): Use XMALLOC instead of xmalloc.
3730         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
3731         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
3732         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
3733         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
3734
3735 2006-11-03  Bruno Haible  <bruno@clisp.org>
3736
3737         * lib/c-ctype.h [C++]: Define functions without name mangling.
3738         * lib/fwriteerror.h [C++]: Likewise.
3739         * lib/gcd.h [C++]: Likewise.
3740         * lib/linebreak.h [C++]: Likewise.
3741
3742 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
3743
3744         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
3745         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
3746         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
3747         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
3748         Check for functions and headers just once.
3749         Check for declaration of canonicalize_file_name.
3750         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
3751
3752 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
3753
3754         * gnulib-tool (func_import): Fix typo in actioncmd.
3755
3756 2006-11-02  Bruno Haible  <bruno@clisp.org>
3757
3758         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
3759         newline sequence in the Makefile.am snippet as a space, like "make"
3760         does.
3761         Reported by Roger Persson <perrog@gmail.com>.
3762
3763 2006-11-01  Bruno Haible  <bruno@clisp.org>
3764
3765         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
3766         already declared in <string.h>.
3767         * lib/strcase.h (strncasecmp): Don't declare it if yes.
3768
3769 2006-11-01  Bruno Haible  <bruno@clisp.org>
3770
3771         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
3772         * lib/strcase.h: Include <string.h>.
3773         (strcasecmp): Define to rpl_strcasecmp here.
3774
3775 2006-11-01  Bruno Haible  <bruno@clisp.org>
3776
3777         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
3778
3779 2006-11-01  Eric Blake  <ebb9@byu.net>
3780
3781         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
3782
3783         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
3784
3785 2006-10-29  Bruno Haible  <bruno@clisp.org>
3786
3787         Make it compile in C++ mode.
3788         * lib/full-write.c (full_rw): Add a cast.
3789
3790 2006-11-01  Bruno Haible  <bruno@clisp.org>
3791
3792         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
3793         be POSIX compliant.
3794         Reported by Roger Persson <perrog@gmail.com>.
3795
3796 2006-11-01  Eric Blake  <ebb9@byu.net>
3797
3798         * lib/getopt_.h: Fix comments.
3799
3800 2006-10-31  Eric Blake  <ebb9@byu.net>
3801
3802         * modules/tmpdir (Depends-on): Add sys_stat.
3803         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
3804         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
3805         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
3806         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
3807         tempname.
3808
3809 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
3810
3811         Avoid some C++ diagnostics reported by Bruno Haible.
3812         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
3813         xmalloc.
3814         (quotearg_alloc): Use xcharalloc rather than xmalloc.
3815         (struct slotvec): Move to top level.
3816         (quotearg_n_options): Rewrite to avoid xmalloc.
3817         * lib/xalloc.h (xcharalloc): New function.
3818         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
3819         [defined __cplusplus]: Add function template that provides result
3820         type propagation.  This part of the change is from Bruno Haible.
3821
3822 2006-10-29  Bruno Haible  <bruno@clisp.org>
3823
3824         Make it compile in C++ mode.
3825         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
3826         * lib/strnlen1.c (strnlen1): Cast memchr result.
3827         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
3828         * lib/clean-temp.c (string_equals, string_hash): Add casts.
3829         (create_temp_dir): Rename local variable 'template'.
3830         (compile_csharp_using_sscli): Add cast.
3831         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
3832         * lib/findprog.c (find_in_path): Likewise.
3833         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
3834         * lib/wait-process.c (register_slave_subprocess): Likewise.
3835
3836 2006-10-22  Bruno Haible  <bruno@clisp.org>
3837
3838         * modules/tsearch: New file.
3839         * lib/tsearch.h: New file.
3840         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
3841         * m4/tsearch.m4: New file.
3842         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
3843
3844 2006-10-29  Eric Blake  <ebb9@byu.net>
3845
3846         * lib/arcfour.c: Assume config.h.
3847         * lib/arctwo.c: Likewise.
3848         * lib/base64.c: Likewise.
3849         * lib/check-version.c: Likewise.
3850         * lib/crc.c: Likewise.
3851         * lib/des.c: Likewise.
3852         * lib/gc-gnulib.c: Likewise.
3853         * lib/gc-libgcrypt.c: Likewise.
3854         * lib/gc-pbkdf2-sha1.c: Likewise.
3855         * lib/getaddrinfo.c: Likewise.
3856         * lib/getdelim.c: Likewise.
3857         * lib/getline.c: Likewise.
3858         * lib/hmac-md5.c: Likewise.
3859         * lib/hmac-sha1.c: Likewise.
3860         * lib/iconvme.c: Likewise.
3861         * lib/md2.c: Likewise.
3862         * lib/md4.c: Likewise.
3863         * lib/memxor.c: Likewise.
3864         * lib/read-file.c: Likewise.
3865         * lib/readline.c: Likewise.
3866         * lib/rijndael-alg-fst.c: Likewise.
3867         * lib/rijndael-api-fst.c: Likewise.
3868         * lib/xgetdomainname.c: Likewise.
3869
3870 2006-10-28  Eric Blake  <ebb9@byu.net>
3871
3872         * lib/xstrndup.c: Assume config.h.
3873
3874 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
3875
3876         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
3877         stat-macros.h is now for our own macros, whereas stat_h is for
3878         macros in the <sys/stat.h> name space.
3879         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
3880         (STAT_MACROS_H): Remove.
3881         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
3882         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
3883         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
3884         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
3885         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
3886         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
3887         Move these macros to ...
3888         * lib/stat_.h: here.  Don't include stat-macros.h.
3889         * lib/canonicalize.c: Don't include stat-macros.h.
3890         * lib/chown.c: Likewise.
3891         * lib/euidaccess.c: Likewise.
3892         * lib/file-type.c: Likewise.
3893         * lib/filemode.c: Likewise.
3894         * lib/glob.c: Likewise.
3895         * lib/isapipe.c: Likewise.
3896         * lib/lchown.c: Likewise.
3897         * lib/lstat.c: Likewise.
3898         * lib/mkdir-p.c: Likewise.
3899         * lib/rmdir.c: Likewise.
3900         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
3901         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
3902         unless mkdir isn't declared, to speed up 'configure'.
3903         Always create sys/stat.h, since it's unlikely any real sys/stat.h
3904         would define all the S_* symbols.
3905         * modules/canonicalize (Depends-on):
3906         Depend on sys_stat, not stat-macros.
3907         * modules/chown: Likewise.
3908         * modules/euidaccess: Likewise.
3909         * modules/filemode: Likewise.
3910         * modules/file-type: Likewise.
3911         * modules/glob: Likewise.
3912         * modules/isapipe: Likewise.
3913         * modules/lchown: Likewise.
3914         * modules/lstat: Likewise.
3915         * modules/mkancesdirs: Likewise.
3916         * modules/rmdir: Likewise.
3917         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
3918         * modules/modechange: Likewise.
3919         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
3920         (configure.ac): Remove gl_STAT_MACROS.
3921         * modules/sys_stat (Depends-on): Remove stat-macros.
3922
3923 2006-10-27  Bruno Haible  <bruno@clisp.org>
3924
3925         * m4/signed.m4: Remove file.
3926         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
3927         invocation.
3928         * modules/vasnprintf (Files): Remove m4/signed.m4.
3929
3930 2006-10-27  Bruno Haible  <bruno@clisp.org>
3931
3932         Update to GNU gettext 0.16.
3933         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
3934         m4/inttypes-h.m4, m4/signed.m4.
3935         * m4/gettext.m4: Update to GNU gettext 0.16.
3936         * m4/intl.m4: New file, from GNU gettext.
3937         * m4/intldir.m4: New file, from GNU gettext.
3938         * config/srclist.txt: Update
3939
3940 2006-10-27  Eric Blake  <ebb9@byu.net>
3941
3942         * MODULES.html.sh: Document tempname.
3943         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
3944         dependencies.
3945         (Files): Move lib/tempname.c...
3946         * modules/tempname: ...to this new module.
3947         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
3948         (gl_PREREQ_TEMPNAME): Move...
3949         * m4/tempname.m4: ...to this new file.
3950         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
3951         * modules/sys_stat (Depends-on): Add stat-macros.
3952         * lib/stat_.h (includes): Pick up stat macros.
3953         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
3954         if stat macros are broken.
3955         * lib/tempname.c (includes): No need to include "stat-macros.h".
3956         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
3957         (direxists, __path_search) [!_LIBC]: Don't compile these in
3958         gnulib; the tmpdir module covers that.
3959         * lib/tempname.h: New file.
3960
3961 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
3962
3963         * COPYING: Explain how gnulib-tool converts licence headers.
3964         Almost all wording by Eric Blake.
3965
3966 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
3967
3968         * lib/mbchar.h (is_basic_table): Make read-only.
3969         * lib/mbchar.c (is_basic_table): Likewise.
3970         Reported by John Darrington.
3971
3972 2006-10-25  Bruno Haible  <bruno@clisp.org>
3973
3974         * lib/progname.h (set_program_name): Undefine before defining.
3975
3976 2006-10-25  Bruno Haible  <bruno@clisp.org>
3977
3978         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
3979         false for non-gcc C++ compilers.
3980         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
3981
3982 2006-10-24  Bruno Haible  <bruno@clisp.org>
3983
3984         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
3985         iconv implementations like Irix iconv.
3986
3987 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3988
3989         * modules/vararrays: New file.
3990         * m4/vararrays.m4: New file, taken from diffutils.
3991         * MODULES.html.sh: New module vararrays.
3992
3993 2006-10-24  Karl Berry  <karl@gnu.org>
3994
3995         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
3996         Don't call GNU Unix.
3997
3998 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3999
4000         * users.txt: Add Libtool.
4001
4002         Sync from Libtool:
4003
4004         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4005
4006         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
4007         to gnulib's policy of including config.h unconditionally.
4008
4009 2006-10-24  Bruno Haible  <bruno@clisp.org>
4010
4011         * modules/wcwidth (Files): Add m4/wint_t.m4.
4012         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
4013         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
4014
4015 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
4016
4017         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
4018         to pacify GCC with some -W flags enabled.  Problem reported by
4019         Bruno Haible.
4020
4021 2006-10-24  Jim Meyering  <jim@meyering.net>
4022
4023         * MODULES.html.sh: Remove uinttostr.  It's not a module.
4024         Reported by Karl Berry.
4025
4026 2006-10-23  Bruno Haible  <bruno@clisp.org>
4027
4028         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
4029
4030 2006-10-24  Bruno Haible  <bruno@clisp.org>
4031
4032         * lib/gl_list.h: Use C comment style, not C++ comment style.
4033
4034 2006-10-23  Eric Blake  <ebb9@byu.net>
4035
4036         * lib/getaddrinfo.c (includes): Add missing include.
4037
4038 2006-10-23  Bruno Haible  <bruno@clisp.org>
4039             Paul Eggert  <eggert@cs.ucla.edu>
4040
4041         Ability to rename obstack_free.
4042         * lib/obstack.h (__obstack_free): New macro. Declare instead of
4043         obstack_free.
4044         (obstack_free): Invoke the __obstack_free macro.
4045         * lib/obstack.c (obstack_free): Use __obstack_free macro.
4046
4047 2006-10-23  Bruno Haible  <bruno@clisp.org>
4048             Paul Eggert  <eggert@cs.ucla.edu>
4049
4050         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
4051         __argc, __argv from the declaration. (They are defined as macros on
4052         mingw.)
4053
4054 2006-10-22  Bruno Haible  <bruno@clisp.org>
4055
4056         * doc/gnulib-intro.texi: New file.
4057         * doc/gnulib.texi: Include it.
4058
4059 2006-10-21  Bruno Haible  <bruno@clisp.org>
4060
4061         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
4062         "Introduction", "Miscellanous Notes", "Particular Modules".
4063
4064 2006-10-21  Bruno Haible  <bruno@clisp.org>
4065
4066         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4067         Change mostlyclean-local rule to avoid sh syntax error from bash
4068         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
4069
4070 2006-10-23  Jim Meyering  <jim@meyering.net>
4071
4072         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
4073         in place of snprintf.
4074
4075         * modules/inttostr (Files): Add lib/uinttostr.c.
4076         * lib/uinttostr.c (inttostr): New file/function.
4077         * lib/inttostr.h (uinttostr): Declare.
4078         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
4079         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
4080         Add uinttostr.
4081         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
4082
4083 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4084
4085         * lib/canonicalize.c (ELOOP): Define if not already defined.
4086         Problem reported by Bruno Haible in
4087         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
4088
4089 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4090
4091         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
4092         Problem reported by Perry Smith and Ville Laurikari.
4093
4094         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
4095         uses.
4096
4097 2006-10-19  Bruno Haible  <bruno@clisp.org>
4098
4099         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
4100         for mingw.
4101
4102 2006-10-19  Bruno Haible  <bruno@clisp.org>
4103
4104         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
4105         Needed for mingw.
4106
4107 2006-10-19  Bruno Haible  <bruno@clisp.org>
4108
4109         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
4110
4111 2006-10-19  Bruno Haible  <bruno@clisp.org>
4112
4113         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
4114         it.
4115
4116 2006-10-19  Bruno Haible  <bruno@clisp.org>
4117
4118         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
4119         invocation.
4120
4121 2006-10-19  Bruno Haible  <bruno@clisp.org>
4122
4123         * gnulib-tool (func_create_testdir): Don't include ftruncate and
4124         mountlist by default.
4125
4126 2006-10-16  Bruno Haible  <bruno@clisp.org>
4127
4128         * lib/c-strstr.c: Include c-strstr.h.
4129
4130 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
4131
4132         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
4133         in a slash.
4134
4135 2006-10-18  Bruno Haible  <bruno@clisp.org>
4136
4137         * lib/lock.h [C++]: Wrap definitions in extern "C".
4138
4139 2006-10-18  Bruno Haible  <bruno@clisp.org>
4140
4141         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
4142         gl_LIBOBJS list.
4143
4144 2006-10-18  Bruno Haible  <bruno@clisp.org>
4145
4146         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
4147
4148 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4149
4150         * lib/xstrtol.h: Include gettext.h.
4151         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
4152         Problem reported by Eric Blake.
4153         * modules/xstrtol (Depends-on): Add gettext-h.
4154
4155 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
4156
4157         * lib/strftime.c (advance): New macro.
4158         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
4159         incomplete type, so you can't add 0 to it.  Problem and patch
4160         reported by Eelco Dolstra for dietlibc.
4161
4162 2006-10-18  Jim Meyering  <jim@meyering.net>
4163
4164         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
4165         type for a local, and rename it: s/up/user_proc/.
4166
4167 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
4168
4169         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
4170         READ_UTMP_USER_PROCESS.
4171         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
4172
4173 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
4174
4175         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
4176         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
4177
4178 2006-10-17  Eric Blake  <ebb9@byu.net>
4179
4180         * lib/sigprocmask.c (sigprocmask): Fix typo.
4181
4182         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
4183
4184         * modules/clean-temp (Makefile.am): Don't add to make output...
4185         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
4186         config.h.
4187
4188 2006-10-17  Bruno Haible  <bruno@clisp.org>
4189
4190         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
4191         differently if DEFAULT_TEXT_DOMAIN is set.
4192
4193 2006-10-16  Bruno Haible  <bruno@clisp.org>
4194
4195         * lib/clean-temp.c: Include fwriteerror.h.
4196
4197 2006-10-16  Bruno Haible  <bruno@clisp.org>
4198
4199         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
4200
4201 2006-10-16  Bruno Haible  <bruno@clisp.org>
4202
4203         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
4204         * lib/sigprocmask.h: Include <sys/types.h>.
4205         (sigset_t): Use the system's definition if present.
4206
4207 2006-10-17  Eric Blake  <ebb9@byu.net>
4208
4209         * lib/xvasprintf.c (includes): Assume config.h.
4210         * lib/xasprintf.c (includes): Likewise.
4211
4212 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
4213
4214         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
4215         at least as wide as intmax_t.
4216
4217 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
4218
4219         (Imported from Automake.)
4220         * build-aux/gnupload: Update to version 1.1 of directive file.
4221
4222 2006-10-16  Eric Blake  <ebb9@byu.net>
4223
4224         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
4225         match Automake 1.10a.
4226
4227 2006-10-14  Bruno Haible  <bruno@clisp.org>
4228
4229         * modules/sigprocmask: New file.
4230         * lib/sigprocmask.h: New file.
4231         * lib/sigprocmask.c: New file.
4232         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
4233         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
4234         request sigprocmask.o.
4235         (gl_PREREQ_SIGPROCMASK): New macro.
4236         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
4237         (Depends-on): Add sigprocmask.
4238         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
4239         gt_SIGNALBLOCKING. Test for 'raise' only once.
4240         * lib/fatal-signal.c: Include sigprocmask.h.
4241         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
4242         unblock_fatal_signals): Define always.
4243         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
4244         sigprocmask.
4245
4246 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
4247
4248         Sync from Automake.
4249         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
4250         which incorrectly sets the mode of an existing destination
4251         directory.  In some cases the unpatched install-sh could do the
4252         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
4253         system.  We hope this is rare in practice, but it's clearly worth
4254         fixing.  Problem reported by Alex Unleashed in
4255         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
4256         Also, don't bother to check for -m bugs unless we're using -m;
4257         suggested by Stepan Kasal.
4258
4259 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4260
4261         Sync from Automake.
4262         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
4263         `-c' flag, so they appear at the same position as in %FASTDEP%
4264         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
4265         which ignores unknown options only after the first non-option.
4266         Bug report against M4 by Nelson H. F. Beebe.
4267
4268 2006-10-13  Jim Meyering  <jim@meyering.net>
4269
4270         Fix a bug in yesterday's change.
4271         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
4272         p->fts_statp->st_dev would be used uninitialized.
4273         Ensures that we always call fts_stat on the very first entry.
4274         Miklos Szeredi reported that find -xdev stopped working.
4275
4276 2006-10-12  Bruno Haible  <bruno@clisp.org>
4277
4278         * gnulib-tool (func_get_automake_snippet): Append an automatically
4279         computed EXTRA_DIST augmentation.
4280         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
4281         * modules/alloca-opt (Makefile.am): Likewise.
4282         * modules/allocsa (Makefile.am): Likewise.
4283         * modules/arcfour (Makefile.am): Likewise.
4284         * modules/arctwo (Makefile.am): Likewise.
4285         * modules/argmatch (Makefile.am): Likewise.
4286         * modules/argz (Makefile.am): Likewise.
4287         * modules/atexit (Makefile.am): Likewise.
4288         * modules/backupfile (Makefile.am): Likewise.
4289         * modules/byteswap (Makefile.am): Likewise.
4290         * modules/c-strtod (Makefile.am): Likewise.
4291         * modules/c-strtold (Makefile.am): Likewise.
4292         * modules/calloc (Makefile.am): Likewise.
4293         * modules/canon-host (Makefile.am): Likewise.
4294         * modules/canonicalize (Makefile.am): Likewise.
4295         * modules/chdir-long (Makefile.am): Likewise.
4296         * modules/chdir-safer (Makefile.am): Likewise.
4297         * modules/check-version (Makefile.am): Likewise.
4298         * modules/chown (Makefile.am): Likewise.
4299         * modules/cloexec (Makefile.am): Likewise.
4300         * modules/close-stream (Makefile.am): Likewise.
4301         * modules/closeout (Makefile.am): Likewise.
4302         * modules/crc (Makefile.am): Likewise.
4303         * modules/csharpexec (Makefile.am): Likewise.
4304         * modules/cycle-check (Makefile.am): Likewise.
4305         * modules/des (Makefile.am): Likewise.
4306         * modules/dev-ino (Makefile.am): Likewise.
4307         * modules/dirfd (Makefile.am): Likewise.
4308         * modules/dirname (Makefile.am): Likewise.
4309         * modules/dup2 (Makefile.am): Likewise.
4310         * modules/eealloc (Makefile.am): Likewise.
4311         * modules/error (Makefile.am): Likewise.
4312         * modules/euidaccess (Makefile.am): Likewise.
4313         * modules/exclude (Makefile.am): Likewise.
4314         * modules/exitfail (Makefile.am): Likewise.
4315         * modules/fcntl-safer (Makefile.am): Likewise.
4316         * modules/fcntl (Makefile.am): Likewise.
4317         * modules/file-type (Makefile.am): Likewise.
4318         * modules/fileblocks (Makefile.am): Likewise.
4319         * modules/filemode (Makefile.am): Likewise.
4320         * modules/filenamecat (Makefile.am): Likewise.
4321         * modules/fnmatch (Makefile.am): Likewise.
4322         * modules/fopen-safer (Makefile.am): Likewise.
4323         * modules/fpending (Makefile.am): Likewise.
4324         * modules/fprintftime (Makefile.am): Likewise.
4325         * modules/free (Makefile.am): Likewise.
4326         * modules/fsusage (Makefile.am): Likewise.
4327         * modules/ftruncate (Makefile.am): Likewise.
4328         * modules/fts (Makefile.am): Likewise.
4329         * modules/gc-arcfour (Makefile.am): Likewise.
4330         * modules/gc-des (Makefile.am): Likewise.
4331         * modules/gc-hmac-md5 (Makefile.am): Likewise.
4332         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
4333         * modules/gc-md4 (Makefile.am): Likewise.
4334         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
4335         * modules/gc-sha1 (Makefile.am): Likewise.
4336         * modules/gc (Makefile.am): Likewise.
4337         * modules/getaddrinfo (Makefile.am): Likewise.
4338         * modules/getcwd (Makefile.am): Likewise.
4339         * modules/getdelim (Makefile.am): Likewise.
4340         * modules/getdomainname (Makefile.am): Likewise.
4341         * modules/getgroups (Makefile.am): Likewise.
4342         * modules/gethostname (Makefile.am): Likewise.
4343         * modules/gethrxtime (Makefile.am): Likewise.
4344         * modules/getline (Makefile.am): Likewise.
4345         * modules/getloadavg (Makefile.am): Likewise.
4346         * modules/getlogin_r (Makefile.am): Likewise.
4347         * modules/getndelim2 (Makefile.am): Likewise.
4348         * modules/getopt (Makefile.am): Likewise.
4349         * modules/getpagesize (Makefile.am): Likewise.
4350         * modules/getpass-gnu (Makefile.am): Likewise.
4351         * modules/getpass (Makefile.am): Likewise.
4352         * modules/getsubopt (Makefile.am): Likewise.
4353         * modules/gettime (Makefile.am): Likewise.
4354         * modules/gettimeofday (Makefile.am): Likewise.
4355         * modules/getugroups (Makefile.am): Likewise.
4356         * modules/getusershell (Makefile.am): Likewise.
4357         * modules/glob (Makefile.am): Likewise.
4358         * modules/group-member (Makefile.am): Likewise.
4359         * modules/hard-locale (Makefile.am): Likewise.
4360         * modules/hash (Makefile.am): Likewise.
4361         * modules/hmac-md5 (Makefile.am): Likewise.
4362         * modules/hmac-sha1 (Makefile.am): Likewise.
4363         * modules/human (Makefile.am): Likewise.
4364         * modules/idcache (Makefile.am): Likewise.
4365         * modules/imaxabs (Makefile.am): Likewise.
4366         * modules/imaxdiv (Makefile.am): Likewise.
4367         * modules/inet_ntop (Makefile.am): Likewise.
4368         * modules/inet_pton (Makefile.am): Likewise.
4369         * modules/intprops (Makefile.am): Likewise.
4370         * modules/inttostr (Makefile.am): Likewise.
4371         * modules/inttypes (Makefile.am): Likewise.
4372         * modules/isapipe (Makefile.am): Likewise.
4373         * modules/javaversion (Makefile.am): Likewise.
4374         * modules/lchmod (Makefile.am): Likewise.
4375         * modules/lchown (Makefile.am): Likewise.
4376         * modules/localcharset (Makefile.am): Likewise.
4377         * modules/long-options (Makefile.am): Likewise.
4378         * modules/lstat (Makefile.am): Likewise.
4379         * modules/malloc (Makefile.am): Likewise.
4380         * modules/mathl (Makefile.am): Likewise.
4381         * modules/mbchar (Makefile.am): Likewise.
4382         * modules/md2 (Makefile.am): Likewise.
4383         * modules/md4 (Makefile.am): Likewise.
4384         * modules/md5 (Makefile.am): Likewise.
4385         * modules/memcasecmp (Makefile.am): Likewise.
4386         * modules/memchr (Makefile.am): Likewise.
4387         * modules/memcmp (Makefile.am): Likewise.
4388         * modules/memcoll (Makefile.am): Likewise.
4389         * modules/memcpy (Makefile.am): Likewise.
4390         * modules/memmem (Makefile.am): Likewise.
4391         * modules/memmove (Makefile.am): Likewise.
4392         * modules/mempcpy (Makefile.am): Likewise.
4393         * modules/memrchr (Makefile.am): Likewise.
4394         * modules/memset (Makefile.am): Likewise.
4395         * modules/memxor (Makefile.am): Likewise.
4396         * modules/mkancesdirs (Makefile.am): Likewise.
4397         * modules/mkdir-p (Makefile.am): Likewise.
4398         * modules/mkdir (Makefile.am): Likewise.
4399         * modules/mkdtemp (Makefile.am): Likewise.
4400         * modules/mkstemp (Makefile.am): Likewise.
4401         * modules/mktime (Makefile.am): Likewise.
4402         * modules/modechange (Makefile.am): Likewise.
4403         * modules/mountlist (Makefile.am): Likewise.
4404         * modules/nanosleep (Makefile.am): Likewise.
4405         * modules/obstack (Makefile.am): Likewise.
4406         * modules/openat (Makefile.am): Likewise.
4407         * modules/pagealign_alloc (Makefile.am): Likewise.
4408         * modules/pathmax (Makefile.am): Likewise.
4409         * modules/physmem (Makefile.am): Likewise.
4410         * modules/poll (Makefile.am): Likewise.
4411         * modules/posixtm (Makefile.am): Likewise.
4412         * modules/posixver (Makefile.am): Likewise.
4413         * modules/putenv (Makefile.am): Likewise.
4414         * modules/quote (Makefile.am): Likewise.
4415         * modules/quotearg (Makefile.am): Likewise.
4416         * modules/raise (Makefile.am): Likewise.
4417         * modules/read-file (Makefile.am): Likewise.
4418         * modules/readline (Makefile.am): Likewise.
4419         * modules/readlink (Makefile.am): Likewise.
4420         * modules/readtokens (Makefile.am): Likewise.
4421         * modules/readutmp (Makefile.am): Likewise.
4422         * modules/realloc (Makefile.am): Likewise.
4423         * modules/regex (Makefile.am): Likewise.
4424         * modules/rename-dest-slash (Makefile.am): Likewise.
4425         * modules/rename (Makefile.am): Likewise.
4426         * modules/rijndael (Makefile.am): Likewise.
4427         * modules/rmdir (Makefile.am): Likewise.
4428         * modules/rpmatch (Makefile.am): Likewise.
4429         * modules/safe-read (Makefile.am): Likewise.
4430         * modules/safe-write (Makefile.am): Likewise.
4431         * modules/same-inode (Makefile.am): Likewise.
4432         * modules/same (Makefile.am): Likewise.
4433         * modules/save-cwd (Makefile.am): Likewise.
4434         * modules/savedir (Makefile.am): Likewise.
4435         * modules/setenv (Makefile.am): Likewise.
4436         * modules/settime (Makefile.am): Likewise.
4437         * modules/sha1 (Makefile.am): Likewise.
4438         * modules/sig2str (Makefile.am): Likewise.
4439         * modules/snprintf (Makefile.am): Likewise.
4440         * modules/stat-macros (Makefile.am): Likewise.
4441         * modules/stat-time (Makefile.am): Likewise.
4442         * modules/stdbool (Makefile.am): Likewise.
4443         * modules/stdint (Makefile.am): Likewise.
4444         * modules/stdlib-safer (Makefile.am): Likewise.
4445         * modules/stpcpy (Makefile.am): Likewise.
4446         * modules/stpncpy (Makefile.am): Likewise.
4447         * modules/strcase (Makefile.am): Likewise.
4448         * modules/strcasestr (Makefile.am): Likewise.
4449         * modules/strchrnul (Makefile.am): Likewise.
4450         * modules/strcspn (Makefile.am): Likewise.
4451         * modules/strdup (Makefile.am): Likewise.
4452         * modules/strerror (Makefile.am): Likewise.
4453         * modules/strftime (Makefile.am): Likewise.
4454         * modules/strndup (Makefile.am): Likewise.
4455         * modules/strnlen (Makefile.am): Likewise.
4456         * modules/strpbrk (Makefile.am): Likewise.
4457         * modules/strsep (Makefile.am): Likewise.
4458         * modules/strstr (Makefile.am): Likewise.
4459         * modules/strtod (Makefile.am): Likewise.
4460         * modules/strtoimax (Makefile.am): Likewise.
4461         * modules/strtok_r (Makefile.am): Likewise.
4462         * modules/strtol (Makefile.am): Likewise.
4463         * modules/strtoll (Makefile.am): Likewise.
4464         * modules/strtoul (Makefile.am): Likewise.
4465         * modules/strtoull (Makefile.am): Likewise.
4466         * modules/strtoumax (Makefile.am): Likewise.
4467         * modules/strverscmp (Makefile.am): Likewise.
4468         * modules/sys_socket (Makefile.am): Likewise.
4469         * modules/sys_stat (Makefile.am): Likewise.
4470         * modules/sysexits (Makefile.am): Likewise.
4471         * modules/time_r (Makefile.am): Likewise.
4472         * modules/timegm (Makefile.am): Likewise.
4473         * modules/timespec (Makefile.am): Likewise.
4474         * modules/tmpfile-safer (Makefile.am): Likewise.
4475         * modules/trim (Makefile.am): Likewise.
4476         * modules/unistd-safer (Makefile.am): Likewise.
4477         * modules/unlinkdir (Makefile.am): Likewise.
4478         * modules/unlocked-io (Makefile.am): Likewise.
4479         * modules/userspec (Makefile.am): Likewise.
4480         * modules/utime (Makefile.am): Likewise.
4481         * modules/utimecmp (Makefile.am): Likewise.
4482         * modules/utimens (Makefile.am): Likewise.
4483         * modules/vasnprintf (Makefile.am): Likewise.
4484         * modules/vasprintf (Makefile.am): Likewise.
4485         * modules/vsnprintf (Makefile.am): Likewise.
4486         * modules/xalloc (Makefile.am): Likewise.
4487         * modules/xgetcwd (Makefile.am): Likewise.
4488         * modules/xnanosleep (Makefile.am): Likewise.
4489         * modules/xreadlink (Makefile.am): Likewise.
4490         * modules/xstrtod (Makefile.am): Likewise.
4491         * modules/xstrtol (Makefile.am): Likewise.
4492         * modules/xstrtold (Makefile.am): Likewise.
4493         * modules/yesno (Makefile.am): Likewise.
4494         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
4495
4496 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
4497
4498         * modules/error (Makefile.am): Distribute files through
4499         EXTRA_DIST, not lib_SOURCES.
4500
4501 2006-10-12  Eric Blake  <ebb9@byu.net>
4502
4503         * modules/error (Makefile.am): Distribute files in /lib.
4504         * modules/obstack (Makefile.am): Likewise.
4505
4506 2006-10-12  Bruno Haible  <bruno@clisp.org>
4507
4508         * modules/acl (Makefile.am): Distribute all files in lib/ through
4509         EXTRA_DIST.
4510         * modules/arcfour (Makefile.am): Likewise.
4511         * modules/arctwo (Makefile.am): Likewise.
4512         * modules/argmatch (Makefile.am): Likewise.
4513         * modules/argz (Makefile.am): Likewise.
4514         * modules/atexit (Makefile.am): Likewise.
4515         * modules/backupfile (Makefile.am): Likewise.
4516         * modules/c-strtod (Makefile.am): Likewise.
4517         * modules/c-strtold (Makefile.am): Likewise.
4518         * modules/calloc (Makefile.am): Likewise.
4519         * modules/canon-host (Makefile.am): Likewise.
4520         * modules/canonicalize (Makefile.am): Likewise.
4521         * modules/chdir-long (Makefile.am): Likewise.
4522         * modules/chdir-safer (Makefile.am): Likewise.
4523         * modules/check-version (Makefile.am): Likewise.
4524         * modules/chown (Makefile.am): Likewise.
4525         * modules/cloexec (Makefile.am): Likewise.
4526         * modules/close-stream (Makefile.am): Likewise.
4527         * modules/closeout (Makefile.am): Likewise.
4528         * modules/crc (Makefile.am): Likewise.
4529         * modules/cycle-check (Makefile.am): Likewise.
4530         * modules/des (Makefile.am): Likewise.
4531         * modules/dirfd (Makefile.am): Likewise.
4532         * modules/dirname (Makefile.am): Likewise.
4533         * modules/dup2 (Makefile.am): Likewise.
4534         * modules/euidaccess (Makefile.am): Likewise.
4535         * modules/exclude (Makefile.am): Likewise.
4536         * modules/exitfail (Makefile.am): Likewise.
4537         * modules/fcntl-safer (Makefile.am): Likewise.
4538         * modules/file-type (Makefile.am): Likewise.
4539         * modules/fileblocks (Makefile.am): Likewise.
4540         * modules/filemode (Makefile.am): Likewise.
4541         * modules/filenamecat (Makefile.am): Likewise.
4542         * modules/fnmatch (Makefile.am): Likewise.
4543         * modules/fopen-safer (Makefile.am): Likewise.
4544         * modules/fpending (Makefile.am): Likewise.
4545         * modules/fprintftime (Makefile.am): Likewise.
4546         * modules/free (Makefile.am): Likewise.
4547         * modules/fsusage (Makefile.am): Likewise.
4548         * modules/ftruncate (Makefile.am): Likewise.
4549         * modules/fts (Makefile.am): Likewise.
4550         * modules/gc (Makefile.am): Likewise.
4551         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
4552         * modules/getaddrinfo (Makefile.am): Likewise.
4553         * modules/getcwd (Makefile.am): Likewise.
4554         * modules/getdelim (Makefile.am): Likewise.
4555         * modules/getdomainname (Makefile.am): Likewise.
4556         * modules/getgroups (Makefile.am): Likewise.
4557         * modules/gethostname (Makefile.am): Likewise.
4558         * modules/gethrxtime (Makefile.am): Likewise.
4559         * modules/getline (Makefile.am): Likewise.
4560         * modules/getloadavg (Makefile.am): Likewise.
4561         * modules/getlogin_r (Makefile.am): Likewise.
4562         * modules/getopt (Makefile.am): Likewise.
4563         * modules/getpass (Makefile.am): Likewise.
4564         * modules/getpass-gnu (Makefile.am): Likewise.
4565         * modules/getsubopt (Makefile.am): Likewise.
4566         * modules/gettime (Makefile.am): Likewise.
4567         * modules/gettimeofday (Makefile.am): Likewise.
4568         * modules/getugroups (Makefile.am): Likewise.
4569         * modules/getusershell (Makefile.am): Likewise.
4570         * modules/glob (Makefile.am): Likewise.
4571         * modules/group-member (Makefile.am): Likewise.
4572         * modules/hard-locale (Makefile.am): Likewise.
4573         * modules/hash (Makefile.am): Likewise.
4574         * modules/hmac-md5 (Makefile.am): Likewise.
4575         * modules/hmac-sha1 (Makefile.am): Likewise.
4576         * modules/human (Makefile.am): Likewise.
4577         * modules/idcache (Makefile.am): Likewise.
4578         * modules/imaxabs (Makefile.am): Likewise.
4579         * modules/imaxdiv (Makefile.am): Likewise.
4580         * modules/inet_ntop (Makefile.am): Likewise.
4581         * modules/inet_pton (Makefile.am): Likewise.
4582         * modules/inttostr (Makefile.am): Likewise.
4583         * modules/isapipe (Makefile.am): Likewise.
4584         * modules/lchown (Makefile.am): Likewise.
4585         * modules/long-options (Makefile.am): Likewise.
4586         * modules/lstat (Makefile.am): Likewise.
4587         * modules/malloc (Makefile.am): Likewise.
4588         * modules/mathl (Makefile.am): Likewise.
4589         * modules/mbchar (Makefile.am): Likewise.
4590         * modules/md2 (Makefile.am): Likewise.
4591         * modules/md4 (Makefile.am): Likewise.
4592         * modules/md5 (Makefile.am): Likewise.
4593         * modules/memcasecmp (Makefile.am): Likewise.
4594         * modules/memchr (Makefile.am): Likewise.
4595         * modules/memcmp (Makefile.am): Likewise.
4596         * modules/memcoll (Makefile.am): Likewise.
4597         * modules/memcpy (Makefile.am): Likewise.
4598         * modules/memmem (Makefile.am): Likewise.
4599         * modules/memmove (Makefile.am): Likewise.
4600         * modules/mempcpy (Makefile.am): Likewise.
4601         * modules/memrchr (Makefile.am): Likewise.
4602         * modules/memset (Makefile.am): Likewise.
4603         * modules/memxor (Makefile.am): Likewise.
4604         * modules/mkancesdirs (Makefile.am): Likewise.
4605         * modules/mkdir (Makefile.am): Likewise.
4606         * modules/mkdir-p (Makefile.am): Likewise.
4607         * modules/mkdtemp (Makefile.am): Likewise.
4608         * modules/mkstemp (Makefile.am): Likewise.
4609         * modules/mktime (Makefile.am): Likewise.
4610         * modules/modechange (Makefile.am): Likewise.
4611         * modules/mountlist (Makefile.am): Likewise.
4612         * modules/nanosleep (Makefile.am): Likewise.
4613         * modules/openat (Makefile.am): Likewise.
4614         * modules/pagealign_alloc (Makefile.am): Likewise.
4615         * modules/physmem (Makefile.am): Likewise.
4616         * modules/poll (Makefile.am): Likewise.
4617         * modules/posixtm (Makefile.am): Likewise.
4618         * modules/posixver (Makefile.am): Likewise.
4619         * modules/putenv (Makefile.am): Likewise.
4620         * modules/quote (Makefile.am): Likewise.
4621         * modules/quotearg (Makefile.am): Likewise.
4622         * modules/raise (Makefile.am): Likewise.
4623         * modules/read-file (Makefile.am): Likewise.
4624         * modules/readline (Makefile.am): Likewise.
4625         * modules/readlink (Makefile.am): Likewise.
4626         * modules/readtokens (Makefile.am): Likewise.
4627         * modules/readutmp (Makefile.am): Likewise.
4628         * modules/realloc (Makefile.am): Likewise.
4629         * modules/regex (Makefile.am): Likewise.
4630         * modules/rename (Makefile.am): Likewise.
4631         * modules/rename-dest-slash (Makefile.am): Likewise.
4632         * modules/rijndael (Makefile.am): Likewise.
4633         * modules/rmdir (Makefile.am): Likewise.
4634         * modules/rpmatch (Makefile.am): Likewise.
4635         * modules/safe-read (Makefile.am): Likewise.
4636         * modules/safe-write (Makefile.am): Likewise.
4637         * modules/same (Makefile.am): Likewise.
4638         * modules/save-cwd (Makefile.am): Likewise.
4639         * modules/savedir (Makefile.am): Likewise.
4640         * modules/setenv (Makefile.am): Likewise.
4641         * modules/settime (Makefile.am): Likewise.
4642         * modules/sha1 (Makefile.am): Likewise.
4643         * modules/sig2str (Makefile.am): Likewise.
4644         * modules/snprintf (Makefile.am): Likewise.
4645         * modules/stdlib-safer (Makefile.am): Likewise.
4646         * modules/stpcpy (Makefile.am): Likewise.
4647         * modules/stpncpy (Makefile.am): Likewise.
4648         * modules/strcase (Makefile.am): Likewise.
4649         * modules/strcasestr (Makefile.am): Likewise.
4650         * modules/strchrnul (Makefile.am): Likewise.
4651         * modules/strcspn (Makefile.am): Likewise.
4652         * modules/strdup (Makefile.am): Likewise.
4653         * modules/strerror (Makefile.am): Likewise.
4654         * modules/strftime (Makefile.am): Likewise.
4655         * modules/strndup (Makefile.am): Likewise.
4656         * modules/strnlen (Makefile.am): Likewise.
4657         * modules/strpbrk (Makefile.am): Likewise.
4658         * modules/strsep (Makefile.am): Likewise.
4659         * modules/strstr (Makefile.am): Likewise.
4660         * modules/strtod (Makefile.am): Likewise.
4661         * modules/strtoimax (Makefile.am): Likewise.
4662         * modules/strtok_r (Makefile.am): Likewise.
4663         * modules/strtol (Makefile.am): Likewise.
4664         * modules/strtoll (Makefile.am): Likewise.
4665         * modules/strtoul (Makefile.am): Likewise.
4666         * modules/strtoull (Makefile.am): Likewise.
4667         * modules/strtoumax (Makefile.am): Likewise.
4668         * modules/strverscmp (Makefile.am): Likewise.
4669         * modules/time_r (Makefile.am): Likewise.
4670         * modules/timegm (Makefile.am): Likewise.
4671         * modules/tmpfile-safer (Makefile.am): Likewise.
4672         * modules/unistd-safer (Makefile.am): Likewise.
4673         * modules/unlinkdir (Makefile.am): Likewise.
4674         * modules/userspec (Makefile.am): Likewise.
4675         * modules/utime (Makefile.am): Likewise.
4676         * modules/utimecmp (Makefile.am): Likewise.
4677         * modules/utimens (Makefile.am): Likewise.
4678         * modules/vasnprintf (Makefile.am): Likewise.
4679         * modules/vasprintf (Makefile.am): Likewise.
4680         * modules/vsnprintf (Makefile.am): Likewise.
4681         * modules/xalloc (Makefile.am): Likewise.
4682         * modules/xgetcwd (Makefile.am): Likewise.
4683         * modules/xnanosleep (Makefile.am): Likewise.
4684         * modules/xreadlink (Makefile.am): Likewise.
4685         * modules/xstrtod (Makefile.am): Likewise.
4686         * modules/xstrtol (Makefile.am): Likewise.
4687         * modules/xstrtold (Makefile.am): Likewise.
4688         * modules/yesno (Makefile.am): Likewise.
4689
4690 2006-10-12  Jim Meyering  <jim@meyering.net>
4691
4692         * m4/getloadavg.m4: Revert the change below.
4693
4694         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
4695         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
4696         fail with a symlink, which is what coreutils' ./bootstrap now
4697         creates by default.
4698
4699 2006-10-12  Bruno Haible  <bruno@clisp.org>
4700
4701         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
4702         mingw.
4703         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
4704         MSVC and mingw explicitly.
4705
4706 2006-10-11  Simon Josefsson  <jas@extundo.com>
4707             Bruno Haible  <bruno@clisp.org>
4708
4709         Add support for multiple gnulib-tool invocations in the scope of a
4710         single configure.ac file.
4711         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
4712         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
4713         with the same contents as the _LIBADD variable.
4714         (func_emit_initmacro_start, func_emit_initmacro_end,
4715         func_emit_initmacro_done): New functions.
4716         (func_import, func_create_testdir): Invoke them. Allow the identifiers
4717         gl_LIBOBJS and gl_LTLIBOBJS.
4718
4719 2006-10-11  Bruno Haible  <bruno@clisp.org>
4720
4721         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
4722         (func_create_testdir): Don't create po/Makefile.am, don't invoke
4723         autoreconf. Instead, invoke autopoint explicitly but move back the
4724         *.m4 files from gnulib.
4725
4726 2006-10-11  Bruno Haible  <bruno@clisp.org>
4727
4728         * gnulib-tool (func_usage): Make module names after --create-testdir
4729         optional.
4730         (func_create_testdir): If no module was specified, use nearly all
4731         modules.
4732
4733 2006-10-12  Jim Meyering  <jim@meyering.net>
4734
4735         Big performance improvement for fts-based tools that use FTS_NOSTAT.
4736         Avoid spurious inode-mismatch problems on non-POSIX file systems.
4737         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
4738         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
4739         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
4740         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
4741         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
4742         (fts_set_stat_required): New function.
4743         (fts_open): Defer the calls to fts_stat, if possible or requested.
4744         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
4745         into fts_stat itself.
4746         (fts_read): Perform any required (deferred) fts_stat call.
4747         (fts_build): Likewise, for the directory we're about to open and read.
4748         In the readdir loop, carefully decide whether each entry will require
4749         an eventual call to fts_stat, using dirent.d_type info if available.
4750         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
4751         a command line argument into this function.  Update all callers.
4752         Map a return value of FTS_DOT to FTS_D for a command line argument.
4753         * modules/fts (Depends-on): Add d-type.  Alphabetize.
4754         Thanks to Miklos Szeredi for his tenacity and for the initial
4755         bug report about "find" failing on a FUSE-based file system.
4756
4757         * lib/fts.c (fts_open): Use consistent indentation.
4758
4759 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
4760
4761         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
4762         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
4763         reported by Jim Meyering.  All uses of cache variables renamed
4764         to match Autoconf's.
4765         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
4766         the other one.
4767
4768         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
4769         Fix misspelling in diagnostic.
4770
4771 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
4772
4773         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
4774         defined.  Problem reported by Matthew Woehlke.
4775
4776         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
4777         Add support for Tandem NonStop R series.
4778         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
4779         Use new macro.
4780
4781         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
4782         (has_trailing_slash): Omit size arg; all callers changed.
4783         Omit 'inline', since it doesn't help performance and we'd
4784         need to configure it.
4785         Don't count //, ///, etc. as having a trailing slash.
4786         As a side effect, this removes a C99ism reported by Matthew Woehlke.
4787         (rpl_rename_dest_slash): On failure, use rename's errno rather
4788         than (in some cases) an incorrect or junk errno.
4789         Simplify code by removing need to compute length; this does
4790         cause it to make two passes instead of one over the file name,
4791         but it's worth it.
4792
4793         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
4794         change, since Autoconf's version may no longer be appropriate now
4795         that we are using CVS Autoconf's version.  Add support for Tandem.
4796
4797 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
4798             Bruno Haible  <bruno@clisp.org>
4799
4800         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
4801         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
4802         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
4803         gl_AC_TYPE_LONG_LONG.
4804
4805         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
4806         instead of HAVE_LONG_LONG.
4807         * lib/printf-args.c (printf_fetchargs): Likewise.
4808         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
4809         * lib/vasnprintf.c (VASNPRINTF): Likewise.
4810         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
4811         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
4812         gl_AC_TYPE_LONG_LONG.
4813
4814 2006-10-11  Bruno Haible  <bruno@clisp.org>
4815
4816         * m4/longlong.m4: Add comments.
4817         * m4/ulonglong.m4: Likewise.
4818
4819 2006-10-10  Bruno Haible  <bruno@clisp.org>
4820
4821         Make it possible to #define stpcpy, strdup to aliases.
4822         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
4823         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
4824
4825 2006-10-10  Bruno Haible  <bruno@clisp.org>
4826
4827         Make it possible to #define gcd to an alias.
4828         * lib/gcd.c: Include config.h.
4829
4830 2006-10-10  Bruno Haible  <bruno@clisp.org>
4831
4832         Make it possible to #define c_isascii to an alias.
4833         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
4834         defined. Undefine the macros before defining them, to avoid gcc
4835         warnings.
4836         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
4837         define NO_C_CTYPE_MACROS early.
4838
4839 2006-10-10  Bruno Haible  <bruno@clisp.org>
4840
4841         Make it possible to #define set_program_name to an alias.
4842         * lib/progname.c: Don't undefine set_program_name; instead, undefine
4843         ENABLE_RELOCATABLE early.
4844
4845 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
4846
4847         Port to Tandem NSK OSS, which has 64-bit signed int but at most
4848         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
4849         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
4850         More generally, don't assume that 64-bit signed int is available
4851         if unsigned int is, and vice versa.
4852         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
4853         unsigned symbols, not on their signed counterparts.
4854         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
4855         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
4856         (UINT64_C, UINTMAX_C):
4857         Likewise.
4858         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
4859         unsigned counterparts.
4860         (Have_long_long, Unsigned): New macros.
4861         (Int): Renamed from INT.
4862         (strtoimax): Use the new macros.
4863         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
4864         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
4865         * modules/inttypes (inttypes.h): Substitute
4866         HAVE_UNSIGNED_LONG_LONG_INT.
4867         * modules/stdint (stdint.h): Likewise.
4868         (Files): Add m4/ulonglong.m4.
4869
4870 2006-10-10  Bruno Haible  <bruno@clisp.org>
4871
4872         Fix a gcc -Wshadow warning.
4873         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
4874         to 'bucket'.
4875         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
4876         gl_linked_indexof_from_to): Likewise.
4877         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
4878         Likewise.
4879         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
4880         Likewise.
4881         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
4882         Reported by Eric Blake.
4883
4884 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
4885
4886         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
4887         for NetBSD.  Problem reported by Bruno Haible.
4888
4889 2006-10-09  Jim Meyering  <jim@meyering.net>
4890
4891         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
4892         Patch from Bruno Haible.
4893
4894 2006-10-09  Jim Meyering  <jim@meyering.net>
4895
4896         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
4897         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
4898         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
4899
4900 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
4901
4902         Don't include <config.h> twice; this doesn't work in some cases,
4903         e.g., when config.h has "#define intmax_t long long int" and
4904         we include <config.h>, <inttypes.h>, <config.h> in that order.
4905         Problem reported by Matthew Woehlke in:
4906         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
4907         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
4908         * lib/fts-cycle.c: Don't include config.h.
4909         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
4910         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
4911         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
4912         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
4913         inttypes.h.
4914         * lib/xstrtoumax.c: Likewise.
4915         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
4916         __strtol and the like, so that this module is more like its siblings.
4917         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
4918         Remove; no longer needed now that we assume gnulib inttypes.h.
4919
4920 2006-10-08  Bruno Haible  <bruno@clisp.org>
4921
4922         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
4923         option.
4924
4925 2006-10-07  Jim Meyering  <jim@meyering.net>
4926
4927         * modules/inttypes (inttypes.h): Revert what seems to have been
4928         an inadvertent part of today's change: use "|", not "/" in the
4929         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
4930
4931 2006-10-07  Bruno Haible  <bruno@clisp.org>
4932
4933         * modules/sublist: New file.
4934
4935 2006-10-07  Bruno Haible  <bruno@clisp.org>
4936
4937         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
4938         * modules/argz (argz.h): Likewise.
4939         * modules/arpa_inet (arpa/inet.h): Likewise.
4940         * modules/byteswap (byteswap.h): Likewise.
4941         * modules/configmake (configmake.h): Likewise.
4942         * modules/fcntl (fcntl.h): Likewise.
4943         * modules/fnmatch (fnmatch.h): Likewise.
4944         * modules/getopt (getopt.h): Likewise.
4945         * modules/glob (glob.h): Likewise.
4946         * modules/inttypes (inttypes.h): Likewise.
4947         * modules/netinet_in (netinet/in.h): Likewise.
4948         * modules/poll (poll.h): Likewise.
4949         * modules/stdbool (stdbool.h): Likewise.
4950         * modules/stdint (stdint.h): Likewise.
4951         * modules/sys_select (sys/select.h): Likewise.
4952         * modules/sys_socket (sys/socket.h): Likewise.
4953         * modules/sys_stat (sys/stat.h): Likewise.
4954         * modules/sysexits (sysexits.h): Likewise.
4955         * modules/unistd (unistd.h): Likewise.
4956         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4957         Add a "DO NOT EDIT" comment to the generated file.
4958         (func_import): Likewise for gnulib-comp.m4.
4959
4960 2006-10-07  Bruno Haible  <bruno@clisp.org>
4961
4962         * lib/gl_sublist.h: New file.
4963         * lib/gl_sublist.c: New file.
4964
4965 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
4966
4967         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
4968         name (relative to the original working directory) and the file
4969         name component (relative to the temporary working directory).  All
4970         callers changed.
4971         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
4972         * lib/mkdir-p.c (make_dir_parents): Likewise.
4973         * lib/mkdir-p.h (make_dir_parents): Likewise.
4974
4975 2006-10-06  Eric Blake  <ebb9@byu.net>
4976
4977         Define several macros for use by the clean-temp module.
4978         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
4979         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
4980         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
4981
4982         * lib/clean-temp.h (close_stream_temp): New declaration.
4983         * lib/clean-temp.c (includes): Pull in headers according to what
4984         other modules are in use.
4985         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
4986
4987 2006-10-06  Bruno Haible  <bruno@clisp.org>
4988
4989         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
4990         instead of fopen, fwriteerror.
4991
4992 2006-10-06  Bruno Haible  <bruno@clisp.org>
4993
4994         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
4995         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
4996         int.
4997         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
4998         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
4999         Return an error indicator.
5000         Suggested by Eric Blake.
5001
5002 2006-10-06  Bruno Haible  <bruno@clisp.org>
5003
5004         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
5005         Reported by Eric Blake.
5006
5007 2006-10-06  Bruno Haible  <bruno@clisp.org>
5008
5009         * modules/closeout (Description): Mention stderr too.
5010
5011 2006-10-06  Bruno Haible  <bruno@clisp.org>
5012         and Paul Eggert  <eggert@cs.ucla.edu>
5013
5014         * lib/closeout.c (close_stdout): Also close stderr.
5015         * lib/closeout.h: Update comment.
5016
5017 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
5018
5019         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
5020         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
5021         * lib/dirchownmod.c: Include lchown.h.
5022         * lib/lchown.c: Don't include files that lchown.h now includes.
5023         Don't declare chown, since lchown.h now does that.
5024         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
5025         (lchown): Define to rpl_chown if lchown is declared but
5026         does not exist.  Declare using a prototype if lchown is not
5027         declared.  Add a copyright notice.
5028         * lib/mkstemp.h: Include <unistd.h>.
5029         * lib/openat.c: Include lchown.h.
5030
5031         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
5032         we now test for that separately.
5033         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
5034         rather than O_NOFOLLOW, when testing whether it's possible to
5035         avoid a race condition reliably.
5036         * lib/savewd.c (savewd_chdir): Likewise.
5037
5038         Remove macros that are no longer needed now that stdint.h is
5039         reliable.
5040         * lib/fsusage.c (UINTMAX_MAX): Remove.
5041         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
5042         * lib/utimecmp.c (SIZE_MAX): Remove.
5043
5044         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
5045
5046         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
5047         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
5048         O_NOATIME works.
5049
5050 2006-10-05  Bruno Haible  <bruno@clisp.org>
5051
5052         * lib/gl_list.h (gl_sortedlist_search_from_to,
5053         gl_sortedlist_indexof_from_to): New declarations.
5054         (gl_list_implementation): New fields sortedlist_search_from_to,
5055         sortedlist_indexof_from_to.
5056         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
5057         inline functions.
5058         * lib/gl_list.c (gl_sortedlist_search_from_to,
5059         gl_sortedlist_indexof_from_to): New functions.
5060         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
5061         function.
5062         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
5063         (gl_array_sortedlist_search_from_to): New function.
5064         (gl_array_list_implementation): Update.
5065         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
5066         function.
5067         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
5068         (gl_carray_sortedlist_search_from_to): New function.
5069         (gl_carray_list_implementation): Update.
5070         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
5071         gl_linked_sortedlist_indexof_from_to): New functions.
5072         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5073         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5074         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
5075         gl_tree_sortedlist_indexof_from_to): New functions.
5076         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5077         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5078         Update.
5079         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5080         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
5081         Update.
5082
5083 2006-10-05  Bruno Haible  <bruno@clisp.org>
5084
5085         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
5086         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
5087         (struct gl_list_implementation): Add fields search_from_to,
5088         indexof_from_to. Remove fields search, indexof.
5089         (gl_list_search): Use the search_from_to method.
5090         (gl_list_search_from, gl_list_search_from_to): New functions.
5091         (gl_list_indexof): Use the indexof_from_to method.
5092         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5093         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
5094         (gl_list_search_from, gl_list_search_from_to): New functions.
5095         (gl_list_indexof): Use the indexof_from_to method.
5096         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
5097         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
5098         gl_array_indexof. Add start_index, end_index arguments.
5099         (gl_array_search_from_to): Renamed from gl_array_search. Add
5100         start_index, end_index arguments.
5101         (gl_array_remove, gl_array_list_implementation): Update.
5102         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
5103         gl_carray_indexof. Add start_index, end_index arguments.
5104         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
5105         start_index, end_index arguments.
5106         (gl_carray_remove, gl_carray_list_implementation): Update.
5107         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
5108         gl_linked_search. Add start_index, end_index arguments.
5109         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
5110         start_index, end_index arguments.
5111         (gl_linked_remove): Update.
5112         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
5113         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
5114         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
5115         field to 'size_t'.
5116         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
5117         gl_tree_search. Add start_index, end_index arguments.
5118         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5119         start_index, end_index arguments.
5120         (gl_tree_remove): Update.
5121         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
5122         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
5123         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
5124         function.
5125         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
5126         gl_tree_search. Add start_index, end_index arguments.
5127         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
5128         start_index, end_index arguments.
5129         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
5130         Update.
5131         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
5132
5133 2006-10-05  Bruno Haible  <bruno@clisp.org>
5134
5135         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
5136
5137         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
5138         fwriteerror_temp): New declarations.
5139         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
5140         (descriptors): New variable.
5141         (cleanup): First, close the descriptors.
5142         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
5143         fclose_temp, fwriteerror_temp): New functions.
5144
5145 2006-10-04  Jim Meyering  <jim@meyering.net>
5146
5147         * lib/fts.c (fts_open): Tiny comment change.
5148
5149 2006-10-04  Bruno Haible  <bruno@clisp.org>
5150
5151         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
5152         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
5153         gl_LOCK_BODY.
5154         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
5155         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
5156         gl_LOCK_EARLY_BODY.
5157         (gl_LOCK): Require gl_LOCK_BODY.
5158
5159 2006-10-04  Bruno Haible  <bruno@clisp.org>
5160
5161         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
5162         (gl_oset_search_atleast): New declaration.
5163         (struct gl_oset_implementation): Add field 'search_atleast'.
5164         (gl_oset_search_atleast): New inline function.
5165         * lib/gl_oset.c (gl_oset_search_atleast): New function.
5166         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
5167         (gl_array_oset_implementation): Update.
5168         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
5169         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
5170         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
5171
5172 2006-10-04  Bruno Haible  <bruno@clisp.org>
5173
5174         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
5175
5176 2006-10-03  Bruno Haible  <bruno@clisp.org>
5177
5178         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
5179         from gl_avltreehash_list_implementation.
5180
5181 2006-10-03  Bruno Haible  <bruno@clisp.org>
5182
5183         * lib/gl_oset.c (gl_oset_add): Fix return type.
5184
5185 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
5186
5187         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
5188
5189 2006-10-02  Eric Blake  <ebb9@byu.net>
5190
5191         * modules/strnlen (Depends-on): Add extensions.
5192
5193 2006-10-02  Eric Blake  <ebb9@byu.net>
5194
5195         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
5196         definition in 2.60+.
5197
5198 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
5199
5200         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
5201         checks.
5202
5203 2006-10-02  Bruno Haible  <bruno@clisp.org>
5204
5205         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
5206         to the AUTOMAKE_OPTIONS.
5207         Reported by Jim Meyering.
5208
5209 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
5210
5211         Work around bug in Solaris 10 /proc file system:
5212         /proc/self/fd/NNN/.. isn't the parent directory of
5213         the directory whose file descriptor is NNN.  This needs to
5214         be worked around at run time, not compile time, since a
5215         program might be built on Solaris 8, where things work, and
5216         run on Solaris 10.
5217         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
5218         to use the following interface instead:
5219         (OPENAT_BUFFER_SIZE): New macro.
5220         (openat_proc_name): New function.
5221         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
5222         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
5223         Likewise.
5224         * lib/openat-proc.c: New file.
5225         * modules/openat (Files): Add lib/openat-proc.c.
5226         (Depends-on): Add same-inode, stdbool.
5227         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
5228
5229 2006-09-29  Bruno Haible  <bruno@clisp.org>
5230
5231         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
5232         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
5233         argument. Set stdout_closed before testing for ferror, not after.
5234         (fwriteerror, fwriteerror_no_ebadf): New functions.
5235
5236 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5237
5238         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
5239
5240 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
5241
5242         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
5243         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
5244
5245 2006-09-28  Jim Meyering  <jim@meyering.net>
5246
5247         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
5248         Include <unistd.h>.
5249
5250 2006-09-28  Bruno Haible  <bruno@clisp.org>
5251
5252         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
5253         * modules/linkedhash-list (Depends-on): Likewise.
5254         * modules/rbtreehash-list (Depends-on): Likewise.
5255
5256 2006-09-28  Bruno Haible  <bruno@clisp.org>
5257
5258         * lib/strndup.h: Simplify the redefinition of strndup.
5259         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
5260         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
5261
5262 2006-09-28  Bruno Haible  <bruno@clisp.org>
5263
5264         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
5265         * lib/gl_linkedhash_list.c: Likewise.
5266         * lib/gl_rbtreehash_list.c: Likewise.
5267
5268 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
5269
5270         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
5271         getaddrinfo.
5272
5273         * lib/__fpending.h: Don't include <stdio_ext.h> unless
5274         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
5275         it causes <stdio_ext.h> to cause a compile-time error.
5276         Problem reported by Nelson H. F. Beebe.
5277         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
5278         of HAVE_DECL___PENDING.
5279
5280         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
5281         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
5282         declaration.
5283
5284 2006-09-27  Jim Meyering  <jim@meyering.net>
5285
5286         This file could end up with a definition for a function
5287         named __strndup, rather than rpl_strndup on a system with
5288         incomplete weak_alias support.
5289         * lib/strndup.c (strndup): Rename from __strndup.
5290         Remove #defines that used to map __strndup to strndup.
5291         Don't use K&R prototypes.
5292         Remove LIBC-related code, since this file is not sync'd with glibc.
5293         * lib/strndup.h: Revamp, accordingly.
5294         * m4/strndup.m4: Modernize.
5295
5296 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
5297
5298         * modules/savewd (Depends-on): Add 'raise'.
5299         * lib/savewd.c: Include <signal.h>, for 'raise'.
5300
5301 2006-09-26  Jim Meyering  <jim@meyering.net>
5302
5303         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
5304         when we detect Darwin 8.7.0's acl_get_file bug.
5305         Rearrange to perform the new (below) run-test while $LIBS
5306         contains any acl-related library.  Set USE_ACL at the end.
5307         (gl_ACL_GET_FILE): New function.
5308
5309 2006-09-26  Eric Blake  <ebb9@byu.net>
5310
5311         * lib/verror.c: Include <config.h> unconditionally.
5312
5313 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
5314
5315         * modules/clock-time (Maintainer): Add self.
5316         * modules/getlogin_r (Depends-on): Add extensions.
5317
5318 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5319
5320         * modules/clock-time: New module.
5321         * modules/nanosleep (Depends-on): Add clock-time.
5322         * modules/gethrxtime (Depends-on): Likewise.
5323         * modules/gettime (Depends-on): Likewise.
5324         * modules/settime (Depends-on): Likewise.
5325
5326         * modules/fts-lgpl: Depend on openat.
5327         * modules/mkancesdirs: Depend on savewd.
5328         * modules/mkdir-p: Likewise.
5329
5330 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5331
5332         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
5333
5334         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
5335         `gl_have_arbitrary_file_name_length_limit' to
5336         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
5337         actually works between configure runs.
5338
5339 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5340             Bruno Haible  <bruno@clisp.org>
5341
5342         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
5343
5344 2006-09-25  Jim Meyering  <jim@meyering.net>
5345
5346         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
5347         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
5348
5349 2006-09-25  Eric Blake  <ebb9@byu.net>
5350
5351         * gnulib-tool (func_import, func_create_testdir): Fix typos in
5352         exec's in 2006-09-18 patch when shuffling fds.
5353
5354 2006-09-25  Bruno Haible  <bruno@clisp.org>
5355
5356         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
5357         Reported by Jim Meyering.
5358
5359 2006-09-24  Jim Meyering  <jim@meyering.net>
5360
5361         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
5362         compare a pointer against a literal "0".  That caused failures with
5363         at least HP-UX's hpcc.
5364
5365 2006-09-22  Simon Josefsson  <jas@extundo.com>
5366
5367         * modules/gc-sha1:
5368         * modules/gc-md4:
5369         * modules/gc-hmac-sha1:
5370         * modules/gc-hmac-md5:
5371         * modules/gc-des:
5372         * modules/gc-arcfour: Distribute more files.
5373
5374 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5375
5376         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
5377         (gl_linked_iterator_from_to): Initialize struct completely.
5378         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
5379         (gl_tree_iterator_from_to): Likewise
5380         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
5381         * lib/gl_array_list.c [lint] (gl_array_iterator)
5382         (gl_array_iterator_from_to): Likewise.
5383         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
5384         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
5385         (gl_carray_iterator_from_to): Likewise.
5386
5387         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
5388         * lib/md4.c (md4_process_block): Remove unused variable.
5389         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
5390         parentheses for clarity.
5391
5392 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5393
5394         * modules/bison-i18n (Depends-on): Add gettext.
5395
5396 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5397
5398         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
5399         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
5400         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
5401         also add missing comma that caused broken test.
5402         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
5403         stdlib.h, for `abort'.
5404         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
5405         variables.
5406         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
5407         include unistd.h if present, for `rmdir'.
5408         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
5409         variables.
5410         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
5411         in the process include standard headers for prototypes.
5412         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
5413         gets declared on GNU/Linux.
5414         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
5415         unistd.h, for `rmdir'.
5416         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
5417
5418         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
5419         always true.
5420         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
5421
5422         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
5423
5424 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5425
5426         * gnulib-tool (func_version): Create output all at once.  This
5427         may help avoid triggering unnecessary SIGPIPEs, and at any
5428         rate it doesn't hurt.
5429
5430 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5431             Bruno Haible  <bruno@clisp.org>
5432
5433         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
5434         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
5435         * m4/signed.m4 (bh_C_SIGNED): Likewise.
5436
5437         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
5438         (gl_FUNC_VASPRINTF): Invoke it.
5439
5440 2006-09-22  Bruno Haible  <bruno@clisp.org>
5441
5442         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
5443         getloadavg.c as first argument.
5444
5445 2006-09-22  Bruno Haible  <bruno@clisp.org>
5446
5447         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
5448         at the beginning of the gl_INIT macro.
5449         * modules/getloadavg (configure.ac): Pass $gl_source_base to
5450         gl_GETLOADAVG.
5451
5452 2006-09-22  Bruno Haible  <bruno@clisp.org>
5453
5454         * gnulib-tool (func_create_megatestdir): Don't include the config-h
5455         module.
5456         Suggested by Ralf Wildenhues.
5457
5458 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
5459
5460         Import this patch from libc:
5461
5462         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
5463
5464         * lib/regex_internal.c (re_string_reconstruct): Handle
5465         offset < pstr->valid_raw_len && pstr->offsets_needed case.
5466         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
5467         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
5468         re_string_context_at.
5469
5470         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
5471         now requires it.
5472         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
5473         gl_REGEX now does it for us.
5474         (gl_REGEX): Add test taken from
5475         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
5476
5477         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
5478         Check that large offsets work.  Modernize Autoconf usages.
5479         Prefer "yes" to mean a good thing rather than a bad.
5480         Don't put "#define mkstemp" in config.h, as this might interfere
5481         with standard system headers that "#define mkstemp mkstemp64".
5482
5483         * modules/mkstemp (Depends-on): Add extensions, so that
5484         mkstemp is visible on some platforms.
5485         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
5486         (Include): Change to "mkstemp.h" from <stdlib.h>.
5487         (Files): Add mkstemp.h.
5488
5489         * lib/mkstemp.h: New file, since some standard headers
5490         #define mkstemp.
5491         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
5492         Include "mkstemp.h".
5493         Make the _LIBC code resemble glibc original more,
5494         e.g., use K&R style.
5495         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
5496         (mkstemp): Remove, since mkstemp.h does this for us.
5497         * lib/stdlib--.h: Include mkstemp.h.
5498
5499         Import this patch from libc:
5500
5501         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
5502
5503         * lib/tempname.c (__gen_tempname): Change attempts_min
5504         into a macro.  Use preprocessor to decide how to initialize
5505         attempts [Coverity CID 67].
5506
5507 2006-09-20  Bruno Haible  <bruno@clisp.org>
5508
5509         * lib/mkdtemp.c: Import from libc.
5510         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
5511                 * sysdeps/posix/tempname.c (__gen_tempname): Change
5512                 attempts_min into a macro.  Use preprocessor to decide how to
5513                 initialize attempts [Coverity CID 67].
5514         2001-11-27  Paul Eggert  <eggert@twinsun.com>
5515                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
5516                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
5517
5518 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5519
5520         * gnulib-tool (func_exit): New function, to allow to pass the
5521         exit status portably through the trap.  Use everywhere.
5522         (--help, --version): Signal a write error.
5523         (trap): catch SIGPIPE, for write errors.
5524         Exit at the end of the trap, with the correct exit status.
5525
5526 2006-09-19  Karl Berry  <karl@gnu.org>
5527
5528         * doc/gnulib.texi: note about the license texinfo files.
5529
5530 2006-09-19  Eric Blake  <ebb9@byu.net>
5531
5532         * gnulib-tool: Avoid space-tab.
5533
5534 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5535
5536         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
5537         that prevented coreutils 6.1 from building.  Problem reported
5538         by Petter Reinholdtsen.
5539
5540 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5541
5542         * gnulib-tool (avoidlist): Fix typo that broke options like
5543         --avoid=lock that are used by coreutils bootstrap.
5544
5545 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
5546
5547         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
5548         more systematically.
5549
5550 2006-09-18  Jim Meyering  <jim@meyering.net>
5551
5552         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
5553
5554 2006-09-18  Bruno Haible  <bruno@clisp.org>
5555
5556         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
5557
5558 2006-09-18  Bruno Haible  <bruno@clisp.org>
5559
5560         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
5561         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
5562         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
5563         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
5564         * m4/gettext.m4: Require autoconf >= 2.52.
5565         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
5566         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
5567         of gl_cv_header_inttypes_h.
5568
5569 2006-09-18  Bruno Haible  <bruno@clisp.org>
5570
5571         * lib/javaversion.c: Include configmake.h.
5572
5573 2006-09-18  Bruno Haible  <bruno@clisp.org>
5574
5575         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
5576         avoid that the while loops be executed in a subshell.
5577
5578 2006-09-18  Bruno Haible  <bruno@clisp.org>
5579
5580         * MODULES.html.sh (func_module): Break long lines.
5581         Suggested by Bruce Korb <bkorb@gnu.org>.
5582
5583 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5584
5585         Speed up by a factor of 1.12.
5586         * gnulib-tool (nl): New variable.
5587         (func_import): Rewrite include directive extraction to only read each
5588         directive once.
5589
5590 2006-09-17  Bruno Haible  <bruno@clisp.org>
5591
5592         * modules/javaversion (Makefile.am): Remove DEFS setting.
5593         (Depends-on): Add configmake, for PKGDATADIR definition.
5594
5595 2006-09-17  Bruno Haible  <bruno@clisp.org>
5596
5597         * gnulib-tool (func_create_testdir): Rewrite all files at once.
5598
5599 2006-09-17  Bruno Haible  <bruno@clisp.org>
5600
5601         * gnulib-tool (func_append): New function, stolen from libtool.m4.
5602         (func_modules_transitive_closure, func_modules_add_dummy,
5603         func_modules_to_filelist, func_import, func_create_testdir,
5604         func_create_megatestdir, ...): Use it wherever possible.
5605         Suggested by Ralf Wildenhues.
5606
5607 2006-09-16  Karl Berry  <karl@gnu.org>
5608
5609         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
5610         to avoid sectioning errors.
5611         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
5612         [ifinfo]: blank line after @center-ed titles.
5613         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
5614         Spell FSF address consistently with others.
5615         (These changes approved by rms.)
5616
5617 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5618
5619         Speed up by a factor of 1.61.
5620         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
5621         already checked module names again.
5622
5623 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5624
5625         Speed up by a factor of 1.13.
5626         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
5627         for new_files, and the input to func_add_or_update.
5628
5629 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5630
5631         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
5632         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
5633
5634 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5635
5636         * modules/mkancesdirs (Depends-on): Add fcntl.
5637         * modules/savewd: New file.
5638         * MODULES.html.sh (File system functions): Add savewd.
5639
5640         * modules/configmake (Makefile.am): Add support for the
5641         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
5642
5643 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5644
5645         * m4/savewd.m4: New file.
5646
5647 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5648
5649         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
5650         (dirchownmod): New arg FD.  All callers changed.
5651         Use FD rather than opening the directory ourself, as opening is
5652         now the caller's responsibility.
5653         * lib/dirchownmod.h: Likewise.
5654         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
5655         hosts that require <sys/types.h> before <sys/stat.h>.  Include
5656         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
5657         (test_dir): Remove.
5658         (mkancesdirs): Return length of prefix of FILE that has already
5659         been made, or -2 if there is a child doing the work.  Redo
5660         algorithm so that it is O(N) rather than O(N**2).  Optimize away
5661         ".", and treat ".." specially since it might stray back into
5662         already-created areas.  Use a subprocess if necessary.  New arg
5663         WD; all users changed.  MAKE_DIR function should now return 1
5664         if it creates a directory that is not readable.  Return -2 if
5665         a child process is spun off.
5666         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
5667         Adjust signature to match code.
5668         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
5669         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
5670         all users changed.
5671         * lib/savewd.c, lib/savewd.h: New files.
5672
5673 2006-09-15  Jim Meyering  <jim@meyering.net>
5674
5675         * modules/rename-dest-slash: New module.
5676         * MODULES.html.sh (posix_compat): Add it here.
5677
5678         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
5679
5680 2006-09-15  Jim Meyering  <jim@meyering.net>
5681
5682         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
5683         file.
5684
5685         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
5686
5687 2006-09-15  Jim Meyering  <jim@meyering.net>
5688
5689         * lib/rename-dest-slash.c (has_trailing_slash): Use
5690         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
5691         (rpl_rename_dest_slash): Perform the cheaper trailing slash
5692         test before testing whether SRC is a directory.
5693         Suggestions from Bruno Haible.
5694
5695         Avoid a warning about an unused variable.
5696         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
5697         into the #ifdef block where it's used.
5698
5699         * lib/rename-dest-slash.c: New file.
5700
5701 2006-09-14  Bruno Haible  <bruno@clisp.org>
5702
5703         * lib/allocsa.c: Include <config.h> unconditionally.
5704         * lib/asnprintf.c: Likewise.
5705         * lib/asprintf.c: Likewise.
5706         * lib/c-strcasecmp.c: Likewise.
5707         * lib/c-strcasestr.c: Likewise.
5708         * lib/c-strncasecmp.c: Likewise.
5709         * lib/c-strstr.c: Likewise.
5710         * lib/classpath.c: Likewise.
5711         * lib/clean-temp.c: Likewise.
5712         * lib/concatpath.c: Likewise.
5713         * lib/copy-file.c: Likewise.
5714         * lib/csharpcomp.c: Likewise.
5715         * lib/csharpexec.c: Likewise.
5716         * lib/execute.c: Likewise.
5717         * lib/fatal-signal.c: Likewise.
5718         * lib/findprog.c: Likewise.
5719         * lib/fwriteerror.c: Likewise.
5720         * lib/gl_array_list.c: Likewise.
5721         * lib/gl_array_oset.c: Likewise.
5722         * lib/gl_avltree_list.c: Likewise.
5723         * lib/gl_avltree_oset.c: Likewise.
5724         * lib/gl_avltreehash_list.c: Likewise.
5725         * lib/gl_carray_list.c: Likewise.
5726         * lib/gl_linked_list.c: Likewise.
5727         * lib/gl_linkedhash_list.c: Likewise.
5728         * lib/gl_list.c: Likewise.
5729         * lib/gl_oset.c: Likewise.
5730         * lib/gl_rbtree_list.c: Likewise.
5731         * lib/gl_rbtree_oset.c: Likewise.
5732         * lib/gl_rbtreehash_list.c: Likewise.
5733         * lib/imaxabs.c: Likewise.
5734         * lib/imaxdiv.c: Likewise.
5735         * lib/javacomp.c: Likewise.
5736         * lib/javaexec.c: Likewise.
5737         * lib/javaversion.c: Likewise.
5738         * lib/linebreak.c: Likewise.
5739         * lib/localcharset.c: Likewise.
5740         * lib/lock.c: Likewise.
5741         * lib/mbchar.c: Likewise.
5742         * lib/mbswidth.c: Likewise.
5743         * lib/mkdtemp.c: Likewise.
5744         * lib/pipe.c: Likewise.
5745         * lib/printf-args.c: Likewise.
5746         * lib/printf-parse.c: Likewise.
5747         * lib/progname.c: Likewise.
5748         * lib/progreloc.c: Likewise.
5749         * lib/readlink.c: Likewise.
5750         * lib/sh-quote.c: Likewise.
5751         * lib/stpcpy.c: Likewise.
5752         * lib/stpncpy.c: Likewise.
5753         * lib/strcasecmp.c: Likewise.
5754         * lib/strcasestr.c: Likewise.
5755         * lib/strcspn.c: Likewise.
5756         * lib/striconv.c: Likewise.
5757         * lib/strncasecmp.c: Likewise.
5758         * lib/strnlen1.c: Likewise.
5759         * lib/strstr.c: Likewise.
5760         * lib/strtok_r.c: Likewise.
5761         * lib/tls.c: Likewise.
5762         * lib/tmpdir.c: Likewise.
5763         * lib/unicodeio.c: Likewise.
5764         * lib/unsetenv.c: Likewise.
5765         * lib/vasnprintf.c: Likewise.
5766         * lib/vasprintf.c: Likewise.
5767         * lib/wait-process.c: Likewise.
5768         * lib/xallocsa.c: Likewise.
5769         * lib/xsetenv.c: Likewise.
5770         * lib/xstriconv.c: Likewise.
5771
5772 2006-09-13  Simon Josefsson  <jas@extundo.com>
5773
5774         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
5775         that internally, suggested by Ralf Wildenhues
5776         <Ralf.Wildenhues@gmx.de>.
5777
5778 2006-09-13  Simon Josefsson  <jas@extundo.com>
5779
5780         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
5781         @LIBOBJS@.
5782         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5783
5784 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
5785
5786         * lib/_fpending.c: Include <config.h> unconditionally, since we no
5787         longer worry about uses that don't define HAVE_CONFIG_H.
5788         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
5789         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
5790         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
5791         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
5792         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
5793         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
5794         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
5795         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
5796         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
5797         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
5798         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
5799         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
5800         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
5801         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
5802         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
5803         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
5804         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
5805         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
5806         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
5807         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
5808         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
5809         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
5810         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
5811         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
5812         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
5813         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
5814         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
5815         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
5816         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
5817         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
5818         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
5819         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
5820         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
5821         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
5822         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
5823         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
5824         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
5825         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
5826         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
5827         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
5828         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
5829         Likewise.
5830
5831 2006-09-13  Eric Blake  <ebb9@byu.net>
5832
5833         * lib/getopt.c: Fix typo in last commit.
5834
5835 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
5836
5837         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
5838         dgettext.
5839
5840 2006-09-12  Jim Meyering  <jim@meyering.net>
5841
5842         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
5843         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
5844         Reported by Nelson H. F. Beebe.
5845
5846 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
5847
5848         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
5849         program_invocation_name and program_invocation_short_name are
5850         initialized.
5851         * lib/argp-namefrob.h: Move declarations of program_invocation_name
5852         and program_invocation_short_name to argp.h, so they are visible
5853         to user programs.
5854         * lib/argp.h: Likewise
5855
5856 2006-09-10  Bruno Haible  <bruno@clisp.org>
5857
5858         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
5859         m4/inttypes_h.m4, m4/uintmax_t.m4.
5860
5861 2006-09-10  Bruno Haible  <bruno@clisp.org>
5862
5863         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
5864         gl_AC_TYPE_UINTMAX_T.
5865
5866 2006-09-10  Bruno Haible  <bruno@clisp.org>
5867
5868         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
5869
5870 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
5871
5872         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
5873         convention.  Text proposed by Bruno Haible.
5874         (struct argp_option): Document the use of N_() wrappers.
5875
5876         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
5877         '\v', and translate the two parts separately, instead of feeding
5878         the whole string to gettext.  This allows to exclude
5879         '\v' from the strings visible to the translator by writing doc
5880         strings as N_("..") "\v" N_("..").
5881
5882 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
5883
5884         * config/srclist.txt: Undo latest change; the bug was fixed.
5885
5886 2006-09-09  Bruno Haible  <bruno@clisp.org>
5887
5888         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
5889         assignments if building a library without libtool.
5890         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
5891         in func_emit_lib_Makefile_am.
5892         (func_import): When building a static library libfoo.a, arrange to
5893         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
5894         (func_create_testdir): Likewise.
5895         * modules/gc (configure.ac, Makefile.am): If building statically,
5896         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
5897         * modules/iconvme (configure.ac, Makefile.am): Likewise.
5898         * modules/striconv (configure.ac, Makefile.am): Likewise.
5899         Based on a suggestion by Ralf Wildenhues.
5900
5901 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
5902
5903         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
5904         Check for unistd.h too, since Autoconf doesn't assume POSIX.
5905         Also:
5906
5907         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
5908         Add year_2050_test to catch glibc bug 2821
5909         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
5910
5911         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5912         Prefer #ifdef to #if.
5913
5914         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
5915         Return from 'main' instead of calling 'exit'.
5916
5917 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
5918
5919         * lib/mktime.c (guess_time_tm): Fix bug where mktime
5920         returned the maximum time_t value rather than (time_t) -1.
5921         Problem originally reported by William Bardwell
5922         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
5923
5924         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
5925         Moved to here ...
5926         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
5927         ... from here.
5928
5929 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
5930
5931         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
5932         2821 is fixed.
5933
5934 2006-09-08  Jim Meyering  <jim@meyering.net>
5935
5936         Don't make generated files read-only.  That would bother too many
5937         people.  However, do retain the ability to work when targets are
5938         read-only: remove the destination and temporary files before writing
5939         them (when generated via sed or echo), or by using the -f option for
5940         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
5941         * modules/alloca-opt, modules/argz, modules/arpa_inet:
5942         * modules/byteswap, modules/configmake, modules/fcntl:
5943         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
5944         * modules/localcharset, modules/netinet_in, modules/poll:
5945         * modules/stdbool, modules/stdint, modules/sys_select:
5946         * modules/sys_socket, modules/sys_stat, modules/sysexits:
5947
5948 2006-09-08  Jim Meyering  <jim@meyering.net>
5949
5950         Avoid new build failure on FreeBSD 6.0.
5951         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
5952         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
5953         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
5954
5955 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5956
5957         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
5958
5959 2006-09-07  Jim Meyering  <jim@meyering.net>
5960
5961         Fix global typo in last change: use chmod u-w, not chmod u-x.
5962         Spotted by Paul Eggert and Bruce Korb.
5963         * modules/alloca-opt, modules/argz, modules/arpa_inet:
5964         * modules/byteswap, modules/configmake, modules/fcntl:
5965         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
5966         * modules/localcharset, modules/netinet_in, modules/poll:
5967         * modules/stdbool, modules/stdint, modules/sys_select:
5968         * modules/sys_socket, modules/sys_stat, modules/sysexits:
5969
5970 2006-09-06  Jim Meyering  <jim@meyering.net>
5971
5972         Make generated files be read-only.
5973         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
5974         Ensure that each generated file is now read-only.
5975         * modules/argz: Likewise.
5976         * modules/arpa_inet: Likewise.
5977         * modules/byteswap: Likewise.
5978         * modules/configmake: Likewise.
5979         * modules/fcntl: Likewise.
5980         * modules/fnmatch: Likewise.
5981         * modules/getopt: Likewise.
5982         * modules/glob: Likewise.
5983         * modules/inttypes: Likewise.
5984         * modules/netinet_in: Likewise.
5985         * modules/poll: Likewise.
5986         * modules/stdbool: Likewise.
5987         * modules/stdint: Likewise.
5988         * modules/sys_select: Likewise.
5989         * modules/sys_socket: Likewise.
5990         * modules/sys_stat: Likewise.
5991         * modules/sysexits: Likewise.
5992         * modules/localcharset: Same as above, but continue using temporary
5993         file named "t-$@" (why different?) rather than the "$@-t" used
5994         everywhere else.
5995
5996         * modules/sysexits (Makefile.am): Replace literal occurrences
5997         of "sysexit.h" more readable, and more consistent, "$@".
5998
5999 2006-09-06  Bruno Haible  <bruno@clisp.org>
6000
6001         * modules/striconv: New file.
6002         * modules/xstriconv: New file.
6003         * MODULES.html.sh (Internationalization functions): Add striconv,
6004         xstriconv.
6005
6006 2006-09-06  Bruno Haible  <bruno@clisp.org>
6007
6008         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
6009         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
6010         not using libtool correctly.
6011
6012 2006-09-06  Bruno Haible  <bruno@clisp.org>
6013
6014         * lib/striconv.h: New file.
6015         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
6016         iconvstring.c.
6017         * lib/xstriconv.h: New file.
6018         * lib/xstriconv.c: New file.
6019
6020 2006-09-06  Bruno Haible  <bruno@clisp.org>
6021
6022         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
6023         lib_..._LDFLAGS.
6024
6025 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6026
6027         * lib/argz_.h: Sync from Libtool.
6028
6029         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
6030                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6031
6032         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
6033
6034 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6035
6036         * modules/trim: New file.
6037
6038 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
6039
6040         * lib/trim.h: New file.
6041         * lib/trim.c: New file.
6042
6043 2006-09-05  Bruno Haible  <bruno@clisp.org>
6044
6045         * MODULES.html.sh (String handling): Add trim.
6046
6047 2006-09-04  Karl Berry  <karl@gnu.org>
6048
6049         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
6050         until next release.
6051
6052 2006-09-03  Bruno Haible  <bruno@clisp.org>
6053
6054         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
6055         correctly.
6056
6057 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6058
6059         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
6060         not gl_GETLOADAVG.  Omit unneeded semicolons.
6061         Problems reported by Ralf Wildenhues in
6062         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6063         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
6064         at the end, which is the usual gnulib style.
6065
6066         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
6067         of doing all the work ourselves.
6068         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
6069         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
6070
6071 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6072
6073         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
6074         Problem reported by Ralf Wildenhues in
6075         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
6076
6077         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
6078         HAVE_STRUCT_STATFS_F_FSTYPENAME.
6079
6080 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
6081
6082         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
6083         yesterday's patch by changing test -n to test -z.
6084
6085 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6086
6087         * modules/getloadavg (Files): Add m4/getloadavg.m4.
6088         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
6089         the former is now obsolescent.
6090
6091         * modules/chdir-long (Depends-on): Add fcntl.
6092
6093 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6094
6095         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
6096         obsolescent, and programs should use gnulib instead.
6097         * m4/getloadavg.m4: New file, with contents taken from Autoconf
6098         but with prefixes changed.
6099
6100 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6101
6102         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
6103         or stdbool.h, because they might not exist while configuring.
6104
6105         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
6106         Don't include unistd.h or limits.h; not needed, since chdir-long.h
6107         does that for us.
6108         (O_DIRECTORY): Remove.
6109
6110 2006-08-31  Eric Blake  <ebb9@byu.net>
6111
6112         * gnulib-tool: Don't let emacs change spaces to TAB.
6113
6114 2006-08-31  Bruno Haible  <bruno@clisp.org>
6115
6116         * gnulib-tool: When calling func_import more than once, do it in a
6117         subshell.
6118         Reported by Eric Blake <ebb9@byu.net>.
6119
6120 2006-08-31  Bruno Haible  <bruno@clisp.org>
6121
6122         * gnulib-tool (nl): Remove variable.
6123         (sed_transform_lib_file): Use more robust test for config-h module.
6124         (func_import): Fix typo in 2006-08-25 patch.
6125
6126 2006-08-31  Bruno Haible  <bruno@clisp.org>
6127
6128         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
6129         specified, augment Makefile.am variables instead of assigning them.
6130
6131 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6132
6133         Work around a bug in both the Linux and SunOS 64-bit kernels:
6134         nanosleep mishandles sleeps for longer than 2**31 seconds.
6135         Problem reported by Frank v Waveren in
6136         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6137         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
6138         Check for nanosleep bug.
6139         (LIB_NANOSLEEP): Append clock_gettime library if needed.
6140
6141 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6142
6143         Work around a bug in both the Linux and SunOS 64-bit kernels:
6144         nanosleep mishandles sleeps for longer than 2**31 seconds.
6145         Problem reported by Frank v Waveren in
6146         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
6147         * lib/nanosleep.c (BILLION): New constant.
6148         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
6149         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
6150         implementation.
6151
6152 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6153
6154         * modules/nanosleep (Depends-on): Add gettime.
6155
6156 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6157         and Simon Josefsson  <jas@extundo.com>
6158         and Oskar Liljeblad  <oskar@osk.mine.nu>
6159
6160         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
6161         * gnulib-tool (func_import): New license type 'unmodifiable license
6162         text'.
6163         * modules/fdl: Use it.  Longer description.
6164         * module/gpl, module/lgpl: New files.
6165
6166 2006-08-30  Jim Meyering  <jim@meyering.net>
6167
6168         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
6169         shadowing the parameter.
6170
6171 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6172
6173         Sync from Libtool:
6174
6175         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6176
6177         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
6178         sharing with gnulib.  Report by Eric Blake.
6179
6180 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6181
6182         * modules/isapipe: New file.
6183         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
6184
6185 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6186
6187         * modules/configmake (Makefile.am): Add a comment, and omit
6188         the CONFIGMAKE_ prefix from generated macro names.  Suggested
6189         by Bruno Haible.
6190
6191 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6192
6193         * m4/isapipe.m4: New file.
6194
6195 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6196
6197         * lib/isapipe.c, lib/isapipe.h: New files.
6198
6199 2006-08-29  Jim Meyering  <jim@meyering.net>
6200
6201         * modules/configmake (Makefile.am): Make configmake.h depend on
6202         Makefile.  Otherwise, a stale configmake.h could hang around.
6203
6204 2006-08-29  Eric Blake  <ebb9@byu.net>
6205
6206         * lib/error.c (error_at_line, print_errno_message): Match libc, after
6207         resolution of upstream bug 3044.
6208
6209 2006-08-29  Bruno Haible  <bruno@clisp.org>
6210
6211         * modules/localcharset (Depends-on): Add configmake.
6212         (Makefile.am): Remove setting of LIBDIR through DEFS.
6213
6214 2006-08-29  Bruno Haible  <bruno@clisp.org>
6215
6216         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
6217         defined.
6218
6219 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6220
6221         * modules/fcntl: New file.
6222         * modules/chdir-safer (Depends-on): Add fcntl.
6223         * modules/fts: Likewise.
6224         * modules/mkdir-p: Likewise.
6225
6226         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
6227         This undoes the most recent change, since we're now addressing the
6228         problem in a different way.
6229
6230         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
6231         into output, since the output might be called Makefile.am even
6232         if $makefile_name is something different.
6233         (func_import): Use $makefile_am rather than
6234         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
6235         empty.
6236
6237         * modules/inttypes (Files): Add m4/inttypes-h.m4.
6238
6239 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6240
6241         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
6242         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
6243         recent change to stdint.m4, since we're now addressing the problem in a
6244         different way.
6245
6246 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6247
6248         * m4/fcntl_h.m4: New file.
6249
6250 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6251
6252         * lib/fcntl_.h: New file.
6253         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
6254         the fcntl module.
6255         * lib/dirchownmod.c: Likewise.
6256         * lib/fts.c: Likewise.
6257
6258         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
6259         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
6260         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
6261         just before including <inttypes.h>, to avoid circular inclusion.
6262
6263 2006-08-28  Jim Meyering  <jim@meyering.net>
6264
6265         * doc/visibility.texi: Actually read and correct the grammar of the
6266         sentence affected by yesterday's change.
6267
6268 2006-08-28  Eric Blake  <ebb9@byu.net>
6269
6270         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
6271         needs wrapper.
6272
6273 2006-08-28  Eric Blake  <ebb9@byu.net>
6274
6275         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
6276
6277 2006-08-28  Eric Blake  <ebb9@byu.net>
6278
6279         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
6280
6281 2006-08-28  Bruno Haible  <bruno@clisp.org>
6282
6283         * modules/c-strstr: New file, from GNU gettext.
6284         * MODULES.html.sh (String handling): Add c-strstr.
6285
6286 2006-08-28  Bruno Haible  <bruno@clisp.org>
6287
6288         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
6289         macros.
6290         Reported by Eric Blake.
6291
6292 2006-08-28  Bruno Haible  <bruno@clisp.org>
6293
6294         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
6295         (VASNPRINTF): Return a string of length > INT_MAX without failing.
6296         * lib/vasprintf.c: Include errno.h, limits.h.
6297         (EOVERFLOW): New fallback definition.
6298         (vasprintf): Test here whether the string length is > INT_MAX.
6299         * lib/vsnprintf.c: Include errno.h, limits.h.
6300         (EOVERFLOW): New fallback definition.
6301         (vsnprintf): Fix bug when generated string was too long for the buffer.
6302         Test here whether the string length is > INT_MAX.
6303
6304 2006-08-28  Bruno Haible  <bruno@clisp.org>
6305
6306         * lib/inttypes_.h (SCNX*): Remove definitions.
6307         Reported by Eric Blake.
6308
6309 2006-08-28  Bruno Haible  <bruno@clisp.org>
6310
6311         * lib/c-strstr.h: New file, from GNU gettext.
6312         * lib/c-strstr.c: New file, from GNU gettext.
6313
6314 2006-08-28  Bruno Haible  <bruno@clisp.org>
6315
6316         * gnulib-tool: Reorder some statements.
6317
6318 2006-08-28  Bruno Haible  <bruno@clisp.org>
6319
6320         * gnulib-tool: New option --makefile-name.
6321         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
6322         $makefile_name.
6323         (func_import): Write $makefile_name to the cache file, and read it from
6324         there unless explicitly specified. Use $makefile_name as file name
6325         instead of Makefile.am. Adjust the recommendations accordingly.
6326
6327 2006-08-28  Bruno Haible  <bruno@clisp.org>
6328
6329         * gnulib-tool (func_verify_module): Check against misapplying patch.
6330
6331 2006-08-28  Bruno Haible  <bruno@clisp.org>
6332
6333         * gnulib-tool (func_relativize, func_relconcat): New functions.
6334         Give an error if --local-dir is given with --update.
6335         Remove trailing slashes from $local_gnulib_dir.
6336         (func_import): Store the relativized $local_gnulib_dir in
6337         gnulib-cache.m4, and read it from there if not specified explicitly.
6338
6339 2006-08-28  Bruno Haible  <bruno@clisp.org>
6340
6341         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
6342         is the current directory. Respect also $local_gnulib_dir.
6343
6344 2006-08-28  Bruno Haible  <bruno@clisp.org>
6345             Simon Josefsson  <jas@extundo.com>
6346
6347         BeOS portability.
6348         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
6349
6350 2006-08-27  Jim Meyering  <jim@meyering.net>
6351
6352         * doc/visibility.texi: Remove duplicate word: "pointer".
6353
6354 2006-08-26  Bruno Haible  <bruno@clisp.org>
6355
6356         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
6357         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
6358         (Makefile.am): Create inttypes.h from inttypes_.h.
6359         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
6360
6361         * modules/imaxabs: New file.
6362
6363         * modules/imaxdiv: New file.
6364
6365 2006-08-26  Bruno Haible  <bruno@clisp.org>
6366
6367         * m4/inttypes.m4: New file.
6368         * m4/_inttypes_h.m4: Remove file.
6369         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
6370         PRI_MACROS_BROKEN.
6371         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
6372
6373         * m4/imaxabs.m4: New file.
6374
6375         * m4/imaxdiv.m4: New file.
6376
6377 2006-08-26  Bruno Haible  <bruno@clisp.org>
6378
6379         * lib/inttypes_.h: New file.
6380         * lib/inttypes.h: Remove file.
6381         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
6382
6383         * lib/imaxabs.c: New file.
6384
6385         * lib/imaxdiv.c: New file.
6386
6387 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6388
6389         New config-h module, so that "make" output needn't be cluttered
6390         by -DHAVE_CONFIG_H.
6391         * MODULES.html.sh (Support for building libraries and executables):
6392         Add config-h.
6393         * modules/config-h: New file.
6394         * gnulib-tool (nl, sed_transform_lib_file): New vars.
6395         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
6396         the config-h module is used.
6397
6398         New configmake module, so that "make" output needn't be cluttered
6399         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
6400         * MODULES.html.sh (Support for building libraries and executables):
6401         Add configmake.
6402         * modules/configmake: New file.
6403
6404 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6405
6406         * m4/config-h.m4: New file.
6407
6408 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6409
6410         * config/srclist.txt: Add elisp-comp.
6411
6412 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6413
6414         * MODULES.html.sh (Support for building libraries and executables):
6415         Add elisp-comp.
6416         * build-aux/elisp-comp: New file.
6417         * modules/elisp-comp: New file.
6418
6419 2006-08-24  Bruno Haible  <bruno@clisp.org>
6420
6421         * gnulib-tool (func_create_testdir): Use non-default values of
6422         sourcebase and m4base.
6423
6424 2006-08-24  Bruno Haible  <bruno@clisp.org>
6425
6426         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
6427         HTML structure.
6428
6429 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
6430
6431         * modules/openat (Depends-on): Add lchown.
6432
6433 2006-08-23  Bruno Haible  <bruno@clisp.org>
6434
6435         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
6436         of gl_LOCK_EARLY instead of gl_LOCK.
6437
6438 2006-08-23  Bruno Haible  <bruno@clisp.org>
6439
6440         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
6441         on OSF/1 to no.
6442         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
6443
6444 2006-08-23  Bruno Haible  <bruno@clisp.org>
6445
6446         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
6447         as unusable.
6448
6449         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
6450         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
6451         (gl_LOCK): New macro.
6452
6453 2006-08-22  Simon Josefsson  <jas@extundo.com>
6454
6455         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
6456         to md5 module.
6457
6458 2006-08-22  Simon Josefsson  <jas@extundo.com>
6459
6460         * MODULES.html.sh: Add "Support for maintaining and release
6461         projects".
6462
6463         * build-aux/gnupload: New file, from coreutils.
6464
6465 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6466
6467         Avoid the need for AC_LIBSOURCES in m4 macros.
6468         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
6469         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
6470         * modules/check-version (EXTRA_DIST): Add check-version.h.
6471         * modules/crc (EXTRA_DIST): Add crc.h.
6472         * modules/des (EXTRA_DIST): Add des.h.
6473         * modules/gc (EXTRA_DIST): Add gc.h.
6474         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
6475         * modules/getline (EXTRA_DIST): Add getline.h.
6476         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
6477         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
6478         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
6479         * modules/md2 (EXTRA_DIST): Add md2.h.
6480         * modules/md4 (EXTRA_DIST): Add md4.h.
6481         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
6482         * modules/read-file (EXTRA_DIST): Add read-file.h.
6483         * modules/readline (EXTRA_DIST): Add readline.h.
6484         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
6485         rijndael-api-fst.h.
6486
6487 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6488
6489         * m4/rijndael.m4 (gl_ARCFOUR):
6490         * m4/arctwo.m4 (gl_ARCTWO):
6491         * m4/check-version.m4 (gl_CHECK_VERSION):
6492         * m4/crc.m4 (gl_CRC):
6493         * m4/des.m4 (gl_DES):
6494         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
6495         * m4/gc.m4 (gl_GC):
6496         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
6497         * m4/getline.m4 (gl_FUNC_GETLINE):
6498         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
6499         * m4/hmac-md5.m4 (gl_HMAC_MD5):
6500         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
6501         * m4/md2.m4 (gl_MD2):
6502         * m4/md4.m4 (gl_MD4):
6503         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
6504         * m4/read-file.m4 (gl_FUNC_READ_FILE):
6505         * m4/readline.m4 (gl_FUNC_READLINE):
6506         * m4/rijndael.m4 (gl_RIJNDAEL):
6507         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
6508         to get the necessary .h files and whatnot.
6509
6510 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6511
6512         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
6513         gnulib rather than the other way around.
6514         * config/srclistvars.sh (COREUTILS): Remove.
6515
6516 2006-08-22  Jim Meyering  <jim@meyering.net>
6517
6518         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
6519
6520         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
6521
6522 2006-08-22  Eric Blake  <ebb9@byu.net>
6523
6524         * modules/regexprops-generic: New file.
6525         * MODULES.html.sh (Support for building documentation): List it.
6526
6527 2006-08-22  Eric Blake  <ebb9@byu.net>
6528
6529         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
6530         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
6531         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
6532         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
6533
6534 2006-08-22  Bruno Haible  <bruno@clisp.org>
6535
6536         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
6537         and lib_LTLIBRARIES like the other lib_* variables.
6538
6539 2006-08-22  Bruno Haible  <bruno@clisp.org>
6540
6541         * build-aux/x-to-1.in: New file, from GNU gettext.
6542
6543 2006-08-22  Bruno Haible  <bruno@clisp.org>
6544
6545         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
6546         <utmpx.h> exists.
6547
6548 2006-08-22  Bruno Haible  <bruno@clisp.org>
6549
6550         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
6551         <utmpx.h> exists.
6552
6553 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6554
6555         BeOS portability.
6556         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
6557         exist.
6558         Problem reported by Bruno Haible.
6559
6560 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6561
6562         Avoid the need for AC_LIBSOURCES in m4 macros.
6563         * modules/acl (EXTRA_DIST): Add acl.h.
6564         * modules/argmatch (Files): Add m4/argmatch.m4.
6565         (configure.ac): Add gl_ARGMATCH.
6566         (EXTRA_DIST): Renamed from lib_SOURCES, for
6567         consistency with the other modules.  Remove argmatch.c.
6568         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
6569         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
6570         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
6571         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
6572         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
6573         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
6574         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
6575         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
6576         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
6577         * modules/closeout (EXTRA_DIST): Add closeout.h.
6578         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
6579         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
6580         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
6581         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
6582         dirname.h; remove basename.c and stripslash.c.
6583         * modules/exclude (EXTRA_DIST): Add exclude.h.
6584         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
6585         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
6586         * modules/file-type (EXTRA_DIST): Add file-type.h.
6587         * modules/filemode (EXTRA_DIST): Add filemode.h.
6588         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
6589         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
6590         * modules/fpending (EXTRA_DIST): Add __fpending.h.
6591         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
6592         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
6593         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
6594         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
6595         * modules/getdate (EXTRA_DIST): Add getdate.c.
6596         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
6597         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
6598         * modules/getpass (EXTRA_DIST): Add getpass.h.
6599         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
6600         * modules/group-member (EXTRA_DIST): Add group-member.h.
6601         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
6602         * modules/hash (EXTRA_DIST): Add hash.h.
6603         * modules/human (EXTRA_DIST): Add human.h.
6604         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
6605         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
6606         * modules/lchown (EXTRA_DIST): Add lchown.h.
6607         * modules/long-options (EXTRA_DIST): Add long-options.h.
6608         * modules/lstat (EXTRA_DIST): Add lstat.h.
6609         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
6610         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
6611         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
6612         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
6613         * modules/memxor (EXTRA_DIST): Add memxor.h.
6614         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
6615         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
6616         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
6617         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
6618         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
6619         * modules/physmem (EXTRA_DIST): Add physmem.h.
6620         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
6621         * modules/posixver (EXTRA_DIST): Add posixver.h.
6622         * modules/quote (EXTRA_DIST): Add quote.h.
6623         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
6624         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
6625         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
6626         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
6627         regex_internal.h regexec.c.
6628         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
6629         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
6630         * modules/same (EXTRA_DIST): Add same.h.
6631         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
6632         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
6633         * modules/savedir (EXTRA_DIST): Add savedir.h.
6634         * modules/sha1 (EXTRA_DIST): Add sha1.h.
6635         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
6636         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
6637         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
6638         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
6639         * modules/strdup (EXTRA_DIST): Add strdup.h.
6640         * modules/strftime (EXTRA_DIST): Add strftime.h.
6641         * modules/strndup (EXTRA_DIST): Add strndup.h.
6642         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
6643         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
6644         * modules/time_r (EXTRA_DIST): Add time_r.h.
6645         * modules/timespec (EXTRA_DIST): Add timespec.h.
6646         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
6647         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
6648         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
6649         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
6650         * modules/userspec (EXTRA_DIST): Add userspec.h.
6651         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
6652         * modules/utimens (EXTRA_DIST): Add utimens.h.
6653         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
6654         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
6655         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
6656         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
6657         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
6658         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
6659         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
6660         * modules/yesno (EXTRA_DIST): Add yesno.h.
6661
6662 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6663
6664         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
6665
6666         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
6667         * m4/dev-ino.m4, same-inode.m4: Remove.
6668
6669         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
6670         * m4/acl.m4 (AC_FUNC_ACL):
6671         * m4/backupfile.m4 (gl_BACKUPFILE):
6672         * m4/c-strtod.m4 (gl_C99_STRTOLD):
6673         * m4/canon-host.m4 (gl_CANON_HOST):
6674         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
6675         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
6676         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
6677         * m4/cloexec.m4 (gl_CLOEXEC):
6678         * m4/close-stream.m4 (gl_CLOSE_STREAM):
6679         * m4/closeout.m4 (gl_CLOSEOUT):
6680         * m4/dirfd.m4 (gl_FUNC_DIRFD):
6681         * m4/dirname.m4 (gl_DIRNAME):
6682         * m4/exclude.m4 (gl_EXCLUDE):
6683         * m4/exitfail.m4 (gl_EXITFAIL):
6684         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
6685         * m4/file-type.m4 (gl_FILE_TYPE):
6686         * m4/filemode.m4 (gl_FILEMODE):
6687         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
6688         * m4/fpending.m4 (gl_FUNC_FPENDING):
6689         * m4/fprintftime.m4 (gl_FPRINTFTIME):
6690         * m4/fts.m4 (gl_FUNC_FTS):
6691         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
6692         * m4/getdate.m4 (gl_GETDATE):
6693         * m4/gethrxtime.m4 (gl_GETHRXTIME):
6694         * m4/getpagesize.m4 (gl_GETPAGESIZE):
6695         * m4/getpass.m4 (gl_FUNC_GETPASS):
6696         * m4/gettime.m4 (gl_GETTIME):
6697         * m4/getugroups.m4 (gl_GETUGROUPS):
6698         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
6699         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
6700         * m4/hard-locale.m4 (gl_HARD_LOCALE):
6701         * m4/hash.m4 (gl_HASH):
6702         * m4/idcache.m4 (gl_IDCACHE):
6703         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
6704         * m4/lchown.m4 (gl_FUNC_LCHOWN):
6705         * m4/long-options.m4 (gl_LONG_OPTIONS):
6706         * m4/lstat.m4 (gl_FUNC_LSTAT):
6707         * m4/md5.m4 (gl_MD5):
6708         * m4/memcasecmp.m4 (gl_MEMCASECMP):
6709         * m4/memcoll.m4 (gl_MEMCOLL):
6710         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
6711         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
6712         * m4/memxor.m4 (gl_MEMXOR):
6713         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
6714         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
6715         * m4/modechange.m4 (gl_MODECHANGE):
6716         * m4/mountlist.m4 (gl_MOUNTLIST):
6717         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
6718         * m4/openat.m4 (gl_FUNC_OPENAT):
6719         * m4/pathmax.m4 (gl_PATHMAX):
6720         * m4/physmem.m4 (gl_PHYSMEM):
6721         * m4/posixtm.m4 (gl_POSIXTM):
6722         * m4/posixver.m4 (gl_POSIXVER):
6723         * m4/quote.m4 (gl_QUOTE):
6724         * m4/quotearg.m4 (gl_QUOTEARG):
6725         * m4/readtokens.m4 (gl_READTOKENS):
6726         * m4/readutmp.m4 (gl_READUTMP):
6727         * m4/regex.m4 (gl_REGEX):
6728         * m4/safe-read.m4 (gl_SAFE_READ):
6729         * m4/safe-write.m4 (gl_SAFE_WRITE):
6730         * m4/same.m4 (gl_SAME):
6731         * m4/save-cwd.m4 (gl_SAVE_CWD):
6732         * m4/savedir.m4 (gl_SAVEDIR):
6733         * m4/settime.m4 (gl_SETTIME):
6734         * m4/sha1.m4 (gl_SHA1):
6735         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
6736         * m4/stat-macros.m4 (gl_STAT_MACROS):
6737         * m4/stat-time.m4 (gl_STAT_TIME):
6738         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
6739         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
6740         * m4/strdup.m4 (gl_FUNC_STRDUP):
6741         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
6742         * m4/strndup.m4 (gl_FUNC_STRNDUP):
6743         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
6744         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
6745         * m4/time_r.m4 (gl_TIME_R):
6746         * m4/timespec.m4 (gl_TIMESPEC):
6747         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
6748         * m4/unlinkdir.m4 (gl_UNLINKDIR):
6749         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
6750         * m4/userspec.m4 (gl_USERSPEC):
6751         * m4/utimecmp.m4 (gl_UTIMECMP):
6752         * m4/utimens.m4 (gl_UTIMENS):
6753         * m4/xalloc.m4 (gl_XALLOC):
6754         * m4/xgetcwd.m4 (gl_XGETCWD):
6755         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
6756         * m4/xreadlink.m4 (gl_XREADLINK):
6757         * m4/xstrtod.m4 (gl_XSTRTOD):
6758         * m4/yesno.m4 (gl_YESNO):
6759         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
6760         to get the necessary .h files and whatnot.
6761
6762 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
6763             Bruno Haible  <bruno@clisp.org>
6764
6765         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
6766         /bin/sh understanding of '!' conditional negation.
6767
6768 2006-08-21  Jim Meyering  <jim@meyering.net>
6769
6770         * modules/openat (Depends-on): Really alphabetize.
6771
6772         * modules/acl (Depends-on): Add error and quote.
6773
6774         * check-module (find_included_lib_files): Add at-func.c to the
6775         ok-to-include-more-than-once white list.
6776
6777         * modules/openat (Depends-on): Add lstat.  Alphabetize.
6778
6779 2006-08-21  Bruno Haible  <bruno@clisp.org>
6780
6781         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6782         Emit a pkgdata_DATA variable only if some snippets add contents to it.
6783         Reported by Martin Lambers <marlam@marlam.de>.
6784
6785 2006-08-21  Bruno Haible  <bruno@clisp.org>
6786
6787         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
6788         specify an installation location, don't emit a noinst_LIBRARIES or
6789         noinst_LTLIBRARIES assignment.
6790
6791 2006-08-21  Bruno Haible  <bruno@clisp.org>
6792
6793         BeOS portability.
6794         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
6795         BeOS has mbrtowc() but no <wctype.h>.
6796
6797 2006-08-21  Bruno Haible  <bruno@clisp.org>
6798
6799         BeOS portability.
6800         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
6801         exist.
6802
6803 2006-08-21  Bruno Haible  <bruno@clisp.org>
6804
6805         BeOS portability.
6806         * lib/mbchar.h: Include <wctype.h> only if it exists.
6807
6808 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
6809
6810         Remove files that are no longer needed by their respective modules.
6811         * m4/obstack.m4: Remove.
6812         * m4/strerror_r.m4: Remove.
6813         * m4/uint32_t.m4: Remove.
6814         * m4/uintptr_t.m4: Remove.
6815         * m4/ullong_max.m4: Remove.
6816         * m4/xstrtoimax.m4: Remove.
6817         * m4/xstrtoumax.m4: Remove.
6818
6819         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
6820         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
6821         dependencies now capture this.
6822
6823         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
6824         Do not use AC_LIBSOURCES, since gnulib modules now do this.
6825         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
6826         * m4/human.m4 (gl_HUMAN): Likewise.
6827         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
6828         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
6829
6830         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
6831
6832         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
6833         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
6834         stdint.
6835         * m4/human.m4 (gl_HUMAN): Likewise.
6836         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
6837         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
6838         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
6839         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
6840         * m4/xstrtol (gl_XSTRTOL): Likewise.
6841
6842         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
6843         AC_TYPE_LONG_LONG_INT.
6844         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
6845         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
6846         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
6847         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
6848
6849         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
6850         on stdbool.
6851
6852         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
6853         (gl_PREREQ_XSTRTOUL): Remove.
6854
6855         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
6856
6857         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
6858         mode.
6859
6860 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
6861
6862         Add and change modules to make it easier for coreutils to use
6863         gnulib-tool.
6864         * modules/backupfile (Files): Remove m4/d-ino.m4.
6865         (Depends-on): Add d-ino.
6866         * modules/cycle-check (Depends-on): Add stdint.
6867         (lib_SOURCES): Add cycle-check.h.
6868         * modules/d-ino: New module.
6869         * modules/d-type: New module.
6870         * modules/error (Files): Remove m4/strerror_r.m4.
6871         * modules/filemode (Files): Add m4/st_dm_mode.m4.
6872         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
6873         m4/inttypes_h.m4, m4/uintmax_t.m4.
6874         (Depends-on): Add stdint.
6875         (lib_SOURCES): Add fsusage.h.
6876         * modules/getcwd (Files): Remove d-ino.m4.
6877         (Depends-on): Add d-ino.
6878         * modules/getndelim2 (Depends-on): Add stdint.
6879         * modules/glob (Files): Remove m4/d-type.m4.
6880         (Depends-on): Add d-type.
6881         * modules/host-os: New module.
6882         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
6883         m4/inttypes_h.m4, m4/uintmax_t.m4.
6884         * Depends-on: Add stdint.
6885         (lib_SOURCES): Add human.h.
6886         * modules/inttostr (Files): Remove m4/intmax_t.m4,
6887         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
6888         m4/uintmax_t.m4, m4/ulonglong.m4.
6889         (Depends-on): Add stdint.
6890         (EXTRA_DIST): Add inttostr.h.
6891         * modules/lchmod: New module.
6892         * modules/link-follow: New module.
6893         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
6894         (Depends-on): Add lchmod.
6895         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
6896         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
6897         (Depends-on): Add stdint.
6898         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
6899         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
6900         (Depends-on): Add stdint.
6901         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
6902         * modules/perl: New module.
6903         * modules/regex (Depends-on): Add stdint.
6904         * modules/rmdir-errno: New module.
6905         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
6906         m4/intmax_t.m4.
6907         (Depends-on): Add stdint.
6908         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
6909         m4/uintmax_t.m4.
6910         (Depends-on): Add stdint.
6911         * modules/unlink-busy: New module.
6912         * modules/utimecmp (Depends-on): Add stdint.
6913         * modules/uptime: New module.
6914         * modules/winsz-ioctl: New module.
6915         * modules/winsz-termios: New module.
6916         * modules/xnanosleep (Depends-on): Add nanosleep.
6917         * modules/ullong_max: Remove.
6918         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
6919         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
6920         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
6921         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
6922         (Depends-on): Add inttypes.
6923         (lib_SOURCES): Add xstrtol.h.
6924         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
6925         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
6926         * MODULES.html.sh: Move 'assert' into the assert section.
6927         Move 'dummy' into the linking section.
6928         Remove ullong_max.
6929         Add section for compatibility checks for POSIX:2001 functions,
6930         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
6931         winsz-ioctl, and winsz-termios into it.
6932         Add lchmod.
6933         Add top-level Misc section and put host-os, perl, and uptime
6934         into it.
6935
6936 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
6937
6938         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
6939         now assume the stdint module.  Do not include inttypes.h.
6940         * lib/fsusage.h: Likewise.
6941         * lib/getndelim2.c: Likewise.
6942         * lib/human.h: Likewise.
6943         * lib/inttostr.h: Likewise.
6944         * lib/obstack.c: Likewise.
6945         * lib/regex_internal.h: Likewise.
6946         * lib/tempname.c: Likewise.
6947         * lib/utimecmp.c: Likewise.
6948         * lib/xstrtol.h: Likewise.
6949
6950         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
6951
6952         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
6953         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
6954         * lib/xtime.h: Likewise.
6955
6956 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
6957
6958         * modules/openat (Files): Add lib/fchmodat.c.
6959         Fixes problem reported by Jay Youngman.
6960
6961 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
6962
6963         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
6964         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
6965
6966 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
6967             Bruno Haible  <bruno@clisp.org>
6968
6969         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
6970         and is a script that invokes bison. Tighten the code. Add comments.
6971
6972 2006-08-18  Jim Meyering  <jim@meyering.net>
6973
6974         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
6975         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
6976         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
6977         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
6978
6979 2006-08-18  Bruno Haible  <bruno@clisp.org>
6980
6981         * modules/bison-i18n: New file.
6982         * MODULES.html.sh (Internationalization functions): Add it.
6983
6984 2006-08-18  Bruno Haible  <bruno@clisp.org>
6985
6986         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
6987         sys/statvfs.h. When getmntinfo was found, check its declaration and
6988         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
6989
6990 2006-08-18  Bruno Haible  <bruno@clisp.org>
6991
6992         * m4/bison-i18n.m4: New file, from bison.
6993
6994 2006-08-18  Bruno Haible  <bruno@clisp.org>
6995
6996         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
6997         (ME_DUMMY): Treat "kernfs" as a dummy.
6998         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
6999
7000 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7001
7002         Update from coreutils.
7003
7004         2006-08-15  Jim Meyering  <jim@meyering.net>
7005
7006         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
7007
7008         2006-01-17  Jim Meyering  <jim@meyering.net>
7009
7010         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
7011
7012         2006-01-11  Jim Meyering  <jim@meyering.net>
7013
7014         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
7015         Check for the lchmod function.
7016
7017 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
7018
7019         Update from coreutils.
7020
7021         * lib/__fpending.h: Add copyright notice.
7022         * lib/fprintftime.h: Likewise.
7023         * lib/savedir.c: Use (C) in copyright notice.
7024         * lib/savedir.h: Likewise.
7025
7026         2006-08-15  Jim Meyering  <jim@meyering.net>
7027
7028         * lib/at-func.c: New file, with the logic of all emulated at-functions.
7029         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
7030         in support of the EXPECTED_ERRNO macro.
7031         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
7032         definitions.  Instead, define the appropriate symbols and include
7033         "at-func.c".
7034         * lib/mkdirat.c (mkdirat): Likewise.
7035         * lib/fchmodat.c (fchmodat): Likewise.
7036         (ENOSYS): Remove definition.
7037         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
7038         it.  Don't include "unistd--.h" -- it wasn't ever used.
7039
7040         2006-01-17  Jim Meyering  <jim@meyering.net>
7041
7042         Rewrite fts.c not to change the current working directory,
7043         by using openat, fstatat, fdopendir, etc..
7044
7045         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
7046         (HAVE_OPENAT_SUPPORT): Define.
7047         [_LIBC] (fchdir): Don't undef or define; no longer used.
7048         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
7049         Now, this `function' always succeeds, and consumes its file descriptor
7050         parameter -- so callers must not close such FDs.  Update callers.
7051         (diropen_fd, opendirat, cwd_advance_fd): New functions.
7052         (diropen): Add parameter, SP.  Adjust all callers.
7053         Implement using diropen_fd, rather than open.
7054         (fts_open): Initialize new member, fts_cwd_fd.
7055         Remove fts_rft-setting code.
7056         (fts_close): Close fts_cwd_fd, if necessary.
7057         (__opendir2): Define in terms of opendir or opendirat,
7058         depending on whether the FST_NOCHDIR flag is set.
7059         (fts_build): Since fts_safe_changedir consumes its FD, and since
7060         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
7061         and close the dup'd file descriptor upon failure.
7062         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
7063         (fts_safe_changedir): Tweak semantics to reflect that this function
7064         now calls cwd_advance_fd and hence consumes its FD argument.
7065         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
7066         [struct FTS] (fts_rft): Remove now-unused member.
7067         [struct FTS] (fts_cycle.state): Improve comment.
7068
7069         * lib/openat.c (openat_needs_fchdir): New function.
7070         * lib/openat.h (openat_needs_fchdir): Declare it.
7071
7072 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
7073
7074         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
7075         Problem and fix reported by Pádraig Brady in
7076         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
7077
7078 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7079
7080         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
7081
7082 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7083
7084         * lib/memcoll.c (memcoll): Optimize for the common case where the
7085         arguments are bytewise equal.
7086
7087 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
7088
7089         * doc/regexprops-generic.texi: Add a copyright notice.
7090
7091 2006-08-15  Bruno Haible  <bruno@clisp.org>
7092
7093         * modules/tmpdir (License): Change to LGPL.
7094
7095 2006-08-15  Bruno Haible  <bruno@clisp.org>
7096
7097         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
7098         module.
7099
7100 2006-08-14  Simon Josefsson  <jas@extundo.com>
7101
7102         * config/srclist.txt: Add gnupload.
7103
7104 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7105
7106         Change copyright notice from LGPL 2 to GPL 2, since that's the
7107         standard form used in the gnulib repository.
7108         * tests/test-lock.c: Likewise.
7109         * tests/test-stdint.c: Likewise.
7110         * tests/test-tls.c: Likewise.
7111
7112         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
7113         prelude-manager.  User shorter URLs for GNU projects, without '?'.
7114         Add copyright notice.
7115
7116         * check-module: Add copyright notice.  Output a copyright
7117         notice if "--version" is specified.
7118         * modules/COPYING: New file.
7119         * tests/test-getaddrinfo.c: Add copyright notice.
7120         * tests/test-verify.c: Likewise.
7121
7122 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7123
7124         Change copyright notice from LGPL 2 to GPL 2, since that's the
7125         standard form used in the gnulib repository.
7126         * lib/lock.c: LGPL -> GPL.
7127         * lib/lock.h: Likewise.
7128         * lib/strnlen1.c: Likewise.
7129         * lib/strnlen1.h: Likewise.
7130         * lib/tls.c: Likewise.
7131         * lib/tls.h: Likewise.
7132         * lib/tmpdir.c: Likewise.
7133
7134         * lib/TODO: Remove; this belongs only in coreutils.
7135
7136 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7137
7138         Add copyright notices to long-enough files that lack them, since
7139         otherwise the files aren't clearly free.  Use the same notice that
7140         getdate.texi already uses.
7141         * doc/alloca-opt.texi: Add copyright notice.
7142         * doc/alloca.texi: Likewise.
7143         * doc/ctime.texi: Likewise.
7144         * doc/functions.texi: Likewise.
7145         * doc/gcd.texi: Likewise.
7146         * doc/gnulib-tool.texi: Likewise.
7147         * doc/inet_ntoa.texi: Likewise.
7148         * doc/visibility.texi: Likewise.
7149
7150         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
7151         * doc/quote.texi: Add copyright notice.
7152
7153         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
7154         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
7155         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
7156         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
7157         is now obsolete, and give a pointer to the Sun list.
7158         Add copyright notice.
7159
7160 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
7161
7162         * config/srclistvars.sh: Add copyright notice.
7163
7164 2006-08-14  Eric Blake  <ebb9@byu.net>
7165
7166         Import the following change from libc:
7167
7168         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
7169
7170         Upstream bug 2997.
7171         * lib/misc/error.c: Add space between program name and message if file
7172         name is missing.
7173
7174 2006-08-12  Karl Berry  <karl@gnu.org>
7175
7176         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
7177         remove, these originate in gnulib now.
7178
7179 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7180
7181         * doc/Makefile (standards.info standards.html standards.dvi):
7182         Also depend on make-stds.texi.
7183
7184 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
7185
7186         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
7187         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
7188
7189         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
7190         in wchar_t.  Problem reported by Eric Blake.
7191
7192         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
7193         LEN is smaller than SIZE.  Suggested by Bruno Haible.
7194         Also, help the compiler to keep LEN in a register.
7195
7196 2006-08-11  Eric Blake  <ebb9@byu.net>
7197
7198         * users.txt: Sort.  Add tar.
7199
7200 2006-08-11  Bruno Haible  <bruno@clisp.org>
7201
7202         * users.txt: New file.
7203
7204 2006-08-11  Bruno Haible  <bruno@clisp.org>
7205
7206         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
7207         before <wchar.h>. Needed for OSF/1 and BSD/OS.
7208
7209 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7210
7211         * modules/snprintf (Depends-on): Remove minmax.
7212         (Maintainer): Add self and Bruno.
7213
7214 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
7215
7216         * lib/.cppi-disable: Add snprintf.h, socket_.h.
7217         * lib/snprintf.c: Include <errno.h> and <limits.h>.
7218         (EOVERFLOW): Define if the system does not.
7219         Do not include "minmax.h"; it wasn't used.
7220         (snprintf): Don't assume size_t promotes to an unsigned type.
7221         Fix bug when generated string was too long for the buffer: the
7222         buffer's contents are supposed to be the initial prefix of the
7223         output.  Don't assume vasnprintf returns EOVERFLOW if the size
7224         exceeds INT_MAX; do the check ourselves.
7225
7226         Import the following changes from libc:
7227
7228         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
7229
7230         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
7231         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
7232         set wc to the byte which couldn't be converted.
7233         (re_string_reconstruct): Don't clear valid_raw_len before calling
7234         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
7235         tip_context using re_string_context_at.
7236
7237         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
7238
7239         * lib/posix/regex.h: g++ still cannot handled [restrict].
7240
7241         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
7242
7243         * lib/posix/regex.h: Remove special handling for VMS.
7244
7245 2006-08-10  Jim Meyering  <jim@meyering.net>
7246
7247         * modules/same-inode: New module.
7248         * modules/dev-ino: New module.
7249         * modules/cycle-check: Depend on these modules, rather than simply
7250         including their .h files.
7251         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
7252         required via m4/cycle-check.m4.
7253         * modules/same: Depend on new same-inode module, rather than
7254         including same-inode.h.
7255         * modules/chdir-safer: New file.
7256
7257         * modules/chown (Depends-on): Add stat-macros.
7258
7259 2006-08-10  Jim Meyering  <jim@meyering.net>
7260
7261         * m4/cycle-check.m4: New file.
7262         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
7263         * m4/dev-ino.m4, m4/same-inode.m4: New files.
7264
7265 2006-08-10  Eric Blake  <ebb9@byu.net>
7266
7267         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
7268         in from original proposal.
7269
7270 2006-08-10  Eric Blake  <ebb9@byu.net>
7271         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7272
7273         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
7274         namespace.
7275
7276 2006-08-10  Bruno Haible  <bruno@clisp.org>
7277
7278         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
7279         as well.
7280
7281 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7282
7283         Sync from coreutils.
7284
7285         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
7286
7287         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
7288         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
7289
7290 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7291
7292         * modules/restrict: Remove; no longer needed now that we assume
7293         Autoconf 2.59 or later.
7294         * MODULES.html.sh: Remove 'restrict'.
7295         * modules/argp (Depends-on): Remove 'restrict'.
7296         * modules/base64 (Depends-on): Likewise.
7297         * modules/gc (Depends-on): Likewise.
7298         * modules/getaddrinfo (Depends-on): Likewise.
7299         * modules/glob (Depends-on): Likewise.
7300         * modules/inet_ntop (Depends-on): Likewise.
7301         * modules/inet_pton (Depends-on): Likewise.
7302         * modules/memxor (Depends-on): Likewise.
7303         * modules/regex (Depends-on): Likewise.
7304         * modules/strtok_r (Depends-on): Likewise.
7305         * modules/time_r (Depends-on): Likewise.
7306
7307 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
7308
7309         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
7310         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
7311         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
7312         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
7313         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
7314         * m4/memxor.m4 (gl_MEMXOR): Likewise.
7315         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
7316         gl_C_RESTRICT replaced by AC_C_RESTRICT.
7317
7318         Merge from coreutils.
7319         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
7320         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
7321         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
7322         * m4/time_r.m4 (gl_TIME_R): Likewise.
7323
7324 2006-08-09  Karl Berry  <karl@gnu.org>
7325
7326         * config/srclist.txt: no more gettext-tools, per Bruno.
7327
7328 2006-08-08  Eric Blake  <ebb9@byu.net>
7329
7330         * modules/verror: New module.
7331         * MODULES.html.sh: Document it.
7332
7333 2006-08-08  Eric Blake  <ebb9@byu.net>
7334
7335         * lib/verror.h, lib/verror.c: New files.
7336
7337 2006-08-08  Eric Blake  <ebb9@byu.net>
7338
7339         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
7340         verror_at_line output complies with GNU Coding Standards even when
7341         file is NULL.
7342
7343 2006-08-07  Bruno Haible  <bruno@clisp.org>
7344
7345         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
7346         versions of AIX.
7347         Reported by Ralf Wildenhues.
7348
7349 2006-08-07  Bruno Haible  <bruno@clisp.org>
7350
7351         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
7352         in an AC_DEFUN. Needed so that the autoconf snippets can use
7353         AC_REQUIRE.
7354
7355 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7356
7357         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7358         Initialize pkgdata_DATA.
7359         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
7360         overriding it.
7361
7362 2006-08-06  Eric Blake  <ebb9@byu.net>
7363
7364         * lib/error.h: Fold in some upstream changes from glibc.
7365         * lib/error.c: Likewise.
7366
7367 2006-08-04  Bruno Haible  <bruno@clisp.org>
7368
7369         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7370         Make the mostlyclean-local rule depend on mostlyclean-generic.
7371         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
7372
7373 2006-07-31  Bruno Haible  <bruno@clisp.org>
7374
7375         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
7376         <stdlib.h>, <string.h>.
7377
7378 2006-07-30  Bruno Haible  <bruno@clisp.org>
7379
7380         * modules/readlink (License): Change to LGPL.
7381
7382 2006-07-30  Bruno Haible  <bruno@clisp.org>
7383
7384         * modules/javaversion (Makefile.am): Distribute javaversion.java and
7385         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
7386         set PKGDATADIR to point to it.
7387
7388 2006-07-30  Bruno Haible  <bruno@clisp.org>
7389
7390         * modules/csharpexec (configure.ac): Comment out macro invocation.
7391         * modules/javaexec (configure.ac): Likewise.
7392         * modules/javacomp-script (configure.ac): Likewise.
7393
7394         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
7395
7396 2006-07-30  Bruno Haible  <bruno@clisp.org>
7397
7398         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
7399         linked-list.
7400
7401 2006-07-30  Bruno Haible  <bruno@clisp.org>
7402
7403         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
7404
7405 2006-07-30  Bruno Haible  <bruno@clisp.org>
7406
7407         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7408         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
7409         get removed.
7410
7411 2006-07-29  Bruno Haible  <bruno@clisp.org>
7412
7413         Make it possible for gnulib-tool to work with locally modified or
7414         augmented gnulib repositories.
7415         * gnulib-tool (func_usage): Document --local-dir option.
7416         (local_gnulib_dir): New variable.
7417         Handle --local-dir option.
7418         (func_lookup_file): New function.
7419         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
7420         (func_get_description, func_get_filelist, func_get_description,
7421         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
7422         func_get_automake_snippet, func_get_include_directive,
7423         func_get_license, func_get_maintainer): Use func_lookup_file.
7424         (func_import, func_create_testdir): Use func_lookup_file.
7425
7426 2006-07-29  Bruno Haible  <bruno@clisp.org>
7427
7428         * modules/setenv (Depends-on): Add unistd.
7429
7430 2006-07-29  Bruno Haible  <bruno@clisp.org>
7431
7432         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
7433
7434 2006-07-29  Bruno Haible  <bruno@clisp.org>
7435
7436         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
7437
7438 2006-07-29  Bruno Haible  <bruno@clisp.org>
7439
7440         * gnulib-tool (import, update): If there is no Makefile.am, look at
7441         aclocal.m4, instead of bailing out.
7442
7443 2006-07-29  Bruno Haible  <bruno@clisp.org>
7444
7445         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
7446         Categorize the options by when they are useful.
7447
7448 2006-07-29  Bruno Haible  <bruno@clisp.org>
7449
7450         * gnulib-tool (func_usage): Document option --no-libtool.
7451         Handle option --no-libtool.
7452         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
7453         for changed semantics of $libtool variable.
7454         (func_import): Likewise. If libtool is not used, show this through
7455         an option --no-libtool.
7456         (func_create_testdir): Update.
7457
7458 2006-07-29  Bruno Haible  <bruno@clisp.org>
7459
7460         * gnulib-tool (func_import): Extend error message about missing
7461         --doc-base.
7462
7463 2006-07-29  Bruno Haible  <bruno@clisp.org>
7464
7465         * gnulib-tool (func_import): Don't create the $docbase directory if
7466         there is no file to store there.
7467
7468 2006-07-29  Bruno Haible  <bruno@clisp.org>
7469
7470         * gnulib-tool (autoconf_minversion): If a --dir option is given and
7471         relevant, look for configure.ac there, not in the current directory.
7472         Also use a simple search for AC_PREREQ, not "autoconf --trace".
7473
7474 2006-07-29  Bruno Haible  <bruno@clisp.org>
7475
7476         * gnulib-tool (SORT): New variable.
7477         (func_usage): Undocument --assume-autoconf option.
7478         Remove --assume-autoconf option handling.
7479         (autoconf_minversion): Determine from the contents of configure.ac.
7480         (func_import): Remove autoconf_minversion handling.
7481         Suggested by Eric Blake.
7482
7483 2006-07-29  Bruno Haible  <bruno@clisp.org>
7484
7485         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
7486
7487 2006-07-29  Bruno Haible  <bruno@clisp.org>
7488
7489         * config/srclist.txt (*setenv.[ch]): Remove rules.
7490
7491 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7492
7493         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
7494
7495 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7496
7497         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
7498         arpa/inet.h.
7499
7500 2006-07-28  Simon Josefsson  <jas@extundo.com>
7501
7502         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
7503         * modules/inet_pton (Depends-on): Likewise.
7504
7505 2006-07-28  Simon Josefsson  <jas@extundo.com>
7506
7507         * m4/netinet_in_h.m4: New file.
7508
7509 2006-07-28  Simon Josefsson  <jas@extundo.com>
7510
7511         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
7512         #include's.
7513
7514 2006-07-28  Simon Josefsson  <jas@extundo.com>
7515
7516         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
7517         #include's.
7518
7519 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
7520
7521         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
7522         setgid on directories only if they set these bits.
7523         * lib/modechange.h: Remove obsolete comment about masks.
7524
7525 2006-07-28  Eric Blake  <ebb9@byu.net>
7526
7527         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
7528         macro expansion.
7529
7530 2006-07-28  Bruno Haible  <bruno@clisp.org>
7531
7532         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
7533
7534 2006-07-28  Bruno Haible  <bruno@clisp.org>
7535
7536         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
7537
7538 2006-07-28  Bruno Haible  <bruno@clisp.org>
7539
7540         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
7541         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
7542         Define fallbacks.
7543         Avoids link error on FreeBSD 4.x.
7544         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
7545
7546         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
7547         encoding.
7548         * lib/mbswidth.c (iswcntrl): Likewise.
7549
7550 2006-07-27  Bruno Haible  <bruno@clisp.org>
7551
7552         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
7553         test.
7554
7555 2006-07-27  Bruno Haible  <bruno@clisp.org>
7556
7557         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
7558         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
7559         defined.
7560
7561 2006-07-26  Eric Blake  <ebb9@byu.net>
7562
7563         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
7564
7565 2006-07-26  Eric Blake  <ebb9@byu.net>
7566
7567         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
7568         like mingw that lack mkstemp.
7569         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
7570         avoid compilation warning on mingw.
7571
7572 2006-07-26  Bruno Haible  <bruno@clisp.org>
7573
7574         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
7575         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
7576         INT_FAST*_MIN, INTPTR_MIN.
7577
7578 2006-07-25  Bruno Haible  <bruno@clisp.org>
7579
7580         * modules/version-etc (Depends-on): Add stdarg.
7581
7582 2006-07-25  Bruno Haible  <bruno@clisp.org>
7583
7584         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
7585         complex commands.
7586
7587 2006-07-25  Bruno Haible  <bruno@clisp.org>
7588
7589         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
7590         defined in <stdarg.h> or config.h.
7591
7592 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7593
7594         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
7595         (gl_STDIO_SAFER): Remove.
7596
7597 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7598
7599         * MODULES.html.sh (File stream based Input/Output):
7600         Add fopen-safer, tmpfile-safer; remove stdio-safer.
7601         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
7602         * modules/fopen-safer, modules/tmpfile-safer: New files.
7603         * modules/stdio-safer: Remove.
7604
7605 2006-07-24  Bruno Haible  <bruno@clisp.org>
7606
7607         * modules/tmpdir: New file.
7608         * MODULES.html.sh (File system functions): Add it.
7609
7610 2006-07-24  Bruno Haible  <bruno@clisp.org>
7611
7612         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
7613         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
7614
7615 2006-07-24  Bruno Haible  <bruno@clisp.org>
7616
7617         * modules/clean-temp: New file.
7618
7619 2006-07-24  Bruno Haible  <bruno@clisp.org>
7620
7621         * m4/tmpdir.m4: New file, from GNU gettext.
7622
7623 2006-07-24  Bruno Haible  <bruno@clisp.org>
7624
7625         * lib/tmpdir.h: New file, from GNU gettext.
7626         * lib/tmpdir.c: New file, from GNU gettext.
7627
7628 2006-07-24  Bruno Haible  <bruno@clisp.org>
7629
7630         * lib/clean-temp.h: New file, from GNU gettext.
7631         * lib/clean-temp.c: New file, from GNU gettext.
7632
7633 2006-07-23  Eric Blake  <ebb9@byu.net>
7634
7635         * modules/stdio-safer (Files): Add tmpfile-safer.c.
7636         (Depends-on): Add binary-io.
7637
7638 2006-07-23  Eric Blake  <ebb9@byu.net>
7639
7640         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
7641
7642 2006-07-23  Eric Blake  <ebb9@byu.net>
7643
7644         * lib/tmpfile-safer.c: New file.
7645         * lib/stdio-safer.h (fopen_safer): Add prototype.
7646         * lib/stdio--.h (tmpfile): Make safer.
7647
7648 2006-07-23  Bruno Haible  <bruno@clisp.org>
7649
7650         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
7651         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
7652         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
7653         gl_linked_remove_at): Use it.
7654
7655 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7656         and Simon Josefsson <jas@extundo.com>
7657
7658         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
7659
7660         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
7661
7662 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7663
7664         * modules/close-stream: New file.
7665         * modules/closeout (Description): Make it clear that it exits
7666         with a diagnostic on error.
7667         (Depends-on): Add close-stream.  Remove fpending, stdbool.
7668         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
7669
7670 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7671
7672         * m4/close-stream.m4: New file.
7673
7674 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7675
7676         * lib/close-stream.c, lib/close-stream.h: New files.
7677
7678 2006-07-22  Bruno Haible  <bruno@clisp.org>
7679
7680         Merge from GNU gettext 0.15.
7681
7682         2006-05-01  Bruno Haible  <bruno@clisp.org>
7683
7684                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
7685
7686         2006-07-22  Bruno Haible  <bruno@clisp.org>
7687
7688                 * modules/javaversion: New file.
7689                 * MODULES.html.sh (Java): Add javaversion.
7690
7691         2006-03-12  Bruno Haible  <bruno@clisp.org>
7692
7693                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
7694
7695         2005-12-04  Bruno Haible  <bruno@clisp.org>
7696
7697                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
7698                 (untested).
7699
7700         2006-06-21  Bruno Haible  <bruno@clisp.org>
7701
7702                 Avoid warnings from recent versions of mcs.
7703                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
7704                 -o, -L, -r any more. Use options documented since mcs-1.0
7705                 instead. Similarly for -g.
7706
7707         2005-12-04  Bruno Haible  <bruno@clisp.org>
7708
7709                 * build-aux/csharpcomp.sh.in: Suffix for resources is
7710                 .resources, not .resource.
7711
7712         2005-07-09  Bruno Haible  <bruno@clisp.org>
7713
7714                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
7715                 add a .dll suffix.
7716                 Reported by Mark Junker <mjscod@gmx.de>.
7717
7718         2006-07-22  Bruno Haible  <bruno@clisp.org>
7719
7720                 * modules/gettext: Upgrade to gettext-0.15.
7721                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
7722                 m4/visibility.m4.
7723                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
7724
7725 2006-07-22  Bruno Haible  <bruno@clisp.org>
7726
7727         Merge from GNU gettext 0.15.
7728
7729         2006-03-25  Bruno Haible  <bruno@clisp.org>
7730
7731                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
7732
7733         2006-07-21  Bruno Haible  <bruno@clisp.org>
7734
7735                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
7736                 "1.1".
7737
7738         2006-05-09  Bruno Haible  <bruno@clisp.org>
7739
7740                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
7741                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
7742                 for the conftestver execution.
7743
7744         2006-05-01  Bruno Haible  <bruno@clisp.org>
7745
7746                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
7747                 optional target-version argument. Verify that the compiler
7748                 groks source of the specified source-version, or add -source
7749                 option as necessary. Verify that the compiler produces
7750                 bytecode in the specified target-version, or add -target and
7751                 -source options as necessary. Make the result of the test
7752                 available as variable CONF_JAVAC. Also log error output in
7753                 config.log.
7754
7755         2006-03-11  Bruno Haible  <bruno@clisp.org>
7756
7757                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
7758
7759         2006-05-09  Bruno Haible  <bruno@clisp.org>
7760
7761                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
7762                 CLASSPATH_SEPARATOR to a semicolon.
7763
7764         2006-03-12  Bruno Haible  <bruno@clisp.org>
7765
7766                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
7767                 available as variable CONF_JAVA, for subsequent autoconf
7768                 tests. Also log error output in config.log.
7769
7770         2006-07-19  Bruno Haible  <bruno@clisp.org>
7771
7772                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
7773                 that getline works on glibc2 systems. Needed to avoid trouble
7774                 in relocatable.c.
7775                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
7776
7777         2005-12-04  Bruno Haible  <bruno@clisp.org>
7778
7779                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
7780                 launcher (untested).
7781
7782         2005-12-04  Bruno Haible  <bruno@clisp.org>
7783
7784                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
7785
7786         2006-07-22  Bruno Haible  <bruno@clisp.org>
7787
7788                 * gettext.m4: Update from GNU gettext-0.15.
7789                 * nls.m4: Likewise.
7790                 * po.m4: Likewise.
7791                 * inttypes-pri.m4: Likewise.
7792                 * inttypes-h.m4: Renamed from inttypes.m4.
7793                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
7794
7795 2006-07-22  Bruno Haible  <bruno@clisp.org>
7796
7797         Merge from GNU gettext 0.15.
7798
7799         2005-07-05  Bruno Haible  <bruno@clisp.org>
7800
7801                 * printf-args.c (printf_fetchargs): Work around broken
7802                 definition of wint_t on mingw.
7803
7804         2005-02-12  Bruno Haible  <bruno@clisp.org>
7805
7806                 * xallocsa.h: Add extern "C" for C++.
7807
7808         2006-05-17  Bruno Haible  <bruno@clisp.org>
7809
7810                 Cygwin portability.
7811                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
7812
7813         2006-04-30  Bruno Haible  <bruno@clisp.org>
7814
7815                 * progreloc.c: Include <mach-o/dyld.h> if available.
7816                 (find_executable): Use _NSGetExecutablePath when possible.
7817
7818         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
7819
7820                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
7821                 function.
7822
7823         2005-12-29  Bruno Haible  <bruno@clisp.org>
7824
7825                 * progreloc.c (set_program_name_and_installdir): Fix
7826                 compilation error.
7827
7828         2005-12-04  Bruno Haible  <bruno@clisp.org>
7829
7830                 Cygwin portability.
7831                 * progreloc.c: Include <windows.h> also on Cygwin.
7832                 (find_executable): Add support for Cygwin.
7833                 (set_program_name_and_installdir): Handle also platforms with
7834                 nonempty EXEEXT.
7835
7836         2006-07-11  Bruno Haible  <bruno@clisp.org>
7837
7838                 * javacomp.c: Fix a comment.
7839                 Reported by Jim Meyering.
7840
7841         2006-04-30  Bruno Haible  <bruno@clisp.org>
7842
7843                 * javacomp.h (compile_java_class): Add source_version,
7844                 target_version arguments.
7845                 * javacomp.c: Rewritten to choose only a compiler that
7846                 respects the specified source_version and target_version.
7847
7848         2006-06-27  Bruno Haible  <bruno@clisp.org>
7849
7850                 Assume correct S_ISDIR macro.
7851                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
7852
7853         2006-07-22  Bruno Haible  <bruno@clisp.org>
7854
7855                 * javaversion.h: New file, from GNU gettext.
7856                 * javaversion.c: New file, from GNU gettext.
7857                 * javaversion.java: New file, from GNU gettext.
7858                 * javaversion.class: New file, from GNU gettext.
7859
7860         2006-05-17  Bruno Haible  <bruno@clisp.org>
7861
7862                 Cygwin portability.
7863                 * javaexec.c (execute_java_class): Test for jview program
7864                 also on Cygwin.
7865
7866         2006-04-09  Bruno Haible  <bruno@clisp.org>
7867
7868                 * fatal-signal.c: Don't include string.h.
7869                 (at_fatal_signal): Use a copying loop instead of memcpy.
7870
7871         2005-12-04  Bruno Haible  <bruno@clisp.org>
7872
7873                 * csharpexec.c: Add support for 'clix' launcher (untested).
7874                 (execute_csharp_using_sscli): New function.
7875                 (execute_csharp_program): Call it.
7876
7877         2006-06-21  Bruno Haible  <bruno@clisp.org>
7878
7879                 Avoid warnings from recent versions of mcs.
7880                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
7881                 -o, -L, -r any more. Use options documented since mcs-1.0
7882                 instead. Similarly for -g.
7883
7884         2005-07-09  Bruno Haible  <bruno@clisp.org>
7885
7886                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
7887                 add a .dll suffix.
7888                 Reported by Mark Junker <mjscod@gmx.de>.
7889
7890         2006-06-17  Bruno Haible  <bruno@clisp.org>
7891
7892                 * config.charset: Update for NetBSD 3.0.
7893
7894         2006-05-17  Bruno Haible  <bruno@clisp.org>
7895
7896                 Cygwin portability.
7897                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
7898
7899         2006-05-16  Bruno Haible  <bruno@clisp.org>
7900
7901                 * localcharset.c [CYGWIN]: Include <windows.h>.
7902                 (get_charset_aliases): For Cygwin, return the same CPxxx
7903                 aliases list as under WIN32.
7904                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
7905                 the environment variables. Fall back to GetACP().
7906
7907         2006-04-05  Bruno Haible  <bruno@clisp.org>
7908
7909                 * config.charset: Update Juan Manuel Guerrero's address.
7910
7911         2005-02-12  Bruno Haible  <bruno@clisp.org>
7912
7913                 * allocsa.h: Add extern "C" for C++.
7914
7915         2005-02-10  Bruno Haible  <bruno@clisp.org>
7916
7917                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
7918                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
7919
7920         2006-07-22  Bruno Haible  <bruno@clisp.org>
7921
7922                 * gettext.h: Update to GNU gettext-0.15.
7923
7924 2006-07-22  Bruno Haible  <bruno@clisp.org>
7925
7926         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
7927         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
7928         lib-prefix.m4, longdouble.m4, ssize_t.m4.
7929
7930 2006-07-21  Eric Blake  <ebb9@byu.net>
7931
7932         * modules/stdlib-safer: New file.
7933         * MODULES.html.sh (File stream based Input/Output): Add
7934         stdlib-safer.
7935
7936 2006-07-21  Eric Blake  <ebb9@byu.net>
7937
7938         * lib/stdlib-safer.h: New file from coreutils, required by
7939         stdlib--.h.
7940
7941 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
7942
7943         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
7944
7945 2006-07-20  Bruno Haible  <bruno@clisp.org>
7946
7947         * gnulib-tool: Recognize new option --assume-autoconf.
7948         (autoconf_minversion): New variable.
7949         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
7950
7951 2006-07-20  Bruno Haible  <bruno@clisp.org>
7952
7953         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
7954
7955 2006-07-19  Derek R. Price  <derek@ximbiot.com>
7956
7957         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
7958         Reindent and repaginate.
7959
7960 2006-07-19  Derek Price  <derek@ximbiot.com>
7961
7962         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
7963         Correct grammar.
7964
7965 2006-07-17  Bruno Haible  <bruno@clisp.org>
7966
7967         * modules/list: New file.
7968         * modules/array-list: New file.
7969         * modules/carray-list, modules/carray-list-tests: New files.
7970         * modules/linked-list, modules/linked-list-tests: New files.
7971         * modules/avltree-list, modules/avltree-list-tests: New files.
7972         * modules/rbtree-list, modules/rbtree-list-tests: New files.
7973         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
7974         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
7975         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
7976         * modules/oset: New file.
7977         * modules/array-oset: New file.
7978         * modules/avltree-oset, modules/avltree-oset-tests: New files.
7979         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
7980         * tests/test-carray_list.c: New file.
7981         * tests/test-linked_list.c: New file.
7982         * tests/test-avltree_list.c: New file.
7983         * tests/test-rbtree_list.c: New file.
7984         * tests/test-linkedhash_list.c: New file.
7985         * tests/test-avltreehash_list.c: New file.
7986         * tests/test-rbtreehash_list.c: New file.
7987         * tests/test-avltree_oset.c: New file.
7988         * tests/test-rbtree_oset.c: New file.
7989         * MODULES.html.sh (Container data structures): New section.
7990
7991 2006-07-17  Bruno Haible  <bruno@clisp.org>
7992
7993         * m4/gl_list.m4: New file.
7994
7995 2006-07-17  Bruno Haible  <bruno@clisp.org>
7996
7997         * lib/gl_list.h: New file.
7998         * lib/gl_list.c: New file.
7999         * lib/gl_array_list.h: New file.
8000         * lib/gl_array_list.c: New file.
8001         * lib/gl_carray_list.h: New file.
8002         * lib/gl_carray_list.c: New file.
8003         * lib/gl_linked_list.h: New file.
8004         * lib/gl_linked_list.c: New file.
8005         * lib/gl_anylinked_list1.h: New file.
8006         * lib/gl_anylinked_list2.h: New file.
8007         * lib/gl_avltree_list.h: New file.
8008         * lib/gl_avltree_list.c: New file.
8009         * lib/gl_anyavltree_list1.h: New file.
8010         * lib/gl_anyavltree_list2.h: New file.
8011         * lib/gl_rbtree_list.h: New file.
8012         * lib/gl_rbtree_list.c: New file.
8013         * lib/gl_anyrbtree_list1.h: New file.
8014         * lib/gl_anyrbtree_list2.h: New file.
8015         * lib/gl_anytree_list1.h: New file.
8016         * lib/gl_anytree_list2.h: New file.
8017         * lib/gl_linkedhash_list.h: New file.
8018         * lib/gl_linkedhash_list.c: New file.
8019         * lib/gl_anyhash_list1.h: New file.
8020         * lib/gl_anyhash_list2.h: New file.
8021         * lib/gl_avltreehash_list.h: New file.
8022         * lib/gl_avltreehash_list.c: New file.
8023         * lib/gl_rbtreehash_list.h: New file.
8024         * lib/gl_rbtreehash_list.c: New file.
8025         * lib/gl_anytreehash_list1.h: New file.
8026         * lib/gl_anytreehash_list2.h: New file.
8027
8028         * lib/gl_oset.h: New file.
8029         * lib/gl_oset.c: New file.
8030         * lib/gl_array_oset.h: New file.
8031         * lib/gl_array_oset.c: New file.
8032         * lib/gl_avltree_oset.h: New file.
8033         * lib/gl_avltree_oset.c: New file.
8034         * lib/gl_rbtree_oset.h: New file.
8035         * lib/gl_rbtree_oset.c: New file.
8036         * lib/gl_anytree_oset.h: New file.
8037
8038 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8039
8040         * m4/mkancesdirs.m4: New file.
8041         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
8042         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
8043         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
8044         it.
8045
8046 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8047
8048         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
8049         * lib/mkancesdirs.h: New files.
8050         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
8051         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
8052         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
8053         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
8054         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
8055         callers changed.  Revamp internals significantly, by not
8056         attempting to create directories that are temporarily more
8057         permissive than the final results.  Do not attempt to use
8058         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
8059         This removes some race conditions, fixes some bugs, and simplifies
8060         things.  Use new dirchownmod function to do owner and mode changes.
8061         * lib/mkdir-p.h: Likewise.
8062         * lib/modechange.c (octal_to_mode): New function.
8063         (struct mode_change): New member mentioned.
8064         (make_node_op_equals): New arg mentioned.  All callers changed.
8065         (mode_compile): Keep track of which mode bits the user has explicitly
8066         mentioned.
8067         (mode_adjust): New arg DIR, so that we implement the X op correctly.
8068         New arg PMODE_BITS, to keep track of which mode bits the user
8069         mentioned; it treats S_ISUID and S_ISGID speciall.
8070         All callers changed.
8071         * lib/modechange.h: Likewise.
8072
8073 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
8074
8075         * MODULES.html.sh: Add mkancestors.
8076         * modules/mkancesdirs: New module.
8077         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
8078         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
8079         The chdir-safer and afs files are now orphans; I'll remove them
8080         unless someone speaks up.
8081         Add lib/dirchownmod.c, lib/dirchownmod.h.
8082         (Depends-on): Remove alloca, chown, save-cwd, dirname.
8083         Add lchown, mkancesdirs.
8084         (Maintainer): Add self.
8085
8086 2006-07-15  Karl Berry  <karl@gnu.org>
8087
8088         * gnulib-tool: help message wording/arrangement.
8089
8090 2006-07-14  Simon Josefsson  <jas@extundo.com>
8091
8092         * doc/gnulib.texi (Libtool and Windows): New section.
8093
8094 2006-07-12  Simon Josefsson  <jas@extundo.com>
8095
8096         * modules/gendocs (License): Fix license, approved by Karl.
8097
8098 2006-07-12  Eric Blake  <ebb9@byu.net>
8099
8100         * MODULES.html.sh: Add gendocs.
8101
8102 2006-07-11  Eric Blake  <ebb9@byu.net>
8103
8104         * modules/fdl: New module, to install doc/fdl.texi.
8105         * MODULES.html.sh: Add new section for documentation modules.
8106         * gnulib-tool: Avoid space-tab.
8107         (--doc-base): New option, to manage files from doc.
8108
8109 2006-07-11  Eric Blake  <ebb9@byu.net>
8110
8111         * m4/absolute-header.m4: Fix comments to match recent change.
8112
8113 2006-07-11  Eric Blake  <ebb9@byu.net>
8114
8115         * gnulib-tool: List --doc-base before --tests-base.
8116
8117 2006-07-11  Derek R. Price  <derek@ximbiot.com>
8118
8119         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
8120
8121 2006-07-11  Bruno Haible  <bruno@clisp.org>
8122
8123         * README: Mention where to put documentation.
8124
8125 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8126
8127         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
8128
8129 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8130
8131         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
8132         to stdint.m4.
8133
8134 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
8135
8136         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
8137         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
8138         "no/such/file/stdint.h" when there is no such file, so that
8139         the resulting C code can be parsed by dodgy compilers.
8140         Problems reported by Bob Proulx.
8141
8142 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8143
8144         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
8145         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8146         macros into the GNU _D_EXACT_NAMLEN.
8147         * lib/savedir.c:  Likewise.
8148         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
8149
8150 2006-07-10  Derek R. Price  <derek@ximbiot.com>
8151         and Paul Eggert  <eggert@cs.ucla.edu>
8152
8153         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
8154         * m4/savedir.m4:
8155         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
8156         macros into the GNU _D_EXACT_NAMLEN.
8157
8158 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8159
8160         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
8161         around the absolute name, to work around a problem with the HP-UX
8162         11.23 native C compiler, reported by Bob Proulx.
8163
8164 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8165
8166         * doc/maintain.texi, make-stds.texi: Sync from
8167         <http://savannah.gnu.org/projects/gnustandards>.
8168
8169 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
8170
8171         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
8172
8173 2006-07-09  Jim Meyering  <jim@meyering.net>
8174
8175         * m4/glob.m4: Remove a doubled word in a comment.
8176
8177 2006-07-09  Jim Meyering  <jim@meyering.net>
8178
8179         * lib/argp-pv.c: Remove a doubled word in a comment.
8180         * lib/check-version.c (check_version): Likewise.
8181         * lib/javacomp.c (compile_java_class): Likewise.
8182
8183 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
8184
8185         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
8186         for the benefit of people using Autoconf 2.60.  If you want to
8187         support older Autoconf versions you can copy m4/onceonly_2_57.m4
8188         (or m4/onceonly.m4, if pre-2.57) manually.
8189
8190 2006-07-08  Jim Meyering  <jim@meyering.net>
8191
8192         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
8193         comment.
8194         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
8195         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
8196         comment.
8197
8198 2006-07-08  Jim Meyering  <jim@meyering.net>
8199
8200         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
8201
8202 2006-07-07  Simon Josefsson  <jas@extundo.com>
8203
8204         * tests/test-crc.c: Change expected crc value, the test vector
8205         were probably computed using the old broken crc.c?
8206
8207 2006-07-06  Simon Josefsson  <jas@extundo.com>
8208
8209         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
8210         now the canonical place for the M4 file).
8211
8212         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
8213         from the sys_socket dependency now.
8214
8215         * modules/inet_pton (Files): Ditto.
8216
8217         * modules/inet_ntop (Files): Ditto.
8218
8219 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
8220
8221         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
8222         not gl_PREREQ_GETUSERSHELL.
8223
8224 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8225
8226         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
8227         with only one argument, for Autoconf 2.60.
8228         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
8229         expand to nothing, so add a shell command to avoid syntax error.
8230         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8231
8232 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8233
8234         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
8235
8236 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8237
8238         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
8239         no longer needed.  Check for isblank decl.
8240         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
8241         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
8242         of existence.
8243
8244 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8245
8246         * lib/getloadavg.c: Use __VMS, not VMS.
8247         * lib/getopt.c: Likewise.
8248         * lib/getpagesize.h: Likewise.
8249         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
8250         and probably does not work.
8251
8252 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
8253
8254         * lib/.cppi-disable: Add wcwidth.
8255         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
8256         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
8257         (ISGRAPH): Remove.  All uses changed to isgraph.
8258         (FOLD) [!defined _LIBC]: Remove special case.
8259         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
8260         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
8261         HAVE_ISBLANK.
8262         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
8263         case.
8264
8265 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
8266
8267         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
8268         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
8269         brackets.  Other minor changes to suppress some compiler
8270         warnings.
8271
8272 2006-07-06  Derek R. Price  <derek@ximbiot.com>
8273         and Paul Eggert  <eggert@cs.ucla.edu>
8274
8275         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
8276         of invoking obsolescent AC_HEADER_DIRENT macro.
8277         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
8278         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
8279         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8280         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
8281         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
8282         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
8283         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
8284         * m4/readdir.m4: Remove; no longer needed.
8285
8286 2006-07-06  Derek R. Price  <derek@ximbiot.com>
8287         and Paul Eggert  <eggert@cs.ucla.edu>
8288
8289         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
8290         Don't worry about this obsolete case any more.
8291         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
8292         directories.
8293         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
8294         worry about this obsolete case any more.
8295         * lib/fts.c: Likewise.
8296         * lib/getcwd.c: Likewise.
8297         * lib/glob.h: Likewise.
8298         * lib/savedir.c: Likewise.
8299
8300 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8301
8302         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
8303         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
8304         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
8305         needed.
8306         All uses removed.
8307         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8308         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
8309         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
8310         needed.
8311         * m4/getdate.m4 (gl_GETDATE): Likewise.
8312         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
8313         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
8314         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8315         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8316         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
8317         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
8318         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
8319         needed.
8320
8321 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
8322
8323         * lib/memcasecmp.c: Include <limits.h>.
8324         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
8325         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
8326         Don't assume isdigit succeeds only on '0' through '9'.
8327
8328 2006-07-05  Eric Blake  <ebb9@byu.net>
8329
8330         * modules/getaddrinfo (Depends-on): Add snprintf.
8331
8332 2006-07-05  Eric Blake  <ebb9@byu.net>
8333
8334         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
8335         to avoid 'header present but could not be compiled' on cygwin.
8336
8337 2006-07-05  Eric Blake  <ebb9@byu.net>
8338
8339         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
8340         missing from netdb.h.
8341         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
8342
8343 2006-07-05  Derek R. Price  <derek@ximbiot.com>
8344
8345         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
8346         no longer needed.
8347         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
8348         * m4/getdate.m4 (gl_GETDATE): Likewise.
8349         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
8350         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
8351         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8352         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
8353         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
8354
8355 2006-07-05  Derek R. Price  <derek@ximbiot.com>
8356
8357         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
8358         All uses of is_space replaced by isspace.
8359         * lib/exit.h: Don't talk about STDC_HEADERS.
8360         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
8361         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
8362         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
8363         replaced by isprint etc.
8364         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
8365         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
8366         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
8367         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
8368         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
8369         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
8370
8371 2006-07-05  Bruno Haible  <bruno@clisp.org>
8372
8373         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
8374         the function exists, before testing against AIX.
8375         Reported by Martin Lambers <marlam@marlam.de>.
8376
8377 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
8378
8379         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
8380         From Mark D. Baushke.
8381
8382 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
8383
8384         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
8385         to the absolute name, not just one, to bypass Sun C 5.8's
8386         "warning: #include of /usr/include/... may be non-portable".
8387
8388 2006-07-04  Eric Blake  <ebb9@byu.net>
8389
8390         * modules/dirname-tests: New test module.
8391         * tests/test-dirname.c: New file, replacing dirname.c
8392         TEST_DIRNAME section that was recently deleted.
8393
8394 2006-07-04  Bruno Haible  <bruno@clisp.org>
8395
8396         Assume ANSI C header files and <ctype.h> functions.
8397         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
8398         (mbsnwidth): Use isprint, iscntrl instead.
8399
8400 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8401
8402         Merge from coreutils.
8403         * MODULES.html.sh: Add xstrtold.
8404         * modules/xstrtold: New file.
8405         * modules/cycle-check (Files): Add lib/same-inode.h.
8406         * modules/dirname (Files): Add m4/double-slash-root.m4.
8407         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
8408         * modules/mkdir-p (Files): Add lib/same-inode.h.
8409         * modules/same (Files): Add lib/same-inode.h.
8410
8411 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8412
8413         * m4/absolute-header.m4: Renamed from full-header-path.m4.
8414         This is to keep the terminology clean; POSIX talks about
8415         "absolute pathnames", not "full pathnames", but the GNU
8416         Coding Standards say to use "path" for something else;
8417         so use "absolute" to keep both sides happy.
8418         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
8419         Set gl_absolute_header, not gl_full_header_path.
8420         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
8421         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
8422         All uses changed.
8423
8424         Merge from coreutils.
8425
8426         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8427
8428         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
8429         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
8430         want to require the building of c-strtod.o.
8431         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
8432         needs -lm directly.
8433         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
8434
8435         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
8436
8437         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
8438         --as-needed option if available.  Problem reported by Albert Chin in
8439         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
8440         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
8441         cc merely issues a bunch of annoying warnings for --as-needed
8442         (this problem was reported by Bob Proulx).  Also, try linking with
8443         -lm to detect a bug in binutils 2.16 (this problem was reported
8444         by Ralf Wildenhues).
8445
8446         2006-06-18  Jim Meyering  <jim@meyering.net>
8447
8448         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
8449         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
8450         macro.
8451         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
8452         also check for glibc-2.4's abort-inducing bug.
8453
8454         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
8455         Low-probability clean-up should be to use rmdir to get rid of
8456         the just-created directory, not unlink.
8457
8458         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
8459         configure fail, and request a bug report to inform us about it.
8460         Add a comment that, barring reports to the contrary, in 2007 we'll
8461         assume ftruncate is universally available.
8462
8463         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
8464
8465         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
8466
8467         2006-03-12  Jim Meyering  <jim@meyering.net>
8468
8469         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
8470         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
8471         * m4/same.m4 (gl_SAME): Likewise.
8472         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
8473
8474         2006-03-11  Eric Blake  <ebb9@byu.net>
8475
8476         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
8477         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
8478         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
8479         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
8480
8481 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8482
8483         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
8484         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
8485         reported by Mark D. Baushke, one in
8486         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
8487
8488         Merge from coreutils.
8489
8490         * lib/.cppi-disable: Add stdint_.h.
8491         * lib/.cvsignore: Add stdint.h.
8492
8493         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8494
8495         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
8496         both double and long double versions.
8497         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
8498         * lib/xstrtold.c: New file.
8499         * lib/xstrtod.h (xstrtold): New decl.
8500
8501         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
8502
8503         * lib/filemode.c (setst): Remove.
8504         (strmode): Rewrite to avoid setst.  This makes the code shorter,
8505         (arguably) clearer, and the generated code is a bit smaller on my
8506         Debian GNU/Linux stable x86 host.
8507
8508         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
8509
8510         * lib/filemode.c: Include "filemode.h" first, to test the interface.
8511         Assume that filemode.h includes sys/types.h and sys/stat.h.
8512         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
8513         (ftypelet): Reorder to put common cases first, for efficiency.
8514         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
8515         to do 'M'.
8516         (strmode): Renamed from mode_string, and now stores 12 bytes instead
8517         of 10, for compatibility with FreeBSD.  All callers changed.
8518         (filemodestring): Now stores 12 bytes instead of 10, and sets file
8519         types that can't be deduced solely from st_mode.  First arg is now a
8520         const pointer.
8521         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
8522         (strmode): Renamed from mode_string.
8523         (filemodestring): New decl.
8524         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
8525         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
8526         needed.
8527         (S_ISPORT, S_ISWHT): New macros, if not already defined.
8528
8529         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8530
8531         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
8532         fsusage.h now does that.  Include fsusage.h first, to test interface.
8533         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
8534         at most one method (the old code could have generated decls that
8535         didn't conform to C89, not that this was ever exercised).
8536         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
8537
8538         2006-03-19  Jim Meyering  <jim@meyering.net>
8539
8540         Work even in a chroot where d_ino values for entries in "/"
8541         don't match the stat.st_ino values for the same names.
8542         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
8543         number, iterate through all entries again, using lstat instead.
8544         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
8545         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
8546
8547         * lib/getcwd.c (__getcwd): Clarify a comment.
8548         Use memcpy in place of a call to strcpy.
8549
8550         2006-03-12  Jim Meyering  <jim@meyering.net>
8551
8552         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
8553         matches that of the current directory (which we're about to chdir ".."
8554         out of), then save the dev-ino of the parent, instead.
8555
8556         * lib/same-inode.h (SAME_INODE): New file/macro.
8557         * lib/chdir-safer.c (SAME_INODE): Remove definition.
8558         Include "same-inode.h", instead.
8559         * lib/same.c: Likewise.
8560         * lib/cycle-check.h: Include "same-inode.h".
8561         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
8562         * lib/cycle-check.c (SAME_INODE): Remove definition.
8563         * lib/root-dev-ino.h: Include "same-inode.h".
8564
8565         2006-03-11  Eric Blake  <ebb9@byu.net>
8566
8567         * lib/same.c (same_name): s/base_name/last_component/
8568         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
8569         * lib/filenamecat.c (file_name_concat): Likewise.
8570
8571         2006-03-11  Eric Blake  <ebb9@byu.net>,
8572                     Paul Eggert  <eggert@cs.ucla.edu>
8573
8574         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
8575         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
8576         drive prefix.
8577         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
8578         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
8579         (last_component): New method.
8580         * lib/dirname.c (dir_len): Determine when drive letters need a
8581         subsequent slash.  Preserve // when it is special.
8582         (dir_name): Don't append dot when drive letter is absolute.
8583         [TEST_DIRNAME]: Move into a full-blown gnulib test.
8584         * lib/basename.c (base_name): New semantics - malloc the result.
8585         Preserve // when it is special.  Preserve relative files that look
8586         like drive letters.
8587         (base_len): Preserve // when it is special.
8588         (last_component): New method, similar to old base_name semantics.
8589         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
8590         base_name.  Strip redundant slashes from ///.
8591
8592 2006-07-03  Jim Meyering  <jim@meyering.net>
8593
8594         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
8595         macro is used before the first cycle_check call.
8596
8597 2006-07-03  Eric Blake  <ebb9@byu.net>
8598
8599         * modules/dirname (Depends-on): Add xstrndup.
8600
8601 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
8602
8603         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
8604         test cases, so that config.log is a bit easier to follow.
8605
8606 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
8607
8608         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
8609         both are 64 bits, since this seems to be the tradition, and this
8610         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
8611         we ever run into a host that prefers long long to long in this
8612         case, we'll need another configure-time test.  Problem reported by
8613         Jim Meyering.
8614
8615 2006-07-02  Eric Blake  <ebb9@byu.net>
8616
8617         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
8618
8619 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8620
8621         * modules/inttypes (Depends-on): No longer depends on stdint.
8622         * modules/stdint (Description): Say more about assumptions.
8623         Say that the fast types might differ.  Say macros are used.
8624         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
8625         (Makefile.am): Revise list of substituted symbols to match
8626         new stdint.m4.
8627         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
8628         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
8629         * tests/test-stdint.c (verify_same_types)
8630         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
8631         the code conforms to C99/C89.
8632         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
8633         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
8634
8635 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8636
8637         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
8638         but fix a bug, by requiring at least 64 bits.
8639         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
8640         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
8641         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
8642         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
8643
8644         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
8645         changes.  Make 2.59 a prerequisite.  Check and substitute for
8646         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
8647         inttypes.h.  Do not use special include files; just use the
8648         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
8649         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
8650         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
8651         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
8652         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
8653         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
8654         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
8655         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
8656         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
8657         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
8658         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
8659         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
8660         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
8661         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
8662         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
8663         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
8664         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
8665         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
8666         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
8667         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
8668         WINT_MAX.  Check for C99 conformance more strictly, by detecting
8669         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
8670         not check for things that C99 does not require, e.g., int8_t.  If
8671         a test isn't needed unless <stdint.h> isn't working, and is
8672         unlikely to be needed for any other reason, then don't do it
8673         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
8674         size_t, since we assume C89 freestanding at least.  Do not check
8675         for sig_atomic_t, wchar_t, or wint_t, since the code now does
8676         the right thing even if the types are not defined.  Instead use:
8677         (gl_STDINT_TYPE_PROPERTIES): New macro.
8678         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
8679         testing whether <sys/types.h> clashes, as Autoconf does this for
8680         us now.  All uses removed.
8681         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
8682         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
8683         (gl_CHECK_TYPE_SAME):
8684         Remove; no longer needed.
8685         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
8686         exists, since we'll return 0 anyway in that case.
8687         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
8688
8689 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8690
8691         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
8692         possible collision with system files.
8693         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
8694         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
8695         WCHAR_MIN and WCHAR_MAX in this case.
8696         (<stddef.h>): Do not include; no longer needed.
8697         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
8698         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
8699         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
8700         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
8701         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
8702         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
8703         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
8704         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
8705         !defined(__c99))]: Include in this case too, since it's harmless
8706         now.
8707         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
8708         dangerous to do so.
8709         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
8710         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
8711         (_STDINT_MIN, _STDINT_MAX): New macros.
8712         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
8713         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
8714         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
8715         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
8716         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
8717         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
8718         macros, not typedefs; this simplifies things quite a bit.
8719         Use long int for all types narrower than int64_t.
8720         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
8721         Define in terms of long long int or int64_t or long int,
8722         not int64_t or int32_t.  This saves some compile-time testing.
8723         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
8724         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
8725         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
8726         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
8727         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
8728         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
8729         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
8730         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
8731         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
8732         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
8733         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
8734         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
8735         undef any previous version and define our own version, for
8736         simplicity and consistency with the new macros for types.
8737         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
8738         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
8739         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
8740         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
8741         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
8742         @WINT_T_SUFFIX@ to keep things simple here.
8743         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
8744         Simplify by assuming typical 8/16/32/64 host, since we're
8745         already doing that elsewhere anyway.
8746         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
8747         and assume long long int is 64 bits if available.  This
8748         speeds up 'configure'.
8749
8750 2006-07-01  Eric Blake  <ebb9@byu.net>
8751
8752         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
8753         Reported by Andreas Buening.
8754
8755 2006-07-01  Eric Blake  <ebb9@byu.net>
8756
8757         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
8758
8759 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
8760
8761         * lib/getaddrinfo.c: fixed typo
8762
8763 2006-06-29  Jim Meyering  <jim@meyering.net>
8764
8765         * modules/strftime (Maintainer): Add my name, since with the
8766         FPRINTFTIME changes strftime.c has forked from glibc.
8767
8768 2006-06-29  Eric Blake  <ebb9@byu.net>
8769
8770         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
8771
8772 2006-06-29  Eric Blake  <ebb9@byu.net>
8773
8774         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
8775
8776 2006-06-29  Eric Blake  <ebb9@byu.net>
8777
8778         * lib/stat_.h: New file.
8779
8780 2006-06-29  Eric Blake  <ebb9@byu.net>
8781
8782         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
8783         unused static function.
8784
8785 2006-06-29  Eric Blake  <ebb9@byu.net>
8786
8787         * doc/functions.texi (Function Portability): Document missing lstat
8788         on mingw.
8789
8790 2006-06-29  Eric Blake  <ebb9@byu.net>
8791
8792         * MODULES.html.sh: Add sys_stat.
8793         * modules/sys_stat: New module.
8794         * modules/mkstemp (Depends-on): Add sys_stat.
8795
8796 2006-06-29  Derek R. Price  <derek@ximbiot.com>
8797
8798         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
8799
8800 2006-06-29  Derek R. Price  <derek@ximbiot.com>
8801
8802         * m4/c-bs-a.m4: Removed.
8803
8804 2006-06-29  Derek R. Price  <derek@ximbiot.com>
8805
8806         * lib/strftime.c: Assume strftime() exists.
8807
8808 2006-06-29  Derek Price  <derek@ximbiot.com>
8809
8810         * modules/c-bs-a: Removed - \a is C89.
8811         * MODULES.html.sh: Remove c-bs-a.
8812
8813 2006-06-29  Bruno Haible  <bruno@clisp.org>
8814
8815         * modules/wcwidth (License): Change to LGPL.
8816
8817 2006-06-28  Simon Josefsson  <jas@extundo.com>
8818
8819         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
8820         on _WIN32.
8821
8822         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
8823         getnameinfo.
8824
8825 2006-06-28  Simon Josefsson  <jas@extundo.com>
8826
8827         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
8828
8829 2006-06-28  Simon Josefsson  <jas@extundo.com>
8830
8831         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
8832         functions there.  It will succeed on Windows XP, but on Windows
8833         2000 and (presumably) earlier, it will fail, and use the internal
8834         re-implementation.
8835         (use_win32_p): New function.
8836         (getaddrinfo): Use strtoul on servname, to support numeric ports.
8837         Support AI_NUMERICSERV to disable getservbyname.
8838         (getnameinfo): New function, only supports
8839         NI_NUMERICHOST|NI_NUMERICSERV for now.
8840
8841         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
8842         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
8843         getnameinfo.
8844
8845 2006-06-28  Eric Blake  <ebb9@byu.net>
8846
8847         * modules/wcwidth: New file.
8848         * modules/mbchar (Depends-on): Add wcwidth.
8849         * modules/mbswidth (Depends-on): Add wcwidth.
8850         * MODULES.html.sh: Add wcwidth.
8851
8852 2006-06-28  Eric Blake  <ebb9@byu.net>
8853
8854         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
8855         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
8856
8857 2006-06-28  Eric Blake  <ebb9@byu.net>
8858
8859         * lib/xvasprintf.h: Fix comments.
8860
8861 2006-06-28  Eric Blake  <ebb9@byu.net>
8862
8863         * lib/mbchar.h (wcwidth): Include wcwidth.h.
8864         * lib/mbswidth.c (wcwidth): Move from here...
8865         * lib/wcwidth.h: ...to this new file.
8866
8867 2006-06-28  Derek R. Price  <derek@ximbiot.com>
8868
8869         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
8870
8871         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
8872         it's obsolete.
8873         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
8874
8875 2006-06-28  Derek R. Price  <derek@ximbiot.com>
8876
8877         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
8878         Autoconf 2.60 says this stuff was obsolete.
8879
8880 2006-06-28  Bruno Haible  <bruno@clisp.org>
8881
8882         * modules/wcwidth (Files): Add m4/wchar_t.m4.
8883
8884 2006-06-28  Bruno Haible  <bruno@clisp.org>
8885
8886         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
8887         gt_TYPE_WCHAR_T.
8888
8889 2006-06-28  Bruno Haible  <bruno@clisp.org>
8890
8891         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
8892         declaration for wcwidth.
8893         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
8894
8895 2006-06-28  Bruno Haible  <bruno@clisp.org>
8896
8897         * lib/mkdtemp.c [MINGW]: Include <io.h>.
8898         (mkdir): Define using _mkdir.
8899
8900 2006-06-28  Bruno Haible  <bruno@clisp.org>
8901
8902         * lib/getaddrinfo.h: Fix POSIX URL.
8903         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
8904         _WIN32.
8905         (use_win32_p): Make static.
8906         (getaddrinfo): Reject service name if it is empty or does not consist
8907         solely of decimal digits, or if its value is > 65535.
8908         (getnameinfo): Remove useless casts.
8909
8910 2006-06-27  Simon Josefsson  <jas@extundo.com>
8911
8912         * modules/sys_select: New file, suggested by Bruno Haible, Paul
8913         Eggert and Martin Lambers.
8914
8915 2006-06-27  Simon Josefsson  <jas@extundo.com>
8916
8917         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
8918         Eggert and Martin Lambers.
8919
8920 2006-06-27  Bruno Haible  <bruno@clisp.org>
8921
8922         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
8923         result to 0, not to empty.
8924         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
8925
8926 2006-06-27  Bruno Haible  <bruno@clisp.org>
8927
8928         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
8929
8930 2006-06-26  Simon Josefsson  <jas@extundo.com>
8931
8932         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
8933         present.
8934
8935 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
8936
8937         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
8938         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
8939         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
8940
8941 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
8942
8943         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
8944
8945 2006-06-26  Bruno Haible  <bruno@clisp.org>
8946
8947         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
8948
8949 2006-06-26  Bruno Haible  <bruno@clisp.org>
8950
8951         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
8952
8953 2006-06-26  Bruno Haible  <bruno@clisp.org>
8954
8955         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
8956         SGI C compiler in pre-C99 mode.
8957         Suggested by Mark D. Baushke and Larry Jones.
8958
8959 2006-06-26  Bruno Haible  <bruno@clisp.org>
8960
8961         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
8962         WCHAR_MAX.
8963         Reported by Mark D. Baushke and Larry Jones.
8964
8965 2006-06-26  Bruno Haible  <bruno@clisp.org>
8966
8967         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
8968         in pre-C99 mode.
8969         Suggested by Mark D. Baushke and Larry Jones.
8970
8971 2006-06-23  Simon Josefsson  <jas@extundo.com>
8972             Bruno Haible  <bruno@clisp.org>
8973
8974         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
8975         Emit mostlyclean-local rule.
8976         (func_emit_tests_Makefile_am): Likewise.
8977         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
8978
8979 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
8980
8981         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
8982
8983 2006-06-23  Bruno Haible  <bruno@clisp.org>
8984
8985         * tests/test-stdint.c: Update to match ISO C 99 Technical
8986         Corrigendum 1.
8987
8988 2006-06-23  Bruno Haible  <bruno@clisp.org>
8989
8990         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
8991
8992 2006-06-23  Bruno Haible  <bruno@clisp.org>
8993
8994         * lib/stdint_.h: Treat IRIX like OpenBSD.
8995
8996 2006-06-23  Bruno Haible  <bruno@clisp.org>
8997
8998         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
8999         ISO C 99 Technical Corrigendum 1.
9000
9001 2006-06-22  Simon Josefsson  <jas@extundo.com>
9002
9003         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
9004         MinGW.
9005
9006 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
9007
9008         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
9009         needed.  Some compiler complained about some of them.  Problem reported
9010         by Larry Jones in
9011         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
9012
9013 2006-06-21  Simon Josefsson  <jas@extundo.com>
9014
9015         * tests/test-getaddrinfo.c: New file.
9016
9017         * modules/getaddrinfo-tests: New file.
9018
9019         * MODULES.html.sh: Add inet_pton.
9020
9021         * modules/inet_pton: New file.
9022
9023 2006-06-21  Simon Josefsson  <jas@extundo.com>
9024
9025         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
9026         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
9027         of using the (limited) gnulib implementation on Windows XP.
9028
9029         * m4/inet_pton.m4: New file.
9030
9031 2006-06-21  Simon Josefsson  <jas@extundo.com>
9032
9033         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
9034         variable.
9035
9036         * lib/socket_.h: Don't define WINVER.
9037
9038         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
9039         slightly modified to work in gnulib.
9040
9041 2006-06-21  Simon Josefsson  <jas@extundo.com>
9042
9043         * doc/gnulib.texi (Windows sockets): Add.
9044
9045 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
9046
9047         * lib/read-file.c (fread_file): Start with buffer allocation of
9048         0 bytes rather than 1 byte; this simplifies the code.
9049         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
9050         code to free buffer and save/restore errno.
9051         (internal_read_file): Remove unused local.
9052
9053 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
9054
9055         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
9056         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
9057         Problem reported by Denis Excoffier in
9058         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
9059
9060 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9061
9062         * modules/sys_socket, modules/socklen: Include sys/types since
9063         FreeBSD 4.x's sys/socket.h needs it.
9064
9065 2006-06-19  Simon Josefsson  <jas@extundo.com>
9066
9067         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
9068
9069 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
9070
9071         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
9072
9073 2006-06-19  Bruno Haible  <bruno@clisp.org>
9074
9075         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
9076         and FULL_PATH_INTTYPES_H in angle brackets.
9077         Reported by Mark D. Baushke <mdb@gnu.org>.
9078
9079 2006-06-17  Eric Blake  <ebb9@byu.net>
9080
9081         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
9082         errno.
9083
9084 2006-06-17  Bruno Haible  <bruno@clisp.org>
9085
9086         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
9087         <sys/inttypes.h>.
9088
9089 2006-06-17  Bruno Haible  <bruno@clisp.org>
9090
9091         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
9092         whether errno is declared. Assume <errno.h> declares errno.
9093
9094 2006-06-17  Bruno Haible  <bruno@clisp.org>
9095
9096         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
9097
9098 2006-06-17  Bruno Haible  <bruno@clisp.org>
9099
9100         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
9101         problem on Solaris 2.5.1.
9102
9103 2006-06-16  Eric Blake  <ebb9@byu.net>
9104
9105         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
9106         * lib/unicodeio.c [!defined errno]: Likewise.
9107         * lib/strtol.c [!defined errno]: Likewise.
9108         * lib/strtod.c [!defined errno]: Likewise.
9109
9110 2006-06-15  Eric Blake  <ebb9@byu.net>
9111
9112         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
9113
9114 2006-06-15  Eric Blake  <ebb9@byu.net>
9115
9116         * config/srclist.txt (ssize_t.m4): Lose sync.
9117
9118 2006-06-15  Bruno Haible  <bruno@clisp.org>
9119
9120         * modules/stdint (Files): Include m4/full-header-path.m4,
9121         m4/size_max.m4, m4/wchar_t.m4.
9122         (Makefile.am): Many more substitutions.
9123         * modules/stdint-tests: New file.
9124         * tests/test-stdint.c: New file.
9125
9126 2006-06-15  Bruno Haible  <bruno@clisp.org>
9127
9128         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
9129         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
9130         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
9131         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
9132         gl_CHECK_TYPE_SAME): New macros.
9133
9134 2006-06-15  Bruno Haible  <bruno@clisp.org>
9135
9136         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
9137
9138 2006-06-15  Bruno Haible  <bruno@clisp.org>
9139
9140         * lib/stdint_.h: Rewritten to be fully auto-configured.
9141         Fixes bug on HP-UX/IA64.
9142
9143 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
9144
9145         * lib/getdate.y (__attribute__): Don't define if already defined.
9146         Problem reported by Larry Jones.
9147         * lib/utimens.c (__attribute__): Likewise.
9148
9149 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
9150
9151         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
9152         reported by Andreas Schwab.
9153
9154 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9155             Bruno Haible  <bruno@clisp.org>
9156
9157         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
9158         check for the declaration of strnlen and a run test that exposes the
9159         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
9160         rpl_strndup.
9161
9162 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9163             Bruno Haible  <bruno@clisp.org>
9164
9165         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
9166
9167 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9168
9169         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
9170         compile test, for Tru64 4.0D.
9171
9172 2006-05-28  Karl Berry  <karl@gnu.org>
9173
9174         * config/srclist.txt (printf-args.c): lose sync.
9175
9176 2006-05-26  Martin Lambers  <marlam@marlam.de>
9177
9178         * lib/getpass.c: Updates the test for the native W32 API, and adds
9179         missing includes, thus fixing compilation warnings.
9180
9181 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9182
9183         * lib/exclude.c (exclude_fnmatch): New function.
9184         (excluded_file_name): Call exclude_fnmatch.
9185         * lib/exclude.h (excluded_file_name): New prototype
9186
9187 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
9188
9189         * lib/tempname.c (small_open, large_open): New macros.
9190         (__open, __open64) [!_LIBC]: Remove.
9191         (__gen_tempname): Use small_open and large_open instead of __open
9192         and __open64.  This fixes a portability bug on HP-UX 11.11i
9193         reported by Simon Wing-Tang in
9194         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
9195
9196 2006-05-24  Bruno Haible  <bruno@clisp.org>
9197
9198         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
9199         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
9200         Reported by Thorsten Maerz <torte@netztorte.de> via
9201         Aaron Stone <aaron@serendipity.cx>.
9202
9203 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9204
9205         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
9206         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
9207         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
9208         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
9209         not really conditional on the cache.
9210         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
9211
9212 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
9213
9214         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
9215         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
9216         (my_usleep): Don't mishandle maximum value.
9217
9218 2006-05-19  Jim Meyering  <jim@meyering.net>
9219
9220         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
9221
9222 2006-05-17  Bruno Haible  <bruno@clisp.org>
9223
9224         Cygwin portability.
9225         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
9226
9227 2006-05-17  Bruno Haible  <bruno@clisp.org>
9228
9229         * lib/stdint_.h: Fix recognition of Cygwin.
9230
9231 2006-05-15  Bruno Haible  <bruno@clisp.org>
9232
9233         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
9234         on libtool patch by Ralf Wildenhues.
9235
9236 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
9237
9238         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
9239         test for C99 conformance; (bool) 0.5 is an integer constant
9240         expression, but (bool) -0.5 is not.  Problem reported by Fedor
9241         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
9242
9243 2006-05-11  Simon Josefsson  <jas@extundo.com>
9244
9245         * m4/xvasprintf.m4: Fix obvious typo.
9246
9247 2006-05-11  Jim Meyering  <jim@meyering.net>
9248
9249         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
9250         James Lemley.
9251
9252 2006-05-10  Simon Josefsson  <jas@extundo.com>
9253
9254         * lib/md4.c: Typo fix, update copyright years.
9255         (K1, K2): Don't use L because it turn computations into 64-bit on
9256         64-bit platforms.
9257
9258 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
9259
9260         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
9261         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
9262         unwanted sign propagation, e.g., on hosts with 64-bit int.
9263         There still are some problems with reeelly weird theoretical hosts
9264         (e.g., 33-bit int) but it's not worth worrying about now.
9265         * lib/sha1.c (rol): Likewise.
9266         (K1, K2, K3, K4): Remove unnecessary L suffix.
9267
9268 2006-05-10  Bruno Haible  <bruno@clisp.org>
9269
9270         * lib/des.c: Cast to avoid warnings.
9271
9272 2006-05-09  Bruno Haible  <bruno@clisp.org>
9273
9274         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
9275         (Depends-on): Depend also on xsize, stdarg.
9276         (configure.ac): Add gl_XVASPRINTF.
9277
9278 2006-05-09  Bruno Haible  <bruno@clisp.org>
9279
9280         * m4/xvasprintf.m4: New file.
9281
9282 2006-05-09  Bruno Haible  <bruno@clisp.org>
9283
9284         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
9285         (EOVERFLOW): Define fallback value.
9286         (xstrcat): New function.
9287         (xvasprintf): Recognize the special case of a string concatenation.
9288
9289 2006-05-08  Eric Blake  <ebb9@byu.net>
9290
9291         * gnulib-tool (func_version): Base copyright year on CVS date.
9292         (func_emit_copyright_notice): New function.
9293         (func_emit_lib_Makefile_am): Use it.
9294         (func_emit_tests_Makefile_am): Likewise.
9295         (func_import): Likewise.
9296
9297 2006-05-08  Bruno Haible  <bruno@clisp.org>
9298
9299         * modules/stdarg: New file.
9300         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
9301
9302 2006-05-08  Bruno Haible  <bruno@clisp.org>
9303
9304         * m4/stdarg.m4: New file, from GNU gettext.
9305
9306 2006-05-08  Bruno Haible  <bruno@clisp.org>
9307
9308         * config/srclist.txt (build-aux/config.rpath): different from latest
9309         release.
9310
9311 2006-05-08  Bruno Haible  <bruno@clisp.org>
9312
9313         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
9314
9315 2006-05-05  Jim Meyering  <jim@meyering.net>
9316
9317         * m4/warning.m4: New file, derived from bison's file by the same name.
9318
9319 2006-05-03  Bruno Haible  <bruno@clisp.org>
9320
9321         * lib/stdint_.h: Shorter URL.
9322         * lib/inttypes.h: Likewise.
9323
9324 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9325
9326         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
9327
9328 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9329
9330         * lib/verify.h: Document the internals better.  Most of this change
9331         was written by Bruno Haible.
9332
9333 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
9334
9335         * doc/verify.texi: New file, partly based on a proposal by
9336         Bruno Haible.
9337
9338 2006-05-02  Bruno Haible  <bruno@clisp.org>
9339
9340         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
9341         test from here...
9342         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
9343
9344 2006-04-29  Bruno Haible  <bruno@clisp.org>
9345
9346         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
9347         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
9348
9349 2006-04-29  Bruno Haible  <bruno@clisp.org>
9350
9351         * gnulib-tool: Make --update option actually work.
9352
9353 2006-04-29  Bruno Haible  <bruno@clisp.org>
9354
9355         * doc/gcd.texi: New file.
9356         * doc/gnulib.texi: Include it.
9357
9358 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
9359
9360         * lib/getdate.y (get_date): When adding relative date, start with the
9361         initial time, not with the result of the first mktime call.
9362
9363 2006-04-25  Bruno Haible  <bruno@clisp.org>
9364
9365         * gnulib-tool (func_import): Output the include directives in three
9366         blocks, sorted separately.
9367         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9368
9369 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9370
9371         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
9372         to define main with arguments, for C++.  Reported by Eric Blake.
9373         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
9374         Prefer 'int main ()' to 'int main (void)', for C++.
9375         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9376         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
9377         for 'main', for C99 and C++.
9378
9379 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9380
9381         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
9382         Don't assume that exit status -1 is valid.
9383         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9384         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
9385         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
9386         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
9387         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
9388         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
9389         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
9390         functions can be used without declaring them, or that you can
9391         exit with status -1.
9392         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
9393
9394 2006-04-24  Karl Berry  <karl@gnu.org>
9395
9396         * config/srclist.txt (longdouble.m4): sync lost.
9397
9398 2006-04-24  Eric Blake  <ebb9@byu.net>
9399
9400         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
9401
9402 2006-04-24  Bruno Haible  <bruno@clisp.org>
9403
9404         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
9405         poll() implementation in AIX.
9406         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9407
9408 2006-04-24  Bruno Haible  <bruno@clisp.org>
9409
9410         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
9411         assigned exactly once.
9412
9413 2006-04-23  Claudio Fontana  <claudio@gnu.org>
9414             Bruno Haible  <bruno@clisp.org>
9415
9416         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
9417         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
9418         for AM_CPPFLAGS.
9419
9420 2006-04-23  Bruno Haible  <bruno@clisp.org>
9421
9422         * modules/copy-file: Depend on unistd.
9423         * modules/execute: Likewise.
9424         * modules/fatal-signal: Likewise.
9425         * modules/findprog: Likewise.
9426         * modules/mkdtemp : Likewise.
9427         * modules/pipe: Likewise.
9428         * modules/wait-process: Likewise.
9429
9430 2006-04-23  Bruno Haible  <bruno@clisp.org>
9431
9432         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
9433         condition was already detected.
9434         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9435
9436 2006-04-23  Bruno Haible  <bruno@clisp.org>
9437
9438         * lib/copy-file.c: Include <unistd.h> unconditionally.
9439         * lib/execute.c: Likewise.
9440         * lib/fatal-signal.c: Likewise.
9441         * lib/findprog.c: Likewise.
9442         * lib/mkdtemp.c: Likewise.
9443         * lib/pipe.h: Likewise.
9444         * lib/pipe.c: Likewise.
9445         * lib/wait-process.h: Likewise.
9446
9447 2006-04-23  Bruno Haible  <bruno@clisp.org>
9448
9449         * gnulib-tool (func_usage): Fix --import description. Document
9450         --update.
9451         (func_import): Create temporary file in a temporary directory, if
9452         --dry-run is specified. Silence errors from 'grep' when there are no
9453         m4 files in $m4dir.
9454         (func_create_testdir): Silence errors from 'grep' when there are no
9455         m4 files in $m4dir.
9456         Reported by Karl Berry <karl@freefriends.org>.
9457
9458 2006-04-20  Bruno Haible  <bruno@clisp.org>
9459
9460         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
9461         one argument, so that the code will be portable to Autoconf 2.60.
9462         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
9463         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
9464         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
9465
9466 2006-04-19  Derek Price  <derek@ximbiot.com>
9467             Eric Blake  <ebb9@byu.net>
9468
9469         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
9470         rather than "/full/path.h".  Update comment to match.  Shorten &
9471         generalize m4_translit call via AS_TR_CPP.
9472
9473 2006-04-19  Derek Price  <derek@ximbiot.com>
9474             Eric Blake  <ebb9@byu.net>
9475
9476         * lib/inttypes.h: Correct grammar in comment.
9477
9478 2006-04-18  Derek Price  <derek@ximbiot.com>
9479             Paul Eggert  <eggert@cs.ucla.edu>
9480
9481         * modules/inttypes: New file.
9482         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
9483
9484 2006-04-18  Derek Price  <derek@ximbiot.com>
9485             Paul Eggert  <eggert@cs.ucla.edu>
9486
9487         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
9488         New files.
9489
9490 2006-04-18  Derek Price  <derek@ximbiot.com>
9491             Paul Eggert  <eggert@cs.ucla.edu>
9492
9493         * lib/inttypes.h: New file.
9494         * lib/strtoimax.c: Assume <inttypes.h>.
9495
9496 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
9497
9498         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
9499         isn't mounted.  Problem reported by Kir Kolyshkin.
9500
9501 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
9502
9503         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
9504         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
9505         Derek R. Price.
9506         * lib/regex.h (RE_DUP_MAX): Update comment to match current
9507         implementation.
9508
9509 2006-04-12  Eric Blake  <ebb9@byu.net>
9510
9511         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
9512         is now done automatically by the corresponding Autoconf macro.
9513
9514 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
9515
9516         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
9517         time_r.h.
9518
9519 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9520
9521         Merge regex changes from libc, removing some of our
9522         POSIX-conformance changes that were rejected and redoing them in a
9523         less-intrusive way.
9524
9525         * lib/regcomp.c (re_compile_internal, init_dfa):
9526         Length arg is now size_t, not Idx.  All uses changed.
9527         (peek_token): Forward decl now says internal_function.
9528         (__re_error_msgid, __re_error_msgid_idx):
9529         Now static rather than extern with attribute_hidden.
9530         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
9531         For some reason libc prefers K&R style defns for external functions.
9532         (regerror) [!defined _LIBC]: Likewise.
9533         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
9534         (seek_collating_symbol_entry, lookup_collation_sequence_value):
9535         (build_range_exp, build_collating_symbol):
9536         Use K&R-style defn.
9537         (re_compile_fastmap): Use '\0' to memset, not 0.
9538         (utf8_sb_map): Make the calculations more obvious.
9539         (init_dfa, parse_bracket_exp, build_charclass_op):
9540         Call calloc and cast result, as glibc does.
9541         (init_word_char, fetch_token, peek_token, peek_token_bracket):
9542         (build_range_exp, build_collating_symbol):
9543         Now internal functions.
9544
9545         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
9546
9547         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
9548         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
9549         Don't depend on VMS; depend on __VMS instead, for POSIX
9550         namespace cleanness.
9551         (regoff_t): Define to ssize_t, not long int.
9552
9553         Remove the REG_ macros named below.  Instead, make the old names
9554         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
9555         __USE_GNU_REGEX.
9556         (REG_BACKSLASH_ESCAPE_IN_LISTS):
9557         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
9558         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
9559         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
9560         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
9561         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
9562         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
9563         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
9564         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
9565         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
9566         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
9567         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
9568         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
9569         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
9570         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
9571         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
9572         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
9573         (REG_NREGS):
9574         Remove.  All uses replaced by the old RE_* names.
9575         (RE_BACKSLASH_ESCAPE_IN_LISTS):
9576         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
9577         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
9578         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
9579         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
9580         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
9581         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
9582         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
9583         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
9584         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
9585         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
9586         Don't bother having these macros be independent of each others'
9587         values, since they no longer exist in the POSIX name space.
9588
9589         Rename the following member names back to their old names,
9590         unless !__USE_GNU_REGEX.  All uses changed back.
9591         (buffer): Renamed from re_buffer.
9592         (allocated): Renamed from re_allocated.
9593         (used): Renamed from re_used.
9594         (syntax): Renamed from re_syntax.
9595         (fastmap): Renamed from re_fastmap.
9596         (translate): Renamed from re_translate.
9597         (can_be_null): Renamed from re_can_be_null.
9598         (regs_allocated): Renamed from re_regs_allocated.
9599         (fastmap_accurate): Renamed from re_fastmap_accurate.
9600         (no_sub): Renamed from re_no_sub.
9601         (not_bol): Renamed from re_not_bol.
9602         (not_eol): Renamed from re_not_eol.
9603         (newline_anchor): Renamed from re_newline_anchor.
9604         (num_regs): Renamed from rm_num_regs.
9605         (start): Renamed from rm_start.
9606         (end): Renamed from rm_end.
9607
9608         (free_state): Move up a bit.
9609
9610         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
9611         #define to be empty.
9612         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
9613         when that is what is intended.
9614         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
9615         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
9616         (MAX): New macro.
9617         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
9618         All uses changed back to re_malloc, etc.  It's now the caller's
9619         responsibility to check for overflow; all callers changed.
9620         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
9621         (re_x2nrealloc): Remove.
9622         (free_state): Remove decl.
9623
9624         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
9625         (re_set_registers, re_exec):
9626         Use K&R-style defn.
9627
9628         2006-01-31  Roland McGrath  <roland@redhat.com>
9629
9630         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
9631         Reported by Mike Frysinger <vapier@gentoo.org>.
9632
9633         2006-01-15  Andreas Jaeger  <aj@suse.de>
9634
9635         [BZ #1950]
9636         * lib/regex_internal.c (re_string_reconstruct): Adjust for
9637         build_wcs_upper_buffer change.
9638         (build_wcs_upper_buffer): Change return type.
9639
9640         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
9641
9642         * lib/regex_internal.h: Include <stdint.h> if available.
9643
9644         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
9645
9646         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
9647
9648         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
9649
9650         * lib/regcomp.c: Adjust for changed secondary hash function.
9651
9652         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
9653
9654         * lib/regex.h: Pretty printing.
9655         Clean up namespace a bit.
9656
9657         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
9658
9659         * lib/regexec.c (update_cur_sifted_state, check_arrival,
9660         check_arrival_add_next_nodes): Avoid using uninitialized variable.
9661
9662         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9663                     Ulrich Drepper  <drepper@redhat.com>
9664
9665         [BZ #1302]
9666         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
9667         changed.
9668         (bitset_word_t): Renamed from bitset_word.  All uses changed.
9669
9670         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
9671
9672         [BZ #281]
9673         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
9674         * lib/regcomp.c: Remove unnecessary uses of
9675         unsigned RE_TRANSLATE_TYPE.
9676         * lib/regex_internal.h: Likewise.
9677         * lib/regex_internal.c: Likewise.
9678         * lib/regexec.c: Likewise.
9679         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
9680
9681         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
9682
9683         * lib/regexec.c (find_recover_state): Remove unnecessary
9684         initialization.
9685         (transit_state_bkref): Make DFA a const pointer.
9686         (get_subexp): Likewise.
9687         (check_arrival): Likewise.
9688         (update_cur_sifted_state): Likewise.
9689         (re_search_internal): Likewise.
9690         (prune_impossible_nodes): Likewise.
9691         (acquire_init_state_context): Likewise.
9692         (proceed_next_node): Likewise.
9693         (set_regs): Likewise.
9694         (free_fail_stack_return): Likewise.
9695         (check_arrival_expand_ecl): Mark DFA parameter as const.
9696         (check_arrival_expand_ecl_sub): Likewise.
9697         (check_subexp_limits): Likewise.
9698         (sub_epsilon_src_nodes):  Likewise.
9699         (add_epsilon_src_nodes):  Likewise.
9700         (merge_state_array): Likewise.
9701         (update_regs): Likewise.
9702         (build_trtable): Likewise.
9703         (sift_states_backward): Mark MCTX parameter as const.
9704         (build_sifted_states): Likewise.
9705         (update_cur_sifted_state): Likewise.
9706         (sift_states_mkref): Likewise.
9707         (check_arrival_expand_ecl): Mark eclosure as const.
9708         (check_dst_limits_calc_pos_1): Likewise.
9709         * lib/regex_internal.h (re_match_context_t): Make dfa a const
9710         pointer.
9711
9712         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
9713
9714         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
9715         (transit_state_sb): Likewise.
9716         (transit_state_mb): Likewise.
9717         (sift_states_iter_mb): Likewise.
9718         (check_arrival_add_next_nodes): Likewise.
9719         (check_node_accept_bytes): Change first parameter to pointer-to-const.
9720         [_LIBC] (re_search_2_stub): Use mempcpy.
9721
9722         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
9723         mbrtowc for very simple UTF-8 case.
9724
9725         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
9726         a pointer-to-const.
9727         (re_acquire_state_context): Likewise.
9728         * lib/regex_internal.h: Adjust prototypes.
9729
9730         * lib/regex.c: Prevent using C++ compilers.
9731
9732         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
9733         (re_acquire_state_context): Likewise.
9734
9735 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9736
9737         * modules/regex (Depends-on): Add ssize_t.
9738
9739 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9740
9741         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
9742         translation table.
9743
9744 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9745
9746         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
9747
9748 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
9749             Bruno Haible  <bruno@clisp.org>
9750
9751         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
9752         <sys/types.h> and <inttypes.h>.
9753
9754 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9755
9756         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
9757         `__error_t_defined', so argp.h will not typedef the former.
9758
9759 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
9760
9761         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
9762         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
9763         glibc names.  Even if glibc is changed to conform to POSIX, the
9764         traditional names will be available anyway, since regex depends on
9765         the extensions module.  Also, fix a longstanding typo in the
9766         implementation of Spencer ERE test #75 from grep 2.3.  Problems
9767         reported by Emanuele Giaquinta.  Also, change sense of cached
9768         variable, so that the message makes sense.
9769
9770 2006-03-24  Simon Josefsson  <jas@extundo.com>
9771
9772         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
9773         including some doc fixes.
9774         (base64_encode_alloc): Fix +1 bug on allocation failures.
9775
9776 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9777
9778         * lib/base64.c (base64_encode): Do not read past end of array with
9779         unsanitized input on systems with CHAR_BIT > 8.
9780
9781 2006-03-24  Eric Blake  <ebb9@byu.net>
9782
9783         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
9784
9785 2006-03-22  Karl Berry  <karl@gnu.org>
9786
9787         * config/srclist.txt (*setenv.[ch]): get from coreutils.
9788         * config/srclistvars.sh (COREUTILS): new var.
9789
9790 2006-03-17  Jim Meyering  <jim@meyering.net>
9791
9792         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
9793         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
9794
9795 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
9796
9797         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
9798         no longer needs it.  Instead, check that regoff_t is as least
9799         as wide as ptrdiff_t.
9800
9801         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
9802         so that our regex.h stays compatible with the installed regex.
9803         This is helpful for installers who configure --without-included-regex.
9804         Problem reported by Emanuele Giaquinta.
9805
9806 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
9807
9808         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
9809         Typedef to long int, not to off_, as POSIX will likely change
9810         in that direction.
9811
9812 2006-03-15  Eric Blake  <ebb9@byu.net>
9813
9814         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
9815
9816 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
9817
9818         * lib/argp-help.c (validate_uparams): Fix typo
9819         * lib/argp-parse.c (argp_default_options): Consistently begin help
9820         messages with a lowercase letter.
9821
9822 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
9823
9824         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
9825         overrun buffers and shouldn't be used (much as gets shouldn't be
9826         used).
9827         * lib/time_r.c (asctime_r, ctime_r): Likewise.
9828
9829 2006-03-08  Simon Josefsson  <jas@extundo.com>
9830
9831         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
9832         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9833
9834 2006-03-08  Simon Josefsson  <jas@extundo.com>
9835
9836         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
9837         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9838
9839 2006-03-08  Simon Josefsson  <jas@extundo.com>
9840
9841         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
9842         signal that configure disabled the device.
9843
9844 2006-03-08  Simon Josefsson  <jas@extundo.com>
9845
9846         * build-aux/maint.mk: Fix refresh-po, to handle no translated
9847         languages.
9848
9849 2006-03-07  Simon Josefsson  <jas@extundo.com>
9850
9851         * modules/getopt (Depends-on): Add unistd.
9852
9853         * modules/unistd: New file.
9854
9855 2006-03-07  Simon Josefsson  <jas@extundo.com>
9856
9857         * modules/gc-random: New file.
9858
9859 2006-03-07  Simon Josefsson  <jas@extundo.com>
9860
9861         * m4/unistd_h.m4: New file.
9862
9863 2006-03-07  Simon Josefsson  <jas@extundo.com>
9864
9865         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
9866         test to be side-effect free by storing the result in the cache
9867         variable gl_cv_lib_readline, and moving the assignment of
9868         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
9869         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9870
9871 2006-03-07  Simon Josefsson  <jas@extundo.com>
9872
9873         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
9874         error on missing devices (the functions will return an error).
9875
9876         * m4/gc.m4: Move random stuff to gc-random.m4
9877
9878 2006-03-07  Simon Josefsson  <jas@extundo.com>
9879
9880         * lib/unistd_.h: New file.
9881
9882 2006-03-07  Simon Josefsson  <jas@extundo.com>
9883
9884         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
9885
9886 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
9887
9888         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
9889         Problem reported by Juan Manuel Guerrero.
9890
9891 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
9892
9893         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
9894         the unistd module.
9895         * lib/getlogin_r.c: Likewise.
9896         * lib/getlogin_r.h: Likewise.
9897         * lib/glob.c: Likewise.
9898         * lib/pagealign_alloc.c: Likewise.
9899         * lib/unistd_.h: Remove; no longer needed.
9900
9901 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
9902
9903         * MODULES.html.sh (Support for systems lacking POSIX:2001):
9904         Add unistd.
9905         * modules/c-stack (Depends-on): Add unistd.
9906         * modules/getlogin_r: Likewise.
9907         * modules/glob: Likewise.
9908         * modules/pagealign_alloc: Likewise.
9909         * modules/unistd (Files): Remove lib/unistd_.h.
9910         (EXTRA_DIST): Remove.
9911         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
9912         need unistd_.h.
9913         (MOSTLYCLEANFILES): Remove unistd.h-t.
9914
9915 2006-03-03  Simon Josefsson  <jas@extundo.com>
9916
9917         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
9918
9919 2006-03-03  Simon Josefsson  <jas@extundo.com>
9920
9921         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
9922         libidn and bison.
9923
9924 2006-03-03  Simon Josefsson  <jas@extundo.com>
9925
9926         * build-aux/maint.mk: Add indent target.
9927
9928 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
9929
9930         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
9931         our replacement poll.h in any case, to avoid a differing
9932         declaration from a system header.  Seen on AIX.
9933
9934 2006-03-01  Simon Josefsson  <jas@extundo.com>
9935
9936         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
9937         <kasal@ucw.cz>.
9938
9939 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
9940
9941         * modules/gettime (Depends-on): Add extensions module.
9942         * modules/nanosleep (Depends-on): Likewise.
9943         * modules/settime (Depends-on): Likewise.
9944
9945 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
9946
9947         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
9948         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
9949         pedantically.
9950         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9951         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
9952
9953         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
9954         not "==".  Reported by Ralf Wildenhues.
9955
9956 2006-03-01  Karl Berry  <karl@gnu.org>
9957
9958         * doc/Copyright/request-*: new files, synced from gnuorg.
9959
9960 2006-03-01  Karl Berry  <karl@gnu.org>
9961
9962         * config/srclist.txt (Copyright/*): new entries.
9963
9964 2006-02-28  Simon Josefsson  <jas@extundo.com>
9965
9966         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
9967
9968 2006-02-27  Simon Josefsson  <jas@extundo.com>
9969
9970         * lib/base64.h: Indent #define's.  From Jim Meyering
9971         <jim@meyering.net>.
9972
9973 2006-02-27  Jim Meyering  <jim@meyering.net>
9974
9975         Revert the change of 2006-02-24, so these files can continue
9976         to be sync'd from gettext.
9977         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
9978         of `config.h'.
9979
9980 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
9981
9982         * modules/intprops: New file.
9983         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
9984         Add intprops.
9985         * modules/getloadavg (Files): Remove lib/intprops.h.
9986         (Depends-on): Add intprops.
9987         * modules/human: Likewise.
9988         * modules/inttostr: Likewise.
9989         * modules/openat: Likewise.
9990         * modules/sig2str: Likewise.
9991         * modules/userspec: Likewise.
9992         * modules/utimecmp: Likewise.
9993         * modules/xnanosleep: Likewise.
9994         * modules/xstrtol: Likewise.
9995
9996 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
9997
9998         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
9999         * modules/lock-tests (TESTS): Use $(EXEEXT).
10000         * modules/tls-tests: Likewise.
10001         * modules/argp-tests: Likewise.
10002         (check_PROGRAMS): New var, replacing...
10003         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
10004
10005 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10006
10007         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
10008         `config.h'.
10009
10010 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
10011
10012         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
10013
10014 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10015
10016         Sync from coreutils.
10017         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
10018         gl_CHDIR_SAFER.
10019
10020 2006-02-22  Jim Meyering  <jim@meyering.net>
10021
10022         Sync from coreutils.
10023         * m4/chdir-safer.m4: New file.
10024
10025 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
10026
10027         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
10028         AT_FDCWD exceeds INT_MAX.
10029         * lib/openat.h (AT_FDCWD): Likewise.
10030
10031 2006-02-17  Eric Blake  <address@hidden>
10032
10033         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
10034
10035 2006-02-16  Simon Josefsson  <jas@extundo.com>
10036
10037         * modules/getaddrinfo (Depends-on): Add sys_socket.
10038
10039 2006-02-15  Simon Josefsson  <jas@extundo.com>
10040
10041         * build-aux/maint.mk: Add dsyntax-check rule.
10042
10043 2006-02-15  Eric Blake  <ebb9@byu.net>
10044
10045         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
10046         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
10047         'present but cannot compile' warnings on cygwin.
10048         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
10049         use ws2tcpip.h if sys/socket.h works.
10050         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
10051         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
10052
10053 2006-02-14  Simon Josefsson  <jas@extundo.com>
10054
10055         * modules/maintainer-makefile (Files): Rename.
10056
10057         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
10058         and (the local) Makefile.cfg to maint-cfg.mk.
10059
10060         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
10061         to the latter.
10062
10063         * modules/maintainer-makefile: New module.
10064
10065         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
10066         severaly stripped to make it possible to build it up from scratch
10067         with reliable tests.
10068
10069         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
10070         fixes to permit overriding the default actions when configure and
10071         makefile are not available.
10072
10073 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
10074
10075         Sync from coreutils.
10076         * modules/lstat (Depends-on): Don't depend on xalloc.
10077         (License): Change from GPL to LGPL, since this is now simply a
10078         replacement for a libc function.
10079
10080 2006-02-14  Jim Meyering  <jim@meyering.net>
10081
10082         Sync from coreutils.
10083
10084         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
10085         failure on deficient systems, and simplify gnulib lgpl dependencies.
10086         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
10087         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
10088
10089         * lib/xalloc-die.c: Remove unused definition of N_.
10090
10091 2006-02-14  Jim Meyering  <jim@meyering.net>
10092
10093         Sync from coreutils.
10094         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
10095         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
10096         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
10097         double-quote uses of that variable, to accommodate the rare case in
10098         which getmntent is available in none of the libraries checked.  This
10099         happens at least on FreeBSD 5.0.
10100
10101 2006-02-13  Simon Josefsson  <jas@extundo.com>
10102
10103         * gnulib-tool (Usage): Fix --import, from
10104         karl@freefriends.org (Karl Berry).
10105
10106 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
10107
10108         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
10109
10110 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
10111
10112         * lib/argp-namefrob.h: Restore changes accidentally lost during the
10113         "autoupdate" on 2005-12-12.
10114
10115 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10116
10117         * modules/closeout (Depends-on): Remove atexit.
10118
10119 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
10120
10121         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
10122         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
10123
10124 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
10125
10126         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
10127         __EXTENSIONS__ if this causes compilation to fail.  Problem
10128         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
10129         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
10130
10131 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
10132
10133         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
10134         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
10135         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
10136         All uses changed.
10137
10138 2006-01-26  Simon Josefsson  <jas@extundo.com>
10139
10140         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
10141         prototype is visible on mingw32.
10142
10143         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
10144         for mingw32.
10145
10146         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
10147         mingw32).
10148
10149 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
10150
10151         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
10152         attempt to open for write; this always fails, at least on POSIX
10153         hosts.  This reinstates the 2006-01-09 change, which was
10154         inadvertently removed.
10155
10156 2006-01-26  Bruno Haible  <bruno@clisp.org>
10157
10158         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
10159         Reported by Paul Eggert.
10160
10161 2006-01-26  Bruno Haible  <bruno@clisp.org>
10162             Paul Eggert  <eggert@cs.ucla.edu>
10163
10164         * lib/stdbool_.h (_Bool)
10165         [(! (defined __cplusplus || defined __BEOS__)
10166           && !defined __GNUC__
10167           && !(defined __HP_cc || defined __xlc__
10168                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
10169                || defined __sgi))]:
10170         #define to signed char in these cases too; this simplifies
10171         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
10172         etc., separately) and makes it more conservative.
10173
10174 2006-01-25  Simon Josefsson  <jas@extundo.com>
10175
10176         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
10177         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
10178         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
10179
10180 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
10181
10182         * lib/argp-namefrob.h: Bugfix. Remove stray #
10183
10184 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
10185
10186         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
10187         so that we test the test.
10188         Check for yet another HP-UX cc bug involving *bool |= bool.
10189
10190 2006-01-25  Karl Berry  <karl@gnu.org>
10191
10192         * config/srclist.txt (vasnprintf.c): sync lost.
10193
10194 2006-01-25  Jim Meyering  <jim@meyering.net>
10195
10196         Sync from the stable (b5) branch of coreutils:
10197
10198         * lib/fts.c (fts_children): Don't let close() clobber errno from
10199         failed fchdir().
10200
10201         * lib/fts.c (fts_stat): When following a symlink-to-directory,
10202         don't necessarily interpret stat-fails+lstat-succeeds as indicating
10203         a dangling symlink.  That can also happen at least for ELOOP.
10204         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
10205         FYI, this bug predates the inclusion of fts.c in coreutils.
10206
10207         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
10208         in their own block, so pre-c99 compilers don't object.
10209
10210         Avoid the double-free (first in fts_read, second in fts_close) that
10211         would occur when an `active' directory is made inaccessible (e.g.,
10212         via chmod a-x) during a traversal.
10213         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
10214         before returning.  Reproduce this failure by
10215         mkdir -p a/b; cd a; chmod a-x . b
10216         Reported by Stavros Passas.
10217
10218 2006-01-25  Jim Meyering  <jim@meyering.net>
10219
10220         * lib/fileblocks.c: Remove more useless parentheses.
10221         * lib/readutmp.h: Likewise.
10222
10223 2006-01-25  Bruno Haible  <bruno@clisp.org>
10224
10225         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
10226         warnings.
10227         Reported by Paul Eggert.
10228
10229 2006-01-25  Bruno Haible  <bruno@clisp.org>
10230
10231         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
10232         rid of a trap command. For Solaris sh.
10233         Reported by Mark D. Baushke <mdb@gnu.org>.
10234
10235 2006-01-24  Simon Josefsson  <jas@extundo.com>
10236
10237         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
10238         Bruno.
10239
10240 2006-01-24  Karl Berry  <karl@gnu.org>
10241
10242         * config/srclist.txt (argp-namefrob.h): sync lost.
10243
10244 2006-01-24  Jim Meyering  <jim@meyering.net>
10245
10246         * modules/openat (Files): Add lib/intprops.h.
10247         From Mark D. Baushke.
10248
10249 2006-01-24  Jim Meyering  <jim@meyering.net>
10250
10251         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
10252         Reported by Mark D. Baushke.
10253
10254 2006-01-24  Jim Meyering  <jim@meyering.net>
10255
10256         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
10257
10258 2006-01-24  Bruno Haible  <bruno@clisp.org>
10259
10260         * modules/strnlen (Maintainer): Change from glibc to all.
10261
10262 2006-01-24  Bruno Haible  <bruno@clisp.org>
10263
10264         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
10265         Patch by Paul Eggert.
10266
10267 2006-01-24  Bruno Haible  <bruno@clisp.org>
10268
10269         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
10270         already has it.
10271         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
10272         2005-11-26.
10273
10274         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
10275         'signed char' to avoid problems with the built-in _Bool type.
10276         Reported by Paul Eggert on 2005-11-26.
10277
10278 2006-01-24  Bruno Haible  <bruno@clisp.org>
10279
10280         * gnulib-tool (func_import): Avoid constructing complicated sed
10281         expressions inside backquote.
10282         Report and solution by Mark D. Baushke <mdb@gnu.org>.
10283
10284 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
10285
10286         These changes imported from libc.
10287         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
10288         test and two separate function calls.
10289         * lib/strndup.c (__strndup): Add libc_hidden_def.
10290
10291 2006-01-23  Simon Josefsson  <jas@extundo.com>
10292
10293         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
10294         Remove the test_*_SOURCES variable: automake infers it by default.
10295         * modules/tls-tests: Likewise.
10296
10297 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10298
10299         Work around porting bugs reported by Dieter in
10300         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
10301         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
10302         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
10303         Include "getopt.h" first, to check interface.
10304         (getenv): Declare only if defined HAVE_DECL_GETENV &&
10305         !HAVE_DECL_GETENV.
10306         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
10307         (__strndup): Revert to K&R-style function dfns, the glibc style.
10308         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
10309         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
10310         Include strnlen.h first, to get prototype properly.
10311         (strnlen): Renamed from __strnlen.
10312         Remove weak alias.
10313
10314 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10315
10316         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
10317
10318 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
10319
10320         * config/srclist.txt: Adjust to reflect glibc reorganization.
10321         This affects only comments.
10322
10323 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
10324
10325          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
10326          Reported by Bruce Korb <bkorb@gnu.org>.
10327
10328 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
10329
10330         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
10331         to pacify gcc -Wswitch-default.
10332
10333 2006-01-22  Bruno Haible  <bruno@clisp.org>
10334
10335         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
10336         temporary buffer for sprintf, take into account the precision also
10337         for 'd', 'i', 'u', 'o', 'x', 'X'.
10338
10339 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
10340
10341         * modules/argp-tests: New module
10342         * tests/test-argp.c: New file
10343         * tests/test-argp-2.sh: New file
10344
10345 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
10346
10347         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
10348         (__argp_base_name): Removed
10349         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
10350         typo.
10351         (__argp_base_name): Provide macro definition or extern declaration
10352         depending on the configuration
10353
10354 2006-01-20  Simon Josefsson  <jas@extundo.com>
10355
10356         * modules/inet_ntop (Depends-on): Depend on sys_socket.
10357
10358 2006-01-20  Simon Josefsson  <jas@extundo.com>
10359
10360         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
10361
10362 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
10363
10364         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
10365         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
10366         Suggested by Bruno Haible.
10367
10368 2006-01-20  Karl Berry  <karl@gnu.org>
10369
10370         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
10371         until changes propagate, I guess.
10372
10373 2006-01-19  Simon Josefsson  <jas@extundo.com>
10374
10375         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
10376
10377 2006-01-19  Simon Josefsson  <jas@extundo.com>
10378
10379         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
10380
10381 2006-01-19  Simon Josefsson  <jas@extundo.com>
10382
10383         * gnulib-tool: Set check_PROGRAMS.
10384
10385         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
10386         modules/des-tests, modules/gc-arcfour-tests,
10387         modules/gc-arctwo-tests, modules/gc-des-tests,
10388         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
10389         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
10390         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
10391         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
10392         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
10393         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
10394         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
10395         test_*_SOURCES.
10396
10397 2006-01-18  Simon Josefsson  <jas@extundo.com>
10398
10399         * modules/socklen (Depends-on): Depend on sys_socket.
10400
10401 2006-01-18  Simon Josefsson  <jas@extundo.com>
10402
10403         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
10404         modules/des-tests, modules/gc-arcfour-tests,
10405         modules/gc-arctwo-tests, modules/gc-des-tests,
10406         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
10407         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
10408         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
10409         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
10410         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
10411         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
10412         $(EXEEXT) to automake TESTS variable, for mingw32.
10413
10414 2006-01-17  Simon Josefsson  <jas@extundo.com>
10415
10416         * modules/socklen (Include): Need sys/socket.h.
10417
10418 2006-01-17  Bruno Haible  <bruno@clisp.org>
10419
10420         * modules/ssize_t (Include): Add <sys/types.h>.
10421
10422 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
10423
10424         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
10425         it's not portable and it doesn't work with cross-compiles.
10426         Problem reported by Bruno Haible.  Fix missing-$ typo in
10427         'test "gl_cv_ignore_unused_libraries" ...' that prevented
10428         -zignore from being used with Sun's C compiler.
10429
10430 2006-01-12  Simon Josefsson  <jas@extundo.com>
10431
10432         * lib/base64.c: Fix warning, reported by Bruno Haible
10433         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
10434
10435 2006-01-12  Bruno Haible  <bruno@clisp.org>
10436
10437         * modules/ldd: New file.
10438         * build-aux/ldd.sh.in: New file.
10439         * MODULES.html.sh (Support for building libraries and executables): Add
10440         ldd.
10441
10442 2006-01-12  Bruno Haible  <bruno@clisp.org>
10443
10444         * m4/ldd.m4: New file.
10445
10446 2006-01-12  Bruno Haible  <bruno@clisp.org>
10447
10448         * gnulib-tool (func_import, func_create_testdir): Don't go into an
10449         endless loop while replacing $auxdir with build-aux.
10450
10451 2006-01-11  Simon Josefsson  <jas@extundo.com>
10452
10453         * lib/stdint_.h (SIZE_MAX): Add missing (.
10454
10455 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10456
10457         Sync from coreutils.
10458         * lib/md5.c: Fix commentary typos.
10459         (alignof, UNALIGNED_P): No need for a GCC-specific version.
10460         * lib/md5.h (__attribute__): Remove; unused.
10461         * lib/sha1.c: Fix commentary to match md5 better.
10462         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
10463         so that we don't need to worry about alignment.  All uses changed.
10464         This merges the 2005-10-28 md5 change into sha1.
10465
10466 2006-01-11  Jim Meyering  <jim@meyering.net>
10467
10468         Sync from coreutils.
10469         * lib/md5.c (OP): Fix spacing.
10470
10471 2006-01-11  Bruno Haible  <bruno@clisp.org>
10472
10473         Ensure automatic ordering between gl_LOCK and gl_ARGP.
10474         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
10475         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
10476
10477 2006-01-11  Bruno Haible  <bruno@clisp.org>
10478
10479         Ensure automatic ordering between gl_LOCK and gl_ARGP.
10480         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
10481         the "early" section as well.
10482
10483 2006-01-11  Bruno Haible  <bruno@clisp.org>
10484
10485         Avoid "ar: no archive members specified" error on MacOS X.
10486         * gnulib-tool (func_modules_add_dummy): New function.
10487         (func_import, func_create_testdir): Invoke it.
10488
10489 2006-01-11  Bruno Haible  <bruno@clisp.org>
10490
10491         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
10492         with $auxdir in AC_CONFIG_FILES statements.
10493
10494 2006-01-11  Bruno Haible  <bruno@clisp.org>
10495
10496         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
10497         Initialize also noinst_HEADERS to empty.
10498
10499 2006-01-11  Bruno Haible  <bruno@clisp.org>
10500
10501         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
10502         variables.
10503         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
10504         autoreconf.
10505
10506 2006-01-11  Bruno Haible  <bruno@clisp.org>
10507
10508         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
10509         overridable by the user.
10510         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10511
10512 2006-01-10  Simon Josefsson  <jas@extundo.com>
10513
10514         * modules/sys_socket: New file.
10515
10516 2006-01-10  Simon Josefsson  <jas@extundo.com>
10517
10518         * m4/sys_socket_h.m4: New file.
10519
10520 2006-01-10  Simon Josefsson  <jas@extundo.com>
10521
10522         * lib/socket_.h: New file.
10523
10524 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10525
10526         * modules/readutmp (Maintainer): Add myself.
10527
10528 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10529
10530         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
10531         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
10532         People who are still concerned with buggy memcmp implementations
10533         can invoke gl_FUNC_MEMCMP themselves.
10534
10535 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10536
10537         * lib/regex_internal.h (BITSET_WORD_BITS):
10538         Work around a bug in 64-bit PGC (before version 6.1-2), where the
10539         preprocessor mishandles large unsigned values as if they were signed.
10540         Problem reported by Claudio Fontana in
10541         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
10542
10543 2006-01-10  Jim Meyering  <jim@meyering.net>
10544
10545         Avoid the double-free (first in fts_read, second in fts_close) that
10546         would occur when an `active' directory is made inaccessible (e.g.,
10547         via chmod a-x) during a traversal.
10548         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
10549         before returning.  Reproduce this failure by
10550         mkdir -p a/b; cd a; chmod a-x . b
10551         Reported by Stavros Passas.
10552
10553         Sync from coreutils.
10554         * lib/sha1.c: Tweak grammar in a comment.
10555
10556 2006-01-10  Jim Meyering  <jim@meyering.net>
10557
10558         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
10559         Patch by Joerg Sonnenberger.
10560
10561 2006-01-10  Bruno Haible  <bruno@clisp.org>
10562
10563         * modules/readutmp: Depend on module free.
10564         * modules/strtok_r: Depend on module restrict.
10565
10566 2006-01-10  Bruno Haible  <bruno@clisp.org>
10567
10568         * modules/gettext (configure.ac): Add an invocation of
10569         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
10570
10571 2006-01-10  Bruno Haible  <bruno@clisp.org>
10572
10573         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
10574         Reported by Werner Lemberg <wl@gnu.org>.
10575
10576 2006-01-10  Bruno Haible  <bruno@clisp.org>
10577
10578         * lib/localcharset.c: Update from GNU gettext.
10579
10580 2006-01-10  Bruno Haible  <bruno@clisp.org>
10581
10582         * lib/argp.h (__const): Remove macro. Use const instead.
10583         * lib/argp-fmtstream.h (__const): Likewise.
10584         * lib/glob_.h (__const): Remove macro.
10585         * lib/glob-libc.h: Use const instead of __const.
10586
10587 2006-01-10  Bruno Haible  <bruno@clisp.org>
10588
10589         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
10590         variable.
10591         Needed to avoid an automake error regarding the 'gettext' module.
10592
10593 2006-01-09  Simon Josefsson  <jas@extundo.com>
10594
10595         * modules/inet_ntop (Depends-on): Add restrict.
10596
10597 2006-01-09  Simon Josefsson  <jas@extundo.com>
10598
10599         * modules/gc-rijndael-tests (License): Put under LGPL.
10600
10601         * modules/gc-des-tests (License): Likewise.
10602
10603         * modules/gc-arcfour-tests (License): Likewise.
10604
10605         * modules/gc-arctwo-tests (License): Likewise.
10606
10607         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
10608
10609         * modules/gc-hmac-sha1-tests (Files): Likewise.
10610
10611         * modules/gc-hmac-md5-tests (License): Likewise.
10612
10613         * modules/gc-sha1-tests (License): Likewise.
10614
10615         * modules/gc-md5-tests (License): Likewise.
10616
10617         * modules/gc-md4-tests (License): Likewise.
10618
10619         * modules/gc-md2-tests (License): Likewise.
10620
10621         * modules/gc-tests (License): Likewise.
10622
10623         * modules/des-tests (License): Likewise.
10624
10625         * modules/md4-tests (License): Likewise.
10626
10627         * modules/md2-tests (License): Likewise.
10628
10629 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10630
10631         Sync from coreutils:
10632
10633         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
10634         * modules/lib-ignore: New file.
10635         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
10636         chdir-safer.m4, lchmod.m4.
10637         * modules/openat: Add mkdirat.c, openat-priv.h.
10638
10639 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10640
10641         Sync from coreutils.
10642         * m4/lib-ignore.m4: New file.
10643         * m4/lchmod.m4: New file.
10644
10645 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10646
10647         Sync from coreutils.
10648         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
10649         for write access: POSIX says that must fail.
10650         * lib/fts.c (diropen): Likewise.
10651         * lib/save-cwd.c (save_cwd): Likewise.
10652         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
10653         well, for minor improvements on hosts that lack O_DIRECTORY.
10654         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
10655         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
10656         Fall back on chown if open failed with EACCES.
10657
10658         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
10659         Report an error at compile-time if only a 1-second nominal clock
10660         resolution is found.
10661
10662         * lib/lchmod.h: New file.
10663         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
10664         (make_dir_parents): Use lchown rather than chown, and
10665         lchmod rather than chmod.
10666
10667         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
10668         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
10669         "proc" reported by n0dalus.
10670
10671         * lib/mountlist.c: Include <limits.h>.
10672         (dev_from_mount_options)
10673         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
10674         New function.  It no longer assumes "dev=" has the System V meaning
10675         on Linux (since it doesn't).  It also parses "dev=" more carefully.
10676         (read_file_system_list)
10677         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
10678         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
10679         dev= in that case.
10680
10681         * lib/posixtm.h (PDS_PRE_2000): New macro.
10682         * lib/posixtm.c (year): Arg is now syntax_bits rather than
10683         allow_century.  All usages changed.  Reject dates outside the range
10684         1969-1999 if PDS_PRE_2000 is used.
10685
10686 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10687
10688         Sync from coreutils.
10689         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
10690         (Time of day items): Mention the possibility of leap seconds.
10691         Problem reported by Dr. David Alan Gilbert.
10692
10693 2006-01-09  Jim Meyering  <jim@meyering.net>
10694
10695         Sync from coreutils.
10696
10697         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
10698
10699         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
10700
10701         * lib/modechange.c (mode_compile): Reject an invalid mode string
10702         that starts with an octal digit.  From Andreas Gruenbacher.
10703
10704         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
10705         and dup to open_safer and dup_safer, respectively.
10706         (openat_permissive): Fix typo in comment.
10707
10708         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
10709         "gettext.h"; either no longer needed or are guaranteed by openat.h.
10710         (_): Remove; no longer needed.
10711         (openat): Renamed from rpl_openat; no need for rpl_openat
10712         since openat.h renames openat for us.
10713         Replace most of the body with a call to openat_permissive,
10714         to avoid duplicate code.
10715         Port to (probably hypothetical) environments were mode_t is
10716         wider than int.
10717         (openat_permissive): Require mode arg, so that we can check
10718         types better.  Put it just after flags.  Change cwd failure
10719         indicator from pointer-to-bool to pointer-to-errno-value.
10720         All callers changed.
10721         Invoke openat_save_fail and/or openat_restore_fail if
10722         cwd_errno is null, so that openat can call us.
10723         (openat_permissive, fdopendir, fstatat, unlinkat):
10724         Simplify errno handling to avoid some duplicate code,
10725         as it's OK to set errno on success.
10726         * lib/openat.h: Revamp code so that function macros depend on
10727         __OPENAT_PREFIX only, not also on AT_FDCWD.
10728         (openat_ro): Remove.  Caller changed to use openat_permissive.
10729         (openat_permissive): Now a macro, if not a function.
10730         (openat_restore_fail, openat_save_fail): Now always functions,
10731         since mkdirat needs them even if __OPENAT_PREFIX is defined.
10732
10733         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
10734         and openat.c.
10735         * lib/mkdirat.c: Include openat-priv.h.
10736         Remove definitions of macros defined therein.
10737         * lib/openat.c: Likewise.
10738
10739         * lib/mkdirat.c (mkdirat): New file and function.
10740         * lib/openat.h (mkdirat): Declare.
10741
10742         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
10743
10744         * lib/openat.h (openat_permissive): Declare.
10745         (openat_ro): Define.
10746
10747         * lib/openat.c (EXPECTED_ERRNO): New macro.
10748         (openat_permissive): New function -- used in remove.c rewrite.
10749         (all functions): Set errno just before returning, only if there
10750         was an actual failure.
10751         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
10752
10753         Emulate openat-family functions using Linux's procfs, if possible.
10754         Idea and some code based on Ulrich Drepper's glibc changes.
10755
10756         * lib/openat.c: (BUILD_PROC_NAME): New macro.
10757         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
10758         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
10759         before falling back on save_cwd and restore_cwd.
10760         (fdopendir, fstatat, unlinkat): Likewise.
10761
10762         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
10763         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
10764
10765         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
10766         as second argument to va_arg.  Otherwise, some versions of gcc
10767         warn that `if this code is reached, the program will abort'.
10768
10769 2006-01-09  Jim Meyering  <jim@meyering.net>
10770
10771         Sync from coreutils.
10772         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
10773         Require openat-priv.h.
10774
10775 2006-01-09  Bruno Haible  <bruno@clisp.org>
10776
10777         * modules/strnlen (Include): Use strnlen.h.
10778
10779 2006-01-09  Bruno Haible  <bruno@clisp.org>
10780
10781         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
10782
10783 2006-01-09  Bruno Haible  <bruno@clisp.org>
10784
10785         * lib/sysexit_.h (EX_OK): New macro.
10786         Suggested by Martin Lambers <marlam@marlam.de>.
10787
10788 2006-01-09  Bruno Haible  <bruno@clisp.org>
10789
10790         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
10791         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
10792
10793 2006-01-09  Bruno Haible  <bruno@clisp.org>
10794
10795         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
10796         numbers.
10797
10798 2006-01-09  Bruno Haible  <bruno@clisp.org>
10799
10800         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
10801         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
10802         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
10803         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
10804
10805 2006-01-09  Bruno Haible  <bruno@clisp.org>
10806
10807         * build-aux/javacomp.sh.in: New file, moved from lib/.
10808         * modules/javacomp-script (Files): Update.
10809         (configure.ac): Add AC_CONFIG_FILES invocation.
10810         (EXTRA_DIST): Remove variable.
10811
10812         * build-aux/javaexec.sh.in: New file, moved from lib/.
10813         * modules/javaexec (Files): Update.
10814         (configure.ac): Add AC_CONFIG_FILES invocation.
10815         (EXTRA_DIST): Remove javaexec.sh.in.
10816
10817         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
10818         * modules/csharpcomp-script (Files): Update.
10819         (configure.ac): Add AC_CONFIG_FILES invocation.
10820         (EXTRA_DIST): Remove variable.
10821
10822         * build-aux/csharpexec.sh.in: New file, moved from lib/.
10823         * modules/csharpexec (Files): Update.
10824         (configure.ac): Add AC_CONFIG_FILES invocation.
10825         (EXTRA_DIST): Remove csharpexec.sh.in.
10826
10827 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
10828
10829         Sync from coreutils.
10830
10831         Add POSIX ACL support
10832         * lib/acl.h (copy_acl, set_acl): Add declarations.
10833         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
10834         systems other than Linux.
10835         (chmod_or_fchmod): New function: use fchmod when possible,
10836         and chmod otherwise.
10837         (file_has_acl): Add a POSIX ACL implementation, with a
10838         Linux-specific subcase.
10839         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
10840         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
10841         acls are unsupported.
10842         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
10843         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
10844         are unsupported.
10845
10846 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
10847
10848         Sync from coreutils.
10849         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
10850
10851 2006-01-07  Bruno Haible  <bruno@clisp.org>
10852
10853         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
10854         gl_EARLY.
10855
10856 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
10857
10858         * lib/strftime.c (tzname): Don't declare if it is already #defined.
10859         Problem reported for Mingw by Mark Junker.
10860
10861 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
10862
10863         * README: Gnulib normally doesn't generate a tarball.
10864
10865 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
10866
10867         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
10868         long int, not int, for nanosecond counts, so that people who are
10869         used to POSIX struct timespec won't be surprised.  Reported by Jim
10870         Meyering.
10871
10872 2005-12-28  Bruno Haible  <bruno@clisp.org>
10873
10874         * build-aux/config.rpath: Update from GNU gettext.
10875
10876 2005-12-16  Jim Meyering  <jim@meyering.net>
10877
10878         * modules/fprintftime: New module.
10879         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
10880
10881 2005-12-16  Jim Meyering  <jim@meyering.net>
10882
10883         * m4/fprintftime.m4: New file.
10884
10885 2005-12-16  Jim Meyering  <jim@meyering.net>
10886
10887         * lib/fprintftime.c, lib/fprintftime.h: New files.
10888
10889 2005-12-15  Simon Josefsson  <jas@extundo.com>
10890
10891         * modules/socklen (configure.ac): Fix M4 macro name, to align with
10892         new m4/socklen.m4.
10893
10894 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
10895
10896         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
10897         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
10898
10899 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
10900
10901         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
10902         * lib/argp-help.c (fill_in_uparams): Check if the constructed
10903         struct uparams is valid. Fall back to the default values if it is
10904         not.
10905
10906 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10907
10908         * modules/argp (Files): Add argp-pin.c
10909         (Depends-on): dirname
10910         (lib_SOURCES): Add argp-pin.c
10911
10912 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10913
10914         * m4/argp.m4:  Check if program_invocation_name and
10915         program_invocation_short_name are declared and define appropriate
10916         macros if they are not.
10917
10918 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10919
10920         * lib/argp-help.c (__argp_base_name): New function
10921         (__argp_short_program_name): Rewrite using __argp_base_name
10922         * lib/argp-namefrob.h: Define program_invocation_name and
10923         program_invocation_short_name if requested
10924         (__argp_base_name): Add prototype
10925         * lib/argp-parse.c (argp_def): Use gettext wrappers
10926         (argp_default_parser): Use __argp_base_name
10927         * lib/argp-pin.c: New file. Defines program_invocation_name and
10928         program_invocation_short_name on systems that lack them.
10929
10930 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
10931
10932         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
10933         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
10934         porting problem reported by Georg Schwarz in
10935         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
10936
10937 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
10938
10939         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
10940         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
10941         porting problem reported by Georg Schwarz in
10942         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
10943
10944 2005-12-05  Bruno Haible  <bruno@clisp.org>
10945
10946         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
10947         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
10948         Reported by Mark Junker <mjscod@gmx.de>.
10949
10950 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
10951
10952         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
10953         Use implementation from Albert Chin, with some
10954         comments/corrections by Stepan Kasal and myself.
10955
10956 2005-12-02  Bruno Haible  <bruno@clisp.org>
10957
10958         * gnulib-tool (func_import): Accept GPLed build tool modules when
10959         --lgpl is given.
10960         * modules/csharpcomp-script: New file.
10961         * modules/csharpcomp: Depend on it.
10962         * modules/javacomp-script: New file.
10963         * modules/javacomp: Depend on it.
10964         Suggested by Simon Josefsson.
10965
10966 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
10967
10968         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
10969         statement, to work around an HP-UX 10.20 compiler bug reported by
10970         Peter O'Gorman.
10971
10972 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
10973
10974         * modules/savedir (Depends-on): Add openat.
10975
10976 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
10977
10978         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
10979         (uintmax_t) [defined uintmax_t]: Do not declare.
10980         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
10981         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
10982         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
10983         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
10984         sake of portability to weird hosts that C allows (though we don't
10985         know of any practical examples).
10986
10987         * lib/savedir.h (fdsavedir): New decl.
10988         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
10989         contains most of the former guts of savedir.
10990         (savedir): Use savedirstream.
10991         Include "openat.h".
10992
10993 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
10994
10995         * modules/obstack (Files): Add m4/ulonglong.m4.
10996         Problem reported by Davide Angelocola.
10997
10998 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
10999
11000         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
11001         coreutils no longer futzes with rounding modes.
11002
11003 2005-11-14  Jim Meyering  <jim@meyering.net>
11004
11005         * lib/mkstemp-safer.c: Include <config.h>, required for possible
11006         replacement of mkstemp.
11007
11008 2005-11-10  Simon Josefsson  <jas@extundo.com>
11009
11010         * lib/readline.c: Remove EOL.
11011
11012 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11013
11014         * modules/gethrxtime (Depends-on): Add gettime.
11015
11016 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11017
11018         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
11019         or gettimeofday; no longer needed.
11020
11021 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
11022
11023         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
11024         time business.
11025         (gethrxtime) [! (HAVE_NANOUPTIME
11026         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
11027         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
11028         our own approximation.
11029
11030 2005-11-08  Eric Blake  <ebb9@byu.net>
11031
11032         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11033
11034 2005-11-08  Eric Blake  <ebb9@byu.net>
11035
11036         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
11037
11038 2005-11-04  Bruno Haible  <bruno@clisp.org>
11039
11040         * gnulib-tool: Implement --update mode.
11041
11042 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11043
11044         Fix porting problem reported by Theodoros V. Kalamatianos.
11045         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
11046         Don't assume that futimes failing means we must fail.
11047
11048 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
11049
11050         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
11051         variables to suggest the intended function of the PATH_MAX check.
11052
11053 2005-10-30  Kean Johnston  <jkj@sco.com>
11054
11055         Trivial changes to support SCO systems.
11056         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
11057         as PATH_MAX.
11058         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
11059         where __ptr is null when no I/O is pending.
11060
11061 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
11062
11063         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
11064         leave errno alone.  Problem reported by Dmitry V. Levin.
11065
11066 2005-10-28  Simon Josefsson  <jas@extundo.com>
11067
11068         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
11069         Test more.
11070
11071         * tests/test-gc-md2.c, tests/test-md2.c: New files.
11072
11073         * modules/md2, modules/md2-tests: New files.
11074
11075 2005-10-28  Simon Josefsson  <jas@extundo.com>
11076
11077         * m4/inet_ntop.m4: More tests.
11078
11079         * m4/gc-md2.m4, md2.m4: New file.
11080
11081 2005-10-28  Simon Josefsson  <jas@extundo.com>
11082
11083         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
11084         "restrict" keywords, as per POSIX.  Protect the function
11085         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
11086         Don't use K&R prototypes.  Check the sprintf return values.
11087         Re-define EAFNOSUPPORT if not present.  Indent.
11088
11089         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
11090         suggested by Bruno Haible <bruno@clisp.org>.
11091
11092         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
11093
11094         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
11095
11096         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
11097         libgcrypt).
11098
11099         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
11100
11101         * lib/md2.h, lib/md2.c: New files.
11102
11103 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
11104
11105         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
11106         errno alone.  Problem reported by Frederic Jolliton.
11107
11108 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11109
11110         * modules/verify (License): Change from GPL to LGPL.  This is a
11111         tiny module and there are apparently near-equivalents that are
11112         under the BSD license.
11113
11114 2005-10-24  Simon Josefsson  <jas@extundo.com>
11115
11116         * modules/sha1: Relicense to LGPL.
11117
11118 2005-10-24  Simon Josefsson  <jas@extundo.com>
11119
11120         * lib/md4.h: Shrink buffer size, now that we changed the type.
11121
11122 2005-10-23  Simon Josefsson  <jas@extundo.com>
11123
11124         * gnulib-tool (func_import): Fix --tests-base.
11125
11126 2005-10-22  Simon Josefsson  <jas@extundo.com>
11127
11128         * modules/arcfour (Depends-on): Need stdint.
11129
11130 2005-10-22  Simon Josefsson  <jas@extundo.com>
11131
11132         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
11133         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
11134
11135 2005-10-22  Simon Josefsson  <jas@extundo.com>
11136
11137         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
11138         suggested by Bruno Haible <bruno@clisp.org>.
11139
11140 2005-10-22  Simon Josefsson  <jas@extundo.com>
11141
11142         * lib/crc.h: Include stddef.h, for size_t.
11143
11144 2005-10-22  Simon Josefsson  <jas@extundo.com>
11145
11146         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
11147         arcfour_context struct (simplify test vector testing in GNU
11148         Shishi).
11149
11150 2005-10-21  Simon Josefsson  <jas@extundo.com>
11151
11152         * modules/des, modules/des-tests: New files.
11153
11154         * modules/gc-des, modules/gc-des-tests: New files.
11155
11156         * tests/test-des.c, tests/test-gc-des.c: New file.
11157
11158 2005-10-21  Simon Josefsson  <jas@extundo.com>
11159
11160         * modules/arctwo, modules/arctwo-tests: New files.
11161
11162         * tests/test-arctwo.c: New file.
11163
11164         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
11165
11166         * tests/test-gc-arctwo.c: New file.
11167
11168 2005-10-21  Simon Josefsson  <jas@extundo.com>
11169
11170         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
11171         Bruno Haible <bruno@clisp.org>.
11172
11173         * m4/gc-des.m4: New file.
11174
11175 2005-10-21  Simon Josefsson  <jas@extundo.com>
11176
11177         * m4/arctwo.m4: New file.
11178
11179         * m4/gc-arctwo.m4: New file.
11180
11181 2005-10-21  Simon Josefsson  <jas@extundo.com>
11182
11183         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
11184         block.
11185
11186 2005-10-21  Simon Josefsson  <jas@extundo.com>
11187
11188         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
11189         <bruno@clisp.org>.
11190
11191         * lib/hmac-sha1.c (hmac_sha1): Likewise.
11192
11193         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
11194         Bruno Haible <bruno@clisp.org>.
11195
11196         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
11197         <bruno@clisp.org>.
11198
11199 2005-10-21  Simon Josefsson  <jas@extundo.com>
11200
11201         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
11202
11203 2005-10-21  Simon Josefsson  <jas@extundo.com>
11204
11205         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
11206
11207 2005-10-21  Simon Josefsson  <jas@extundo.com>
11208
11209         * lib/des.h, lib/des.c: New files.
11210
11211         * lib/gc-gnulib.c: Support DES.c
11212
11213 2005-10-21  Simon Josefsson  <jas@extundo.com>
11214
11215         * lib/arctwo.h, lib/arctwo.c: New files.
11216
11217         * lib/gc-gnulib.c: Support ARCTWO.
11218
11219 2005-10-21  Simon Josefsson  <jas@extundo.com>
11220
11221         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
11222         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11223
11224 2005-10-21  Simon Josefsson  <jas@extundo.com>
11225
11226         * gnulib-tool (func_import, func_create_testdir): Define automake
11227         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
11228         Makefile.am snippet),
11229         suggested by Bruno Haible <bruno@clisp.org>.
11230
11231         * modules/gc (Makefile.am): Use it.
11232
11233 2005-10-21  Bruno Haible  <bruno@clisp.org>
11234
11235         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
11236         patch.
11237
11238 2005-10-19  Simon Josefsson  <jas@extundo.com>
11239
11240         * tests/test-gc-rijndael.c: New file.
11241
11242         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
11243
11244 2005-10-19  Simon Josefsson  <jas@extundo.com>
11245
11246         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
11247         interface too.
11248
11249 2005-10-19  Simon Josefsson  <jas@extundo.com>
11250
11251         * tests/test-gc-arcfour.c: New file.
11252
11253         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
11254
11255 2005-10-19  Simon Josefsson  <jas@extundo.com>
11256
11257         * modules/gc-md4, modules/gc-md4-tests: New file.
11258
11259         * tests/test-gc-md4.c: New file.
11260
11261 2005-10-19  Simon Josefsson  <jas@extundo.com>
11262
11263         * m4/gc-md4.m4: New file.
11264
11265 2005-10-19  Simon Josefsson  <jas@extundo.com>
11266
11267         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
11268         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
11269         <kasal@ucw.cz>.
11270
11271 2005-10-19  Simon Josefsson  <jas@extundo.com>
11272
11273         * m4/gc-arcfour.m4: New file.
11274
11275         * m4/gc-rijndael.m4: New file.
11276
11277 2005-10-19  Simon Josefsson  <jas@extundo.com>
11278
11279         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
11280
11281 2005-10-19  Simon Josefsson  <jas@extundo.com>
11282
11283         * lib/gc-gnulib.c: Support ARCFOUR.
11284
11285 2005-10-19  Simon Josefsson  <jas@extundo.com>
11286
11287         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
11288         support.
11289
11290         * lib/gc.h: Add ECB enum type.
11291
11292         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
11293
11294 2005-10-18  Simon Josefsson  <jas@extundo.com>
11295
11296         * tests/test-md5.c: New file.
11297
11298         * modules/md5-tests: New file.
11299
11300 2005-10-18  Simon Josefsson  <jas@extundo.com>
11301
11302         * tests/test-md4.c: New file.
11303
11304         * modules/md4, modules/md4-tests: New files.
11305
11306 2005-10-18  Simon Josefsson  <jas@extundo.com>
11307
11308         * m4/md4.m4: New file.
11309
11310 2005-10-18  Simon Josefsson  <jas@extundo.com>
11311
11312         * lib/md4.h, lib/md4.c: New files, based on md5.?.
11313
11314 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
11315
11316         * gnulib-tool (func_create_testdir): Omit the second check whether
11317         BUILT_SOURCES in nonempty.
11318
11319 2005-10-17  Simon Josefsson  <jas@extundo.com>
11320
11321         * tests/test-rijndael.c: New file.
11322
11323 2005-10-17  Simon Josefsson  <jas@extundo.com>
11324
11325         * modules/sha1: Depend on stdint instead of md5.
11326
11327         * modules/md5: Depend on stdint, remove uint32_t.
11328
11329 2005-10-17  Simon Josefsson  <jas@extundo.com>
11330
11331         * modules/gc-sha1-tests: New file.
11332
11333         * tests/test-gc-sha1.c: New file.
11334
11335 2005-10-17  Simon Josefsson  <jas@extundo.com>
11336
11337         * m4/md5.m4: Remove call to uint32_t.m4.
11338
11339 2005-10-17  Simon Josefsson  <jas@extundo.com>
11340
11341         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
11342
11343         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
11344         md5.h.
11345
11346         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
11347
11348         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
11349
11350 2005-10-17  Simon Josefsson  <jas@extundo.com>
11351
11352         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
11353
11354 2005-10-17  Simon Josefsson  <jas@extundo.com>
11355
11356         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
11357
11358 2005-10-17  Simon Josefsson  <jas@extundo.com>
11359
11360         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
11361
11362         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
11363
11364 2005-10-17  Bruno Haible  <bruno@clisp.org>
11365
11366         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
11367         that it can also be used in a test.
11368
11369 2005-10-16  Bruno Haible  <bruno@clisp.org>
11370
11371         * gnulib-tool (func_emit_tests_Makefile_am): Also define
11372         TESTS_ENVIRONMENT, so that individual tests can augment it.
11373
11374         * gnulib-tool (func_create_testdir): Use an intermediate target for
11375         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
11376         macros, like $(ALLOCA_H), which cannot be passed through the command
11377         line.
11378
11379 2005-10-15  Simon Josefsson  <jas@extundo.com>
11380
11381         * modules/rijndael-tests: New file.
11382
11383         * modules/rijndael: New file.
11384
11385 2005-10-15  Simon Josefsson  <jas@extundo.com>
11386
11387         * m4/rijndael.m4: New file.
11388
11389 2005-10-15  Simon Josefsson  <jas@extundo.com>
11390
11391         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
11392
11393         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
11394
11395 2005-10-14  Simon Josefsson  <jas@extundo.com>
11396
11397         * tests/test-arcfour.c: New file.
11398
11399         * modules/arcfour, modules/arcfour-tests: New files.
11400
11401 2005-10-14  Simon Josefsson  <jas@extundo.com>
11402
11403         * m4/arcfour.m4: New file.
11404
11405 2005-10-14  Simon Josefsson  <jas@extundo.com>
11406
11407         * lib/arcfour.h, lib/arcfour.c: New files.
11408
11409 2005-10-14  Roland McGrath  <roland@redhat.com>
11410
11411         Import from libc.  [BZ #1331]
11412         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
11413         macro argument.
11414         Reported by Matej Vela <vela@debian.org>.
11415
11416 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11417
11418         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
11419         include <wchar.h>; no longer needed.
11420
11421 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11422
11423         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
11424
11425 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
11426         and  Ulrich Drepper  <drepper@redhat.com>
11427
11428         Import from libc.
11429         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
11430         instead of inline stream orientation test and two separate
11431         function calls.  Pay no attention to USE_IN_LIBIO.
11432
11433 2005-10-13  Simon Josefsson  <jas@extundo.com>
11434
11435         * modules/gc-hmac-md5-tests: New file.
11436
11437         * tests/test-gc-hmac-sha1.c: New file.
11438
11439         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
11440
11441         * modules/gc-hmac-md5-tests: New file.
11442
11443         * tests/test-gc-md5.c: New file.
11444
11445         * modules/gc-md5-tests: New file.
11446
11447 2005-10-13  Simon Josefsson  <jas@extundo.com>
11448
11449         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
11450         Move memory allocation outside of loop.
11451
11452 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11453
11454         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
11455         intermediate directory is in a read-only file system.  Problem
11456         reported by Eric Blake.
11457
11458 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
11459
11460         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
11461
11462 2005-10-12  Simon Josefsson  <jas@extundo.com>
11463
11464         * tests/test-hmac-sha1.c: New file.
11465
11466         * modules/hmac-sha1-tests: New file.
11467
11468         * modules/hmac-sha1: New file.
11469
11470 2005-10-12  Simon Josefsson  <jas@extundo.com>
11471
11472         * modules/gc-sha1: New file.
11473
11474 2005-10-12  Simon Josefsson  <jas@extundo.com>
11475
11476         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
11477
11478         * tests/test-gc-pbkdf2-sha1.c: New file.
11479
11480 2005-10-12  Simon Josefsson  <jas@extundo.com>
11481
11482         * modules/gc-md5, modules/gc-hmac-md5: New files.
11483
11484         * modules/gc (Files): Remove md5, memxor and hmac files.
11485
11486 2005-10-12  Simon Josefsson  <jas@extundo.com>
11487
11488         * m4/gc-pbkdf2-sha1.m4: New file.
11489
11490         * m4/gc-hmac-sha1.m4: New file.
11491
11492         * m4/gc-sha1: New file.
11493
11494         * m4/hmac-sha1.m4: New file.
11495
11496 2005-10-12  Simon Josefsson  <jas@extundo.com>
11497
11498         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
11499
11500         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
11501
11502 2005-10-12  Simon Josefsson  <jas@extundo.com>
11503
11504         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
11505         suggested by Bruno Haible <bruno@clisp.org>.
11506
11507 2005-10-12  Simon Josefsson  <jas@extundo.com>
11508
11509         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
11510
11511 2005-10-12  Simon Josefsson  <jas@extundo.com>
11512
11513         * lib/gc-pbkdf2-sha1.c: New file.
11514
11515         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
11516
11517 2005-10-12  Simon Josefsson  <jas@extundo.com>
11518
11519         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
11520
11521         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
11522
11523 2005-10-12  Simon Josefsson  <jas@extundo.com>
11524
11525         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
11526         GC_USE_HMAC_MD5, respectively.
11527
11528         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
11529         (gc_md5): Fix typo.
11530
11531         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
11532
11533         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
11534
11535         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
11536
11537 2005-10-12  Bruno Haible  <bruno@clisp.org>
11538
11539         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
11540         Reported by Stepan Kasal <kasal@ucw.cz>.
11541
11542 2005-10-11  Simon Josefsson  <jas@extundo.com>
11543
11544         * tests/test-crc.c: New file.
11545
11546         * modules/crc, modules/crc-tests: New files.
11547
11548 2005-10-11  Simon Josefsson  <jas@extundo.com>
11549
11550         * m4/crc.m4: New file.
11551
11552 2005-10-11  Simon Josefsson  <jas@extundo.com>
11553
11554         * lib/gc.h: Add gc_hash and gc_hash_buffer.
11555
11556         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
11557
11558         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
11559
11560 2005-10-11  Simon Josefsson  <jas@extundo.com>
11561
11562         * lib/crc.h, lib/crc.c: New files.
11563
11564         * lib/gc.h (gc_hash_buffer): Add doc.
11565
11566 2005-10-11  Bruno Haible  <bruno@clisp.org>
11567
11568         * modules/c-strcasestr: New file.
11569         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
11570
11571 2005-10-11  Bruno Haible  <bruno@clisp.org>
11572
11573         * modules/c-strcase: New file.
11574         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
11575
11576 2005-10-11  Bruno Haible  <bruno@clisp.org>
11577
11578         * lib/strcasecmp.c: Include limits.h.
11579         (strcasecmp): Avoid integer overflow on exotic platforms.
11580         * lib/strncasecmp.c: Include limits.h.
11581         (strncasecmp): Avoid integer overflow on exotic platforms.
11582         Reported by Paul Eggert.
11583
11584 2005-10-11  Bruno Haible  <bruno@clisp.org>
11585
11586         * lib/c-strcasestr.h: New file, from GNU gettext.
11587         * lib/c-strcasestr.c: New file, from GNU gettext.
11588
11589 2005-10-11  Bruno Haible  <bruno@clisp.org>
11590
11591         * lib/c-strcase.h: New file, from GNU gettext.
11592         * lib/c-strcasecmp.c: New file, from GNU gettext.
11593         * lib/c-strncasecmp.c: New file, from GNU gettext.
11594
11595 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11596
11597         * modules/mempcpy (License): GPL -> LGPL.
11598         * modules/strchrnul (License): Likewise.
11599         * modules/sysexits (License): Likewise.
11600
11601 2005-10-08  Simon Josefsson  <jas@extundo.com>
11602
11603         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
11604
11605 2005-10-07  Simon Josefsson  <jas@extundo.com>
11606
11607         * m4/memxor.m4: Remove gl_C_RESTRICT call.
11608
11609 2005-10-06  Simon Josefsson  <jas@extundo.com>
11610
11611         * tests/test-hmac-md5.c: New file.
11612
11613         * modules/hmac-md5-tests: New file.
11614
11615         * modules/hmac-md5: New file.
11616
11617 2005-10-06  Simon Josefsson  <jas@extundo.com>
11618
11619         * m4/hmac-md5.m4: New file.
11620
11621         * m4/memxor.m4: Require gl_C_RESTRICT.
11622
11623 2005-10-06  Simon Josefsson  <jas@extundo.com>
11624
11625         * lib/memxor.c (memxor): Avoid casts and warnings.
11626
11627 2005-10-06  Simon Josefsson  <jas@extundo.com>
11628
11629         * lib/hmac-md5.c: New file.
11630
11631         * lib/hmac.h: New file.
11632
11633 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
11634
11635         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
11636         promotes to int, not unsigned int, to catch the AIX 5.3
11637         compiler bug.
11638
11639 2005-10-05  Simon Josefsson  <jas@extundo.com>
11640
11641         * modules/memxor: New file.
11642
11643         * modules/iconv (Files): Move config.rpath to havelib, it is used
11644         there.
11645
11646         * modules/havelib (Files): Add config.rpath.
11647
11648 2005-10-05  Simon Josefsson  <jas@extundo.com>
11649
11650         * m4/memxor.m4: New file.
11651
11652 2005-10-05  Simon Josefsson  <jas@extundo.com>
11653
11654         * lib/memxor.c (memxor): Fix compiler error.
11655
11656         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
11657         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
11658
11659         * lib/memxor.h, lib/memxor.c: New files.
11660
11661         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
11662         we assume all systems have it, suggested by Jim Meyering
11663         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
11664         any systems lack sys/socket.h; mingw32 is known to lack it, but we
11665         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
11666         same reasons.
11667
11668 2005-10-05  Simon Josefsson  <jas@extundo.com>
11669
11670         * config/srclist.txt: Add glibc bug 1423 for md5.h.
11671
11672 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11673
11674         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
11675         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
11676         needed, since the source code now assumes these .h files.
11677
11678 2005-10-05  Derek Price  <derek@ximbiot.com>
11679
11680         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
11681
11682 2005-10-05  Bruno Haible  <bruno@clisp.org>
11683
11684         * modules/stdint (License): Change to LGPL.
11685
11686 2005-10-04  Simon Josefsson  <jas@extundo.com>
11687
11688         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
11689         D. Baushke" <mdb@gnu.org>.
11690
11691 2005-10-04  Bruno Haible  <bruno@clisp.org>
11692
11693         * lib/verify.h (verify_true): Provide alternative definition for C++.
11694
11695 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
11696
11697         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
11698         (SSIZE_MAX): New macro, if not already defined.
11699         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
11700         than 2 GiB.
11701
11702 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11703
11704         Sync from coreutils.
11705         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
11706         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
11707         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
11708         ULLONG_MAX doesn't work with 2.7.2.1.
11709
11710 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11711
11712         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
11713         From Ben Pfaff.
11714
11715         * modules/exclude (Depends-on): Depend on verify.
11716         * modules/strtoimax (Depends-on): Likewise.
11717         * modules/utimecmp (Depends-on): Likewise.
11718
11719 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11720
11721         * lib/exclude.c: Include verify.h.
11722         (verify): Remove.  All callers changed to use verify.h's version.
11723         * lib/strtoimax.c: Likewise.
11724         * lib/utimecmp.c: Likewis.e
11725
11726         Sync from coreutils.
11727         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
11728         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
11729         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
11730         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
11731         bother returning ENOSYS if settimeofday or stime fails; just let
11732         them return whatever errno they want to return.
11733         * lib/utimens.c: Include unistd.h, for dup2.
11734         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
11735         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
11736
11737 2005-10-02  Jim Meyering  <jim@meyering.net>
11738
11739         Sync from coreutils.
11740         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
11741         from glibc-2.2.5 that fails for read-only files.
11742
11743 2005-10-02  Jim Meyering  <jim@meyering.net>
11744
11745         Sync from coreutils.
11746         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
11747         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
11748         `#if HAVE_CONFIG_H'.
11749         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
11750         Remove AT_FDCWD test.
11751         Do not consume the fd unless successful.
11752         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
11753         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
11754         block, so that we don't even try to compile it if settimeofday is
11755         available.  This works around a compilation failure on OSF1 V5.1,
11756         due to stime requiring a `long int*' while tv_sec is `int'.
11757
11758 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
11759
11760         Sync from coreutils.
11761         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
11762         against `yes', rather than just testing for nonempty.
11763
11764 2005-10-01  Simon Josefsson  <jas@extundo.com>
11765
11766         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
11767         and Darwin.
11768
11769         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
11770         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
11771         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
11772         freeaddrinfo and gai_strerror are declared by the POSIX headers.
11773         Check if struct addrinfo is declared.
11774
11775 2005-10-01  Simon Josefsson  <jas@extundo.com>
11776
11777         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
11778         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
11779         AI_* and EAI_* definitions.  Protect function declarations.
11780
11781 2005-10-01  Jim Meyering  <jim@meyering.net>
11782
11783         Sync from coreutils.
11784
11785         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
11786         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
11787         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
11788         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
11789         in the inet and nsl libraries.  Required on Solaris 5.7.
11790
11791 2005-10-01  Jim Meyering  <jim@meyering.net>
11792
11793         Sync from coreutils.
11794         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
11795         in the inet and nsl libraries.  Required on Solaris 5.7.
11796
11797 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
11798
11799         * lib/getdelim.c (getdelim): Remove unused variables.
11800
11801 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
11802
11803         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
11804         so that the code works even with ancient cpp.  Portability problem
11805         with GCC 2.7.2.1 reported by Thomas M.Ott.
11806
11807 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
11808
11809         * modules/regex (Depends-on): Add strcase.
11810
11811         * modules/gethostname (Licence): Change from GPL to LGPL, since
11812         gethostname.c is a trivial implementation of a standard library
11813         function.
11814         * modules/poll (License): Change from GPL to LGPL, since it's
11815         derived from LGPL code.
11816
11817 2005-09-27  Jim Meyering  <jim@meyering.net>
11818
11819         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
11820         HAVE_CONFIG_H.
11821
11822         * lib/intprops.h (signed_type_or_expr__): Define.
11823         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
11824         for unsigned types.
11825
11826 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
11827
11828         * lib/verify.h (verify_expr): Remove, replacing with:
11829         (verify_true): New macro that returns true instead of void.
11830         (verify_type__): Remove.
11831         (verify): Use verify_true rather than verify_type__.
11832
11833 2005-09-26  Bruno Haible  <bruno@clisp.org>
11834
11835         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
11836         is necessary.
11837         (lib_SOURCES): Remove mbchar.c.
11838         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
11839         (Files): Add m4/mbrtowc.m4.
11840         * modules/mbiter: Likewise.
11841         * modules/mbuiter: Likewise.
11842
11843 2005-09-26  Bruno Haible  <bruno@clisp.org>
11844
11845         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
11846         compile mbchar.c if they are not both present.
11847         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
11848         * m4/mbiter.m4 (gl_MBITER): Likewise.
11849         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
11850         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
11851         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
11852
11853 2005-09-25  Jim Meyering  <jim@meyering.net>
11854
11855         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
11856         also uses socklen_t.
11857
11858 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
11859
11860         * lib/utimens.c (ENOSYS): Define if not already defined.
11861         (futimens): Support having a null PATH if the file descriptor
11862         is nonnegative.
11863
11864         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
11865         Remove.
11866         (__attribute): Define to empty unless GCC 3.1 or later.
11867         This works around a core dump on OpenBSD 3.4, which has GCC
11868         2.95.3, which dumps core when given __attribute__(()).  It also
11869         simplifies other tests, since we really don't want to bother with
11870         worrying about which ancient version of GCC supported what.
11871         Original problem reported by Yoann Vandoorselaere, with part of
11872         the fix suggested by Derek Price.
11873
11874 2005-09-24  Jim Meyering  <jim@meyering.net>
11875
11876         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
11877         so we can once again use a positive bitfield width of 1 -- now we
11878         don't have to explain why we were using a bitfield width of 2.
11879
11880 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11881
11882         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
11883         and similarly for the other external symbols.  Problem reported
11884         by James Gallager.
11885
11886         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
11887         bug reported by Jim Meyering.
11888
11889         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
11890         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
11891         not needed, since socklen is a prerequisite module.
11892
11893 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11894
11895         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
11896         Problem reported by Eric Blake.
11897         (getaddrinfo): Initialize se so that it's not garbage.
11898         Redo internal storage allocation so that it doesn't make unportable
11899         assumptions about alignment.
11900         Fix a memory leak.
11901
11902         * lib/utimens.c (futimens): Use futimesat if available.
11903         Prefer it to futimes since it doesn't have the futimes bug.
11904
11905         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
11906         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
11907         Instead, declare a function that returns a pointer to an array,
11908         and use verify_type__ to declare the size of the array.
11909         Problem and germ of a solution reported by Bruno Haible.
11910         (verify_type__): Use 2, not 1, for bitfield size, to avoid
11911         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
11912
11913 2005-09-23  Jim Meyering  <jim@meyering.net>
11914
11915         Sync from coreutils.
11916         Correct build failure (socklen_t not defined) on at least
11917         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
11918         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
11919
11920 2005-09-23  Jim Meyering  <jim@meyering.net>
11921
11922         * modules/getaddrinfo (Depends-on): Add socklen.
11923
11924 2005-09-23  Bruno Haible  <bruno@clisp.org>
11925
11926         * tests/test-verify.c: New file.
11927
11928 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11929
11930         Sync from coreutils.
11931
11932         * modules/argmatch (Depends-on): Add verify.
11933         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
11934         unistd-safer.
11935         * modules/save-cwd (Depends-on): Likewise.
11936
11937         * modules/openat (Files): Add lib/openat-die.c.
11938         (Depends-on): Remove error, exitfail.
11939         Add dirname.
11940
11941         * modules/verify: New file.
11942         * MODULES.html.sh (Diagnostics <assert.h>): New section,
11943         with "verify" module.
11944
11945 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11946
11947         Sync from coreutils.
11948
11949         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
11950         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
11951         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
11952         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
11953         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
11954         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
11955         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
11956         Don't bother checking for string.h, stdlib.h, unistd.h.
11957         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
11958         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
11959         module's job.
11960         * m4/jm-macros.m4 (gl_MACROS): Likewise.
11961         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
11962
11963         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
11964         (gl_GETDATE): Use it.
11965
11966         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
11967
11968 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11969
11970         Sync from coreutils.
11971
11972         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
11973         stat-time.h.
11974         * lib/argmatch.h: Include verify.h
11975         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
11976         (ARGMATCH_ASSERT): Remove; unused.
11977         * lib/canonicalize.c: Assume STDC_HEADERS.
11978         * lib/exclude.c: Include "strcase.h".
11979         * lib/regex_internal.h [!defined _LIBC]: Likewise.
11980         * lib/getusershell.c: Include stdio--.h rather than stdio.h
11981         and stdio-safer.h.
11982         (getusershell): Call fopen, not fopen_safer.
11983         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
11984         Do not include unistd-safer.h.
11985         (save_cwd): Don't call fd_safer; no longer needed
11986         now that we include fcntl--.h.
11987
11988         * lib/getdate.y (relative_time): New type.
11989         (RELATIVE_TIME_0): New constant.
11990         (parser_control): Use relative_time instead of doing it ourselves.
11991         (%union): Add new relative_time rel member.
11992         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
11993         Now typeless.
11994         (relunit, relunit_snumber): Now of type rel.
11995         (zone, rel, relunit, get_date): Adjust to above changes.
11996
11997         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
11998         Do not include unistd-safer.h.
11999         (getloadavg): Don't call fd_safer; no longer needed
12000         now that we include fcntl--.h.
12001
12002         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
12003         (make_dir_parents): Treat ENOSYS like EEXIST.
12004
12005         Improve quality of diagnostics on restore_cwd failure.
12006         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
12007         (make_dir_parents): Last arg is now int * (for errno), not bool *.
12008         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
12009         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
12010         each time through the loop.  Do not diagnose restore_cwd failure;
12011         that is the caller's job (and perhaps the caller does not care).
12012
12013         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
12014         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
12015         If the file already exists but is not a directory, don't bother
12016         to try to make its parents.
12017         Close potential file descriptor leak if we can't chdir("/") (!).
12018         Don't always return true if chdir($PWD) fails; return true only
12019         if the requested action was done successfully (except for the
12020         chdir($PWD)).
12021         Don't log final directory unless we actually made it.
12022         Refactor to avoid duplicate code to fix up permissions.
12023         Don't attempt to fix up parent permissions if chdir($PWD) fails.
12024
12025         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
12026         to make it a bit faster and (I hope) clearer.
12027         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
12028         Fix bug in formats like %2N.
12029
12030         * lib/verify.h: New file.
12031
12032 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12033
12034         Sync from coreutils.
12035         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
12036
12037 2005-09-22  Jim Meyering  <jim@meyering.net>
12038
12039         Sync from coreutils.
12040
12041         * m4/lstat.m4 (gl_FUNC_LSTAT):
12042         Use AC_LIBSOURCES to require lstat.c and lstat.h.
12043         Remove obsolete comment.
12044         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
12045         * m4/xstrtod.m4: Likewise.
12046
12047         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
12048
12049 2005-09-22  Jim Meyering  <jim@meyering.net>
12050
12051         Sync from coreutils.
12052
12053         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
12054
12055         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
12056         the .tm_year member, since otherwise gcc-4.0 would now warn about
12057         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
12058
12059         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
12060         order to avoid an unsuppressible warning from gcc on 64-bit systems.
12061
12062         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
12063         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
12064         when run in a time zone for which daylight savings time is in effect
12065         for the starting date.
12066
12067         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
12068         stop us from restricting permissions of just-created absolute-named
12069         directories.
12070         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
12071         to restore initial working directory.
12072         * lib/mkdir-p.c (make_dir_parents): New parameter:
12073         different_working_dir, to tell caller if/when we change the working
12074         directory and are unable to return to the initial one.
12075         * lib/mkdir-p.h (make_dir_parents): Update prototype.
12076         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
12077         `return false'.  This fixes a bug introduced on 2004-07-30.
12078
12079         * lib/openat.c (fdopendir): Be sure to close the supplied
12080         file descriptor before returning.  This makes our replacement
12081         implementation a little closer to Solaris's, where fdopendir
12082         ties the file descriptor to the returned DIR* pointer.
12083         * lib/openat.c (unlinkat): New function.
12084         * lib/openat.h (unlinkat): Add prototype.
12085         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
12086         (openat_restore_fail): Rename from openat_restore_die.
12087         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
12088
12089         Provide an alternative to exiting immediately upon save_cwd or
12090         restore_cwd failure.  Now, an application can arrange e.g.,
12091         to perform a longjump in that case.
12092         * lib/openat.c: Include dirname.h.
12093         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
12094         (rpl_openat, fdopendir, fstatat): Call openat_save_die
12095         and openat_restore_die rather than calling error directly.
12096         Don't include "error.h" or "exitfail.h"; they're no longer needed.
12097
12098         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
12099         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
12100         define.
12101
12102         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
12103         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
12104                             int utc, int nanoseconds);
12105         Background:
12106         date should not have to allocate a megabyte of virtual memory to
12107         handle a format argument like +%1048575T.  When implemented with
12108         strftime, it must allocate such a buffer, use strftime to fill it
12109         in, print it, then free it.
12110         With fprintftime, it simply prints everything and exits.
12111         With no need for memory allocation, that's one fewer way to fail.
12112         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
12113         optional field width, not before, so we accept %9:z, not %:9z.
12114         (my_strftime): Be sure to use L_('x') for literals.
12115
12116         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
12117         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
12118         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
12119         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
12120         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
12121         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
12122         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
12123         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
12124         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
12125         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
12126         * lib/xgethostname.c, lib/xreadlink.c:
12127         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
12128
12129         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
12130         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
12131         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
12132         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
12133         and don't include <sys/file.h>).
12134
12135 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
12136
12137         Sync from coreutils.
12138
12139         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
12140         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
12141         [!LDAV_DONE]: Avoid unused variable warning.
12142
12143 2005-09-21  Bruno Haible  <bruno@clisp.org>
12144
12145         * lib/unicodeio.h (unicode_to_mb): New declaration.
12146
12147 2005-09-20  Derek Price  <derek@ximbiot.com>
12148
12149         * lib/getaddrinfo.c: Don't include <netdb.h> included from
12150         getaddrinfo.h.
12151
12152 2005-09-20  Bruno Haible  <bruno@clisp.org>
12153
12154         * gnulib-tool: Remove trailing slashes from the values specified for
12155         --source-base, --m4-base, --tests-base, --aux-dir.
12156         Suggested by Simon Josefsson <jas@extundo.com>.
12157
12158 2005-09-20  Bruno Haible  <bruno@clisp.org>
12159
12160         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
12161         func_modules_to_filelist, func_import, func_create_testdir): Make all
12162         sorting results locale-independent, so that gnulib-cache.m4 doesn't
12163         change when gnulib-tool is invoked in a different locale.
12164
12165 2005-09-19  Simon Josefsson  <jas@extundo.com>
12166
12167         * m4/socklen.m4: Fix typo.
12168
12169 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12170
12171         Use a consistent style for including <config.h>.
12172         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
12173         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
12174         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
12175         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
12176         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
12177         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
12178         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
12179         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
12180         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
12181         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
12182         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
12183         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
12184         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
12185         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
12186         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
12187         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
12188         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
12189         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
12190         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
12191         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
12192         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
12193         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
12194         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
12195         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
12196         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
12197         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
12198         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
12199         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
12200         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
12201         lib/xstrtoumax.c, lib/yesno.c:
12202         Standardize inclusion of config.h.
12203         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
12204         lib/inttostr.h:  Removed inclusion of config.h from header files.
12205         * lib/inttostr.c:  Adjusted in-tree users.
12206         * lib/timespec.h: Remove superfluous warning to include config.h.
12207         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
12208         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
12209         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
12210         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
12211         config.h with HAVE_CONFIG_H.
12212
12213 2005-09-19  Jim Meyering  <jim@meyering.net>
12214
12215         * modules/pathmax (License): Change to LGPL.
12216
12217 2005-09-19  Derek Price  <derek@ximbiot.com>
12218
12219         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
12220
12221 2005-09-19  Bruno Haible  <bruno@clisp.org>
12222
12223         * gnulib-tool (import): Provide default for --tests-base.
12224
12225 2005-09-19  Bruno Haible  <bruno@clisp.org>
12226
12227         * doc/quote.texi: New file, extracted from gnulib.texi.
12228         * doc/ctime.texi: New file, extracted from gnulib.texi.
12229         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
12230         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
12231         * doc/gnulib.texi: Include them.
12232
12233 2005-09-18  Bruno Haible  <bruno@clisp.org>
12234
12235         Portability fix.
12236         * gnulib-tool (func_readlink): New function.
12237         (func_ln_if_changed): Use it.
12238
12239 2005-09-18  Bruno Haible  <bruno@clisp.org>
12240
12241         * gnulib-tool: Support --with-tests also with --import.
12242         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
12243         (func_import): Use variables $testsbase and $inctests. Emit a
12244         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
12245         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
12246         SUBDIRS += $testsdir.
12247         (func_create_testdir): Update.
12248
12249 2005-09-18  Bruno Haible  <bruno@clisp.org>
12250
12251         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
12252         instead of $dry_run.
12253         (func_cp_if_changed, func_mv_if_changed): Remove functions.
12254         (func_ln_if_changed): Don't handle dry-run here.
12255         (func_import): In dry-run mode, detect more precisely which actions
12256         would be performed, and don't use "...ing" verbs.
12257
12258 2005-09-18  Bruno Haible  <bruno@clisp.org>
12259
12260         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
12261         (func_import): Use join on two temporary files instead of three nested
12262         loops, in order to determine which files are new or old.
12263
12264 2005-09-18  Bruno Haible  <bruno@clisp.org>
12265
12266         * gnulib-tool (func_import): Comment out code that spits out the
12267         new files with --dry-run.
12268
12269 2005-09-18  Bruno Haible  <bruno@clisp.org>
12270
12271         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
12272
12273 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12274
12275         * lib/stat-time.h: New file.
12276         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
12277         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
12278         in a different way.
12279         (timespec_cmp): New function.
12280         * lib/utimecmp.c: Include stat-time.h.
12281         (SYSCALL_RESOLUTION): Depend on whether various struct stat
12282         members exist, not on the obsolescent ST_MTIM_NSEC.
12283         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
12284
12285 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12286
12287         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
12288
12289 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
12290
12291         * MODULES.html.sh (File system functions): Add stat-time.
12292         * modules/stat-time: New file.
12293         * modules/timespec (Files): Remove m4/st_mtim.m4; this
12294         is now done in a different way, by the stat-time module.
12295         * modules/utimecmp (Depends-on): Add stat-time.
12296
12297 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
12298
12299         * m4/st_mtim.m4: Remove.  Superseded by...
12300         * m4/stat-time.m4: New file.
12301         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
12302         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
12303
12304 2005-09-15  Derek Price  <derek@ximbiot.com>
12305
12306         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
12307
12308 2005-09-15  Derek Price  <derek@ximbiot.com>
12309
12310         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
12311         * lib/regex_internal.c: Ditto, using this...
12312         (__GNUC_PREREQ): ...new macro.
12313         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
12314         using...
12315         (__GNUC_PREREQ): ...this new macro.
12316
12317         * lib/strstr.h: Include string.h. Define strstr as a macro here.
12318
12319 2005-09-15  Derek Price  <derek@ximbiot.com>
12320             Paul Eggert  <eggert@cs.ucla.edu>
12321
12322         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
12323         changes, consolidating in...
12324         * lib/regex_internal.h: ...this file.
12325
12326 2005-09-13  Jim Meyering  <jim@meyering.net>
12327
12328         * lib/canon-host.c: Filter through gnu indent and reword comments
12329         slightly.
12330         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
12331
12332 2005-09-13  Derek Price  <derek@ximbiot.com>
12333
12334         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
12335         failure.
12336         Reported by Jim Meyering  <jim@meyering.net>.
12337
12338 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
12339
12340         * lib/base64.c: Typo.
12341         (base64_encode): Put b64str in initialized data section.
12342
12343 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
12344
12345         Merge glibc and coreutils changes into gnulib, plus a few
12346         extra fixes.
12347         * lib/md5.c: Use #error rather than a string.
12348         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
12349         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
12350         (__attribute__): Define to empty for non recent-GCC.
12351         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
12352         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
12353         Renamed from their non-__ counterparts, with new macros replacing
12354         them if not _LIBC.  Add __THROW attribute.
12355         (rol): Remove.
12356         (struct md5_ctx): Align buffer if using GCC.
12357         * lib/sha1.h (struct sha1_ctx): Likewise.
12358         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
12359         The old name was backwards.
12360         (NOTSWAP): Remove; not used.
12361         (rol): New macro, moved here from md5.h.
12362         (sha1_process_block): Remove a FIXME that doesn't make sense.
12363
12364 2005-09-12  Derek Price  <derek@ximbiot.com>
12365
12366         Return usable errors from canon-host.
12367         * lib/canon-host.h: New file.
12368         * lib/canon-host.c (canon_host): Wrap...
12369         (canon_host_r): ...this new function, which now relies exclusively on
12370         getaddrinfo.
12371         (ch_strerror): New function.
12372         (last_cherror): New global.
12373         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
12374         interface.
12375         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
12376         void *.
12377         (freeaddrinfo): Free ai->ai_canonname when set.
12378
12379 2005-09-12  Derek Price  <derek@ximbiot.com>
12380
12381         Make canon-host require getaddrinfo.
12382         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
12383         AC_LIBSOURCE canon-host.h.  Call...
12384         (gl_PREREQ_CANON_HOST): ...this new function, which requires
12385         gl_GETADDRINFO.
12386         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
12387
12388 2005-09-12  Derek Price  <derek@ximbiot.com>
12389
12390         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
12391         LGPL.
12392         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
12393
12394 2005-09-12  Derek Price  <derek@ximbiot.com>
12395
12396         * lib/gai_strerror.c: Include config.h when available.  Include
12397         getaddrinfo.h before other headers to test interface.
12398         Reported by Larry Jones <lawrence.jones@ugs.com>.
12399
12400 2005-09-12  Derek Price  <derek@ximbiot.com>
12401             Paul Eggert  <eggert@cs.ucla.edu>
12402
12403         * modules/glob (Files): Add glob-libc.h.
12404
12405 2005-09-12  Derek Price  <derek@ximbiot.com>
12406             Paul Eggert  <eggert@cs.ucla.edu>
12407
12408         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
12409         glob_.h, glob-libc.h.
12410         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
12411
12412 2005-09-12  Derek Price  <derek@ximbiot.com>
12413             Paul Eggert  <eggert@cs.ucla.edu>
12414
12415         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
12416         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
12417         protecting things that should be done only in gnulib contexts.
12418         * lib/glob_.h: New file, containing only the glob things needed for
12419         gnulib.
12420         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
12421         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
12422         (glob, globfree, glob_pattern_p): Now defined simply in terms of
12423         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
12424         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
12425         and to respect the namespace rules better.
12426
12427 2005-09-08  Simon Josefsson  <jas@extundo.com>
12428
12429         * modules/socklen: New file.
12430
12431 2005-09-08  Simon Josefsson  <jas@extundo.com>
12432
12433         * m4/socklen.m4: New file.
12434
12435 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12436
12437         * modules/utimens (Files): Add m4/utimbuf.m4, since
12438         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
12439         Reported by Sergey Poznyakoff.
12440
12441 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12442
12443         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
12444         definitions, since that's the preferred style in glibc.
12445         Fix a minor spacing issue, and update copyright notice to match
12446         glibc's.
12447
12448 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12449
12450         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
12451
12452 2005-09-06  Simon Josefsson  <jas@extundo.com>
12453
12454         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
12455         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
12456
12457 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
12458
12459         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
12460         warning.
12461
12462 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
12463
12464         * config/srclist.txt: Add glibc bug 1302.
12465
12466 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
12467
12468         Change bitset word type from unsigned int to unsigned long int,
12469         as this has better performance on typical 64-bit hosts.
12470         Port bitset code to hosts with unusual word sizes.
12471         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
12472         (build_collating_symbol):
12473         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
12474         argument is a bitset.  This is merely a style issue, but it makes
12475         it clearer that an entire array is expected.
12476         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
12477         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
12478         Port to the case where bitset_word is not the same as unsigned int.
12479         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
12480         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
12481         Likewise.
12482         * lib/regexec.c (check_dst_limits_calc_pos_1,
12483         check_subexp_matching_top):
12484         (build_trtable, group_nodes_into_DFAstates):
12485         Likewise.
12486         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
12487         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
12488         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
12489         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
12490         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
12491         * lib/regcomp.c (optimize_subexps, lower_subexp):
12492         Work even if bitset_word has holes in its bitwise representation.
12493         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
12494         * lib/regexec.c (check_dst_limits_calc_pos_1,
12495         check_subexp_matching_top):
12496         Likewise.
12497         * lib/regex_internal.c (re_string_reconstruct):
12498         Don't assume UCHAR_MAX == 255.
12499         * lib/regex_internal.h (bitset_set_all): Likewise.
12500         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
12501         All uses changed.
12502         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
12503         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
12504         All uses changed.
12505         (BITSET_WORD_MAX): New macro.
12506         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
12507         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
12508         (bitset_empty, bitset_copy):
12509         Prefer sizeof (bitset) to multiplying it out ourselves.
12510         (bitset_not_merge): Remove; unused.
12511         (bitset_contain): Return bool, not unsigned int with one bit on.
12512         All callers changed.
12513         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
12514         alignment than re_node_set; do this by defining a new internal
12515         type struct dests_alloc and using it to allocate memory.
12516
12517 2005-09-05  Bruno Haible  <bruno@clisp.org>
12518
12519         * gnulib-tool (func_import): Fix comparison in handling of symbolic
12520         links.
12521
12522 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
12523
12524         * modules/size_max (Makefile.am): Add size_max.h
12525
12526 2005-09-04  Derek Price  <derek@ximbiot.com>
12527
12528         * gnulib-tool (func_import): Fix reversed $symbolic logic.
12529
12530 2005-09-03  Simon Josefsson  <jas@extundo.com>
12531
12532         * gnulib-tool: Fix typo.
12533
12534 2005-09-03  Simon Josefsson  <jas@extundo.com>
12535
12536         * config/srclist.txt: Add glibc bug 1293.
12537
12538 2005-09-03  Derek Price  <derek@ximbiot.com>
12539
12540         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
12541         From Larry Jones <lawrence.jones@ugs.com>.
12542
12543 2005-09-02  Simon Josefsson  <jas@extundo.com>
12544
12545         * modules/socklen: New file.
12546
12547 2005-09-02  Simon Josefsson  <jas@extundo.com>
12548
12549         * modules/havelib: New module.
12550
12551         * modules/gettext, modules/iconv, modules/lock, modules/readline:
12552         Use havelib.
12553
12554 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12555
12556         Check for arithmetic overflow when calculating sizes, to prevent
12557         some buffer-overflow issues.  These patches are conservative, in the
12558         sense that when I couldn't determine whether an overflow was possible,
12559         I inserted a run-time check.
12560         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
12561         macros.
12562         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
12563         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
12564         (re_xnrealloc, re_x2nrealloc): New inline functions.
12565         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
12566         parse_bracket_exp):
12567         (build_equiv_class, build_charclass): Check for arithmetic overflow
12568         in size expression calculations.
12569         * lib/regex_internal.c (re_string_realloc_buffers):
12570         (build_wcs_upper_buffer, re_node_set_add_intersect):
12571         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
12572         (re_dfa_add_node, register_state): Likewise.
12573         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
12574         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
12575         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
12576         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
12577
12578 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12579
12580         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
12581         m4/ulonglong.m4.  Problem reported by Martin Lambers.
12582
12583 2005-09-02  Bruno Haible  <bruno@clisp.org>
12584
12585         Support for lib vs. lib64 distinction on biarch platforms.
12586         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
12587         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
12588         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
12589
12590 2005-09-02  Bruno Haible  <bruno@clisp.org>
12591
12592         * gnulib-tool (import): In the other first-use case, provide defaults
12593         as well.
12594
12595 2005-09-02  Bruno Haible  <bruno@clisp.org>
12596
12597         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
12598         patches not yet found in the latest gettext release.
12599
12600 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12601
12602         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
12603         to avoid a collision with bits/local_lim.h in glibc.
12604         All uses changed.  Problem reported by Dmitry V. Levin in
12605         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
12606
12607         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
12608         bugs in int versus size_t comparisons.
12609         (re_string_context_at): Fix bug where the code assumed that
12610         Idx is signed.
12611
12612         Use bool where appropriate.
12613         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
12614         All callers changed.
12615         (calc_eclosure_iter): Likewise, for ROOT arg.
12616         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
12617         (build_charclass_op): Likewise, for NON_MATCH arg.
12618         * lib/regex_internal.c (re_string_allocate, re_string_construct):
12619         (re_string_construct_common): Likewise, for ICASE arg.
12620         * lib/regexec.c (re_search_2_stub, re_search_stub):
12621         Likewise, for RET_LEN arg.
12622         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
12623         (set_regs): Likewise, for FL_BACKTRACK arg.
12624         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
12625         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
12626         (calc_eclosure_iter, parse_bracket_exp):
12627         Use bool for internal variables that are booleans.
12628         * lib/regexec.c (re_search_internal, check_matching,
12629         proceed_next_node):
12630         (set_regs, build_sifted_states, sift_states_bkref):
12631         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
12632         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
12633         (find_collation_sequence_value):
12634         Likewise.
12635         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
12636         (re_node_set_compare):
12637         Return bool, not int. All callers changed.
12638         * lib/regexec.c (check_halt_node_context, check_dst_limits):
12639         (build_trtable, check_node_accept): Likewise.
12640         * lib/regex_internal.h: Include stdbool.h.
12641
12642         Fix bugs uncovered when converting to bool.
12643         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
12644         failure instead of charging ahead blindly.
12645         * lib/regex_internal.c (register_state): Likewise.
12646         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
12647         for freeing internal storage.
12648         (group_nodes_into_DFA_states): Use unsigned int, not int, for
12649         bitset pieces used as boolean, to avoid undefined behavior
12650         on hosts that do int overflow checking.
12651
12652 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12653
12654         * config/srclist.txt: Add glibc bugs 1285-1287.
12655
12656 2005-09-01  Jim Meyering  <jim@meyering.net>
12657
12658         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
12659         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
12660         Require gl_STAT_MACROS, too.
12661
12662 2005-09-01  Bruno Haible  <bruno@clisp.org>
12663
12664         * gnulib-tool (import): In the first-use case, provide defaults.
12665
12666 2005-09-01  Bruno Haible  <bruno@clisp.org>
12667
12668         * gnulib-tool (func_import): Remove the .tmp files.
12669
12670 2005-09-01  Bruno Haible  <bruno@clisp.org>
12671
12672         * gnulib-tool (func_import): Fix handling of symbolic links.
12673
12674 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12675
12676         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
12677         old glibc regex code mishandles strings longer than 2**31 bytes.
12678         This patch fixes this when the regex code is used in gnulib
12679         (i.e., outside glibc).
12680
12681         This patch should not affect the use of the regex code inside
12682         glibc.  No doubt this problem also needs to be handled for glibc
12683         as well, but the result will be an incompatible change to the
12684         glibc ABI, and the old ABI will have to be supported too.  That
12685         can be the the subject for another patch.
12686
12687         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
12688         governing whether the rest of this patch is active.  By default,
12689         the macro is disabled and the patch has no effect.
12690         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
12691         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
12692         (struct re_pattern_buffer, re_search, re_search_2, re_match):
12693         (re_match_2, re_set_registers): Use the new types.
12694         * lib/regex_internal.h (Idx, re_hashval_t): New types.
12695         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
12696         New macros.
12697         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
12698         (re_string_context_at, bin_tree_t, re_dfastate_t):
12699         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
12700         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
12701         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
12702         (re_string_char_size_at, re_string_wchar_at):
12703         (re_string_elem_size_at):
12704         Use the new types and macros to port to 64-bit hosts.
12705         Use unsigned types for internal values, so that the code
12706         mostly works even for arrays larger than SSIZE_MAX.
12707         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
12708         (search_duplicated_node, calc_eclosure_iter, fetch_number):
12709         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
12710         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
12711         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
12712         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
12713         (calc_inveclosure, parse_dup_op, build_range_exp):
12714         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
12715         (fetch_number, create_token_tree, mark_opt_subexp):
12716         Likewise.
12717         * lib/regex_internal.c (re_string_construct_common,
12718         create_ci_newstate):
12719         (create_cd_newstate, re_string_allocate, re_string_construct):
12720         (re_string_realloc_buffers, build_wcs_upper_buffer):
12721         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
12722         (re_string_reconstruct, re_string_peek_byte_case):
12723         (re_string_fetch_byte_case, re_string_context_at):
12724         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
12725         (re_node_set_init_copy, re_node_set_add_intersect):
12726         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
12727         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
12728         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
12729         (re_acquire_state, re_acquire_state_context, register_state):
12730         Likewise.
12731         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
12732         search_cur_bkref_entry):
12733         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
12734         (re_search_internal, re_search_2_stub, re_search_stub)
12735         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
12736         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
12737         (update_cur_sifted_state, check_dst_limits):
12738         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
12739         (check_subexp_limits, sift_states_bkref, merge_state_array):
12740         (check_subexp_matching_top, get_subexp, get_subexp_sub):
12741         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
12742         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
12743         (expand_bkref_cache, check_node_accept_bytes):
12744         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
12745         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
12746         (acquire_init_state_context, check_halt_node_context):
12747         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
12748         (sift_states_backward, clean_state_log_if_needed):
12749         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
12750         (find_recover_state, transit_state_sb, transit_state_mb):
12751         (transit_state_bkref, build_trtable, match_ctx_clean):
12752         Likewise.
12753         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
12754         to work around an assumption that REG_MISSING is negative.
12755
12756         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
12757         (seek_collating_symbol_entry) [defined _LIBC]:
12758         (lookup_collation_sequence_value) [defined _LIBC]:
12759         (build_range_exp, build_collating_symbol) [defined _LIBC]:
12760         Use prototypes rather than old-style function definitions.
12761         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
12762         (transit_state_sb) [0]:
12763         (find_collation_sequence_value) [defined _LIBC]: Likewise.
12764
12765         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
12766         rm_eo.
12767
12768         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
12769         (optimize_subexps, lower_subexp):
12770         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
12771         since the signed shift might overflow.  Use 1u<<31 instead.
12772         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
12773         Likewise.
12774         * lib/regexec.c (check_dst_limits_calc_pos_1,
12775         check_subexp_matching_top): Likewise.
12776
12777         * lib/regcomp.c (optimize_subexps, lower_subexp):
12778         Use CHAR_BIT rather than 8, for clarity.
12779         * lib/regexec.c (check_dst_limits_calc_pos_1):
12780         (check_subexp_matching_top): Likewise.
12781         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
12782         have to worry about portability issues when shifting it left.
12783         Remove no-longer-needed test for table_size > 0.
12784         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
12785         in a word, as the resulting behavior is undefined.
12786         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
12787         in one case, a <= should have been an <, and in another case the
12788         whole test was missing.
12789         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
12790         the standard name CHAR_BIT.
12791         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
12792         this is not true on one's complement and signed-magnitude hosts.
12793
12794         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
12795         next_last_offset.
12796         (struct re_dfa_t): Remove unused member states_alloc.
12797         * lib/regcomp.c (init_dfa): Don't initialize unused members.
12798
12799 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12800
12801         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
12802         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
12803         and large-file glibc and in 32-bit large-file Solaris.
12804
12805 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12806
12807         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
12808         lengths fit in regoff_t; this isn't true if regoff_t is the same
12809         width as size_t.
12810         * lib/regex.c (re_search_internal): 5th arg is LAST_START
12811         (= START + RANGE) instead of RANGE.  This avoids overflow
12812         problems when regoff_t is the same width as size_t.
12813         All callers changed.
12814         (re_search_2_stub): Check for overflow when adding the
12815         sizes of the two strings.
12816         (re_search_stub): Check for overflow when adding START
12817         to RANGE; if it occurs, substitute the extreme value.
12818
12819 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12820
12821         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
12822
12823 2005-08-31  Jim Meyering  <jim@meyering.net>
12824
12825         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
12826         a pointer-to-const.
12827         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
12828         (register_state): Likewise.
12829         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
12830         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
12831         (group_nodes_into_DFAstates): Likewise.
12832
12833 2005-08-31  Jim Meyering  <jim@meyering.net>
12834
12835         * check-module: Add a FIXME comment.
12836
12837 2005-08-31  Eric Blake  <ebb9@byu.net>
12838
12839         * modules/unistd-safer (Files): Add unistd--.h.
12840         * modules/stdio-safer (Files): Add stdio--.h.
12841
12842 2005-08-31  Derek Price  <derek@ximbiot.com>
12843
12844         * lib/getdelim.c (getdelim): Return EOF on EOF.
12845         Reported by Larry Jones <lawrence.jones@ugs.com>.
12846
12847 2005-08-31  Bruno Haible  <bruno@clisp.org>
12848
12849         Avoid unnecessary diffs in the generated lib/Makefile.am.
12850         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
12851         the generated files.
12852         (func_import): Don't set cmd.
12853
12854 2005-08-31  Bruno Haible  <bruno@clisp.org>
12855
12856         * lib/strstr.c: Include <stddef.h>, for NULL.
12857         * lib/strcasestr.c: Likewise.
12858         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12859
12860 2005-08-31  Bruno Haible  <bruno@clisp.org>
12861
12862         * gnulib-tool: New option --macro-prefix.
12863         (func_import): Use macro_prefix.
12864         (import): Handle option --macro-prefix.
12865
12866 2005-08-31  Bruno Haible  <bruno@clisp.org>
12867
12868         * gnulib-tool (import): Rename most ac_* variables to cached_*.
12869         Also use new variables cached_lgpl, cached_libtool.
12870
12871 2005-08-31  Bruno Haible  <bruno@clisp.org>
12872
12873         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
12874         always instantiating them.
12875
12876 2005-08-31  Bruno Haible  <bruno@clisp.org>
12877
12878         * gnulib-tool (func_import): Read the previous cached settings
12879         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
12880         earlier added by gnulib but are now dropped. Warn when a gnulib file
12881         overwrites a non-gnulib file.
12882
12883 2005-08-31  Bruno Haible  <bruno@clisp.org>
12884
12885         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
12886         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
12887         projects that don't keep autogenerated files in CVS. Put into
12888         actioncmd only the specified modules, not the transitive closure.
12889
12890 2005-08-31  Bruno Haible  <bruno@clisp.org>
12891
12892         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
12893         Create directories that shall be filled.
12894         (import): Don't look for gl_* macros in configure.ac. Recurse across
12895         all directories containing a gnulib-cache.m4 files, if meaningful.
12896
12897 2005-08-31  Bruno Haible  <bruno@clisp.org>
12898
12899         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
12900         (import): Set seen_libtool when we see gl_LIBTOOL.
12901
12902 2005-08-31  Bruno Haible  <bruno@clisp.org>
12903
12904         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
12905         declaration macro definitions from generated gnulib.m4.
12906
12907 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
12908
12909         * lib/iconvme.h: Add prototype for iconv_alloc.
12910
12911 2005-08-29  Simon Josefsson  <jas@extundo.com>
12912
12913         * lib/iconvme.c: Fix errno.
12914
12915 2005-08-29  Bruno Haible  <bruno@clisp.org>
12916
12917         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
12918         that it works when the directory contains spaces.
12919
12920 2005-08-29  Bruno Haible  <bruno@clisp.org>
12921
12922         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
12923
12924 2005-08-29  Bruno Haible  <bruno@clisp.org>
12925
12926         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
12927         Emit more advice.
12928
12929 2005-08-29  Bruno Haible  <bruno@clisp.org>
12930         and Stepan Kasal  <kasal@ucw.cz>
12931
12932         * check-module: If more parameters are given, check each of them
12933         separately; add more exceptions, as noted by Jim Meyering.
12934         (check_module): New procedure.
12935         (%exempt_header): Now contains all exceptions.
12936
12937 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
12938
12939         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
12940
12941 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
12942
12943         * lib/iconvme.c: Split iconv_string into iconv_alloc.
12944
12945 2005-08-28  Bruno Haible  <bruno@clisp.org>
12946
12947         * m4/gnulib-tool.m4: New file.
12948
12949 2005-08-27  Jim Meyering  <jim@meyering.net>
12950
12951         * modules/unistd-safer (Files): Add pipe-safer.c.
12952         * modules/fcntl-safer (Files): Add creat-safer.c.
12953
12954 2005-08-27  Jim Meyering  <jim@meyering.net>
12955
12956         * m4/stdlib-safer.m4: New file.  From coreutils.
12957         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
12958         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
12959         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
12960         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
12961         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
12962
12963 2005-08-27  Jim Meyering  <jim@meyering.net>
12964
12965         * lib/fopen-safer.c: Merge minor changes from coreutils.
12966         * lib/dup-safer.c: Likewise.
12967         * lib/fd-safer.c: Likewise.
12968
12969         Merge from coreutils.
12970         * lib/stdio--.h: New file.
12971         * lib/stdlib--.h: New file.
12972         * lib/mkstemp-safer.c: New file.
12973
12974         GNU tar needs these.
12975         * lib/pipe-safer.c: New file.
12976         * lib/creat-safer.c: New file.
12977         * lib/fcntl--.h (creat): Define to creat_safer.
12978         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
12979         * lib/unistd--.h (pipe): Define to pipe_safer.
12980         * lib/unistd-safer.h: Declare pipe_safer.
12981
12982 2005-08-26  Simon Josefsson  <jas@extundo.com>
12983
12984         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
12985         Haible <bruno@clisp.org>.
12986
12987 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
12988
12989         * lib/regex_internal.h: Remove all references to
12990         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
12991         or better.
12992         (bitset_not, bitset_merge, bitset_not_merge):
12993         (bitset_mask, re_string_allocate, re_string_construct):
12994         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
12995         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
12996         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
12997         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
12998         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
12999         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13000         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
13001         (re_acquire_state_context):
13002         Remove unnecessary forward decls.
13003         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
13004         Put __attribute at function definition,
13005         now that the function decl has been removed.
13006         * lib/regex_internal.c (re_string_peek_byte_case):
13007         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
13008         Likewise.
13009
13010 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
13011
13012         * m4/regex.m4: Add AC_PREREQ(2.50).
13013         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
13014
13015 2005-08-25  Simon Josefsson  <jas@extundo.com>
13016
13017         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
13018         __fsetlocking.
13019
13020 2005-08-25  Simon Josefsson  <jas@extundo.com>
13021
13022         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
13023         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
13024         GLIBC specific code.
13025
13026 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13027
13028         Make regex safe for g++.  This fixes one real bug (an "err"
13029         that should have been "*err").  g++ problem reported by
13030         Sam Steingold.
13031         * lib/regex_internal.h (re_calloc): New macro, consistent with
13032         re_malloc etc.  All callers of calloc changed to use re_calloc.
13033         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
13034         not int.  All callers changed.
13035         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
13036         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
13037         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
13038         (find_recover_state): Change "err" to "*err"; this fixes what
13039         appears to be a real bug.
13040         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
13041         versus int.
13042
13043 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13044
13045         * modules/regex (Depends-on): Add malloc, since the code
13046         assumes that !malloc(0) means failure.
13047
13048 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13049
13050         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
13051
13052         alloca modernization/simplification for regex.
13053         * lib/regex.c: Remove portability cruft for alloca.  This no longer
13054         needs to be at the start of the file, and can be moved into
13055         regex_internal.h and simplified.
13056         * lib/regex_internal.h: Include <alloca.h>.
13057         (__libc_use_alloca) [!defined _LIBC]: New macro.
13058         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
13059         now works outside glibc.
13060
13061 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
13062
13063         * config/srclist.txt: Add glibc bugs 1241, 1245.
13064
13065 2005-08-25  Jim Meyering  <jim@meyering.net>
13066
13067         * lib/open-safer.c: Include <config.h>.
13068         Otherwise, we'd lose LARGEFILE support in any file using
13069         e.g. "fcntl--.h"
13070
13071 2005-08-25  Bruno Haible  <bruno@clisp.org>
13072
13073         * m4/minmax.m4: Require autoconf 2.52.
13074         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
13075         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
13076         alternatives of translit over the alphabet.
13077         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
13078
13079 2005-08-24  Simon Josefsson  <jas@extundo.com>
13080
13081         * tests/test-getpass.c: New file.
13082
13083 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13084
13085         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
13086         for GNU regex features.
13087
13088 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13089
13090         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
13091         * lib/regex.h (regerror): Likewise.
13092
13093         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
13094         requires this.  (The code never needed it.)
13095
13096         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
13097         All uses of recently-renamed identifiers changed to use the new,
13098         POSIX-compliant names.  The code will build and run just fine
13099         without these changes, but it's better to eat our own dog food
13100         and use the standard-conforming names.
13101
13102         * lib/regex.h: Fix a multitude of POSIX name space violations.
13103         These changes have an effect only for programs that define
13104         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
13105         do not change anything for programs compiled in the normal way.
13106         Also, there is no effect on the ABI.
13107
13108         (_REGEX_SOURCE): New macro.
13109         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
13110         defined and _GNU_SOURCE is not; this fixes a name space violation.
13111
13112         Rename the following macros to obey POSIX requirements.
13113         The old names are still visible as macros if _REGEX_SOURCE is defined.
13114         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
13115         RE_BACKSLASH_ESCAPE_IN_LISTS.
13116         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
13117         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
13118         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
13119         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
13120         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
13121         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
13122         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
13123         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
13124         (REG_INTERVALS): renamed from RE_INTERVALS.
13125         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
13126         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
13127         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
13128         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
13129         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
13130         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
13131         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
13132         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
13133         RE_UNMATCHED_RIGHT_PAREN_ORD.
13134         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
13135         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
13136         (REG_DEBUG): renamed from RE_DEBUG.
13137         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
13138         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
13139         unusual, since we can't clash with the POSIX REG_ICASE.
13140         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
13141         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
13142         (REG_NO_SUB): renamed from RE_NO_SUB.
13143         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
13144         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
13145         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
13146         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
13147         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
13148         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
13149         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
13150         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
13151         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
13152         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
13153         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
13154         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
13155         RE_SYNTAX_POSIX_MINIMAL_BASIC.
13156         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
13157         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
13158         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
13159         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
13160         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
13161         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
13162         (REG_FIXED): Renamed from REGS_FIXED.
13163         (REG_NREGS): Renamed from RE_NREGS.
13164
13165         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
13166         of other REG_* macros, since POSIX says the user is allowed to
13167         #undef these macros selectively.
13168
13169         (reg_errcode_t): Update comment stating what other tables need
13170         to be consistent.
13171
13172         Rename the following enum values to obey POSIX requirements.
13173         The old names are still visible as macros.
13174         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
13175         is not defined, since GNU is supposed to be a superset of POSIX as
13176         much as possible, and since we want reg_errcode_t to be a signed
13177         type for implementation consistency.
13178         (_REG_NOERROR): Renamed from REG_NOERROR.
13179         (_REG_NOMATCH): Renamed from REG_NOMATCH.
13180         (_REG_BADPAT): Renamed from REG_BADPAT.
13181         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
13182         (_REG_ECTYPE): Renamed from REG_ECTYPE.
13183         (_REG_EESCAPE): Renamed from REG_EESCAPE.
13184         (_REG_ESUBREG): Renamed from REG_ESUBREG.
13185         (_REG_EBRACK): Renamed from REG_EBRACK.
13186         (_REG_EPAREN): Renamed from REG_EPAREN.
13187         (_REG_EBRACE): Renamed from REG_EBRACE.
13188         (_REG_BADBR): Renamed from REG_BADBR.
13189         (_REG_ERANGE): Renamed from REG_ERANGE.
13190         (_REG_ESPACE): Renamed from REG_ESPACE.
13191         (_REG_BADRPT): Renamed from REG_BADRPT.
13192         (_REG_EEND): Renamed from REG_EEND.
13193         (_REG_ESIZE): Renamed from REG_ESIZE.
13194         (_REG_ERPAREN): Renamed from REG_ERPAREN.
13195         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
13196         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
13197         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
13198         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
13199
13200         (_REG_RE_NAME, _REG_RM_NAME): New macros.
13201         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
13202         changed.  But support the old name if the new one is not defined
13203         and if _REGEX_SOURCE.
13204
13205         Change the following member names in struct re_pattern_buffer.
13206         The old names are still supported if !_REGEX_SOURCE.
13207         The new names are always supported, regardless of _REGEX_SOURCE.
13208         (re_buffer): Renamed from buffer.
13209         (re_allocated): Renamed from allocated.
13210         (re_used): Renamed from used.
13211         (re_syntax): Renamed from syntax.
13212         (re_fastmap): Renamed from fastmap.
13213         (re_translate): Renamed from translate.
13214         (re_can_be_null): Renamed from can_be_null.
13215         (re_regs_allocated): Renamed from regs_allocated.
13216         (re_fastmap_accurate): Renamed from fastmap_accurate.
13217         (re_no_sub): Renamed from no_sub.
13218         (re_not_bol): Renamed from not_bol.
13219         (re_not_eol): Renamed from not_eol.
13220         (re_newline_anchor): Renamed from newline_anchor.
13221
13222         Change the following member names in struct re_registers.
13223         The old names are still supported if !_REGEX_SOURCE.
13224         The new names are always supported, regardless of _REGEX_SOURCE.
13225         (rm_num_regs): Renamed from num_regs.
13226         (rm_start): Renamed from start.
13227         (rm_end): Renamed from end.
13228
13229         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
13230         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
13231         Prepend __ to parameter names.
13232
13233         Undo yesterday's changes.
13234
13235 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
13236
13237         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
13238         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
13239         lib/regex.c.
13240
13241 2005-08-24  Jim Meyering  <jim@meyering.net>
13242
13243         Sync from coreutils.
13244         * m4/fcntl-safer.m4: New file.
13245
13246         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
13247         and object files for this module.
13248
13249 2005-08-24  Jim Meyering  <jim@meyering.net>
13250
13251         Sync from coreutils.
13252         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
13253
13254 2005-08-24  Jim Meyering  <jim@meyering.net>
13255
13256         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
13257         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
13258
13259 2005-08-24  Jim Meyering  <jim@meyering.net>
13260
13261         * modules/fcntl-safer: New module.
13262         * modules/fts (Depends-on): Add fcntl-safer.
13263         * MODULES.html.sh (File descriptor based Input/Output):
13264         Add fcntl-safer.
13265
13266 2005-08-24  Bruno Haible  <bruno@clisp.org>
13267
13268         Support for unit test modules.
13269         * modules/README: Mention tests modules.
13270         * modules/TEMPLATE-TESTS: New file.
13271         * gnulib-tool: New options --extract-tests-module, --with-tests and
13272         --tests-base (unused for the moment).
13273         (testsbase, inctests): New variables.
13274         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
13275         (func_verify_module): Exclude TEMPLATE-TESTS.
13276         (func_verify_nontests_module, func_verify_tests_module): New functions.
13277         (func_get_dependencies): Add implicit dependency for tests modules.
13278         (func_get_tests_module): New function.
13279         (func_modules_transitive_closure): When --with-tests was specified,
13280         include the unit tests as well, unless explicitly avoided.
13281         (func_emit_lib_Makefile_am): Ignore the tests modules here.
13282         (func_emit_tests_Makefile_am): New function.
13283         (func_create_testdir): When --with-tests was specified, emit a
13284         tests/ directory.
13285         * MODULES.html.sh (Future developments): Update.
13286
13287 2005-08-24  Bruno Haible  <bruno@clisp.org>
13288
13289         * modules/tls-tests: New file.
13290         * tests/test-tls.c: New file, from GNU gettext.
13291
13292 2005-08-24  Bruno Haible  <bruno@clisp.org>
13293
13294         * modules/lock-tests: New file.
13295         * tests/test-lock.c: New file, from GNU gettext.
13296
13297 2005-08-24  Bruno Haible  <bruno@clisp.org>
13298
13299         * lib/lock.h: Add multiple inclusion guard.
13300         * lib/tls.h: Add multiple inclusion guard.
13301
13302 2005-08-24  Bruno Haible  <bruno@clisp.org>
13303
13304         * gnulib-tool: Add support for the --aux-dir option to
13305         --create-testdir, --create-megatestdir, --test, --megatest.
13306         (func_create_testdir, func_create_megatestdir): Optionally emit a
13307         AC_CONFIG_AUX_DIR directive.
13308         (create-testdir, create-megatestdir, test, megatest): Provide a
13309         default value for $auxdir.
13310
13311 2005-08-24  Bruno Haible  <bruno@clisp.org>
13312
13313         * gnulib-tool (import): Use compound statement instead of subshell
13314         where possible.
13315
13316 2005-08-24  Bruno Haible  <bruno@clisp.org>
13317
13318         * gnulib-tool (import): Change --aux-dir default to "build-aux".
13319
13320 2005-08-24  Bruno Haible  <bruno@clisp.org>
13321
13322         * gnulib-tool (func_version): Update.
13323
13324 2005-08-24  Bruno Haible  <bruno@clisp.org>
13325
13326         * gnulib-tool (func_import, func_create_testdir,
13327         func_create_megatestdir): Quote all autoconf macro arguments.
13328
13329 2005-08-24  Bruno Haible  <bruno@clisp.org>
13330
13331         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
13332         option --force, because --force causes the aclocal.m4 of each
13333         subdirectory to be newer than the corresponding config.h.in.
13334
13335 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13336
13337         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
13338         All contents moved to gl_REGEX.
13339         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
13340         assume that it does.
13341
13342 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13343
13344         * lib/regex.h (REG_NOSYS)
13345         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
13346         Define, since POSIX requires it as of 2001.
13347         (_REG_ENOSYS)
13348         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
13349         New private symbol, used to keep the enum signed in all cases.
13350         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
13351         Youngman in
13352         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
13353
13354         * lib/regex_internal.c (re_string_skip_chars, register_state):
13355         (calc_state_hash):
13356         Remove forward decls; no longer needed now that we use prototypes.
13357         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
13358         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
13359         (clean_state_log_if_needed): Likewise.
13360
13361 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13362
13363         * config/srclist.txt: Add glibc bugs 1231-1233.
13364
13365 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13366
13367         Fix problems reported by Sam Steingold in
13368         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
13369         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
13370         assumed that reg_errcode_t is a signed type, which is not
13371         necessarily true if _XOPEN_SOURCE is not defined.
13372         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
13373         since some compilers warn about it otherwise.
13374
13375 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13376
13377         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
13378         (init_word_char, create_initial_state, duplicate_node_closure):
13379         (fetch_token, peek_token_bracket, build_range_exp):
13380         (build_collating_symbol): Remove forward decls; no longer needed
13381         now that we use prototypes.
13382
13383         * lib/regcomp.c:
13384         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
13385         (re_compile_fastmap_iter, regcomp, regerror, regfree):
13386         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
13387         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
13388         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
13389         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
13390         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
13391         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
13392         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
13393         (build_range_exp, build_collating_symbol, parse_bracket_exp):
13394         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
13395         (build_charclass, build_charclass_op, fetch_number, create_tree):
13396         (create_token_tree, mark_opt_subexp, duplicate_tree):
13397         Use prototypes rather than old-style definitions.
13398
13399         * lib/regex_internal.c:
13400         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
13401         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
13402         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
13403         (re_string_reconstruct, re_string_peek_byte_case):
13404         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
13405         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
13406         (re_node_set_init_copy, re_node_set_add_intersect):
13407         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13408         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13409         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
13410         (re_acquire_state, re_acquire_state_context, register_state):
13411         (create_ci_newstate, create_cd_newstate, free_state):
13412         Likewise.
13413         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
13414         re_search_2):
13415         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
13416         (re_search_internal, prune_impossible_nodes):
13417         (acquire_init_state_context, check_matching, static):
13418         (check_halt_node_context, check_halt_state_context, proceed_next_node):
13419         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
13420         (update_regs, sift_states_backward, build_sifted_states):
13421         (clean_state_log_if_needed, merge_state_array):
13422         (update_cur_sifted_state, add_epsilon_src_nodes):
13423         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
13424         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
13425         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
13426         (find_recover_state, check_subexp_matching_top, transit_state_mb):
13427         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
13428         (check_arrival, check_arrival_add_next_nodes):
13429         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
13430         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
13431         (check_node_accept_bytes, check_node_accept, extend_buffers):
13432         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
13433         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
13434         (sift_ctx_init):
13435         Likewise.
13436
13437         * lib/regex_internal.h:
13438         (re_string_allocate, re_string_construct, re_string_reconstruct):
13439         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
13440         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
13441         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
13442         (re_string_context_at, re_string_peek_byte_case):
13443         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
13444         is defined, since we now use prototypes always.
13445
13446         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
13447         C89 or better.  All uses removed.
13448
13449 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13450
13451         * config/srclist.txt: Add glibc bugs 1220-1227.
13452
13453 2005-08-20  Jim Meyering  <jim@meyering.net>
13454
13455         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
13456         of unused local, dfa.
13457
13458 2005-08-20  Bruno Haible  <bruno@clisp.org>
13459
13460         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
13461
13462 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13463
13464         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
13465         (re_node_set_insert_last, re_dfa_add_node):
13466         Rename local variables to avoid GCC shadowing warnings.
13467
13468 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13469
13470         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
13471         [defined lint]: Suppress bogus uninitialized-variable warnings.
13472
13473         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
13474         and let the caller return REG_ESPACE if out of space.  This
13475         removes an uninitialied-variable warning with GCC 4.0.1, and also
13476         avoids taking the address of a local variable.  All callers
13477         changed.
13478
13479 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13480
13481         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
13482         $LIBCSRC/posix/regexec.c.
13483         Add glibc bug 1217 for regcomp.c.
13484
13485 2005-08-19  Jim Meyering  <jim@meyering.net>
13486
13487         * lib/regexec.c (proceed_next_node): Redo local variables to
13488         avoid GCC shadowing warnings.
13489
13490 2005-08-18  Bruno Haible  <bruno@clisp.org>
13491
13492         * lib/strstr.c (strstr): Fix return value in multibyte case.
13493         * lib/strcasestr.c (strcasestr): Likewise.
13494
13495 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13496
13497         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
13498
13499 2005-08-17  Jim Meyering  <jim@meyering.net>
13500
13501         Make the %s format (seconds since the epoch) work for a negative
13502         number and when used with a zero-padded field width, e.g. %015s.
13503
13504         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
13505         label so that it precedes the code to set `digits'.  Otherwise,
13506         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
13507         print `00-22'.  Now, it prints `-0022', as it should.
13508
13509 2005-08-17  Bruno Haible  <bruno@clisp.org>
13510
13511         * modules/strstr (Files): Add m4/mbrtowc.m4.
13512         (Depends-on): Add mbuiter.
13513
13514 2005-08-17  Bruno Haible  <bruno@clisp.org>
13515
13516         * modules/strcasestr: New file.
13517         * MODULES.html.sh (String handling, based on ANSI C 89): Add
13518         strcasestr.
13519
13520 2005-08-17  Bruno Haible  <bruno@clisp.org>
13521
13522         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
13523
13524 2005-08-17  Bruno Haible  <bruno@clisp.org>
13525
13526         * modules/mbuiter: New file.
13527         * MODULES.html.sh (Extended multibyte and wide character utilities):
13528         Add mbuiter.
13529
13530 2005-08-17  Bruno Haible  <bruno@clisp.org>
13531
13532         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
13533         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
13534
13535 2005-08-17  Bruno Haible  <bruno@clisp.org>
13536
13537         * m4/strcasestr.m4: New file.
13538
13539 2005-08-17  Bruno Haible  <bruno@clisp.org>
13540
13541         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
13542         * lib/strstr.c: Completely rewritten, with multibyte locale support.
13543
13544 2005-08-17  Bruno Haible  <bruno@clisp.org>
13545
13546         * lib/strcasestr.h: New file.
13547         * lib/strcasestr.c: New file.
13548
13549 2005-08-17  Bruno Haible  <bruno@clisp.org>
13550
13551         * lib/strcasecmp.c: Use mbuiter.h.
13552
13553 2005-08-17  Bruno Haible  <bruno@clisp.org>
13554
13555         * lib/mbuiter.h: New file.
13556
13557 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
13558
13559         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
13560         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
13561         and gl_GETOPT are both invoked via different paths (as happens
13562         with GNU tar CVS because it uses both argp and getopt), the former
13563         wins.
13564
13565 2005-08-16  Bruno Haible  <bruno@clisp.org>
13566
13567         * modules/tls: New file.
13568         * MODULES.html.sh (Multithreading): Add tls.
13569
13570 2005-08-16  Bruno Haible  <bruno@clisp.org>
13571
13572         * modules/strnlen1: New file.
13573         * MODULES.html.sh (String handling): Add strnlen1.
13574
13575 2005-08-16  Bruno Haible  <bruno@clisp.org>
13576
13577         * modules/strcase (Files): Add m4/mbrtowc.m4.
13578         (Depends-on): Add strnlen1, mbchar.
13579
13580 2005-08-16  Bruno Haible  <bruno@clisp.org>
13581
13582         * modules/mbiter: New file.
13583         * MODULES.html.sh (Extended multibyte and wide character utilities):
13584         Add mbiter.
13585
13586 2005-08-16  Bruno Haible  <bruno@clisp.org>
13587
13588         * modules/mbfile: New file.
13589         * MODULES.html.sh (Extended multibyte and wide character utilities):
13590         Add mbfile.
13591
13592 2005-08-16  Bruno Haible  <bruno@clisp.org>
13593
13594         * modules/mbchar: New file.
13595         * MODULES.html.sh (Extended multibyte and wide character utilities):
13596         New section.
13597
13598 2005-08-16  Bruno Haible  <bruno@clisp.org>
13599
13600         * m4/tls.m4: New file, from GNU gettext.
13601
13602 2005-08-16  Bruno Haible  <bruno@clisp.org>
13603
13604         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
13605         always.
13606         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
13607
13608 2005-08-16  Bruno Haible  <bruno@clisp.org>
13609
13610         * m4/mbiter.m4: New file.
13611
13612 2005-08-16  Bruno Haible  <bruno@clisp.org>
13613
13614         * m4/mbfile.m4: New file.
13615
13616 2005-08-16  Bruno Haible  <bruno@clisp.org>
13617
13618         * m4/mbchar.m4: New file.
13619
13620 2005-08-16  Bruno Haible  <bruno@clisp.org>
13621
13622         * lib/tls.h: New file, from GNU gettext.
13623         * lib/tls.c: New file, from GNU gettext.
13624
13625 2005-08-16  Bruno Haible  <bruno@clisp.org>
13626
13627         * lib/strnlen1.h: New file.
13628         * lib/strnlen1.c: New file.
13629
13630 2005-08-16  Bruno Haible  <bruno@clisp.org>
13631
13632         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
13633         (mbi_init): Update.
13634         (mbi_avail, mbi_advance): Let the iteration end before the terminating
13635         NUL byte, not after it.
13636
13637 2005-08-16  Bruno Haible  <bruno@clisp.org>
13638
13639         * lib/strcase.h (strcasecmp): Add note in comments.
13640         * lib/strncasecmp.c: Use code from strcasecmp.c.
13641         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
13642         (strcasecmp): Work correctly in multibyte locales.
13643
13644 2005-08-16  Bruno Haible  <bruno@clisp.org>
13645
13646         * lib/mbiter.h: New file.
13647
13648 2005-08-16  Bruno Haible  <bruno@clisp.org>
13649
13650         * lib/mbfile.h: New file.
13651
13652 2005-08-16  Bruno Haible  <bruno@clisp.org>
13653
13654         * lib/mbchar.h: New file.
13655         * lib/mbchar.c: New file.
13656
13657 2005-08-16  Bruno Haible  <bruno@clisp.org>
13658
13659         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
13660         the valid ones. Makes the comparison operations transitive:
13661         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
13662         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
13663
13664 2005-08-15  Simon Josefsson  <jas@extundo.com>
13665
13666         * modules/ssize_t (License): Change to 'unlimited'.
13667
13668         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
13669
13670 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13671
13672         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
13673         Add comments for each pending glibc patch.
13674
13675 2005-08-15  Bruno Haible  <bruno@clisp.org>
13676
13677         * lib/regex.h (__restrict_arr): Don't define to __restrict if
13678         __cplusplus is defined.
13679
13680 2005-08-14  Jim Meyering  <jim@meyering.net>
13681
13682         Sync from coreutils.
13683
13684         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
13685         Use the hash-table-based cycle-detection code not just when
13686         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
13687         Reported by James Youngman in
13688         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
13689         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
13690         FTS_TIGHT_CYCLE_CHECK.
13691         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
13692         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
13693         once again.
13694         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
13695         * lib/fts.c (fd_safer): Remove decl.
13696         Include fcntl--.h rather than unistd-safer.h
13697         (fts_safe_changedir): Don't call fd_safer; no longer needed
13698         now that we include fcntl--.h.
13699
13700 2005-08-12  Simon Josefsson  <jas@extundo.com>
13701
13702         * modules/getndelim2: Use ssize_t module.
13703         * modules/getnline: Likewise.
13704         * modules/safe-read: Likewise.
13705         * modules/xreadlink: Likewise.
13706
13707         * modules/ssize_t: New file.
13708
13709 2005-08-12  Simon Josefsson  <jas@extundo.com>
13710
13711         * m4/readline.m4: Look for termcap, curses or ncurses if required.
13712
13713 2005-08-12  Simon Josefsson  <jas@extundo.com>
13714
13715         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13716         ssize_t.
13717
13718 2005-08-12  Simon Josefsson  <jas@extundo.com>
13719
13720         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
13721         readline, getdelim and check_version.
13722         (Support for systems lacking ISO C 99: Sizes of integer types):
13723         Add size_max.
13724
13725 2005-08-12  Bruno Haible  <bruno@clisp.org>
13726
13727         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
13728
13729 2005-08-11  Simon Josefsson  <jas@extundo.com>
13730
13731         * modules/readline: New file.
13732
13733         * modules/strnlen (Files): Add strnlen.h.
13734
13735 2005-08-11  Simon Josefsson  <jas@extundo.com>
13736
13737         * m4/readline.m4: New file.
13738
13739 2005-08-11  Simon Josefsson  <jas@extundo.com>
13740
13741         * lib/readline.h, readline.c: New file.
13742
13743 2005-08-11  Simon Josefsson  <jas@extundo.com>
13744
13745         * doc/gnulib.texi (Initial import, Finishing touches): Mention
13746         gl_AVOID.
13747
13748 2005-08-11  Bruno Haible  <bruno@clisp.org>
13749
13750         * lib/strnlen.h (strnlen): Change parameter name to match comment.
13751
13752 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
13753
13754         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
13755
13756 2005-08-10  Simon Josefsson  <jas@extundo.com>
13757
13758         * tests/test-iconvme.c: New file.
13759
13760 2005-08-10  Simon Josefsson  <jas@extundo.com>
13761
13762         * m4/strnlen.m4: New file.
13763
13764         * m4/strndup.m4: Don't check for strnlen declaration, done in
13765         strnlen.m4.
13766
13767 2005-08-10  Simon Josefsson  <jas@extundo.com>
13768
13769         * lib/strndup.c: Use strnlen.h.
13770
13771         * lib/strnlen.h: New file.
13772
13773 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
13774
13775         * README: Typos.
13776
13777 2005-08-02  Simon Josefsson  <jas@extundo.com>
13778
13779         * modules/readline: New file.
13780
13781 2005-08-02  Simon Josefsson  <jas@extundo.com>
13782
13783         * modules/getdelim: New file.
13784
13785         * modules/getline: Rewrite, don't use getndelim2.
13786
13787 2005-08-02  Simon Josefsson  <jas@extundo.com>
13788
13789         * m4/getline.m4: Separate out getdelim stuff into separate module.
13790
13791         * m4/getdelim.m4: New file.
13792
13793 2005-08-02  Simon Josefsson  <jas@extundo.com>
13794
13795         * lib/getline.h, getline.c: Rewrite.
13796
13797         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
13798
13799 2005-07-31  Bruno Haible  <bruno@clisp.org>
13800
13801         * lib/lock.h (gl_lock_initializer): New macro.
13802         (gl_lock_define_initialized): Use it.
13803         (gl_rwlock_initializer): New macro.
13804         (gl_rwlock_define_initialized): Use it.
13805         (gl_recursive_lock_initializer): New macro.
13806         (gl_recursive_lock_define_initialized): Use it.
13807
13808 2005-07-30  Karl Berry  <karl@gnu.org>
13809
13810         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
13811         Report from Ben Pfaff, regarding getopt.
13812
13813 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
13814
13815         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
13816         normal way.
13817         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
13818         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
13819         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
13820         (gl_GETOPT): Use the new macros.  Most of the implementation
13821         is moved to the new macros.  This is for programs like Emacs
13822         that don't want all the functionality of gl_GETOPT.
13823
13824 2005-07-26  Bruno Haible  <bruno@clisp.org>
13825
13826         * m4/lock.m4: Update from GNU gettext.
13827
13828 2005-07-26  Bruno Haible  <bruno@clisp.org>
13829
13830         * lib/lock.h: Update from GNU gettext.
13831         * lib/lock.c: Update from GNU gettext.
13832
13833 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13834
13835         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
13836         obsolescent AC_TRY_RUN.  Include the default includes files, for
13837         'exit'.
13838
13839 2005-07-24  Bruno Haible  <bruno@clisp.org>
13840
13841         * modules/visibility: New file.
13842         * MODULES.html.sh (Misc): Add visibility.
13843
13844 2005-07-24  Bruno Haible  <bruno@clisp.org>
13845
13846         * m4/visibility.m4: New file.
13847
13848 2005-07-24  Bruno Haible  <bruno@clisp.org>
13849
13850         * doc/visibility.texi: New file.
13851
13852 2005-07-22  Bruno Haible  <bruno@clisp.org>
13853
13854         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
13855         $(ALLOCA_H), redundant through BUILT_SOURCES.
13856         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
13857         redundant through BUILT_SOURCES.
13858         * modules/byteswap (Makefile.am): Remove explicit dependency on
13859         $(BYTESWAP_H), redundant through BUILT_SOURCES.
13860         * modules/fnmatch (Makefile.am): Remove explicit dependency on
13861         $(FNMATCH_H), redundant through BUILT_SOURCES.
13862         * modules/getopt (Makefile.am): Remove explicit dependency on
13863         $(GETOPT_H), redundant through BUILT_SOURCES.
13864         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
13865         redundant through BUILT_SOURCES.
13866         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
13867         redundant through BUILT_SOURCES.
13868         * modules/stdbool (Makefile.am): Remove explicit dependency on
13869         $(STDBOOL_H), redundant through BUILT_SOURCES.
13870         * modules/stdint (Makefile.am): Remove explicit dependency on
13871         $(STDINT_H), redundant through BUILT_SOURCES.
13872         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
13873         Remove explicit dependency on $(SYSEXITS_H).
13874         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
13875
13876 2005-07-18  Simon Josefsson  <jas@extundo.com>
13877
13878         * lib/check-version.c (check_version): Accept identical versions too.
13879
13880 2005-07-18  Bruno Haible  <bruno@clisp.org>
13881
13882         * modules/lock: New file.
13883         * MODULES.html.sh (Multithreading): New section.
13884
13885 2005-07-18  Bruno Haible  <bruno@clisp.org>
13886
13887         * m4/lock.m4: New file, from GNU gettext.
13888
13889 2005-07-18  Bruno Haible  <bruno@clisp.org>
13890
13891         * lib/lock.h: New file, from GNU gettext.
13892         * lib/lock.c: New file, from GNU gettext.
13893
13894 2005-07-18  Bruno Haible  <bruno@clisp.org>
13895
13896         * lib/lock.h (gl_once_t): New type.
13897         (gl_once_define, gl_once): New macros.
13898         * lib/lock.c (fresh_once): New variable.
13899         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
13900         functions.
13901
13902 2005-07-16  Simon Josefsson  <jas@extundo.com>
13903
13904         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
13905         workaround, suggested by Bruno.
13906
13907 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
13908
13909         * modules/xalloc (Depends-on): Add xalloc-die.
13910         * modules/xvasprintf (Depends-on): Add xalloc-die.
13911
13912 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
13913
13914         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
13915         with a minor change.
13916
13917 2005-07-15  Bruno Haible  <bruno@clisp.org>
13918
13919         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
13920         When using lib/poll.c, define poll as rpl_poll.
13921
13922 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
13923
13924         * modules/argp (Depends-on): Remove unlocked-io.
13925
13926 2005-07-14  Derek Price  <derek@ximbiot.com>
13927
13928         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
13929         for glob symlink bug.
13930
13931 2005-07-14  Bruno Haible  <bruno@clisp.org>
13932
13933         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
13934         Instead, test for *_unlocked function declarations directly.
13935
13936 2005-07-11  Simon Josefsson  <jas@extundo.com>
13937
13938         * modules/size_max: New file.
13939
13940         * modules/xsize: Depend on size_max module for size_max.m4.
13941
13942 2005-07-11  Simon Josefsson  <jas@extundo.com>
13943
13944         * lib/size_max.h: New file.
13945
13946 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
13947
13948         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
13949         copyright symbol and the year.
13950         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
13951         (version_etc_va): Use parameterized copyright notice.
13952         Reword to conform to the current GNU coding standards.
13953
13954 2005-07-11  Karl Berry  <karl@gnu.org>
13955
13956         * doc/gnulib.texi (Quoting): new node.
13957         (Initial import): more info, from Patrice.
13958
13959 2005-07-11  Bruno Haible  <bruno@clisp.org>
13960
13961         * gnulib-tool (func_usage): Document option --avoid.
13962         (Command line options): Handle --avoid.
13963         (func_acceptable): New function.
13964         (func_modules_transitive_closure): Use it.
13965
13966 2005-07-11  Bruno Haible  <bruno@clisp.org>
13967
13968         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
13969         Reported by Jim Meyering.
13970
13971 2005-07-10  Bruno Haible  <bruno@clisp.org>
13972
13973         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
13974         Needed when size_t is smaller than 'unsigned int'.
13975         Reported by Paul Eggert.
13976
13977 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13978
13979         * modules/argp (Depends-on): Add unlocked-io
13980
13981 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13982
13983         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
13984         block of defines.
13985
13986 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13987
13988         * config/srclist.txt: Comment out regcomp.c, since we have a porting
13989         fix now.
13990
13991 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
13992         and Paul Eggert  <eggert@cs.ucla.edu>
13993
13994         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
13995         in wint_t, not wchar_t.  Remove now-unnecessary cast.
13996
13997 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
13998
13999         * modules/regex (Files): Add lib/regex_internal.c,
14000         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
14001         (Depends-on): Add extensions.
14002         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
14003
14004 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14005
14006         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
14007         pathconf.
14008         * m4/same.m4 (gl_SAME): Likewise.
14009         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
14010
14011         * m4/regex.m4: Adjust to new libc regex implementation.
14012         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
14013         all the .c and .h parts of (the new) regex.
14014         Quote the m4 stuff better.
14015         Check for RE_ICASE bug of old gnulib.
14016         Check for REG_STARTEND of recent libc.
14017         Rename local variables from jm_* to gl_*.
14018         Quote operand of "test -f".
14019         Say "recent enough" version of libc, not "version 2".
14020         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
14021         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
14022         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
14023         Remove check for btowc, isascii.
14024         Require AM_LANGINFO_CODESET.
14025
14026 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14027
14028         * lib/regex.c, regex.h: Sync from libc.
14029         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
14030         * lib/regexec.c:
14031         New files, synced from libc, except that regex_internal.h
14032         currently has a small porting fix.
14033
14034 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
14035
14036         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
14037         regex_internal.c, regexec.c.
14038         Add regex_internal.h too, but as a comment, since the libc version
14039         is currently broken in gnulib mode.
14040
14041 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14042
14043         Support programs like Emacs that use gnulib but not gettext.
14044         * MODULES.html.sh (Internationalization functions): Add gettext-h.
14045         * modules/gettext-h: New file.
14046         * modules/gettext (Files): Remove lib/gettext.h.
14047         (Depends-on): Add gettext-h.
14048         (Makefile.am): Remove lib_SOURCES.
14049         * modules/argmatch, modules/c-stack, modules/closeout:
14050         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
14051         * modules/execute, modules/file-type, modules/getaddrinfo:
14052         * modules/getopt, modules/human, modules/javacomp:
14053         * modules/javaexec, modules/mkdir-p, modules/obstack:
14054         * modules/openat, modules/pagealign_alloc, modules/pipe:
14055         * modules/quotearg, modules/regex, modules/rpmatch:
14056         * modules/unicodeio, modules/userspec, modules/version-etc:
14057         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
14058         * modules/xsetenv:
14059         Depend on gettext-h, not gettext.
14060
14061 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
14062
14063         * gnulib-tool (func_import): Add support for 'public domain' license.
14064         * modules/alloca, modules/atexit, modules/memmove:
14065         Now public domain, not GPL.
14066         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
14067         * modules/realloc, modules/strerror, modules/strtod:
14068         Now LGPL, not GPL.
14069
14070 2005-07-05  Bruno Haible  <bruno@clisp.org>
14071
14072         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
14073         autoconf CVS. Needed for mingw.
14074
14075 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14076
14077         Remove the dependency of the strftime module on the tzset module.
14078         * modules/strftime (Depends-on): Remove dependency on tzset.
14079
14080 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14081
14082         Remove the dependency of the strftime module on the tzset module.
14083         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
14084         gl_FUNC_TZSET_CLOBBER.
14085
14086 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14087
14088         Remove the dependency of the strftime module on the tzset module.
14089         * lib/strftime.c (my_strftime)
14090         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
14091         Copy the input structure, to work around some of the bug with
14092         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
14093         Solaris releases, you should also use the tzset module, but we won't
14094         require it as a dependency any more since we don't want LGPLed code
14095         to depend on GPLed code.
14096
14097 2005-07-02  Jim Meyering  <jim@meyering.net>
14098
14099         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
14100         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
14101         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
14102         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
14103
14104 2005-07-02  Jim Meyering  <jim@meyering.net>
14105
14106         * lib/backupfile.c (backup_args): Change a `0' to NULL.
14107
14108 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
14109
14110         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
14111         declares only 'struct timespec;' (!).
14112
14113 2005-07-01  Jim Meyering  <jim@meyering.net>
14114
14115         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
14116         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
14117         * lib/save-cwd.c, tempname.c:
14118         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
14119         and don't include <sys/file.h>).
14120
14121 2005-06-29  Jim Meyering  <jim@meyering.net>
14122
14123         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
14124         type name.  Use the variable name instead.
14125         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
14126         Likewise.
14127
14128 2005-06-28  Simon Josefsson  <jas@extundo.com>
14129
14130         * modules/check-version (Files): Add check-version.m4.
14131
14132 2005-06-28  Simon Josefsson  <jas@extundo.com>
14133
14134         * m4/check-version.m4: New file, suggested by Jim Meyering
14135         <jim@meyering.net>.
14136
14137 2005-06-28  Simon Josefsson  <jas@extundo.com>
14138
14139         * lib/check-version.h, lib/check-version.c: New files.
14140
14141 2005-06-28  Simon Josefsson  <jas@extundo.com>
14142
14143         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
14144         collision with global variable.  Better indentation.  Don't
14145         increment buffer pointer beyond buffer end.  Based on comments
14146         from Paul Eggert <eggert@cs.ucla.edu>.
14147
14148         * lib/base64.h: Indent.
14149
14150 2005-06-28  Simon Josefsson  <jas@extundo.com>
14151
14152         * doc/gnulib.texi (Library version handling): New section.
14153
14154 2005-06-28  Jim Meyering  <jim@meyering.net>
14155
14156         * check-module (find_included_lib_files): Hard-code another
14157         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
14158         but modules/fts-lgpl (correctly) does not list those files.
14159
14160         * modules/canonicalize (Files): Add lib/pathmax.h.
14161
14162 2005-06-25  Simon Josefsson  <jas@extundo.com>
14163
14164         * modules/check-version: New file.
14165
14166 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
14167
14168         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
14169         initializer of struct addrinfo, as an indication that we don't
14170         care how many members the structure has.
14171
14172 2005-06-24  Derek Price  <derek@ximbiot.com>
14173         and Bruno Haible  <bruno@clisp.org>
14174
14175         Remove stat module & update lstat.
14176         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
14177         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14178         * m4/stat.m4: Remove this file.
14179
14180 2005-06-24  Derek Price  <derek@ximbiot.com>
14181         and Bruno Haible  <bruno@clisp.org>
14182
14183         Remove stat module & update lstat.
14184         * lib/stat.c: Remove this file...
14185         (slash_aware_lstat): ...moving this content and its support...
14186         * lib/lstat.c (rpl_lstat): ...into here.
14187         * lib/lstat.h: New file.
14188
14189 2005-06-24  Derek Price  <derek@ximbiot.com>
14190         and Bruno Haible  <bruno@clisp.org>
14191
14192         Remove stat module & update lstat.
14193         * config/srclist.txt (libc sources): Remove stat.
14194
14195 2005-06-24  Derek Price  <derek@ximbiot.com>
14196         and Bruno Haible  <bruno@clisp.org>
14197
14198         Remove stat module & update lstat.
14199         * MODULES.html.sh (stat): Remove.
14200         * MODULES.html: Regenerated.
14201         * modules/lstat (Description): Correct function name.
14202         (Files): Add "lstat.h".
14203         (Depends-on): Remove stat, add xalloc, stat-macros.
14204         * modules/stat: Remove this file.
14205         (Include): Add "lstat.h", remove <sys/stat.h>.
14206
14207 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
14208
14209         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
14210         (ranged_convert): Don't save conversion in a temporary struct.
14211         This causes a warning with GCC 4.0.0, and anyway in the typical
14212         case it's not worth the extra 100 bytes or so of code.
14213         (ranged_convert, __mktime_internal): When calling a function via a
14214         pointer P, use P () rather than (*P) (), as we now assume C89 or
14215         better.
14216
14217 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14218
14219         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
14220         "who -r" failed to give output.  Problem reported by Tim Waugh.
14221
14222         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
14223         (xcalloc): Use it to avoid needless tests.
14224         Problem reported by Jim Meyering.
14225
14226 2005-06-20  Derek Price  <derek@ximbiot.com>
14227
14228         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
14229         unnecessary for Autoconfs > 2.59c.
14230
14231 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14232
14233         * lib/argp.h (__option_is_short): Check upper limit of
14234         __key. Isprint() requires its argument to have the value
14235         of an unsigned char or EOF.
14236
14237 2005-06-16  Jim Meyering  <jim@meyering.net>
14238
14239         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
14240         when either N or S is zero.
14241
14242 2005-06-16  Derek Price  <derek@ximbiot.com>
14243
14244         * m4/bison.m4: Declare YACC & YFLAGS precious.
14245
14246 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
14247
14248         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
14249         multibyte string or pattern, fall back on unibyte matching.
14250         Problem reported by James Youngman.
14251
14252 2005-06-08  Bruno Haible  <bruno@clisp.org>
14253
14254         * modules/csharpcomp: New file.
14255         * MODULES.html.sh (C#): Add csharpcomp.
14256
14257 2005-06-08  Bruno Haible  <bruno@clisp.org>
14258
14259         * m4/csharpcomp.m4: New file, from GNU gettext.
14260
14261 2005-06-08  Bruno Haible  <bruno@clisp.org>
14262
14263         * lib/csharpcomp.h: New file, from GNU gettext.
14264         * lib/csharpcomp.c: New file, from GNU gettext.
14265         * lib/csharpcomp.sh.in: New file, from GNU gettext.
14266
14267 2005-06-08  Bruno Haible  <bruno@clisp.org>
14268
14269         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
14270         warning on mingw.
14271
14272 2005-06-07  Derek Price  <derek@ximbiot.com>
14273
14274         Sync from CVS.
14275         * lib/glob_.h: Indent nested #ifdef.
14276
14277 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14278
14279         Sync from coreutils.
14280         Use "file name" when talking about file names, instead of "filename"
14281         or "path", as per the GNU coding standards.
14282         * lib/mkdir-p.c: Renamed from makepath.c.
14283         (make_dir_parents): Renamed from make_path.  All callers changed.
14284         * lib/mkdir-p.h: Likewise.  All includers changed.
14285         * lib/filenamecat.c: Renamed from path-concat.c.
14286         (file_name_concat): Renamed from path_concat.  All callers changed.
14287         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
14288         * lib/filenamecat.h: Likewise.  All includers changed.
14289         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
14290         in comments or local variable names.
14291         * lib/basename.c: Likewise.
14292         * lib/canonicalize.c, canonicalize.h: Likewise.
14293         * lib/dirname.c, dirname.h: Likewise.
14294         * lib/euidaccess.c: Likewise.
14295         * lib/exclude.c: Likewise
14296         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
14297         * lib/fsusage.c, fsuage.h: Likewise.
14298         * lib/fts.c, fts_.h: Likewise.
14299         * lib/getcwd.c: Likewise.
14300         * lib/getloadavg.c: Likewise.
14301         * lib/mkstemp.c: Likewise.
14302         * lib/mountlist.c, mountlist.h: Likewise.
14303         * lib/openat.c, openat.h: Likewise.
14304         * lib/readlink-stub.c: Likewise.
14305         * lib/readutmp.c, readutmp.h: Likewise.
14306         * lib/rename.c: Likewise.
14307         * lib/rmdir.c: Likewise.
14308         * lib/same.c: Likewise.
14309         * lib/savedir.c: Likewise.
14310         * lib/stripslash.c: Likewise.
14311         * lib/tempname.c: Likewise.
14312         * lib/xreadlink.c: Likewise.
14313         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
14314         All uses changed.
14315         * lib/exclude.h: Likewise.
14316
14317         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
14318         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14319         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
14320         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14321         * lib/pathmax.h: Include <limits.h> unconditionally, since other
14322         files have been getting away with it for years (MORE/BSD 4.3
14323         is extinct now).
14324         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
14325         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
14326
14327         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
14328         Define to 256, not 255, as per modern POSIX.
14329
14330 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14331
14332         Sync from coreutils.
14333         Use "file name" when talking about file names, instead of "filename"
14334         or "path", as per the GNU coding standards.
14335         * MODULES.html.sh: mkdir-p renamed from makepath.
14336         filenamecat renamed from path-concat.
14337         * modules/filenamecat: Renamed from modules/path-concat.
14338         (Files): filenamecat.h and filenamecat.c renamed from
14339         path-concat.h and path-concat.c.
14340         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
14341         (Include): filenamecat.h, not path-concat.h.
14342         * modules/mkdir-p: Renamed from modules/makepath.
14343         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
14344         makepath.c.
14345         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
14346         (Include): mkdir-p.h, not makepath.h.
14347
14348 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
14349
14350         Sync from coreutils.
14351         * m4/mkdir-p.m4: Renamed from makepath.m4.
14352         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
14353         Rename files from makepath.c to mkdir-p.c, and from
14354         makepath.h to mkdir-p.h.
14355         * m4/filenamecat.m4: Renamed from path-concat.m4.
14356         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
14357         Rename files from path-concat.c to filenamecat.c,
14358         and from path-concat.h to filenamecat.h.
14359         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
14360         "file name" in local variables or comments.
14361         * m4/rename.m4: Likewise.
14362
14363 2005-06-01  Bruno Haible  <bruno@clisp.org>
14364
14365         * modules/csharpexec: New file.
14366         * MODULES.html.sh (C#): New section.
14367
14368 2005-06-01  Bruno Haible  <bruno@clisp.org>
14369
14370         * m4/csharp.m4: New file, from GNU gettext.
14371         * m4/csharpexec.m4: New file, from GNU gettext.
14372
14373 2005-06-01  Bruno Haible  <bruno@clisp.org>
14374
14375         * lib/csharpexec.h: New file, from GNU gettext.
14376         * lib/csharpexec.c: New file, from GNU gettext.
14377         * lib/csharpexec.sh.in: New file, from GNU gettext.
14378
14379 2005-05-31  Derek Price  <derek@ximbiot.com>
14380             Paul Eggert  <eggert@cs.ucla.edu>
14381
14382         Sync from cvs.
14383         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
14384
14385 2005-05-31  Derek Price  <derek@ximbiot.com>
14386             Paul Eggert  <eggert@cs.ucla.edu>
14387
14388         Sync from cvs.
14389         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
14390
14391 2005-05-29  Derek Price  <derek@ximbiot.com>
14392
14393         * config/srclist.txt (glob_.h, glob.c): Add these files.
14394
14395 2005-05-29  Derek Price  <derek@ximbiot.com>
14396
14397         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
14398         * modules/glob: New file.
14399         * modules/getlogin_r: Add link to POSIX spec in description.
14400
14401 2005-05-29  Derek Price  <derek@ximbiot.com>
14402             Paul Eggert  <eggert@cs.ucla.edu>
14403
14404         * m4/glob.m4: New file.
14405
14406 2005-05-29  Derek Price  <derek@ximbiot.com>
14407             Paul Eggert  <eggert@cs.ucla.edu>
14408
14409         * lib/glob_.h, lib/glob.c: New files.
14410
14411 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14412
14413         * modules/fts (Files): Remove m4/inttypes-pri.m4.
14414         * modules/fts-lgpl (Depends-on): Remove gettext.
14415
14416 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14417
14418         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
14419         and don't require gt_INTTYPES_PRI.
14420
14421 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14422
14423         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
14424
14425         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
14426         the configuration hassle isn't worth it.
14427         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
14428         (LONGEST_MODIFIER, PRIuMAX): Remove.
14429
14430 2005-05-27  Bruno Haible  <bruno@clisp.org>
14431
14432         * lib/getlogin_r.h: Remove second include of <stddef.h>.
14433
14434 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
14435
14436         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
14437         _POSIX_PTHREAD_SEMANTICS for Solaris.
14438
14439 2005-05-25  Derek Price  <derek@ximbiot.com>
14440
14441         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
14442
14443 2005-05-25  Derek Price  <derek@ximbiot.com>
14444             Paul Eggert  <eggert@cs.ucla.edu>
14445
14446         * modules/getlogin_r, m4/getlogin_r.m4: New files.
14447         * lib/getlogin_r.c, getlogin_r.h: New files.
14448
14449 2005-05-25  Bruno Haible  <bruno@clisp.org>
14450             Derek Price  <derek@ximbiot.com>
14451
14452         * lib/getlogin_r.h: Simplify API documentation.
14453
14454 2005-05-23  Derek Price  <derek@ximbiot.com>
14455
14456         * modules/minmax (Files): Add m4/minmax.m4.
14457         (configure.ac): Add gl_MINMAX.
14458
14459 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14460
14461         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
14462         so that unistd-safer.h (GPL'ed code) need not be included.
14463
14464 2005-05-22  Bruno Haible  <bruno@clisp.org>
14465
14466         * m4/minmax.m4: New file.
14467         Based on a patch by Derek Price <derek@ximbiot.com>.
14468
14469 2005-05-22  Bruno Haible  <bruno@clisp.org>
14470
14471         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
14472         (INT64_MIN): Fix definition.
14473         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
14474
14475         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
14476         NEED_SIGNED_INT_TYPES.
14477
14478         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
14479         HAVE_SYSTEM_INTTYPES.
14480
14481 2005-05-22  Bruno Haible  <bruno@clisp.org>
14482
14483         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
14484         Also include <sys/param.h> if it defines MIN, MAX.
14485         Based on a patch by Derek Price <derek@ximbiot.com>.
14486
14487 2005-05-21  Jim Meyering  <jim@meyering.net>
14488
14489         * modules/fts (Files): Add m4/inttypes-pri.m4.
14490         (Depends-on): Add lstat and remove gettext.  Alphabetize.
14491
14492 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14493
14494         New fts module.
14495         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
14496         (setup_dir, free_dir): New functions.
14497         (enter_dir, leave_dir): Define trivial
14498         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
14499         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
14500         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
14501         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
14502         Move to fts-cycle.c.
14503         (fts_open): Use setup_dir.
14504         (fts_close): Use free_dir.
14505         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
14506         This adds a label and some gotos, but the alternatives were messier.
14507         Check for memory allocation failure when entering a dir.
14508         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
14509         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
14510         (FTS): New member fts_cycle, that is a union that contains the
14511         old active_dir_ht and cycle_state.  All uses changed to mention
14512         fts_cycle.ht and fts_cycle.state.
14513         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
14514         fts.c, with the following changes:
14515         (setup_dir, free_dir): New functions.
14516         (enter_dir): Now returns bool.  Return true if successful, false
14517         if memory exhausted.  All callers changed.
14518         Do not bother partly cleaning up on
14519         memory allocation failure; that is free_dir's job.
14520         However, free ad if hash_insert fails, to avoid memory leak.
14521         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
14522         fts->fts_options to see which union member to use.
14523
14524 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14525
14526         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
14527         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
14528
14529 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14530
14531         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
14532
14533 2005-05-20  Jim Meyering  <jim@meyering.net>
14534
14535         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
14536         Now a macro, to pacify GCC.
14537
14538 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
14539
14540         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
14541         of -1.
14542
14543 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
14544
14545         * lib/chown.c (rpl_chown): Return -1 on failure.
14546
14547 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
14548
14549         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
14550         Don't check for stddef.h.
14551         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
14552         don't use its results.
14553         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
14554         since we include them unconditionally.  Don't require
14555         AM_STDBOOL_H, since stdbool is a prerequisite.
14556         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
14557         since we assume C89 or better.
14558         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
14559         as we don't use their results.
14560         Don't check for fchdir, memmove, memset, strrchr, as we use
14561         them unconditionally.
14562         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
14563         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
14564
14565 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
14566
14567         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
14568         Include <stddef.h> unconditionally, since we assume C89 now.
14569         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
14570         * lib/fts.c: Include fts_.h first, to check interface.
14571         Do not include intprops.h; no longer needed.
14572         Include cycle-check.h and hash.h, since fts_.h no longer does.
14573         Remove unnecessary casts of closedir to void.
14574         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
14575         decide whether to decrement nlinks.
14576         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
14577         (FTS): Use struct hash_table * instead of Hash_table, so that
14578         we no longer need to include hash.h here.
14579
14580 2005-05-18  Jim Meyering  <jim@meyering.net>
14581
14582         * modules/dirfd (License): Change to LGPL.  Most of the code
14583         is already in the public domain.
14584
14585 2005-05-18  Jim Meyering  <jim@meyering.net>
14586
14587         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
14588         Reported by Yoann Vandoorselaere.
14589
14590 2005-05-17  Jim Meyering  <jim@meyering.net>
14591
14592         * m4/fts.m4: New file, from coreutils.
14593
14594 2005-05-17  Jim Meyering  <jim@meyering.net>
14595
14596         * lib/fts.c, lib/fts_.h: New files, from coreutils.
14597
14598 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14599
14600         Sync from coreutils.
14601         * m4/unlinkdir.m4: New file.
14602
14603 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14604
14605         Sync from coreutils.
14606         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
14607         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
14608         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
14609         White space changes only.
14610         * lib/makepath.c (make_path): Port to hosts where leading "//" is
14611         special.
14612         * lib/yesno.c: Include getline.h, not ctype.h.
14613         (yesno): Don't remove leading white space; POSIX doesn't allow it.
14614         Use getline to remove arbitrary restriction on response length.
14615
14616 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14617
14618         * config/srclist-update: Spell out "Street" in FSF postal
14619         mail address; this is the style the FSF seems to prefer.
14620
14621         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
14622         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
14623         this updates FSF postal mail address.
14624
14625         Sync from coreutils.
14626         * modules/unlinkdir: New file.
14627         * modules/yesno (Depends-on): Add getline.
14628         * MODULES.html.sh (File system functions): Add unlinkdir.
14629
14630 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14631
14632         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
14633         lib/strsep.h:
14634         Change the initial comment to refer to GPL, not LGPL.
14635         gnulib-tool will change it to LGPL as needed.
14636
14637         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
14638         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
14639         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
14640         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
14641         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
14642         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
14643         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
14644         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
14645         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
14646         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
14647         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
14648         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
14649         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
14650         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
14651         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
14652         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
14653         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
14654         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
14655         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
14656         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
14657         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
14658         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
14659         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
14660         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
14661         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
14662         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
14663         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
14664         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
14665         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
14666         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
14667         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
14668         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
14669         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
14670         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
14671         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
14672         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
14673         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
14674         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
14675         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
14676         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
14677         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
14678         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
14679         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
14680         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
14681         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
14682         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
14683         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
14684         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
14685         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
14686         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
14687         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
14688         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
14689         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
14690         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
14691         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
14692         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
14693         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
14694         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
14695         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
14696         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
14697         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
14698         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
14699         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
14700         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
14701         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
14702         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
14703         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
14704         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
14705         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
14706         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
14707         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
14708         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
14709         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
14710         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
14711         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
14712         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
14713         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
14714         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
14715         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
14716         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
14717         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
14718         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
14719         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
14720         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
14721         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
14722         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
14723         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
14724         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
14725         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
14726         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
14727         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
14728         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
14729         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
14730         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
14731         lib/yesno.c, lib/yesno.h:
14732         Update FSF postal mail address.
14733
14734 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14735
14736         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
14737         tests/test-memmem.c, tests/test-stpncpy.c:
14738         Update FSF postal mail address.
14739
14740 2005-05-13  Bruno Haible  <bruno@clisp.org>
14741
14742         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
14743         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
14744         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
14745         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
14746         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
14747         Add support for 64-bit integers in the MSVC compiler.
14748
14749 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14750
14751         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
14752
14753 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
14754
14755         * gnulib-tool (func_import): Sort and uniquify recommended includes.
14756
14757 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
14758
14759         * doc/getdate.texi (General date syntax): Don't say that date
14760         date --iso-8601=ns generates acceptable dates; it doesn't yet.
14761         Problem reported by Nic Ferrier.
14762
14763 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14764
14765         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
14766         specified in ai_socktype. Fix invalid ai_protocol
14767         check. ai_protocol is usually set to 0 or depending on
14768         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
14769         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
14770         ai_socktype / ai_protocol in the returned addrinfo structure.
14771
14772 2005-05-10  Simon Josefsson  <jas@extundo.com>
14773
14774         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
14775         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
14776
14777 2005-05-10  Karl Berry  <karl@gnu.org>
14778
14779         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
14780         (from http://www.gnu.org/licenses).
14781         * doc/COPYING.LIB: also rename to COPYING.LESSER.
14782         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
14783         fdl.texi suffices.
14784
14785 2005-05-10  Karl Berry  <karl@gnu.org>
14786
14787         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
14788         (COPYING.DOC): remove.
14789
14790         * config/srclist-update: new FSF address.
14791
14792 2005-05-10  Derek Price  <derek@ximbiot.com>
14793
14794         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
14795         possible.
14796
14797 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14798             Bruno Haible  <bruno@clisp.org>
14799
14800         * modules/inet_ntop: New file.
14801         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14802         inet_ntop.
14803
14804 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14805             Bruno Haible  <bruno@clisp.org>
14806
14807         * m4/inet_ntop.m4: New file.
14808
14809 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14810             Bruno Haible  <bruno@clisp.org>
14811
14812         * lib/inet_ntop.h: New file.
14813         * lib/inet_ntop.c: New file, from glibc with modifications.
14814
14815 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
14816
14817         * modules/time_r (License): Change to LGPL.
14818         * modules/extensions (License): Change to LGPL.  Actually,
14819         the license is more permissive than that, but currently gnulib-tool
14820         doesn't know how to handle more-permissive licenses.
14821
14822         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
14823         Problem reported by Dave Love.
14824
14825 2005-05-08  Jim Meyering  <jim@meyering.net>
14826
14827         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
14828         blank.
14829
14830 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
14831
14832         * modules/argmatch (Depends-on): Add stdbool.
14833         * modules/backupfile (Depends-on): Likewise.
14834         * modules/chdir-long (Depends-on): Likewise.
14835         * modules/closeout (Depends-on): Likewise.
14836         * modules/cycle-check (Depends-on): Likewise.
14837         * modules/dirname (Depends-on): Likewise.
14838         * modules/fnmatch (Depends-on): Likewise.
14839         * modules/fsusage (Depends-on): Likewise.
14840         * modules/fwriteerror (Depends-on): Likewise.
14841         * modules/getcwd (Depends-on): Likewise.
14842         * modules/getloadavg (Depends-on): Likewise.
14843         * modules/hard-locale (Depends-on): Likewise.
14844         * modules/makepath (Depends-on): Likewise.
14845         * modules/mountlist (Depends-on): Likewise.
14846         * modules/nanosleep (Depends-on): Likewise.
14847         * modules/posixtm (Depends-on): Likewise.
14848         * modules/quotearg (Depends-on): Likewise.
14849         * modules/readtokens (Depends-on): Likewise.
14850         * modules/readtokens0 (Depends-on): Likewise.
14851         * modules/readutmp (Depends-on): Likewise.
14852         * modules/save-cwd (Depends-on): Likewise.
14853         * modules/strftime (Depends-on): Likewise.
14854         * modules/userspec (Depends-on): Likewise.
14855         * modules/utimecmp (Depends-on): Likewise.
14856         * modules/xgetcwd (Depends-on): Likewise.
14857         * modules/xnanosleep (Depends-on): Likewise.
14858         * modules/xstrtod (Depends-on): Likewise.
14859         * modules/yesno (Depends-on): Likewise.
14860
14861 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14862
14863         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
14864         needless checks.
14865
14866 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
14867
14868         Merge from coreutils.  Among other things,
14869         add bulletproofing for cases where stdin, stdout, or stderr are closed.
14870         * lib/fd-safer.c: New file.
14871         * lib/fcntl-safer.h, open-safer.c: Remove.
14872         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
14873         * lib/dup-safer.c: Include unistd-safer.h first.
14874         Don't include errno.h.
14875         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
14876         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
14877         * lib/file-type.c: Rely on file-type.h change.
14878         * lib/getloadavg.c: Include unistd-safer.h.
14879         (getloadavg): Use safer open.
14880         * lib/getusershell.c: Include "stdio-safer.h".
14881         (getusershell): Use safer fopen.
14882         * lib/long-options.c (long_options): Use NULL rather than 0.
14883         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
14884         'free'.
14885         * lib/modechange.c: Likewise.
14886         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
14887         (MODE_DONE): New constant.
14888         (struct mode_change): Remove 'next' member.
14889         (make_node_op_equals): New function; like the old one of the
14890         same name, except it allocates an array.
14891         (mode_compile, mode_create_from_ref): Use it.
14892         (mode_compile): Allocate result as an array, not a linked list.
14893         Parse octal string ourself, so that we catch mistakes like "+0".
14894         (mode_adjust): Arg is an array, not a linked list.
14895         * lib/modechange.c: Include stat-macros.h, xalloc.h.
14896         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
14897         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
14898         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
14899         Remove.  This is now stat-macros.h's job.
14900         (talloc): Remove.  All callers replaced by xalloc, so that
14901         our invokers don't have to worry about reporting memory failures.
14902         (make_node_op_equals): Remove.
14903         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
14904         New constants.
14905         (struct mode_change): Moved here from modechange.h.
14906         (mode_append_entry): Remove.
14907         (mode_compile): Remove MASKED_OPS arg, since it encouraged
14908         apps to have incorrect behavior.  Use simpler algorithm for head
14909         and tail.  Don't futz with umask; that's now the job of mode_adjust.
14910         Detect more invalid usages rather than having somewhat-random behavior.
14911         Don't insert an "a=" action, as that leads to incorrect behavior.
14912         (mode_compile, mode_create_from_ref): Return NULL on error instead
14913         of an enum, since now there's only one way to have an error.  All
14914         callers changed.
14915         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
14916         at the correct time.  Simplify calculation of "+u" and its ilk.
14917         Don't mishandle "+X".
14918         (mode_free): Remove "register" and localize decls.
14919         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
14920         (struct mode_change): Move to modechange.c; callers don't
14921         need to see this stuff.
14922         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
14923         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
14924         (mode_change, mode_adjust): Reflect the new signatures noted above.
14925         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
14926         that might redefine system include files.
14927         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
14928         (my_usleep): Use NULL rather than (void *) 0.
14929         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
14930         Use siginterrupt to specify that system calls should be interrupted.
14931         (rpl_nanosleep): Move initialization of suspended closer to call of
14932         my_usleep.
14933         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
14934         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
14935         (desirable_utmp_entry): New function.
14936         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
14937         using x2nrealloc, to simplify logic.
14938         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
14939         size calculation.  Do not assume utmp file is a regular file.
14940         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
14941         (READ_UTMP_CHECK_PIDS): New constant.
14942         * lib/save-cwd.c: Include unistd-safer.h.
14943         (save_cwd): Use fd_safer.
14944         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
14945         [!_LIBC] Include "stat-macros.h" instead.
14946         * lib/unistd-safer.h (fd_safer): New decl.
14947
14948 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
14949
14950         * modules/getloadavg (Depends-on): Add unistd-safer.
14951         * modules/getusershell (Depends-on): Add stdio-safer.
14952         * modules/lstat (Depends-on): Remove xalloc.
14953         * modules/mkstemp (Depends-on): Add stat-macros.
14954         * modules/modechange (Depends-on): Remove xstrtol.
14955         Add stat-macros, xalloc.
14956         * modules/save-cwd (Depends-on): Add unistd-safer.
14957         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
14958         * modules/unistd-safer (Files): Add lib/fd-safer.c
14959         (Makefile.am): Remove lib_SOURCES.
14960
14961         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
14962         Remove fcntl-safer; unistd-safer supersedes it.
14963
14964 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
14965
14966         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
14967         AC_HEADER_STAT.
14968         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
14969         (gl_PREREQ_CHOWN): Remove.
14970         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
14971         it.  Don't require AC_HEADER_STAT.
14972         (gl_PREREQ_LSTAT): Remove.
14973         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
14974         Don't require AC_HEADER_STAT.
14975         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
14976         (gl_PREREQ_RMDIR): Remove.
14977         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
14978         mention stat-macros.h or AC_HEADER_STAT, since we'll make
14979         the stat-macros module a prerequisite.
14980         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
14981         * m4/filemode.m4 (gl_FILEMODE): Likewise.
14982         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
14983         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
14984         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
14985         variable names.
14986         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
14987         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
14988         variable prefixes.
14989         * m4/fcntl-safer.m4: Remove.
14990         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
14991         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
14992         Invoke gl_PREREQ_FD_SAFER.
14993         (gl_PREREQ_FD_SAFER): New macro.
14994         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
14995         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
14996         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
14997         Remove duplicate call to AC_LIBOBJ(readutmp).
14998         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
14999
15000         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
15001         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
15002
15003 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15004
15005         * MODULES.html.sh (Misc): Add byteswap.
15006
15007 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15008
15009         * modules/getcwd (Depends-on): Add extensions.
15010         * modules/openat (Depends-on): Likewise.
15011
15012 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15013
15014         * modules/byteswap: New file.
15015
15016 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15017
15018         * m4/byteswap.m4: New file.
15019
15020 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
15021
15022         * lib/byteswap_.h: New file.
15023
15024 2005-04-25  Karl Berry  <karl@gnu.org>
15025
15026         * m4/gettext.m4: Update from GNU gettext 0.14.4.
15027
15028 2005-04-25  Albert Chin  <china@thewrittenword.com>
15029
15030         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
15031         Toolkit C bug.
15032
15033 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
15034
15035         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
15036         (func_ln_if_changed) Remove forcibly for no error message
15037         in case file does not exist.
15038
15039 2005-04-19  Simon Josefsson  <jas@extundo.com>
15040
15041         * gnulib-tool (Options): Make --symlink mean --symbolic.
15042
15043 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
15044
15045         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
15046
15047 2005-04-16  Simon Josefsson  <jas@extundo.com>
15048
15049         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
15050
15051 2005-04-15  Simon Josefsson  <jas@extundo.com>
15052
15053         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
15054
15055 2005-04-15  Simon Josefsson  <jas@extundo.com>
15056
15057         * gnulib-tool: Rename --symlink to --symbolic.
15058
15059 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
15060
15061         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
15062         symbolic links to files instead of copying/moving.  Add --aux-dir,
15063         specifying directory relative --dir where auxiliary build tools
15064         are placed.
15065
15066 2005-04-14  Bruno Haible  <bruno@clisp.org>
15067
15068         * modules/allocsa (License): Change to LGPL.
15069         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
15070
15071 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
15072
15073         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
15074         that "UTC +1 second" continues to work.  Problem reported
15075         by Dmitry V. Levin.
15076         (relunit_snumber): New rule.
15077         (relunit): Use it.
15078
15079 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
15080
15081         * lib/getdate.y (universal_time_zone_table): New constant.
15082         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
15083         universal_time_zone_table.
15084         (lookup_zone): Prefer universal_time_zone_table to
15085         local_time_zone_table, so that "GMT" time stamps are allowed in
15086         London during the summer.  Problem reported by Ian Abbott.
15087
15088 2005-04-12  Jim Meyering  <jim@meyering.net>
15089
15090         * lib/human.c (humblock): Set *options even when returning due to
15091         xstrtoumax conversion failure.  Thanks to a used-uninitialized
15092         warning from gcc-4.
15093
15094 2005-04-09  Jim Meyering  <jim@meyering.net>
15095
15096         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
15097         -Wuninitialized: initialize tm0.tm_year.
15098
15099 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
15100
15101         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
15102         count, since there's no maximum.  All uses changed.
15103         Add member dsts_seen.
15104         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
15105         not being INT_MAX.
15106         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
15107         Use pc_rels_seen to decide whther a date is absolute.
15108
15109         * lib/getdate.y (number): Don't overwrite year.
15110         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
15111         check.
15112
15113 2005-04-02  Simon Josefsson  <jas@extundo.com>
15114
15115         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
15116         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
15117
15118 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
15119
15120         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
15121         where no absolute path name can be longer than PATH_MAX.
15122
15123 2005-03-27  Jim Meyering  <jim@meyering.net>
15124
15125         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
15126
15127 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
15128
15129         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
15130         "one's complement" -> "ones' complement" in comment, as per Knuth.
15131         "value of type" -> "type or expression" in comment.
15132         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
15133
15134 2005-03-26  Jim Meyering  <jim@meyering.net>
15135
15136         Comment nits.
15137         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
15138         Correct typos: s/or/of/.
15139
15140 2005-03-26  Jim Meyering  <jim@meyering.net>
15141
15142         * modules/check-include-files: Move to ../ and rename to...
15143         * check-module: ...this.
15144
15145 2005-03-25  Jim Meyering  <jim@meyering.net>
15146
15147         * modules/xvasprintf (Files): Add xalloc.h.
15148
15149 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
15150
15151         * modules/gettext (Files): config/config.rpath ->
15152         build-aux/config.rpath
15153         * modules/iconv (Files): Likewise.
15154         Problem reported by Oskar Liljeblad.
15155
15156 2005-03-23  Jim Meyering  <jim@meyering.net>
15157
15158         * modules/check-include-files: New script to check for
15159         missing dependencies, multiple includes, etc.
15160
15161         * modules/c-strtold (Depends-on): Add xalloc.
15162         * modules/c-strtod (Depends-on): Add xalloc.
15163         * modules/hash (Depends-on): Add xalloc.
15164         (Files): Remove lib/xalloc.h.
15165
15166         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
15167         * modules/userspec (Files): Add lib/inttostr.h.
15168
15169 2005-03-23  Jim Meyering  <jim@meyering.net>
15170
15171         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
15172
15173 2005-03-22  Jim Meyering  <jim@meyering.net>
15174
15175         * modules/stat-macros: New module.
15176         * modules/canonicalize, modules/euidaccess, modules/file-type,
15177         * modules/filemode, modules/lchown, modules/makepath,
15178         * modules/rmdir, modules/stat: Depend on new stat-macros module
15179         rather than listing lib/stat-macros.h manually.
15180         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
15181
15182 2005-03-22  Jim Meyering  <jim@meyering.net>
15183
15184         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
15185
15186 2005-03-22  Bruno Haible  <bruno@clisp.org>
15187
15188         * config/srclist.txt: Replace target directory 'config' with
15189         'build-aux'.
15190         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
15191         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
15192         ../build-aux/.
15193
15194 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
15195
15196         * modules/chdir-long (Depends-on): Add mempcpy.
15197
15198         * modules/acl, modules/backupfile, modules/c-strtod,
15199         modules/c-strtold, modules/canon-host, modules/canonicalize,
15200         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
15201         modules/exclude, modules/exitfail, modules/file-type,
15202         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
15203         modules/getdate, modules/getline, modules/getpagesize,
15204         modules/getpass, modules/getugroups, modules/group-member,
15205         modules/hard-locale, modules/hash, modules/human, modules/idcache,
15206         modules/inttostr, modules/long-options, modules/makepath,
15207         modules/md5, modules/memcasecmp, modules/memcoll,
15208         modules/modechange, modules/mountlist, modules/path-concat,
15209         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
15210         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
15211         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
15212         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
15213         modules/strftime, modules/strndup, modules/strverscmp,
15214         modules/timespec, modules/unlocked-io, modules/userspec,
15215         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
15216         modules/yesno:
15217         Remove lib_SOURCES line from Makefile.am section, as this is now
15218         done automatically by the corresponding Autoconf macro.
15219
15220 2005-03-21  Jim Meyering  <jim@meyering.net>
15221
15222         Changes imported from coreutils.
15223
15224         * lib/cycle-check.c: Don't include xalloc.h.
15225
15226         * lib/path-concat.c: Don't include assert.h.
15227         (path_concat): Remove assertion that would have triggered
15228         for ABASE starting with more than one slash.
15229         Reported by Andreas Schwab.
15230
15231         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
15232         properly when ABASE is an absolute file name.
15233         Correct the description of this function.
15234         Include <assert.h>.
15235         Add an assertion and a test driver.
15236         This fixes a bug introduced on 2004-07-02.
15237         Andreas Schwab reported the resulting failure of cp --parents:
15238         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
15239
15240 2005-03-21  Jim Meyering  <jim@meyering.net>
15241
15242         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
15243         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
15244
15245 2005-03-21  Jim Meyering  <jim@meyering.net>
15246         and  Paul Eggert  <eggert@cs.ucla.edu>
15247
15248         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
15249         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
15250         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
15251         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
15252         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
15253         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
15254         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
15255         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
15256         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
15257         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
15258         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
15259         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
15260         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
15261         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
15262         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
15263         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
15264         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
15265         for these modules.
15266
15267 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
15268
15269         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
15270         (which shouldn't happen), generate nothing instead of returning 0
15271         immediately, so that nstrftime (NULL, ...) doesn't return 0.
15272
15273 2005-03-16  Bruno Haible  <bruno@clisp.org>
15274
15275         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
15276         HAVE_LONGLONG_64BIT.
15277
15278 2005-03-16  Bruno Haible  <bruno@clisp.org>
15279
15280         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
15281         HAVE_LONGLONG_64BIT.
15282
15283 2005-03-16  Bruno Haible  <bruno@clisp.org>
15284
15285         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
15286         HAVE_LONGLONG_64BIT.
15287
15288 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
15289
15290         * lib/strftime.c (my_strftime): Prepend space to format so that we can
15291         reliably distinguish strftime failure from empty output on POSIX
15292         hosts.
15293
15294 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
15295
15296         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
15297         (iconv_string): Don't guess a size-zero buffer, as that might cause
15298         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
15299         result would be 'too large', where 'too large' is (heuristically)
15300         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
15301         overflow concerns.  This will prevent some unwanted malloc failures
15302         when the inputs are very large.
15303
15304 2005-03-15  Karl Berry  <karl@gnu.org>
15305
15306         * config/srclist.txt (config.rpath): from gettext.
15307         * config/config.rpath: update.
15308
15309 2005-03-15  Bruno Haible  <bruno@clisp.org>
15310
15311         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
15312         to 'negate'.
15313
15314         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
15315         variable.
15316
15317         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
15318         results.
15319
15320 2005-03-14  Simon Josefsson  <jas@extundo.com>
15321
15322         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
15323         <fx@gnu.org>.
15324
15325 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
15326
15327         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
15328         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
15329         intprops.h.
15330         * lib/strtol.c: Likewise.
15331
15332 2005-03-14  Jim Meyering  <jim@meyering.net>
15333
15334         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
15335         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
15336         to be nonzero so that we (and caller) can detect the difference
15337         between a valid zero-length expansion and an error return, even
15338         when the underlying strftime fails before writing anything into
15339         that location.
15340
15341 2005-03-14  Bruno Haible  <bruno@clisp.org>
15342
15343         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
15344         Update from GNU gettext 0.14.3.
15345
15346 2005-03-10  Jim Meyering  <jim@meyering.net>
15347
15348         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
15349
15350 2005-03-10  Jim Meyering  <jim@meyering.net>
15351
15352         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
15353         so that this module works on systems without fchdir.
15354
15355 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
15356
15357         Factor int-properties macros into a single file, except for
15358         glibc-related files.
15359         * lib/intprops.h: New file.
15360         * lib/getloadavg.c: Include it instead of limits.h.
15361         (INT_STRLEN_BOUND): Remove.
15362         * lib/human.c: Include intprops.h.
15363         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
15364         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
15365         302/1000.
15366         * lib/inttostr.h: Include intprops.h instead of limits.h.
15367         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
15368         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
15369         for consistency with intprops.h.
15370         (time_t_is_integer, twos_complement_arithmetic): Use them.
15371         * lib/sig2str.h: Include <signal.h>, intprops.h.
15372         (INT_STRLEN_BOUND): Remove.
15373         * lib/strftime.c (TYPE_SIGNED): Remove.
15374         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
15375         * lib/strtol.c: Adjust comments to match intprops.h.
15376         * lib/userspec.c: Include intprops.h.
15377         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
15378         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
15379         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
15380         instead of rolling our own expressions.
15381         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
15382
15383         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
15384         instead of int.
15385         (my_strftime): Do not mishandle years close to INT_MAX, by doing
15386         the right thing even if adding 1900 would overflow.  Similarly
15387         for tm_mon + 1 and tm_yday + 1.
15388         Make %Y always equivalent to %C%y, and similarly for %G and %g.
15389         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
15390         (DO_SIGNED_NUMBER): New macro.
15391         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
15392
15393 2005-03-07  Bruno Haible  <bruno@clisp.org>
15394
15395         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
15396
15397 2005-03-07  Bruno Haible  <bruno@clisp.org>
15398
15399         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
15400
15401 2005-03-04  Derek R. Price  <derek@ximbiot.com>
15402
15403         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
15404         (func_import): Only replace files via --import when they have actually
15405         changed.
15406
15407 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15408
15409         * m4/mmap-anon.m4: New file.
15410         * m4/pagealign_alloc.m4: New file.
15411
15412 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15413             Bruno Haible  <bruno@clisp.org>
15414
15415         * modules/pagealign_alloc: New file.
15416         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
15417
15418 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15419             Bruno Haible  <bruno@clisp.org>
15420
15421         * lib/pagealign_alloc.h: New file.
15422         * lib/pagealign_alloc.c: New file.
15423
15424 2005-03-03  Bruno Haible  <bruno@clisp.org>
15425
15426         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
15427         Use an all-permissive copyright notice, recommended by RMS.
15428
15429 2005-03-02  Bruno Haible  <bruno@clisp.org>
15430
15431         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
15432         of AIX, the replacement has to be done only after <string.h> is
15433         included, therefore not in config.h. stpncpy.h does the replacement,
15434         and stpncpy.c uses it.
15435
15436 2005-03-02  Bruno Haible  <bruno@clisp.org>
15437
15438         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
15439         stpncpy.c uses it.
15440
15441 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15442
15443         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
15444         The workaround isn't strictly needed for POSIX conformance, and
15445         it's too much of a pain to configure and maintain.  We'll ask
15446         people to fix their kernels instead.
15447         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
15448         (NANOSLEEP_BUG_WORKAROUND): Remove.
15449         (xnanosleep): Remove the workaround.
15450
15451 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15452
15453         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
15454         Reported by Derek Price.
15455         (Include): Add "timespec.h".
15456
15457         * modules/xnanosleep (Depends-on): Remove gethrxtime.
15458
15459 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15460
15461         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
15462         to detect nanosleep bug.
15463
15464 2005-03-01  Bruno Haible  <bruno@clisp.org>
15465
15466         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
15467
15468 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
15469
15470         * modules/gethrxtime: New file.
15471         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
15472         (Depends-on): Add gethrxtime.
15473         (configure.ac): Add gl_XNANOSLEEP.
15474         (Makefile.am): Remove lib_SOURCES line.
15475
15476 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15477
15478         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
15479         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
15480
15481 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15482
15483         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
15484         * lib/timespec.h (gettime): Return void, since it always
15485         succeeds now.  All uses changed.
15486         * lib/gettime.c (gettime) Likewise.
15487         [HAVE_NANOTIME]: Prefer nanotime.
15488         Assume gettimeofday succeeds, as POSIX requires.
15489         Assime time () succeeds, since other code already does.
15490         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
15491         (timespec_subtract): Remove.
15492         (NANOSLEEP_BUG_WORKAROUND): New constant.
15493         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
15494         things considerably.  Use it only on GNU/Linux hosts, since the
15495         workaround shouldn't be needed elsewhere.
15496
15497 2005-02-24  Bruno Haible  <bruno@clisp.org>
15498
15499         * modules/gettext (Files): Add m4/glibc2.m4.
15500
15501 2005-02-24  Bruno Haible  <bruno@clisp.org>
15502
15503         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
15504         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
15505         * m4/progtest.m4:
15506         Update from GNU gettext 0.14.2.
15507         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
15508
15509 2005-02-24  Bruno Haible  <bruno@clisp.org>
15510
15511         * lib/localcharset.c: Update from GNU gettext 0.14.2.
15512         * lib/config.charset: Update from GNU gettext 0.14.2.
15513
15514 2005-02-24  Bruno Haible  <bruno@clisp.org>
15515
15516         * lib/gettext.h: Update from GNU gettext 0.14.2.
15517
15518 2005-02-23  Simon Josefsson  <jas@extundo.com>
15519
15520         * m4/iconvme.m4: New file.
15521
15522 2005-02-23  Jim Meyering  <jim@meyering.net>
15523
15524         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
15525         change.
15526         Thanks to Bruno Haible for catching it.
15527
15528 2005-02-22  Simon Josefsson  <jas@extundo.com>
15529
15530         * modules/iconvme: New file.
15531
15532         * MODULES.html.sh: Add iconvme.
15533
15534 2005-02-22  Simon Josefsson  <jas@extundo.com>
15535
15536         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
15537
15538 2005-02-22  Simon Josefsson  <jas@extundo.com>
15539
15540         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
15541
15542 2005-02-22  Jim Meyering  <jim@meyering.net>
15543
15544         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
15545         s/ifndef/ifdef/.
15546
15547 2005-02-20  Neil Conway  <neilc@samurai.com>
15548
15549         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
15550         returned by OSX/Darwin if the specified buffer is not large
15551         enough for the hostname.
15552
15553 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15554
15555         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
15556         pass it to _help, otherwise the latter coredumps trying to
15557         dereference state.root_argp.
15558
15559 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15560
15561         * modules/chdir-long (Depends-on): Add memrchr.
15562         * modules/memrchr (Files): Add lib/memrchr.h.
15563         (Include): "memrchr.h".
15564
15565 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15566
15567         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
15568
15569 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15570
15571         * lib/memrchr.h: New file.
15572         * lib/chdir-long.c: Include it.
15573         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
15574         Don't bother including stddef.h.
15575
15576 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
15577
15578         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
15579         inclusion.
15580         Include <sys/types.h>, for dev_t.
15581         (ME_DUMMY, ME_REMOTE): Move from here....
15582         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
15583         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
15584         Dmitry V. Levin.
15585         Include mountlist.h first, to test the interface.
15586
15587 2005-01-29  Bruno Haible  <bruno@clisp.org>
15588
15589         * lib/progname.c (program_name): Initialize.
15590         Needed when linking statically on MacOS X.
15591
15592 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
15593
15594         Sync from coreutils.
15595         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
15596         (Depends-on): Add c-strtod.
15597         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
15598
15599 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
15600
15601         Sync from coreutils.
15602         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
15603
15604         Remove files that are specific to coreutils.
15605         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
15606
15607 2005-01-28  Bruno Haible  <bruno@clisp.org>
15608
15609         * modules/javacomp: New file.
15610         * MODULES.html.sh (Java): Add javacomp.
15611
15612 2005-01-28  Bruno Haible  <bruno@clisp.org>
15613
15614         * m4/javacomp.m4: New file, from GNU gettext.
15615
15616 2005-01-28  Bruno Haible  <bruno@clisp.org>
15617
15618         * lib/javacomp.sh.in: New file, from GNU gettext.
15619         * lib/javacomp.h: New file, from GNU gettext.
15620         * lib/javacomp.c: New file, from GNU gettext.
15621
15622 2005-01-26  Simon Josefsson  <jas@extundo.com>
15623
15624         * lib/gai_strerror.c: Use GPL in header.
15625
15626 2005-01-26  Bruno Haible  <bruno@clisp.org>
15627
15628         * modules/javaexec: New file.
15629         * MODULES.html.sh (Java): Add javaexec.
15630
15631 2005-01-26  Bruno Haible  <bruno@clisp.org>
15632
15633         * m4/javaexec.m4: New file, from GNU gettext.
15634
15635 2005-01-26  Bruno Haible  <bruno@clisp.org>
15636
15637         * lib/javaexec.sh.in: New file, from GNU gettext.
15638         * lib/javaexec.h: New file, from GNU gettext.
15639         * lib/javaexec.c: New file, from GNU gettext.
15640
15641 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15642
15643         * modules/lchown (Depends-on): Remove lchown.h
15644
15645 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15646
15647         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
15648         must be defined if the header file was not found, in order
15649         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
15650
15651 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15652
15653         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
15654         initializers for struct pentry_state.
15655         (__argp_error): Check return value of __asprintf
15656         (__argp_failure): Translate error message
15657
15658         * lib/argp-parse.c: Removed braces around the expansion of N_()
15659
15660 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15661
15662         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
15663         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
15664         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
15665         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
15666         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
15667         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
15668         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
15669         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
15670         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
15671         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
15672         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
15673         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
15674         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
15675         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
15676         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
15677         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
15678         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
15679         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
15680         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
15681         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
15682         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
15683         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
15684         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
15685         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
15686         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
15687         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
15688         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
15689         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
15690         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
15691         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
15692         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
15693         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
15694         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
15695         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
15696         xstrtol.m4, xstrtoumax.m4, yesno.m4:
15697         Use an all-permissive copyright notice, recommended by RMS.
15698
15699 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
15700
15701         * modules/chdir-long (Depends-on): Remove mempcpy.
15702
15703 2005-01-21  Jim Meyering  <jim@meyering.net>
15704
15705         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
15706         same value as for Solaris 9.
15707
15708         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
15709         component length.  This included changing the parameter to be
15710         of type `char *' rather than `char const *'.
15711         * lib/chdir-long.h (chdir_long): Update prototype.
15712
15713         * lib/openat.c (fdopendir, fstatat): New functions.
15714         * lib/openat.h: Include headers required for use of DIR and struct
15715         stat.
15716         [AT_SYMLINK_NOFOLLOW]: Define.
15717         (fdopendir, fstatat): Add prototypes.
15718
15719 2005-01-21  Bruno Haible  <bruno@clisp.org>
15720
15721         * modules/classpath: New file.
15722         * MODULES.html.sh (Java): Add classpath.
15723
15724 2005-01-21  Bruno Haible  <bruno@clisp.org>
15725
15726         * lib/classpath.h: New file, from GNU gettext.
15727         * lib/classpath.c: New file, from GNU gettext.
15728
15729 2005-01-20  Simon Josefsson  <jas@extundo.com>
15730
15731         * modules/version-etc-fsf: New file.
15732
15733 2005-01-20  Simon Josefsson  <jas@extundo.com>
15734
15735         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
15736         * lib/version-etc.c: Remove version_etc_copyright.
15737         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
15738         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
15739
15740 2005-01-20  Simon Josefsson  <jas@extundo.com>
15741
15742         * lib/base64.h (isbase64): Add.
15743
15744         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
15745         using a unsigned prototype, don't inline.
15746         (base64_decode): Use it.
15747
15748 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15749
15750         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
15751         it.
15752
15753 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15754
15755         * lib/save-cwd.c (save_cwd): Remove code to support the case
15756         where fchdir is missing or flaky.
15757
15758 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15759
15760         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
15761
15762 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
15763
15764         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
15765         AC_LIBSOURCES now does this.
15766         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
15767         with new ullong_max module.
15768
15769 2005-01-19  Bruno Haible  <bruno@clisp.org>
15770
15771         * modules/sh-quote: New file.
15772         * MODULES.html.sh (Executing programs): Add sh-quote.
15773
15774 2005-01-19  Bruno Haible  <bruno@clisp.org>
15775
15776         * lib/sh-quote.h: New file, from GNU gettext.
15777         * lib/sh-quote.c: New file, from GNU gettext.
15778
15779 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15780
15781         Merge from coreutils.
15782         * m4/ullong_max.m4: New file.
15783         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
15784         (gl_MACROS): Assume localeconv exists.
15785
15786 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15787
15788         Merge changes from coreutils, as described below in several
15789         changelogs dated today.
15790
15791         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
15792         (O_DIRECTORY): Remove; not needed here, since "." must be
15793         a directory.  All uses removed.
15794         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
15795         universal on Suns, and we also need to test for IRIX.
15796         Revamp code to use 'if' rather than '#if'.
15797         Avoid unnecessary comparison of cwd->desc to 0.
15798
15799         * lib/utimens.c (futimens): Robustify the previous patch, by checking
15800         for known valid error numbers rather than observed invalid ones.
15801
15802 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15803
15804         * modules/ullong_max: New file.
15805
15806         * modules/chdir-long, modules/openat: New files.
15807         * modules/save-cwd (Depends-on): Depend on chdir-long.
15808         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
15809
15810 2005-01-18  Jim Meyering  <jim@meyering.net>
15811
15812         Merge from coreutils.
15813         * m4/chdir-long.m4, m4/openat.m4: New files.
15814         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
15815         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
15816         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
15817         is sane and DOES follow symlinks.  Besides, testing 20 different
15818         systems found no broken chown implementations.
15819         Prompted by a change in rsync's copy of this macro.
15820         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
15821
15822         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
15823
15824         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
15825         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
15826         NULL-means-set-to-current-time semantics.
15827         Remove temporary file immediately, rather than waiting
15828         for configure's at-exit trap code to do it.
15829
15830 2005-01-18  Jim Meyering  <jim@meyering.net>
15831
15832         * lib/version-etc.c (version_etc_copyright): Update copyright date.
15833
15834         * lib/utimens.c (futimens): Account for the fact that futimes
15835         can also fail with errno == ENOSYS or errno == ENOENT.
15836         Patch from Dmitry V. Levin.
15837
15838         Change the name of the robust chdir function from chdir to chdir_long.
15839         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
15840         (restore_cwd): Use chdir_long, not chdir.
15841         * lib/chdir-long.c: Renamed from chdir.c.
15842         * lib/chdir-long.h: Renamed from chdir.h.
15843         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
15844         Hurd.
15845
15846 2005-01-18  Bruno Haible  <bruno@clisp.org>
15847
15848         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
15849         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
15850         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
15851         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
15852         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
15853         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
15854         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
15855         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
15856         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
15857         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
15858         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
15859         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
15860         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
15861         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
15862         Use an all-permissive copyright notice, recommended by RMS.
15863
15864 2005-01-18  Bob Proulx  <bob@proulx.com>
15865
15866         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
15867         simplify offsetof() macro construct to avoid compile failure with
15868         native HP-UX 11.0 ANSI C compiler.
15869
15870 2005-01-17  Bruno Haible  <bruno@clisp.org>
15871
15872         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
15873         redundant because stpncpy.m4 takes care of it.
15874
15875 2005-01-17  Bruno Haible  <bruno@clisp.org>
15876
15877         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
15878
15879 2005-01-17  Bruno Haible  <bruno@clisp.org>
15880
15881         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
15882         used.
15883
15884 2005-01-17  Bruno Haible  <bruno@clisp.org>
15885
15886         * lib/fwriteerror.h (fwriteerror): Change specification to include
15887         fclose.
15888         * lib/fwriteerror.c: Include <stdbool.h>.
15889         (fwriteerror): At the end, close the file stream. Record whether
15890         stdout was already closed.
15891
15892 2005-01-17  Bruno Haible  <bruno@clisp.org>
15893
15894         * lib/execute.c (environ): Declare if needed.
15895         * lib/pipe.c (environ): Likewise.
15896         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
15897
15898 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15899
15900         * modules/argp: Depend on vsnprintf
15901
15902 2005-01-10  Jim Meyering  <jim@meyering.net>
15903
15904         * modules/closeout (Depends-on): Add atexit.
15905
15906 2005-01-06  Bruno Haible  <bruno@clisp.org>
15907
15908         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
15909
15910 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
15911
15912         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
15913         definitions to be after all include files, to avoid collisions.
15914         Problem reported by Bob Proulx.
15915
15916 2005-01-04  Jim Meyering  <jim@meyering.net>
15917
15918         Changes imported from coreutils.
15919         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
15920         as the mkstemp template, use a temporary directory and an
15921         8.3-friendly template to avoid trouble on systems like DJGPP.
15922         Reported by Juan M. Guerrero via Stepan Kasal.
15923         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
15924         close. Remove the temporary directory right away, rather than waiting
15925         for configure's at-exit trap code to do it.
15926         Suggestion from Stepan Kasal.
15927
15928 2005-01-01  Simon Josefsson  <jas@extundo.com>
15929
15930         * gnulib-tool: Print #include directives when --import'ing.
15931
15932 2004-12-28  Simon Josefsson  <jas@extundo.com>
15933
15934         * tests/test-base64.c: Include required header files.  Remove
15935         unused variables.
15936
15937 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
15938
15939         * modules/error (Depends-on): Remove gettext.
15940
15941 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
15942
15943         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
15944         not needed.  This removes a dependency on the gettext module.
15945         [defined _LIBC]: Do not include <libintl.h>; not needed.
15946
15947 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
15948
15949         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
15950         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
15951
15952 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
15953
15954         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
15955         HAVE_DECL_STRTOLD.
15956
15957 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
15958
15959         * modules/getdate (Depends-on): Remove alloca-opt.
15960
15961 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
15962
15963         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
15964
15965 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
15966
15967         * lib/argp-parse.c: Include <stddef.h>.
15968         (alignof, alignto): New macros.
15969         (parser_init): Don't assume that void * is aligned sufficiently
15970         for struct option.
15971
15972         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
15973         need to extend the stack.
15974         (YYINITDEPTH): New macro, so that the initial stack isn't overly
15975         large.
15976
15977 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15978
15979         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
15980
15981 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
15982
15983         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
15984         (2004-10-24) change.  Apparently this was a false alarm.
15985
15986         * modules/getdate: Depend on alloca-opt, not alloca.
15987
15988 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
15989
15990         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
15991         Remove now-obsolete comment about AIX.
15992         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
15993         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
15994         (YYMAXDEPTH): New macro.
15995
15996 2004-12-18  Simon Josefsson  <jas@extundo.com>
15997
15998         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
15999
16000 2004-12-18  Bruno Haible  <bruno@clisp.org>
16001
16002         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
16003
16004 2004-12-18  Bruno Haible  <bruno@clisp.org>
16005
16006         * lib/fatal-signal.c (fatal_signals): Make non-const.
16007         (init_fatal_signals): New function.
16008         (uninstall_handlers, install_handlers): Ignore signals that were set to
16009         SIG_IGN.
16010         (at_fatal_signal): Call init_fatal_signals.
16011         (init_fatal_signal_set): Likewise. Ignore signals that were set to
16012         SIG_IGN.
16013         Reported by Paul Eggert.
16014
16015 2004-12-18  Bruno Haible  <bruno@clisp.org>
16016
16017         * doc/alloca.texi: New file.
16018         * doc/alloca-opt.texi: New file.
16019
16020 2004-12-17  Jim Meyering  <jim@meyering.net>
16021
16022         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
16023         Otherwise, install-sh could exit with improper exit status when
16024         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
16025
16026 2004-12-16  Simon Josefsson  <jas@extundo.com>
16027
16028         * tests/test-base64.c: Add license.
16029
16030 2004-12-15  Stepan Kasal  <address@hidden>
16031
16032         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
16033
16034 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
16035
16036         * modules/getcwd (Files): Add m4/d-ino.m4.
16037         Suggested by Mark D. Baushke.
16038
16039 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16040
16041         * lib/getdate.y (textint): New member "negative".
16042         (time_zone_hhmm): New function.
16043         Expect 14 shift-reduce conflicts, not 13.
16044         (o_colon_minutes): New rule.
16045         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
16046         (yylex): Set the "negative" member of signed numbers.
16047
16048 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
16049
16050         * doc/getdate.texi (Time of day items, Time zone items):
16051         Describe new formats +00:00, UTC+00:00.
16052
16053 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16054
16055         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
16056         spurious "-l"s.  Problem reported by Stepan Kasal.
16057
16058 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
16059
16060         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
16061         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
16062
16063 2004-12-04  Simon Josefsson  <jas@extundo.com>
16064
16065         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
16066         Vandoorselaere <yoann@prelude-ids.org>.
16067
16068 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16069
16070         Changes imported from coreutils.
16071         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
16072         exist.
16073         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
16074
16075 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16076
16077         Changes imported from coreutils.
16078         * lib/hard-locale.c: Assume <locale.h> exists.
16079         Include "strdup.h".
16080         (GLIBC_VERSION): New macro.
16081         (hard_locale): Assume setlocale exists.
16082         Rewrite to avoid #ifdef.
16083         Use strdup rather than malloc + strcpy.
16084         * lib/human.c: Assume <locale.h> exists.
16085         (human_readable): Assume localeconv exists.
16086
16087 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
16088
16089         * modules/hard-locale (Depends-on): Add strdup.
16090
16091 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
16092
16093         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
16094         convert T2, not T.  (Imported from libc.)
16095
16096 2004-11-30  Simon Josefsson  <jas@extundo.com>
16097
16098         * modules/restrict (License): Change to LGPL.
16099
16100 2004-11-30  Simon Josefsson  <jas@extundo.com>
16101
16102         * m4/restrict.m4: Add copyright and copying conditions.
16103
16104 2004-11-30  Simon Josefsson  <jas@extundo.com>
16105
16106         * m4/base64.m4: New file.
16107
16108 2004-11-30  Simon Josefsson  <jas@extundo.com>
16109
16110         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
16111         base64.
16112
16113         * tests/test-base64.c: New file.
16114
16115         * modules/base64: New file.
16116
16117 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16118
16119         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
16120         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
16121
16122         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
16123
16124 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16125
16126         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
16127         (__getcwd.c): Don't restore errno; glibc doesn't.
16128         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
16129         first, falling back to our code only if its results look suspicious.
16130         Ensure that the resulting buffer is only as large as necessary.
16131
16132         * lib/readutmp.c: Include readutmp.h first.
16133         Include <errno.h>, since readutmp.h no longer does that.
16134         * lib/readutmp.h: Don't include <errno.h>,
16135         <sys/param.h>, <time.h>; not needed to establish interface.
16136         (errno): Remove decl.
16137         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
16138         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
16139         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
16140
16141 2004-11-28  Simon Josefsson  <jas@extundo.com>
16142
16143         * lib/base64.h, base64.c: New file.
16144
16145 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
16146
16147         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
16148
16149 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
16150
16151         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
16152         (Depends-on): Remove pathmax, same.  Add mempcpy.
16153         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
16154         (Makefile.am): Append getcwd.h to lib_SOURCES.
16155         (Include): Add getcwd.h.
16156         (Maintainer): Change from Jim Meyering to "all, glibc",
16157         since getdate now uses intended-for-glibc code.
16158         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
16159         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
16160
16161 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16162
16163         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
16164         HP's ANSI C compiler.
16165         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
16166         Declaring int functions causes warnings on some modern systems and
16167         shouldn't be needed to compile on ancient ones.
16168         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
16169         defined.
16170
16171         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
16172         with the following changes.
16173         (__set_errno): Parenthesize properly.
16174         Include <stdbool.h>.
16175         (MIN, MAX, MATCHING_INO): New macros.
16176         (__getcwd): Define with prototype, not K&R form.
16177         Use heuristics to allocate default buffer on stack if possible.
16178         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
16179         behavior, and to avoid the PATH_MAX limit when computing
16180         ../../../../...
16181         Use MATCHING_INO to compare inode number to file.
16182         Check for arithmetic overflow in size calculations.
16183         Fix bug in reallocation of dot array that caused getcwd to fail
16184         on directories nested deeper than 75.
16185         Be more careful about saving errno on error.
16186         Do not use realloc; use only free+malloc, as this is a bit
16187         more flexible and avoids a needless copy operation.
16188         Do not inspect st_dev and st_ino for symbolic links; POSIX
16189         doesn't specify the latter.
16190         Check for closedir errors.
16191         Avoid needless casts.
16192         Use "#ifdef weak_alias" around weak_alias, to be like other
16193         glibc code.
16194         The following changes to getcwd.c have effect only when used in
16195         gnulib; they have no effect inside glibc proper.
16196         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
16197         as alloca isn't used.
16198         (alloca, __alloca): Likewise.
16199         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
16200         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
16201         unconditionally, as gnulib assumes C89 or better.
16202         Do not include <sys/param.h>.
16203         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
16204         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
16205         better.
16206         (NULL) [!defined NULL]: Remove; we assume C89 or better.
16207         Include <dirent.h> in a way that is compatible with modern Autoconf.
16208         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
16209         New macros, if not already defined.
16210         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
16211         Use "_LIBC", not "defined _LIBC", for consistency.
16212         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
16213         a mempcpy module.
16214         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
16215         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
16216         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
16217         credit only to Jim Meyering and adjust the copyright dates.
16218         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
16219         <stdlib.h>, <unistd.h>, "pathmax.h".
16220         Instead, include "xgetcwd.h" (first) and "getcwd.h".
16221         (INITIAL_BUFFER_SIZE): Remove.
16222         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
16223
16224 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16225
16226         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
16227         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
16228         Use the _ONCE methods, for efficiency.
16229         Check for fcntl.h.  In test program, include <errno.h>
16230         and <fcntl.h> if available.  Remove old K&R cruft from
16231         test program.  Check for common errors in GNU/Linux,
16232         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
16233         don't do AC_LIBOBJ, as that's getcwd.m4's job.
16234         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
16235         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
16236         name accordingly.
16237         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
16238         accommodate new getcwd.c.
16239         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
16240         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
16241         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
16242         that's all we need now.
16243
16244 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16245
16246         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
16247         argp-parse.c depends on getopt internals, that means we should
16248         always use our getopt, to be on the safe side.
16249         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
16250         order not to spoil the result of an eventual previous invocation
16251         of gl_GETOPT_SUBSTITUTE.
16252
16253 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16254
16255         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
16256         redefinition warnings. To avoid them, include the defines
16257         in `#if !defined __need_getopt ... #endif'. The only place
16258         where __getopt_argv_const is used is in definitions
16259         of getopt_long and getopt_long_only below, which are as well
16260         protected by `#ifndef __need_getopt'.
16261         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
16262         __need_getopt after including <stdio.h> and <unistd.h> These
16263         headers might have defined it.
16264
16265 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
16266
16267         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
16268
16269 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
16270
16271         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
16272         (futimens): New function, which uses futimes if available.
16273         (futimens, utimens): Support timespec==NULL, with same semantics
16274         as utime and utimens.
16275         * lib/utimens.h (futimens): New decl.
16276
16277 2004-11-23  Jim Meyering  <jim@meyering.net>
16278
16279         * lib/getopt_.h: Remove trailing blanks.
16280
16281 2004-11-23  Jim Meyering  <jim@meyering.net>
16282
16283         * lib/__fpending.c: Add comment.
16284
16285 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
16286
16287         * modules/canonicalize (Depends-on): Add xreadlink.
16288         Problem reported by James Youngman.
16289
16290 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
16291
16292         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
16293         New macros.
16294         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
16295         optopt): Use them instead of invoking ## directly; otherwise, the
16296         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
16297
16298 2004-11-19  Bruno Haible  <bruno@clisp.org>
16299
16300         * lib/strtok_r.c: Move comments from here...
16301         * lib/strtok_r.h: ... to here.
16302
16303 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16304
16305         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
16306         implementations that mishandle size_t overflow.
16307
16308 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
16309
16310         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
16311         might fail.  Problem reported by Yoann Vandoorselaere.
16312         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
16313         implementations that mishandle size_t overflow.
16314
16315 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16316
16317         * modules/canon-host (Depends-on): Add strdup.
16318
16319 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16320
16321         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
16322
16323 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16324
16325         * lib/canon-host.c: Include "strdup.h".
16326         (canon_host): Use getaddrinfo if available, so that IPv6 works.
16327         Use strdup instead of malloc/strcpy to duplicate strings.
16328
16329         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
16330         (human_space_before_unit): New constant.
16331         * lib/human.c (human_readable): Support it.
16332
16333         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
16334         (xgetcwd): Set errno correctly when failing.
16335         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
16336         the failure is actually due to a PATH_MAX problem.
16337
16338         Further getopt changes to make it more likely that glibc will
16339         buy the changes back.
16340         * lib/getopt.c (POSIXLY_CORRECT): New constant.
16341         (getopt): Use it, so to preserve glibc semantic
16342         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
16343         when compiling for libc.
16344         * lib/getopt_.h (__getopt_argv_const): Bring it back.
16345         (getopt_long, getopt_long_only): Use it.
16346
16347         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
16348         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
16349         (getopt): Argv is now char * const *, as per standard.
16350         (_getopt_internal_r, _getopt_internal): Argv is now char **,
16351         not char *__getopt_argv_const *.
16352         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
16353         _getopt_long_only_r): Likewise.
16354         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
16355         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
16356         _getopt_long_r, _getopt_long_only_r): Likewise.
16357         * lib/getopt_.h (__getopt_argv_const): Remove.
16358         (getopt): Argv is now char * const *, as per standard.
16359
16360         * lib/getdate.y (tORDINAL): New token.
16361         (day, relunit): Allow it for relative times.
16362         (relative_time_table): Use tORDINAL for ordinals.
16363
16364 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
16365
16366         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
16367         Document that "second" isn't allowed as an ordinal number.
16368
16369 2004-11-16  Jim Meyering  <jim@meyering.net>
16370
16371         * modules/closeout (Depends-on): Add fpending.
16372
16373 2004-11-15  Jim Meyering  <jim@meyering.net>
16374
16375         * lib/closeout.c: Include "__fpending.h" once again.
16376         Include <stdbool.h>.
16377         (close_stdout): Don't fail just because stdout was closed initially,
16378         since some programs don't write to stdout in the normal course of
16379         operation (other than --version and --help), and we don't want this
16380         function to make e.g. `touch file >&-' fail.
16381         But do fail if it was closed and someone has tried to write to it.
16382         E.g., `printf foo >&-' must fail.
16383
16384 2004-11-13  Jim Meyering  <jim@meyering.net>
16385
16386         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
16387
16388 2004-11-12  Simon Josefsson  <jas@extundo.com>
16389
16390         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
16391         small doc fix is still pending.
16392
16393 2004-11-11  Simon Josefsson  <jas@extundo.com>
16394
16395         * modules/strtok_r: New file.
16396
16397         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16398         strtok_r.
16399
16400 2004-11-11  Simon Josefsson  <jas@extundo.com>
16401
16402         * m4/strtok_r.m4: New file.
16403
16404         * m4/getopt.m4: Replace opterr.
16405
16406 2004-11-11  Simon Josefsson  <jas@extundo.com>
16407
16408         * lib/strtok_r.h, strtok_r.c: New file.
16409
16410 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16411
16412         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
16413         of replacing opterr, getopt, etc.  This should handle the
16414         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
16415
16416 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16417
16418         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
16419         we can stop lying to compilers about the constness of argv when we
16420         are compiled outside glibc.
16421         (getopt, getopt_long, getopt_long_only): Use it.
16422         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
16423         _getopt_internal, getopt): Likewise.
16424         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
16425         _getopt_long_only_r): Likewise.
16426         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
16427         _getopt_long_r, _getopt_long_only_r): Likewise.
16428
16429         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
16430         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
16431         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
16432         the other external symbols.
16433         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
16434         declaration, since the above renaming now works around collisions.
16435
16436 2004-11-11  Jim Meyering  <jim@meyering.net>
16437
16438         * lib/linebreak.c: Remove trailing blanks.
16439         * lib/alloca_.h: Likewise.
16440         * lib/acosl.c: Likewise.
16441         * lib/euidaccess.c: Likewise.
16442         * lib/allocsa.h: Likewise.
16443
16444 2004-11-10  Simon Josefsson  <jas@extundo.com>
16445
16446         * m4/getaddrinfo.m4: New file.
16447
16448 2004-11-10  Simon Josefsson  <jas@extundo.com>
16449
16450         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
16451
16452 2004-11-10  Simon Josefsson  <jas@extundo.com>
16453
16454         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16455         getaddrinfo.
16456
16457         * modules/getaddrinfo: New file.
16458
16459 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16460
16461         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
16462
16463 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16464
16465         * lib/mktime.c (SHR): New macro, which is a portable
16466         substitute for >> that should work even on Crays.
16467         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
16468         Problem reported by Mark D. Baushke in
16469         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
16470         * lib/getdate.y (SHR): Likewise.
16471         (tm_diff): Use it.
16472         * lib/strftime.c (SHR): Likewise.
16473         (tm_diff): Use it.
16474         * lib/quotearg.c (struct quoting_options): Use unsigned int for
16475         quote_these_too, so that right shifts are well defined.  All uses
16476         changed.
16477
16478 2004-11-10  Jim Meyering  <jim@meyering.net>
16479
16480         Ensure that no close failure goes unreported.
16481         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
16482         return early when it seems there's nothing to flush.
16483         Don't include __fpending.h.
16484
16485 2004-11-10  Jim Meyering  <jim@meyering.net>
16486
16487         * modules/closeout (Depends-on): Remove fpending.
16488
16489 2004-11-10  Jim Meyering  <jim@meyering.net>
16490
16491         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
16492
16493 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16494
16495         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
16496         gl_FUNC_STRFTIME.
16497         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
16498         and AC_REQUIRE when possible, to avoid duplicate checks.
16499         Check for <wchar.h>.
16500
16501 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16502
16503         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
16504
16505 2004-11-09  Bruno Haible  <bruno@clisp.org>
16506
16507         * m4/sockpfaf.m4: New file.
16508
16509 2004-11-05  Bruno Haible  <bruno@clisp.org>
16510
16511         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
16512         Reported by Mark D. Baushke <mdb@cvshome.org>.
16513
16514 2004-11-04  Bruno Haible  <bruno@clisp.org>
16515
16516         2004-09-11  Bruno Haible  <bruno@clisp.org>
16517                 * allocsa.valgrind: New file.
16518         2004-02-06  Bruno Haible  <bruno@clisp.org>
16519                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
16520                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
16521                 Reported by Christopher Seip <chris.seip@hp.com>.
16522
16523 2004-11-04  Bruno Haible  <bruno@clisp.org>
16524
16525         * modules/allocsa (Files): Add lib/allocsa.valgrind.
16526         (Makefile.am): Distribute it.
16527
16528 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16529
16530         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
16531         with errno == ERANGE if the buffer is too small.
16532         Problem reported by Mark D. Baushke.
16533
16534 2004-11-03  Albert Chin  <china@thewrittenword.com>
16535             Paul Eggert  <eggert@cs.ucla.edu>
16536
16537         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
16538         equivalent, substitute $ac_type for equivalent type rather than
16539         blindly using uint32_t *always* which won't work if uint32_t is not
16540         available.  Define _UINT32_T to work around typedef of uint32_t if
16541         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
16542         2.5.1.
16543
16544 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16545
16546         * m4/jm-macros.m4: Sync from coreutils.
16547         (gl_MACROS): Check for mbrlen, for pathchk.
16548         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
16549
16550 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16551
16552         * lib/xreadlink.c (MAXSIZE): New macro.
16553         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
16554         size does not exceed MAXSIZE.  Avoid cast.
16555         As suggested by Mark D. Baushke in
16556         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
16557         if readlink fails with buffer size just under MAXSIZE, try again
16558         with MAXSIZE.
16559
16560 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16561
16562         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
16563
16564 2004-11-02  Derek R. Price  <derek@ximbiot.com>
16565         and  Paul Eggert  <eggert@cs.ucla.edu>
16566
16567         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
16568         (get_date): Overparenthesize to avoid GCC warning.
16569
16570 2004-11-02  Bruno Haible  <bruno@clisp.org>
16571
16572         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
16573         returns void.
16574
16575 2004-11-02  Bruno Haible  <bruno@clisp.org>
16576
16577         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
16578         function returns void.
16579
16580 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
16581
16582         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
16583         fflush_unlocked, flockfile, funlockfile, funlockfile,
16584         fputs_unlocked, putc_unlocked.
16585
16586 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
16587
16588         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
16589         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
16590         already declared.
16591
16592 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16593
16594         * modules/getdate (Files): Add doc/getdate.texi.
16595         (Depends-on): Add setenv, xalloc.
16596
16597 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16598
16599         * lib/getdate.y: Add support for TZ="foo" within a date string.
16600         Fix some bugs near time_t boundaries.  Reject dates with
16601         out-of-range components, e.g., "Sept 31".
16602         Include <stdlib.h>, "setenv.h", "xalloc.h".
16603         (ISDIGIT_LOCALE): Remove; unused.
16604         Note that the TZ and time functions used here are not reentrant.
16605         (mktime_ok, get_tz): New functions.
16606         (TZBUFSIZE): New constant.
16607         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
16608         This requires that we sometimes generate our own TZ="XXX..." setting.
16609
16610 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16611
16612         * doc/getdate.texi: New file, from coreutils with modifications for
16613         the new TZ parsing.
16614
16615 2004-10-27  Derek R. Price  <derek@ximbiot.com>
16616
16617         * lib/mktime.c (not_equal_tm): Remove redundant check.
16618
16619 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16620
16621         * modules/regex (lib_SOURCES): Add regex.c.
16622         Reported by James Youngman in
16623         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
16624
16625 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16626
16627         * lib/getdate.y: Use Bison 1.875 features, and some minor
16628         code cleanups.  This change does not affect semantics.
16629         Don't include <stdlib.h>; no longer needed.
16630         Don't include unlocked-io.h; only the "#if TEST" code uses
16631         stdio, and performance isn't crucial there.
16632         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
16633         Bison 1.875 features as described below.
16634         All uses of "PC." replaced by "pc->".
16635         (YYSTYPE): Add a forward declaration.
16636         (yylex, yyerror): Use full prototypes in forward decls.
16637         Use "%pure-parser" rather than obsolescent "%pure_parser".
16638         Use %parse-param and %lex-param instead of obsolescent
16639         YYPARSE_PARAM and YYLEX_PARAM.
16640         (meridian_table, month_and_day_table, time_units_table,
16641         relative_time_table, time_zone_table, military_table,
16642         lookup_zone, lookup_word, get_date):
16643         Use NULL instead of 0 where appropriate.
16644         (to_hour): Avoid abort (), to avoid a dependency on
16645         stdlib.h.
16646         (yyerror, yylex): Now accepts parser_control * arg.
16647         (main) [TEST]: Use '\0' rather than 0 for char.
16648
16649 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
16650
16651         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
16652
16653 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
16654
16655         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
16656         It's now the caller's responsibility to handle the case where
16657         !HAVE_GETPAGESIZE && !defined getpagesize.
16658
16659         * lib/mktime.c (leapyear): Arg is long int, not int.
16660
16661 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
16662
16663         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
16664
16665 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
16666
16667         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
16668         missing.  Problem reported by James Youngman.
16669
16670 2004-10-16  Simon Josefsson  <jas@extundo.com>
16671
16672         * gnulib-tool: Fix comments.  Fix parse problem.
16673         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
16674
16675 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
16676
16677         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
16678         implementation of getopt_long.  Problem reported by Alexander Taler in:
16679         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
16680
16681 2004-10-15  Bruno Haible  <bruno@clisp.org>
16682
16683         * gnulib-tool: Untabify. Initialize supplied_libname.
16684         (func_usage): More homogenous output.
16685         (func_modules_transitive_closure, func_modules_to_filelist,
16686         func_emit_lib_Makefile_am): New functions.
16687         (func_import): New function, extracted from big case statement. Use
16688         func_get_license, func_modules_transitive_closure,
16689         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
16690         opt_lgpl. Don't use test -a, as it's not portable.
16691         (func_create_testdir): Use func_modules_transitive_closure,
16692         func_modules_to_filelist, func_emit_lib_Makefile_am.
16693
16694 2004-10-15  Bruno Haible  <bruno@clisp.org>
16695
16696         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
16697
16698 2004-10-15  Bruno Haible  <bruno@clisp.org>
16699
16700         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
16701         the portions belonging to each module.
16702         Suggested by Derek Robert Price <derek@ximbiot.com>.
16703
16704 2004-10-12  Simon Josefsson  <jas@extundo.com>
16705
16706         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
16707         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
16708         to real functions.
16709
16710 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16711
16712         * modules/vsnprintf: New file.
16713
16714 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16715
16716         * m4/vsnprintf.m4: New file.
16717
16718 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16719
16720         * lib/vsnprintf.h: New file.
16721         * lib/vsnprintf.c: New file.
16722
16723 2004-10-11  Bruno Haible  <bruno@clisp.org>
16724
16725         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
16726         vsnprintf.
16727
16728 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16729
16730         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
16731
16732 2004-10-07  Bruno Haible  <bruno@clisp.org>
16733
16734         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
16735         fits into the provided buffer.
16736
16737 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
16738
16739         * lib/diacrit.c, diacrit.h: Add GPL notice.
16740
16741         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
16742         notice.
16743         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
16744         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
16745         This avoids a potential constant-folding bug.
16746
16747 2004-10-05  Bruno Haible  <bruno@clisp.org>
16748
16749         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
16750         for the declaration of strsep.
16751
16752 2004-10-05  Bruno Haible  <bruno@clisp.org>
16753
16754         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
16755
16756 2004-10-04  Simon Josefsson  <jas@extundo.com>
16757
16758         * modules/memmem: New file.
16759         * tests/test-memmem.c: New file.
16760         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
16761
16762 2004-10-04  Simon Josefsson  <jas@extundo.com>
16763
16764         * m4/memmem.m4: New file.
16765
16766 2004-10-04  Simon Josefsson  <jas@extundo.com>
16767
16768         * lib/memmem.h: New file.
16769         * lib/memmem.c: New file, taken from glibc.
16770
16771 2004-10-04  Simon Josefsson  <jas@extundo.com>
16772
16773         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
16774         '#ifdef USE_UNLOCKED_IO'.
16775
16776 2004-10-04  Simon Josefsson  <jas@extundo.com>
16777
16778         * config/srclist.txt: Add memmem from glibc.
16779
16780 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16781
16782         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
16783
16784         * modules/argmatch, modules/argp, modules/closeout, modules/error,
16785         modules/exclude, modules/getdate, modules/getline,
16786         modules/getndelim2, modules/getpass, modules/getpass-gnu,
16787         modules/getusershell, modules/linebuffer, modules/md5,
16788         modules/mountlist, modules/posixtm, modules/readtokens,
16789         modules/readutmp, modules/regex, modules/sha1,
16790         modules/version-etc, modules/yesno:
16791         Remove dependency on unlocked-io.
16792
16793 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16794
16795         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
16796
16797         * m4/unlocked-io.m4: Add copyright notice.
16798         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
16799
16800 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16801
16802         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
16803         * lib/xmalloc.c (xmemdup): Likewise.
16804         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
16805         XFREE): Remove these long-obsolescent macros.
16806         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
16807         * lib/xstrdup.c: Remove.
16808
16809         * lib/regex.c (re_comp): Cast gettext return value to char *,
16810         Problem reported by Martin Neitzel via Mark D. Baushke.
16811
16812 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16813
16814         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
16815         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
16816         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
16817         regex.c, sha1.c, version-etc.c, yesno.c:
16818         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
16819         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
16820         the includer's responsibility.
16821
16822         Sync from coreutils.
16823
16824         * lib/modechange.c (mode_compile): Don't decrement a pointer that
16825         points to the start of a string, as the C Standard says the
16826         resulting behavior is undefined.
16827
16828         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
16829         simple -> simple_backups, numbered_existing ->
16830         numbered_existing_backups, numbered -> numbered_backups
16831         to avoid shadowing problems.  All uses changed.
16832         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
16833         * lib/backupfile.c (check_extension, numbered_backup):
16834         Rename locals to avoid shadowing 'basename'.
16835         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
16836         once.
16837
16838         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
16839         * lib/.cvsignore: Add getopt.h.
16840
16841 2004-10-04  Bruno Haible  <bruno@clisp.org>
16842
16843         * modules/README: New file.
16844         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
16845         not a module.
16846
16847 2004-10-02  Jim Meyering  <jim@meyering.net>
16848
16849         * lib/dirfd.h, getpagesize.h: Add copyright notice.
16850
16851 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16852
16853         * modules/strsep: New file.
16854
16855 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16856
16857         * m4/strsep.m4: New file.
16858
16859 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16860
16861         * lib/strsep.h: New file.
16862         * lib/strsep.c: New file.
16863
16864 2004-10-01  Simon Josefsson  <jas@extundo.com>
16865
16866         * lib/snprintf.c (snprintf): Handle size==0.
16867
16868 2004-10-01  Simon Josefsson  <jas@extundo.com>
16869             Bruno Haible  <bruno@clisp.org>
16870
16871         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
16872         (snprintf): Declare 'args'.
16873
16874 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
16875
16876         * lib/snprintf.c: Remove comments as to why each header is needed.
16877
16878 2004-10-01  Bruno Haible  <bruno@clisp.org>
16879
16880         * MODULES.html.sh: Add strsep.
16881
16882 2004-09-30  Simon Josefsson  <jas@extundo.com>
16883
16884         * modules/snprintf: New file.
16885
16886 2004-09-30  Simon Josefsson  <jas@extundo.com>
16887
16888         * m4/snprintf.m4: New file.
16889
16890 2004-09-30  Simon Josefsson  <jas@extundo.com>
16891
16892         * lib/snprintf.h, lib/snprintf.c: New files.
16893
16894 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16895
16896         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
16897         (hol_entry_help): Never translate an empty string.
16898         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
16899         * lib/argp.h (OPTION_NO_TRANS): New option.
16900
16901 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
16902
16903         * modules/argp (Maintainer): Replace Simon Josefsson
16904         by Sergey Poznyakoff.
16905
16906 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
16907
16908         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
16909         changes merged back into glibc.
16910
16911 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
16912
16913         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
16914
16915 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
16916
16917         * lib/xvasprintf.c: Include xalloc.h.
16918         (xvasprintf): Use xalloc_die, not xmalloc_die.
16919
16920 2004-09-29  Bruno Haible  <bruno@clisp.org>
16921
16922         * modules/alloca-opt: New file, derived from modules/alloca.
16923         * modules/allocsa: Depend on alloca-opt instead of alloca.
16924         * modules/setenv: Likewise.
16925         * modules/vasnprintf: Likewise.
16926         * MODULES.html.sh: Add alloca-opt.
16927
16928 2004-09-28  Simon Josefsson  <jas@extundo.com>
16929
16930         * gnulib-tool: New parameter --lgpl, to asseert that modules are
16931         LGPL, and to replace license template from GPL to LGPL.
16932
16933 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
16934
16935         * modules/dummy: Change license to LGPL.
16936
16937 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
16938
16939         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
16940
16941 2004-09-24  Simon Josefsson  <jas@extundo.com>
16942
16943         * modules/minmax (License): Change from GPL to LGPL.
16944
16945 2004-09-23  Simon Josefsson  <jas@extundo.com>
16946
16947         * gnulib-tool (--import): Typo.
16948
16949 2004-09-23  Simon Josefsson  <jas@extundo.com>
16950
16951         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
16952
16953 2004-09-22  Bruno Haible  <bruno@clisp.org>
16954
16955         * modules/*: Add 'License' field.
16956         * gnulib-tool: Accept --extract-license option.
16957         (func_get_license): New function.
16958
16959 2004-09-21  Bruno Haible  <bruno@clisp.org>
16960
16961         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
16962         Reported by Simon Josefsson.
16963
16964 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
16965
16966         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
16967         gl_AC_TYPE_LONG_LONG.
16968
16969 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
16970
16971         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
16972
16973 2004-09-18  Simon Josefsson  <jas@extundo.com>
16974         and  Paul Eggert  <eggert@cs.ucla.edu>
16975
16976         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
16977         calls with autoreconf.  Define GL_LIB.
16978
16979 2004-09-14  Karl Berry  <karl@gnu.org>
16980
16981         * config/srclist.txt: unsync setenv.c, sigh.
16982
16983 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16984
16985         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
16986         Problem reported by Bruno Haible in:
16987         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
16988
16989 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16990
16991         * config/srclist.txt: Comment out argp-pvh.c.
16992
16993 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
16994
16995         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
16996         in case some system header has #define'd it.  Problem reported by
16997         Soeren D. Schulze in
16998         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
16999
17000 2004-09-09  Karl Berry  <karl@gnu.org>
17001
17002         * regex.[ch]: delete from the root.  These were supposed to be
17003                 synced with emacs cvs, but this has not happened for about
17004                 a year, and anyway nothing else uses emacs regex.[ch].
17005                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
17006                 lib/regex[.ch] is untouched.
17007
17008 2004-09-09  Bruno Haible  <bruno@clisp.org>
17009
17010         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
17011
17012 2004-09-09  Bruno Haible  <bruno@clisp.org>
17013
17014         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
17015         modifications.
17016         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
17017
17018 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17019
17020         * modules/xvasprintf: New file.
17021         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
17022
17023 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
17024
17025         * lib/xvasprintf.h: New file.
17026         * lib/xvasprintf.c: New file.
17027         * lib/xasprintf.c: New file.
17028
17029 2004-09-08  Bruno Haible  <bruno@clisp.org>
17030
17031         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
17032
17033 2004-09-08  Bruno Haible  <bruno@clisp.org>
17034
17035         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
17036         length is > INT_MAX.
17037         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
17038         more.
17039
17040 2004-09-08  Bruno Haible  <bruno@clisp.org>
17041
17042         * lib/stdint_.h: New file, taken from GNU clisp.
17043
17044 2004-09-08  Bruno Haible  <bruno@clisp.org>
17045             Oskar Liljeblad  <oskar@osk.mine.nu>
17046
17047         * modules/stdint: New file.
17048         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
17049
17050 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17051
17052         Import from coreutils.
17053         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
17054         strings on unbounded length.  alloca's performance benefits aren't
17055         that important here.
17056         (V_STRDUP): Remove.
17057         (parse_with_separator): New function, with most of the internals
17058         of the old parse_user_spec.  Allow user to omit both user and group,
17059         for compatibility with FreeBSD.
17060         Clone only the user name, not the entire spec.
17061         Do not set *uid, *gid unless entirely successful.
17062         Avoid memory leak in some failing cases.
17063         Fix regression for USER.GROUP reported by Dmitry V. Levin in
17064         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
17065         (parse_user_spec): Rewrite to use parse_with_separator.
17066
17067 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17068
17069         * modules/userspec: Don't depend on alloca.
17070
17071 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
17072
17073         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
17074
17075 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
17076
17077         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
17078         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
17079         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
17080
17081 2004-08-16  Simon Josefsson  <jas@extundo.com>
17082
17083         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
17084         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
17085         Add --dry-run for --import.
17086         Let user provided command line parameters override configure.ac
17087         settings.
17088
17089 2004-08-12  Simon Josefsson  <jas@extundo.com>
17090
17091         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
17092         as discussed with Paul Eggert in threads rooted at
17093         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
17094         and
17095         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
17096         Before, the test was empty, and relied on ELIDE_CODE in source
17097         code.)
17098         (gl_PREREQ_GETOPT): New macro.
17099         (gl_GETOPT): Use them.
17100
17101 2004-08-12  Simon Josefsson  <jas@extundo.com>
17102
17103         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
17104         * lib/getopt_.h: Renamed from getopt.h.
17105
17106 2004-08-12  Simon Josefsson  <jas@extundo.com>
17107
17108         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
17109         Change default library name from libfoo to libgnu.
17110         Now, if you have a configure.ac that says:
17111                 gl_SOURCE_BASE(gl)
17112                 gl_M4_BASE(gl/m4)
17113                 gl_MODULES(error getopt etcetera)
17114                 gl_INIT
17115         you can import all you need by running:
17116                 ../gnulib/gnulib-tool --import
17117
17118         * modules/getopt (Files): Rename getopt.h to getopt_.h.
17119         (Makefile.am): Rewrite, use logic from argz.
17120         (Include): Use <getopt.h> instead of "getopt.h".
17121
17122 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17123
17124         * modules/argp (Files): Add m4/unlocked-io.m4.
17125         (Depends-on): Add extensions.
17126
17127 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17128
17129         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
17130         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
17131         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
17132         Check for program_invocation_name, program_invocation_short_name,
17133         flockfile, funlockfile, features.h, _getopt_long_only_r.
17134
17135 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17136
17137         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
17138         its complicated substitute.
17139         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
17140         and program_invocation_name.
17141         (__argp_basename) [!_LIBC]: Remove; the only use was
17142         replaced by its body.
17143         (__argp_short_program_name): Change condition from
17144         !defined __argp_short_program_name to
17145         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
17146         to match argp-namefrob.h.
17147         (__argp_failure): Don't assume strerror_r returns char *.
17148         * lib/argp-parse.c (N_): Define unconditionally.
17149         (argp_default_options): Fill out initializers with 0 to avoid
17150         gcc warnings.
17151
17152 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
17153
17154         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
17155         getopt1.c.
17156
17157 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17158
17159         Merge from coreutils.
17160
17161         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
17162
17163         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
17164         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
17165
17166 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17167
17168         Merge from coreutils.
17169
17170         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
17171         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
17172         for Reliant Unix 5.43.
17173
17174         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
17175         (union fooround): Use uintmax_t, not long int.
17176         The rest is a merge from libc:
17177         [defined _LIBC]: Include <shlib-compat.h>.
17178         (_obstack) [defined _LIBC]: Remove after 2.3.4.
17179
17180         * lib/settime.c (settime): Recode to avoid warning with
17181         Sun Forte C 6U2.
17182
17183         * lib/strverscmp.c: Convert to UTF-8.
17184
17185 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17186
17187         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
17188         m4/uintmax_t.m4.
17189
17190 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17191
17192         * modules/xalloc-die: New file.
17193         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
17194
17195         * modules/md5 (Files): Add m4/uint32_t.m4.
17196         * modules/sha1: Renamed from modules/sha.
17197         (Files):
17198         Rename lib/sha.h to lib/sha1.h.
17199         Rename lib/sha.c to lib/sha1.c.
17200         Rename m4/sha.m4 to m4/sha1.m4.
17201         (lib_SOURCES): Likewise.
17202         (configure.ac): Rename gl_SHA to gl_SHA1.
17203         (Include): sha.h -> sha1.h.
17204
17205 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17206
17207         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
17208         * m4/sha1.m4: Renamed from sha.m4.
17209         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
17210
17211 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
17212
17213         * lib/obstack.h (obstack_empty_p):
17214         Don't assume that chunk->contents is suitably aligned.
17215         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
17216         Likewise. Problem reported by Benno in
17217         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
17218
17219         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
17220         readable.  This could be improved further but it'd take some work.
17221
17222 2004-08-08  Simon Josefsson  <jas@extundo.com>
17223
17224         * modules/xgethostname (Depends-on): Remove exit and error (not
17225         used).
17226
17227         * modules/getpass-gnu: Add getpass.h.
17228         (Depends-on): Add stdbool.
17229         * modules/getpass: Add getpass.h.
17230
17231 2004-08-08  Simon Josefsson  <jas@extundo.com>
17232
17233         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
17234         Check getpass declaration.
17235
17236 2004-08-08  Simon Josefsson  <jas@extundo.com>
17237
17238         * lib/xgethostname.c: Don't include error.h (not used).
17239
17240         * lib/getpass.h: Add.
17241         * lib/getpass.c: Include getpass.h first.
17242
17243 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
17244
17245         * lib/xalloc-die.c: New file.
17246         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
17247         All uses removed.
17248         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
17249         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
17250         xalloc-die.c.
17251         (_, N_, xalloc_die): Move to xalloc-die.c.
17252         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
17253         so that we needn't mess with xalloc_msg_memory_exhausted.
17254
17255         * lib/sha1.h: Renamed from sha.h.
17256         (SHA1_H): Renamed from _SHA_H.
17257         (sha1_ctx): Renamed from sha_ctx.
17258         (sha1_init_ctx): Renamed from sha_init_ctx.
17259         (sha1_process_block): Renamed from sha_process_block.
17260         (sha1_process_bytes): Renamed from sha_process_bytes.
17261         (sha1_finish_ctx): Renamed from sha_finish_ctx.
17262         (sha1_read_ctx): Renamed from sha_read_ctx.
17263         (sha1_stream): Renamed from sha_stream.
17264         (sha1_buffer): Renamed from sha_buffer.
17265         * lib/sha1.c: Likewise; renamed from sha.c.
17266         Do not include <sys/types.h>.
17267         Include <stddef.h> rather than <stdlib.h>.
17268
17269 2004-08-08  Bruno Haible  <bruno@clisp.org>
17270
17271         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
17272         FILESYSTEM_PREFIX_LEN.
17273         * lib/progreloc.c: Likewise.
17274         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
17275
17276 2004-08-06  Simon Josefsson  <jas@extundo.com>
17277
17278         * modules/progname (Depends-on): Don't depend on stdbool.
17279
17280 2004-08-06  Simon Josefsson  <jas@extundo.com>
17281
17282         * modules/getsubopt: New file.
17283         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
17284         getsubopt.
17285
17286 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17287
17288         More merge from coreutils.
17289
17290         * m4/utimens.m4, m4/utimecmp.m4: New files.
17291         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
17292         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
17293         prereq.m4, sha.m4: Import changes from coreutils.
17294
17295 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17296
17297         More merge from coreutils.
17298         * modules/raise, modules/readtokens0, modules/utimens:
17299         * modules/utimecmp, module/xnanosleep: New files.
17300         * modules/strftime: Add lib/strftime.h.
17301         Change include from <time.h> to "strftime.h".
17302         * modules/yesno: Add lib/yesno.h.
17303         * modules/backupfile: Remove lib/addext.c.
17304         * modules/euidaccess: Add stat-macros.h.
17305         * modules/canonicalize, modules/euidaccess,
17306         modules/filemode, modules/lchown, modules/makepath,
17307         modules/rmdir, modules/stat: Likewise.
17308
17309 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
17310
17311         Merge from tar.
17312         * lib/argp-help.c (make_hol, hol_append): Don't assume that
17313         SIZE_MAX is a valid preprocessor constant.
17314         (__argp_basename): Change from "#ifndef _LIBC"
17315         to "#ifndef __argp_short_program_name", so that
17316         we don't compile these functions for tar.
17317
17318         More merges from coreutils.
17319         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
17320         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
17321         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
17322         * lib/addext.c: Remove; no longer needed.
17323         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
17324         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
17325         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
17326         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
17327         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
17328         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
17329         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
17330         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
17331         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
17332         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
17333         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
17334         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
17335         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
17336         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
17337         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
17338         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
17339         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
17340         Import changes from coreutils.
17341
17342 2004-08-05  Simon Josefsson  <jas@extundo.com>
17343
17344         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
17345
17346 2004-08-05  Simon Josefsson  <jas@extundo.com>
17347
17348         * m4/getsubopt.m4: New file.
17349
17350 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17351
17352         Merge from coreutils.
17353
17354         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
17355         * m4/getcwd-path-max.m4: New files.
17356
17357         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
17358         FILESYSTEM_PREFIX_LEN ->
17359         FILE_SYSTEM_PREFIX_LEN.
17360         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
17361         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
17362         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
17363         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
17364
17365         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
17366         prerequisite modules now handle the DOS stuff.
17367         Don't check for unistd.h.
17368
17369 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17370
17371         Merge from coreutils.
17372
17373         * lib/.gdb-history: Remove; this doesn't belong here.
17374
17375         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
17376         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
17377         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
17378         * lib/getcwd.c: New files.
17379
17380         * lib/dirname.h: Include <stdbool.h>.
17381         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
17382         for consistency with POSIX terminology.  All uses changed.
17383         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
17384         (strip_trailing_slashes): Use bool for booleans.
17385         * lib/stripslash.c (strip_trailing_slashes): Likewise.
17386
17387         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
17388         sometimes returns a positive errno value even when it succeeds.
17389         (print_errno_message) [!LIBC]: Fall back on strerror if
17390         __strerror_r fails.
17391
17392         * lib/path-concat.c (mempcpy): Don't define if a system header defines
17393         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
17394         (longest_relative_suffix): New function.
17395         (path_concat): Use it.  Assume first argument is not NULL.
17396         Port to DOS.  Omit redundant separators.
17397         Report an error instead of returning NULL.
17398         Use mempcpy instead of memcpy.
17399         (xpath_concat): Remove: not declared or used.
17400
17401         * lib/same.h: Include <stdbool.h>
17402         (same_name): Return bool, not int.
17403         * lib/same.c (same_name): Likewise.
17404         (errno): Don't declare; we assume C89 or better now.
17405
17406         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
17407         if not already defined.
17408
17409         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
17410         * lib/dup-safer.c (errno): Likewise.
17411
17412 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17413
17414         Merge from coreutils.
17415         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
17416         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
17417         * modules/path-concat: Don't depend on strdup.
17418
17419 2004-08-03  Simon Josefsson  <jas@extundo.com>
17420
17421         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
17422         * lib/progname.h: Don't include stdbool.h.
17423
17424 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17425
17426         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
17427         * MODULES.html.sh (func_all_modules): Remove fatal.
17428
17429 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17430
17431         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
17432
17433 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17434
17435         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
17436         working.
17437
17438 2004-08-02  Simon Josefsson  <jas@extundo.com>
17439
17440         * lib/getsubopt.h: New file, with comments from Bruno Haible.
17441         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
17442         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
17443
17444 2004-08-01  Simon Josefsson  <jas@extundo.com>
17445
17446         * lib/xgetdomainname.c: Include stdlib.h, for free().
17447
17448 2004-07-19  Bruno Haible  <bruno@clisp.org>
17449
17450         * MODULES.html.sh (func_all_modules): Add dummy.
17451
17452 2004-07-16  Simon Josefsson  <jas@extundo.com>
17453
17454         * modules/dummy: New file.
17455
17456 2004-07-16  Simon Josefsson  <jas@extundo.com>
17457
17458         * lib/dummy.c: New file.
17459
17460 2004-07-16  Bruno Haible  <bruno@clisp.org>
17461
17462         * lib/backupfile.h: Add extern "C" for C++.
17463         * lib/closeout.h: Likewise.
17464         * lib/copy-file.h: Likewise.
17465         * lib/findprog.h: Likewise.
17466         * lib/full-write.h: Likewise.
17467         * lib/pathname.h: Likewise.
17468         * lib/progname.h: Likewise.
17469         * lib/stpcpy.h: Likewise.
17470         * lib/stpncpy.h: Likewise.
17471         * lib/strcase.h: Likewise.
17472         * lib/strstr.h: Likewise.
17473         * lib/xalloc.h: Likewise.
17474
17475         * lib/mbswidth.h: Add extern "C" for C++.
17476         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
17477
17478 2004-07-13  Robert Millan  <robertmh@gnu.org>
17479
17480         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
17481
17482 2004-07-09  Simon Josefsson  <jas@extundo.com>
17483
17484         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
17485         failed without this.)
17486
17487 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17488
17489         * modules/chown (Files): Add lib/fchown-stub.c, since
17490         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
17491
17492 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17493
17494         * lib/fchown-stub.c: New file.
17495
17496 2004-06-24  Jim Meyering  <jim@meyering.net>
17497
17498         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
17499
17500 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17501
17502         * modules/argz: Omit "#include".
17503
17504         * MODULES.html.sh (func_all_modules): Add calloc, to match
17505         2004-06-01 addition of calloc module.
17506
17507 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17508
17509         * m4/argz.m4: New file, which is autoupdated from libtool.
17510
17511 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17512
17513         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
17514         libtool.
17515
17516 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17517
17518         * config/srclist-update: Don't insist on "USA." before the
17519         close-comment, as libtool omits the period and puts the */ on a
17520         separate line.
17521         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
17522         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
17523
17524 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
17525
17526         * modules/argz: New file.
17527         * MODULES.html.sh (func_all_modules): Add argz.
17528
17529 2004-06-12  Jim Meyering  <jim@meyering.net>
17530         and  Paul Eggert  <eggert@cs.ucla.edu>
17531
17532         * modules/hash (Files): Add lib/xalloc.h.
17533         * modules/pipe (Depends-on): Add wait-process.
17534         * modules/stat (Depends-on): Add xalloc.
17535         * modules/userspec (Files): Add lib/userspec.h.
17536         * modules/xstrto
17537
17538         Upgrade from gettext-0.13.
17539         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
17540         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
17541         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
17542
17543 2004-06-10  Jim Meyering  <jim@meyering.net>
17544
17545         * lib/calloc.c: New file.
17546
17547 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
17548
17549         * lib/getdate.y (yylex): Allow space between sign and number.
17550         Problem reported by Dan Jacobson.
17551
17552 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17553
17554         Merge from coreutils CVS.
17555
17556         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
17557         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
17558         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
17559         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
17560         xstrtol.m4: Fix copyright date and/or serial number.
17561
17562         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
17563         See if we need an fchown replacement.
17564         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
17565         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
17566         and use the replacement function if we detect either defect.
17567
17568         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
17569         gl_UTIMECMP.
17570
17571 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17572         and  Jim Meyering  <jim@meyering.net>
17573
17574         Merge from coreutils CVS.
17575
17576         * lib/stat-macros.h: New file, with contents from file-type.h
17577         and coreutils' system.h.
17578         * lib/file-type.c: Include "stat-macros.h".
17579         * lib/file-type.h (file_type): Move all macro definitions to new file,
17580         stat-macros.h.
17581
17582         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
17583         Wrap old code with this conditional.
17584         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
17585         function that does not dereference symlinks.
17586         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
17587
17588         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
17589         dependency problems.
17590         (xreadlink): Accept new arg SIZE, for efficiency.
17591         All decls and uses changed.
17592         * lib/xreadlink.h: Include <stddef.h>, for size_t.
17593
17594         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
17595         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
17596
17597         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
17598         sysexits.h.
17599
17600 2004-06-01  Jim Meyering  <jim@meyering.net>
17601
17602         * m4/calloc.m4: New file.
17603
17604 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
17605
17606         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
17607         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
17608         Also, fix a typo in a diagnostic.
17609
17610 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17611
17612         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
17613         or AC_FUNC_REALLOC.
17614
17615 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17616
17617         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
17618         macros to be defined.
17619         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
17620         the allocator returns NULL because the requested size is zero.
17621
17622 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
17623
17624         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
17625         var.  Add comment explaining why libc still defines it.  This
17626         merges the following patch from glibc:
17627         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
17628
17629 2004-05-20  Andreas Schwab  <schwab@suse.de>
17630
17631         * m4/free.m4: Replace free if it not known to work, not the other
17632         way round.
17633
17634 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17635
17636         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
17637         present in glibc since revision 1.1 of this file.
17638         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
17639         obstack_alignment_mask, obstack_alloc, obstack_base,
17640         obstack_blank, obstack_blank_fast, obstack_chunk_size,
17641         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
17642         obstack_grow0, obstack_init, obstack_int_grow,
17643         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
17644         obstack_next_free, obstack_object_size, obstack_ptr_grow,
17645         obstack_ptr_grow_fast, obstack_room): Remove declarations of
17646         nonexistent functions.
17647
17648 2004-05-18  Karl Berry  <karl@gnu.org>
17649
17650         * config/srclist.txt: break link for vasnprintf.c.
17651
17652 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17653
17654         Port obstack to the AS/400, where pointers are 16 bytes wide and
17655         you cannot cast an integer to a valid pointer.  This patch is
17656         currently waiting to be integrated into glibc; see
17657         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
17658
17659         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
17660         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
17661         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
17662         (struct obstack): temp member is now a union of a pointer and
17663         an integer, instead of an integer.  All integer uses changed.
17664         This does not affect the physical layout of struct obstack,
17665         except on hosts (like the AS/400) where the size or alignment of
17666         void * is greater than that of ptrdiff_t.
17667         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
17668         __STDC__)]: Store temporary in pointer member of union, not
17669         integer member.
17670         * lib/obstack.c: Include <stddef.h>, for offsetof.
17671         (struct fooalign): Remove; it doesn't need a name.
17672         (union fooround): Change double to long double, and add void *.
17673         (DEFAULT_ALIGNMENT): Use offsetof to compute.
17674         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
17675         not a macro.  Hence the values are always int; so remove all
17676         casts-to-int in uses.
17677
17678 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17679
17680         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
17681         we can get this patch merged into glibc.
17682
17683 2004-05-17  Derek R. Price  <derek@ximbiot.com>
17684             Paul Eggert  <eggert@cs.ucla.edu>
17685
17686         * m4/argp: Depend on alloca.
17687
17688 2004-05-17  Derek R. Price  <derek@ximbiot.com>
17689             Paul Eggert  <eggert@cs.ucla.edu>
17690
17691         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
17692         freecoding.
17693
17694 2004-05-17  Bruno Haible  <bruno@clisp.org>
17695
17696         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
17697         precision that consists of a '.' followed by an empty digit string.
17698         Patch by Tor Lillqvist <tml@iki.fi>.
17699
17700 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17701
17702         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
17703         for backward compatibility with older code.  We need our own
17704         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
17705         it under some other name, and our alloca.h will define it.
17706
17707 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17708             Derek Price  <derek@ximbiot.com>
17709
17710         * lib/alloca.c: Include <alloca.h>, to get our interface.
17711         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
17712         include <alloca.h> first.  Use C89 prototype for alloca; this
17713         requires including <stddef.h> for size_t.  Use extern "C" if C++.
17714         Use #elif for simplicity, since we can assume C89 now.
17715         Don't try to source the system alloca.h since it will not be found
17716         and to prevent recursively including its replacement.
17717         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
17718         * lib/regex.c: Likewise.
17719
17720 2004-05-16  Derek Price  <derek@ximbiot.com>
17721             Paul Eggert  <eggert@cs.ucla.edu>
17722
17723         getline cleanup.  This changes the getndelim2 API: both order of
17724         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
17725         no delimiter).
17726
17727         * lib/getline.c: Don't include stddef.h or stdio.h, since our
17728         interface does that.
17729         (getline): Always use getdelim, so that we don't have two
17730         copies of this code.
17731         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
17732         if available.
17733         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
17734         (GETNDELIM2_MAXIMUM): New macro.
17735         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
17736         instead of the old practice of delim2==0.  All callers changed.
17737         Return -1 on overflow, instead of returning junk.
17738         Do not set *linesize unless allocation succeeds.
17739         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
17740         that we include sys/types.h.
17741         * lib/getnline.h: Likewise.
17742         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
17743         (getndelim2): Reorder arguments.
17744         * lib/getnline.c (getnline, getndelim):
17745         Don't discard the NMAX argument.
17746         (getnline): Invoke getndelim, to avoid code duplication.
17747         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
17748         of (size_t) -1 by callers of the getnline family.
17749
17750 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17751
17752         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
17753         Check for gettimeofday.
17754         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
17755         Check for settimeofday, stime.
17756
17757 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17758
17759         * lib/nanosleep.c (suspended): Change its type from int to
17760         sig_atomic_t volatile.
17761         (first_call): Make it private to rpl_nanosleep, and have it
17762         be zero initially as that's a bit faster.
17763         (my_usleep): Round up fractional times instead of truncating them,
17764         as this is the usual meaning for 'sleep'.
17765
17766         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
17767         doesn't work.
17768         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
17769         (ENOSYS): Define if not defined.
17770         (settime): Fall back on stime if it exists and settimeofday fails.
17771         But don't bother with fallbacks if a method fails with errno == EPERM.
17772
17773 2004-05-11  Jim Meyering  <jim@meyering.net>
17774
17775         Prior to this change, the save_cwd caller required read access to the
17776         current directory on most systems (ones with the fchdir function).
17777
17778         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
17779         fails, try write-only, and finally, resort to using xgetcwd.
17780
17781 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
17782
17783         * lib/obstack.c, obstack.h: Import changes from libc.
17784
17785 2004-04-28  Bruno Haible  <bruno@clisp.org>
17786
17787         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
17788         also implicitly appends .exe to executables.
17789         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
17790         accepts Windows pathnames.
17791         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
17792         Treat Cygwin like Windows, since it now accepts Windows pathnames.
17793         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
17794         Treat Cygwin like Windows, since it now accepts Windows pathnames.
17795         Reported by Derek Robert Price <derek@ximbiot.com>.
17796
17797 2004-04-21  Karl Berry  <karl@gnu.org>
17798
17799         * config/srclist.txt (localcharset.c): break sync.
17800
17801 2004-04-20  Paul Eggert  <eggert@twinsun.com>
17802
17803         * m4/host-os.m4: Add a copyright notice.
17804
17805 2004-04-20  Jim Meyering  <jim@meyering.net>
17806
17807         Change UTILS_ to gl_ in AC_DEFINE'd names.
17808         Change utils_- and jm_-prefixed variables, too.
17809         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
17810         UTILS_FUNC_MKDIR_TRAILING_SLASH.
17811         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
17812
17813         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
17814         Don't emit trailing blanks.
17815         Also rename jm_-prefixed variables to have gl_ prefix.
17816
17817         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
17818         Also rename jm_-prefixed variables to have gl_ prefix.
17819
17820         * m4/jm-macros.m4: Reflect the renamings.
17821         * m4/prereq.m4: Likewise.
17822
17823 2004-04-20  Jim Meyering  <jim@meyering.net>
17824
17825         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
17826         memory.
17827
17828 2004-04-20  Jim Meyering  <jim@meyering.net>
17829             Bruno Haible  <bruno@clisp.org>
17830
17831         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
17832         memory when realloc fails.
17833
17834 2004-04-19  Jim Meyering  <jim@meyering.net>
17835
17836         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
17837         now that readutmp.c may call `free (0)'.
17838
17839 2004-04-19  Bruno Haible  <bruno@clisp.org>
17840
17841         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
17842         * m4/inttypes_h.m4: Likewise.
17843         * m4/stdint_h.m4: Likewise.
17844         * m4/intmax_t.m4: Likewise.
17845         * m4/uintmax_t.m4: Likewise.
17846
17847 2004-04-18  Jim Meyering  <jim@meyering.net>
17848
17849         * m4/prereq.m4: Don't forbid jm_ prefix.
17850
17851         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
17852         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
17853         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
17854         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
17855         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
17856         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
17857         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
17858         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
17859         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
17860         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
17861         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
17862         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
17863         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
17864         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
17865         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
17866         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
17867         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
17868         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
17869         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
17870
17871 2004-04-18  Jim Meyering  <jim@meyering.net>
17872
17873         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
17874         failure, don't leak memory and do call END_UTMP_ENT.
17875
17876 2004-04-16  Jim Meyering  <jim@meyering.net>
17877
17878         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
17879         coreutils' stat program.
17880         (gl_PREREQ): Don't require jm_PREREQ_STAT.
17881
17882 2004-04-11  Paul Eggert  <eggert@twinsun.com>
17883
17884         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
17885         C89.
17886         (CHAR_BIT): Remove, since we assume C89.
17887         Include <stdint.h> if available, as per current Autoconf CVS advice.
17888
17889 2004-03-31  Jim Meyering  <jim@meyering.net>
17890
17891         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
17892         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
17893         * m4/xalloc.m4: Likewise.
17894
17895 2004-03-30  Paul Eggert  <eggert@twinsun.com>
17896
17897         Merge from coreutils.
17898
17899         * m4/inttostr.m4: New file.
17900         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
17901         Require AM_STDBOOL_H and gl_TIMESPEC instead.
17902         Require gl_CLOCK_TIME.
17903         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
17904
17905 2004-03-30  Paul Eggert  <eggert@twinsun.com>
17906
17907         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
17908         not bool, to be more consistent with Unix conventions.
17909         Suggested by Bruno Haible.
17910
17911         Merge from coreutils.
17912
17913         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
17914         * lib/umaxtostr.c: New files.
17915
17916         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
17917         the usual <time.h> dance.
17918         (get_date): Change signature to support fractional time stamps.
17919         All callers changed.
17920         * lib/getdate.y: Include "getdate.h" first, as we can now
17921         assume C89 and don't need to worry about 'const'.
17922         Similarly, include "unlocked-io.h" near start, not in middle.
17923         Include <limits.h>.
17924         (textint.value): Use long int rather than int.
17925         (textint.digits): Use size_t rather than int.
17926         (BILLION, LOG10_BILLION): New constants.
17927         (parser_control): New member rel_ns.  Members day_ordinal,
17928         time_zone, month, day, hour, minutes, rel_year, rel_month,
17929         rel_day, rel_hour, rel_minutes, rel_seconds
17930         are now long int, not int.  Member seconds is now struct timespec,
17931         not int.  New member timespec_seen.  Members dates_seen, days_seen,
17932         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
17933         not int.
17934         (%union.intval): Now long int, not int.
17935         New member timespec.
17936         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
17937         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
17938         (spec): Now is a timespec or an item list.
17939         (timespec, items): New nonterminals.
17940         (time, rel, relunit, number, get_date):
17941         Add support for fractional seconds.
17942         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
17943         (gmtime, localtime, mktime): Remove decls; not needed with C89.
17944         (to_hour): First arg is now long int, not int.
17945         (to_year): Returns long int, not int.
17946         Don't treat year -70 like 70.
17947         (tm_diff): Returns long int, not int.
17948         (lookup_word): Use bool instead of int when appropriate.
17949         (yylex): Use size_t for count, not int.
17950         Detect overflow when parsing large integer constants.
17951         Add support for fractions.
17952         (get_date): Make pointers 'const' if possible.
17953         Use more-portable code to detect integer overflow.
17954         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
17955         Don't use ctime; it's not reliable if the year has >4 digits.
17956
17957         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
17958         This is for compatibility with BSD.
17959
17960         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
17961         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
17962         From coreutils' system.h.
17963
17964         * lib/userspec.c: Don't include "posixver.h".
17965         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
17966         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
17967         compatible extension.  Simplify code by removing a boolean int
17968         that was always nonzero if a string was nonnull.
17969
17970 2004-03-30  Jim Meyering  <jim@meyering.net>
17971
17972         Merge from coreutils.
17973
17974         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
17975         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
17976         on some systems one must include <grp.h> before it.
17977         Reported by Christian Krackowizer.
17978
17979 2004-03-30  Jim Meyering  <jim@meyering.net>
17980
17981         Merge from coreutils.
17982
17983         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
17984
17985         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
17986         an empty input stream.
17987
17988         * lib/readtokens.c: Include <stdbool.h>.
17989         (readtoken): Use `size_t' rather than int/long.
17990         All callers adjusted.
17991         Use `bool' rather than `int' where appropriate.
17992         Use memset rather than an explicit loop.
17993         Use x2nrealloc rather than xrealloc.
17994         Allow the use of `\0' as a delimiter.
17995         (readtokens): Likewise.
17996         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
17997
17998 2004-03-30  Jim Meyering  <jim@meyering.net>
17999
18000         * m4/realloc.m4: Remove file, since now it does no more than
18001         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
18002         the `configure.ac' section of module/realloc.
18003         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
18004
18005 2004-03-30  Bruno Haible  <bruno@clisp.org>
18006
18007         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
18008         nonnull.
18009
18010 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18011
18012         Merge changes to getloadavg.c from coreutils and Emacs.
18013
18014         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
18015         Define to an expression, not to the empty string.
18016         Include cloexec.h and xalloc.h.
18017         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
18018         Use set_cloexec_flag rather than rolling our own.
18019         * lib/cloexec.c, lib/cloexec.h: New files.
18020
18021 2004-03-29  Paul Eggert  <eggert@twinsun.com>
18022
18023         * m4/cloexec.m4: New file.
18024
18025 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18026
18027         * lib/getopt.h: Sync with libc CVS.
18028
18029 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18030             Bruno Haible  <bruno@clisp.org>
18031
18032         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
18033         mbswidth.
18034
18035 2004-03-18  Paul Eggert  <eggert@twinsun.com>
18036             Bruno Haible  <bruno@clisp.org>
18037
18038         * lib/mbswidth.h: Include <wchar.h> only if
18039         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
18040         <wchar.h>.
18041         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
18042
18043 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18044
18045         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
18046         Sync with libc CVS.
18047         * lib/getopt_int.h: New file, also synced from libc.
18048
18049 2004-03-09  Paul Eggert  <eggert@twinsun.com>
18050
18051         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
18052         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
18053         Bring back getopt.c, getopt.h, getopt1.c.
18054
18055 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18056
18057         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
18058         All uses changed.  Check for sa_sigaction member; this fixes
18059         a bug first reported by Jason Andrade in
18060         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18061
18062 2004-03-07  Paul Eggert  <eggert@twinsun.com>
18063
18064         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
18065         '#if' expressions.  Unlike the code it replaces, it does not
18066         depend on (defined _SC_PAGESIZE).  However, it does depend on
18067         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
18068         first reported by Jason Andrade in
18069         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
18070
18071 2004-02-25  Simon Josefsson  <jas@extundo.com>
18072
18073         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
18074
18075 2004-02-25  Simon Josefsson  <jas@extundo.com>
18076
18077         * lib/strdup.h: New file.
18078         * lib/strdup.c: Include it.
18079         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
18080         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
18081
18082 2004-02-23  Karl Berry  <karl@gnu.org>
18083
18084         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
18085         (from fencepost.gnu.org:/gd/gnuorg).
18086
18087 2004-02-23  Karl Berry  <karl@gnu.org>
18088
18089         * config/srclistvars.sh (GNUORG) [karl]: redefine.
18090         * config/srclist.txt: add maintain/standards documents.
18091
18092 2004-02-18  Bruno Haible  <bruno@clisp.org>
18093
18094         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
18095         Reported by Derek Robert Price <derek@ximbiot.com>.
18096
18097 2004-02-16  Karl Berry  <karl@gnu.org>
18098
18099         * config/mkinstalldirs, install-sh: update from automake.
18100
18101 2004-02-06  Karl Berry  <karl@gnu.org>
18102
18103         * m4/po.m4: update from gettext 0.14.1.
18104
18105 2004-02-06  Karl Berry  <karl@gnu.org>
18106
18107         * lib/config.charset: update from gettext 0.14.1.
18108
18109 2004-02-05  Paul Eggert  <eggert@twinsun.com>
18110
18111         Add comments and code, prompted by suggestions from Bruno Haible
18112         for sh-quote.
18113         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
18114         describing the enum quoting_style values.
18115         * lib/quotearg.c (quotearg_alloc): New function.
18116         (quotearg_buffer_restyled): Treat lone { and } as special.
18117         Treat = as special.  Work around bug with older shells
18118         that "see" a '\' that is really the 2nd byte of a multibyte char.
18119         Quote empty string with shell_quoting_style.
18120
18121 2004-02-03  Bruno Haible  <bruno@clisp.org>
18122
18123         * m4/pipe.m4: New file, from GNU gettext.
18124
18125 2004-02-03  Bruno Haible  <bruno@clisp.org>
18126
18127         * lib/pipe.h: New file, from GNU gettext.
18128         * lib/pipe.c: New file, from GNU gettext.
18129
18130 2004-01-27  Bruno Haible  <bruno@clisp.org>
18131
18132         * m4/execute.m4: New file, from GNU gettext.
18133
18134 2004-01-27  Bruno Haible  <bruno@clisp.org>
18135
18136         * lib/execute.h: New file, from GNU gettext.
18137         * lib/execute.c: New file, from GNU gettext.
18138         * lib/w32spawn.h: New file, from GNU gettext.
18139
18140 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18141
18142         Merge from diffutils.
18143
18144         * lib/file-type.c (file_type): Add typed memory objects.
18145         * lib/file-type.h (S_TYPEISTMO): New macro.
18146
18147         * lib/c-stack.h (c_stack_action): Remove argv argument.
18148         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
18149         (die): Don't calculate message unless segv_action returns.
18150         (get_stack_location, min_address_from_argv, max_address_from_argv,
18151         volatile stack_base, volatile_stack_size): Remove.
18152         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
18153         that every segmentation violation is a stack overflow.  (Ouch!)
18154         See Debian bug 136249 (still outstanding) for more info about why
18155         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
18156
18157 2004-01-24  Paul Eggert  <eggert@twinsun.com>
18158
18159         Exit-status fix from coreutils.
18160
18161         Use exit_failure consistently in place of EXIT_FAILURE,
18162         so that program exit statuses are consistent on failure.
18163
18164         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
18165         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
18166         * lib/argmatch.h: Comment fix to match the above.
18167         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
18168         Now a macro referring to exit_failure, instead of a separate
18169         variable.  Include "exitfail.h" to get it.
18170         * lib/xstrtol.h: Include "exitfail.h".
18171         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
18172
18173         * lib/long-options.c (parse_long_options): Use prototype
18174         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
18175         for clarity.
18176
18177 2004-01-21  Jim Meyering  <jim@meyering.net>
18178
18179         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
18180         so as not to conflict with a different-sized __mktime_internal
18181         function in GNU libc.
18182         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
18183         Problem building statically-linked `ls' reported by Michael Brunnbauer.
18184
18185 2004-01-20  Karl Berry  <karl@gnu.org>
18186
18187         * config/config.guess: update from config.
18188
18189         * config/srclistvars.sh: GNUWWWLICENSES for karl.
18190
18191 2004-01-20  Bruno Haible  <bruno@clisp.org>
18192
18193         Safer stack allocation.
18194         * lib/setenv.c: Include allocsa.h.
18195         (alloca): Remove fallback definition.
18196         (freea): Remove macro.
18197         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
18198         instead of freea.
18199
18200 2004-01-20  Bruno Haible  <bruno@clisp.org>
18201
18202         * m4/eealloc.m4: New file, from GNU gettext.
18203
18204 2004-01-20  Bruno Haible  <bruno@clisp.org>
18205
18206         * m4/allocsa.m4: New file, from GNU gettext.
18207
18208 2004-01-20  Bruno Haible  <bruno@clisp.org>
18209
18210         * lib/xallocsa.h: New file, from GNU gettext.
18211         * lib/xallocsa.c: New file, from GNU gettext.
18212
18213 2004-01-20  Bruno Haible  <bruno@clisp.org>
18214
18215         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
18216
18217 2004-01-20  Bruno Haible  <bruno@clisp.org>
18218
18219         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
18220         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
18221         specially.
18222
18223 2004-01-20  Bruno Haible  <bruno@clisp.org>
18224
18225         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
18226         patch.
18227
18228 2004-01-20  Bruno Haible  <bruno@clisp.org>
18229
18230         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
18231
18232 2004-01-20  Bruno Haible  <bruno@clisp.org>
18233
18234         * lib/eealloc.h: New file.
18235
18236 2004-01-20  Bruno Haible  <bruno@clisp.org>
18237
18238         * lib/binary-io.h: Avoid warnings on Cygwin.
18239
18240 2004-01-20  Bruno Haible  <bruno@clisp.org>
18241
18242         * lib/allocsa.h: New file, from GNU gettext.
18243         * lib/allocsa.c: New file, from GNU gettext.
18244
18245 2004-01-18  Karl Berry  <karl@gnu.org>
18246
18247         * doc/gpl.texi, doc/lgpl.texi: new files.
18248
18249 2004-01-18  Karl Berry  <karl@gnu.org>
18250
18251         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
18252         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
18253
18254 2004-01-15  Paul Eggert  <eggert@twinsun.com>
18255
18256         Merge from coreutils.
18257
18258         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
18259         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
18260         (gl_DEFAULT_POSIX2_VERSION): Move
18261         the documentation from 'configure' into 'config.hin',
18262         so that 'configure --help' isn't burdened by it and
18263         we don't have to worry about its formatting there.
18264         Reword the documentation so that it's more succinct
18265         and can be run together into a single paragraph.
18266         * m4/same.m4 (gl_SAME): Check for pathconf.
18267
18268 2004-01-15  Paul Eggert  <eggert@twinsun.com>
18269
18270         Merge from coreutils.
18271
18272         * lib/posixver.c: Include posixver.h.
18273
18274         * lib/same.c: Include <stdbool.h>, <limits.h>.
18275         (_POSIX_NAME_MAX): Define if not defined.
18276         (MIN): New macro.
18277         (same_name): If file names are silently truncated, report
18278         that the file names are the same if they are the same after
18279         the silent truncation.
18280
18281         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
18282         conversion function.
18283         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
18284         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
18285         longer needed.
18286
18287 2004-01-15  Jim Meyering  <jim@meyering.net>
18288
18289         Merge from coreutils.
18290
18291         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
18292         if no library is required.
18293         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
18294         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
18295         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
18296         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
18297         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
18298         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
18299         value, $ac_cv_search_crypt, if it's "none required".
18300         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
18301         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
18302         not gl_FUNC_GETLOADAVG.
18303         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
18304         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
18305
18306 2004-01-15  Jim Meyering  <jim@meyering.net>
18307
18308         Merge from coreutils.
18309
18310         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
18311         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
18312         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
18313
18314         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
18315         optional configure-time default.
18316
18317         * lib/version-etc.c (version_etc_copyright): Update copyright date.
18318
18319         * lib/xreadlink.c (xreadlink): Correct outdated comment.
18320
18321 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
18322
18323         Merge from coreutils.
18324
18325         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
18326         value, $ac_cv_search_nanosleep, if it's "none required".
18327
18328 2004-01-14  Paul Eggert  <eggert@twinsun.com>
18329
18330         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
18331         with like-named macro in fnmatch.c.
18332         (EXT): Use an internal constant instead.
18333
18334         Merge fnmatch patches from glibc.
18335         * lib/fnmatch.c (mbsinit): Remove define.
18336         Add libc_hidden_ver (__fnmatch, fnmatch).
18337         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
18338         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
18339
18340 2004-01-14  Karl Berry  <karl@gnu.org>
18341
18342         * config/install-sh: update from automake.
18343
18344 2004-01-13  Karl Berry  <karl@gnu.org>
18345
18346         * config/install-sh: update from automake.
18347
18348 2004-01-09  Karl Berry  <karl@gnu.org>
18349
18350         * config/install-sh: update from automake.
18351
18352 2004-01-05  Karl Berry  <karl@gnu.org>
18353
18354         * config/config.{sub,guess}: update from config.
18355
18356 2003-12-31  Karl Berry  <karl@gnu.org>
18357
18358         * config/depcomp: update from automake.
18359
18360 2003-12-14  Karl Berry  <karl@gnu.org>
18361
18362         * lib/config.charset: update from gettext-runtime.
18363
18364 2003-12-03  Paul Eggert  <eggert@twinsun.com>
18365
18366         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
18367         Bug reported by Alfred M. Szmidt.
18368
18369 2003-12-03  Bruno Haible  <bruno@clisp.org>
18370
18371         * m4/gettext.m4: Upgrade from gettext-0.13.
18372         * m4/po.m4: Upgrade from gettext-0.13.
18373         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
18374         * m4/intmax.m4: New file, from gettext-0.13.
18375         * m4/printf-posix.m4: New file, from gettext-0.13.
18376
18377 2003-11-29  Karl Berry  <karl@gnu.org>
18378
18379         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
18380
18381 2003-11-25  Paul Eggert  <eggert@twinsun.com>
18382             Bruno Haible  <bruno@clisp.org>
18383
18384         * lib/printf-parse.h: Don't include sys/types.h.
18385         (ARG_NONE): New macro.
18386         (char_directive): Change type of *arg_index fields to size_t.
18387         * lib/printf-parse.c: Don't include sys/types.h.
18388         (SSIZE_MAX): Remove macro.
18389         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
18390         Remove unnecessary overflow check.
18391         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
18392         fields.
18393
18394 2003-11-25  Bruno Haible  <bruno@clisp.org>
18395
18396         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
18397
18398 2003-11-25  Bruno Haible  <bruno@clisp.org>
18399
18400         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
18401         gt_TYPE_SSIZE_T.
18402
18403 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18404
18405         * modules/alloca: Remove dependency on xalloc.
18406
18407 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18408
18409         * lib/alloca.c: Remove dependency on xalloc module.
18410         (xalloc_die): Remove.
18411         (memory_full) [!defined emacs]: New macro.
18412         [!defined emacs]: Don't include xalloc.h.
18413         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
18414         address arithmetic overflows.  Change datatypes a bit to avoid
18415         unnecessary casts.
18416
18417 2003-11-22  Jim Meyering  <jim@meyering.net>
18418
18419         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
18420         s/size/size_t/.
18421
18422 2003-11-21  Karl Berry  <karl@gnu.org>
18423
18424         * config/config.{sub,guess}: update from config.
18425
18426 2003-11-18  Karl Berry  <karl@gnu.org>
18427
18428         * config/config.{sub,guess}: update from config.
18429
18430         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
18431
18432 2003-11-17  Paul Eggert  <eggert@twinsun.com>
18433
18434         * README: Mention that S+T cannot overflow if S is the size of
18435         an existing object and T is sufficiently small.
18436
18437 2003-11-17  Jim Meyering  <jim@meyering.net>
18438
18439         On systems without utime and without a utimes function capable of
18440         dealing with a NULL struct utimbuf* argument, this utime replacement
18441         could -- in unusual circumstances -- leak a file descriptor.
18442         * lib/utime.c: Include <unistd.h> and <errno.h>.
18443         (utime_null): Be sure to close `fd' and to preserve errno.
18444         Reported by Geoff Collyer via Arnold Robbins.
18445
18446 2003-11-17  Bruno Haible  <bruno@clisp.org>
18447
18448         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
18449         (Depends-on): Add xsize.
18450
18451 2003-11-17  Bruno Haible  <bruno@clisp.org>
18452
18453         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
18454
18455 2003-11-17  Bruno Haible  <bruno@clisp.org>
18456
18457         * lib/vasnprintf.c (alloca): Remove fallback definition.
18458         (freea): Remove definition.
18459         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
18460         Reported by Paul Eggert.
18461
18462 2003-11-16  Paul Eggert  <eggert@twinsun.com>
18463             Bruno Haible  <bruno@clisp.org>
18464
18465         Protect against address arithmetic overflow.
18466         * lib/printf-args.h: Include stddef.h.
18467         (arguments): Change type of field 'count' to size_t.
18468         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
18469         'unsigned int' where appropriate.
18470         * lib/printf-parse.h: Include sys/types.h.
18471         (char_directive): Change type of *arg_index fields to ssize_t.
18472         (char_directives): Change type of fields 'count', max_*_length to
18473         size_t.
18474         * lib/printf-parse.c: Include sys/types.h and xsize.h.
18475         (SSIZE_MAX): Define fallback value.
18476         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
18477         instead of 'int' where appropriate. Check a_allocated, d_allocated
18478         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
18479         * lib/vasnprintf.c: Include xsize.h.
18480         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
18481         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
18482         overflow. Avoid wraparound when converting a width or precision from
18483         decimal to binary.
18484
18485 2003-11-16  Bruno Haible  <bruno@clisp.org>
18486
18487         Update from GNU gettext.
18488         * lib/printf-parse.c: Generalize to it can be compiled for wide
18489         strings.
18490         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
18491         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
18492         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
18493         SNPRINTF): New macros.
18494         Don't include <alloca.h> if the file is used inside libintl.
18495         (local_wcslen): New function, for Solaris 2.5.1.
18496         (VASNPRINTF): Use it instead of wcslen.
18497
18498 2003-11-16  Bruno Haible  <bruno@clisp.org>
18499
18500         * lib/xsize.h (xmax): New function.
18501         (xsum, xsum3, xsum4): Declare as "pure" functions.
18502
18503 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18504
18505         * modules/xalloc (Files): Undo latest change, since xalloc.h
18506         no longer needs SIZE_MAX or PTRDIFF_MAX.
18507
18508 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18509
18510         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
18511         gl_PTRDIFF_MAX.
18512
18513 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18514
18515         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
18516         "return", to pacify some unknown compiler.  Problem reported
18517         by Joerg Schilling.
18518
18519 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18520
18521         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
18522         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
18523         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
18524         heuristic is just as accurate as far as we know, and it removes a
18525         dependency on size_max.m4 and ptrdiff_max.m4.
18526
18527 2003-11-11  Bruno Haible  <bruno@clisp.org>
18528
18529         * modules/xsize (Files): Add m4/size_max.m4.
18530         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
18531
18532 2003-11-11  Bruno Haible  <bruno@clisp.org>
18533
18534         * m4/size_max.m4: New file.
18535         * m4/ptrdiff_max.m4: New file.
18536         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
18537         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
18538         (gl_XALLOC): Invoke it.
18539
18540 2003-11-11  Bruno Haible  <bruno@clisp.org>
18541
18542         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
18543         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
18544         defined.
18545
18546 2003-11-10  Paul Eggert  <eggert@twinsun.com>
18547
18548         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
18549         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
18550         rejected some allocations of exactly SIZE_MAX - 2 bytes.
18551         From Bruno Haible.
18552         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
18553         not (size_t) -1, since it's defined here.
18554
18555 2003-11-09  Karl Berry  <karl@gnu.org>
18556
18557         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
18558
18559 2003-11-06  Paul Eggert  <eggert@twinsun.com>
18560
18561         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
18562         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
18563         Reject sizes of exactly SIZE_MAX bytes.
18564         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
18565         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
18566
18567 2003-11-05  Bruno Haible  <bruno@clisp.org>
18568
18569         * lib/xsize.h: Include limits.h, to avoid a possible collision with
18570         SIZE_MAX defined in <limits.h> on Solaris.
18571
18572 2003-11-04  Jim Meyering  <jim@meyering.net>
18573
18574         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
18575         variable names, rather than @VAR@.
18576         * modules/poll: Likewise.
18577
18578 2003-11-04  Bruno Haible  <bruno@clisp.org>
18579
18580         * modules/xsize: New file.
18581         * modules/linebreak: Depend on xsize.
18582         * MODULES.html.sh (func_all_modules): Add xsize.
18583
18584 2003-11-04  Bruno Haible  <bruno@clisp.org>
18585
18586         * m4/xsize.m4: New file.
18587
18588 2003-11-04  Bruno Haible  <bruno@clisp.org>
18589
18590         * lib/xsize.h: New file.
18591         * lib/linebreak.c: Include xsize.h.
18592         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
18593         argument for overflow.
18594         Suggested by Paul Eggert.
18595
18596 2003-11-03  Karl Berry  <karl@gnu.org>
18597
18598         * config/config.{guess,sub}: update from config.
18599
18600 2003-11-03  Jim Meyering  <jim@meyering.net>
18601
18602         * modules/userspec (lib_SOURCES): Add userspec.h.
18603         (Include): Add "userspec.h".
18604         Improve description.
18605
18606 2003-11-03  Jim Meyering  <jim@meyering.net>
18607
18608         * lib/userspec.c: Include "userspec.h".
18609         * lib/userspec.h: New file.
18610
18611 2003-11-03  Bruno Haible  <bruno@clisp.org>
18612
18613         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
18614
18615 2003-11-03  Bruno Haible  <bruno@clisp.org>
18616
18617         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
18618         available, to avoid (extremely rare) race condition.
18619         Suggested by Paul Eggert.
18620
18621 2003-11-02  Karl Berry  <karl@gnu.org>
18622
18623         * config/srclist.txt (vasprintf.c): sync broken, sigh.
18624
18625 2003-10-31  Paul Eggert  <eggert@twinsun.com>
18626
18627         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
18628         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
18629         (read_filesystem_list): Set and use me_type_malloced.
18630         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
18631         whatever the type happens to be), for brevity and consistency.
18632         Check for size calculation overflow on Alphas running OSF/1.
18633
18634 2003-10-31  Jim Meyering  <jim@meyering.net>
18635
18636         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
18637
18638         * lib/linebuffer.c: Include <string.h> for declaration of memset.
18639
18640 2003-10-30  Paul Eggert  <eggert@twinsun.com>
18641             Bruno Haible  <bruno@clisp.org>
18642
18643         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
18644         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
18645
18646 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
18647
18648         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
18649         netbsd*-gnu*.  Suggested by Robert Millan.
18650
18651 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18652
18653         * modules/group-member: Depend on stdbool.
18654
18655 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18656
18657         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
18658
18659 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18660
18661         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
18662         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
18663         after the 'gnu' in these cases.  This fixes some bugs in the
18664         previous change, and is based on suggestions by Robert Millan.
18665
18666 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18667
18668         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
18669         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
18670         no longer needed.
18671         * lib/quotearg.c (quotearg_n_options): Use it.
18672         * lib/group-member.c: Include <stdbool.h>.
18673         (free_group_info): Arg is now const *; don't free arg.
18674         (get_group_info): Now returns bool and accepts struct group_info *,
18675         rather than returning a malloc'ed struct group_info *.
18676         All uses changed.  Check for overflow in internal size calculation.
18677
18678         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
18679         rather than xmalloc/xrealloc.
18680         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
18681         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
18682         conformance bug: the old code used a pointer after freeing the
18683         storage that it addressed.
18684         * lib/hash.c (hash_initialize): Simplify the code by using
18685         xalloc_oversized rather than doing it by hand.
18686         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
18687         the buffer preserved.  Use free and xmalloc instead.
18688         * lib/quotearg.c (quotearg_n_options): Likewise.
18689         Use a simpler test for size overflow.  Don't use xalloc_oversized
18690         because unsigned int might be wider than size_t (!); this suggests
18691         that we should switch from unsigned int to size_t for slot numbers.
18692
18693 2003-10-28  Paul Eggert  <eggert@twinsun.com>
18694
18695         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
18696         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
18697         NetBSD kernels.  Requested by Richard Stallman.
18698
18699 2003-10-27  Paul Eggert  <eggert@twinsun.com>
18700
18701         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
18702         to allocate the returned structure.  Do not allocate a subarray,
18703         as x2nrealloc will do that.
18704         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
18705         instead of xnrealloc.
18706         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
18707
18708 2003-10-27  Bruno Haible  <bruno@clisp.org>
18709
18710         * lib/stdbool_.h: Better support for BeOS.
18711
18712 2003-10-26  Paul Eggert  <eggert@twinsun.com>
18713
18714         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
18715         now uses inline.
18716
18717 2003-10-26  Paul Eggert  <eggert@twinsun.com>
18718
18719         * lib/xalloc.h (xalloc_oversized): New static inline function, for
18720         callers that want to do their own size-overflow checking.  Include
18721         <stdbool.h>, since xalloc_oversized returns bool.
18722         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
18723         to use xalloc_oversized.
18724
18725         Add two functions x2realloc, x2nrealloc, for programs that grow
18726         arrays dynamically by doubling their sizes.
18727         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
18728         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
18729         New functions.
18730
18731         Port to C99 semantics for 'inline' of external functions.
18732         Bug reported by Bruno Haible.
18733         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
18734         with the old contents of xnmalloc.
18735         (xnmalloc, xmalloc): Use it.
18736         (xnrealloc_inline): New static inline function,
18737         with the old contents of xnrealloc.
18738         (xnrealloc, xrealloc): Use it.
18739
18740         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
18741         that.
18742
18743 2003-10-26  Karl Berry  <karl@gnu.org>
18744
18745         * config/srclist.txt (COPYING.DOC): no longer available from
18746         /gd/gnuorg; don't know where the ultimate source is.
18747
18748 2003-10-25  Paul Eggert  <eggert@twinsun.com>
18749
18750         Fix several address-calculation bugs in the hash modules,
18751         plus some minor code cleanup.
18752
18753         * lib/hash.h: Include <stdbool.h>, for bool.
18754         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
18755         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
18756         hash_get_n_entries, hash_get_max_bucket_length,
18757         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
18758         hash_rehash): Use size_t rather than unsigned.
18759         * lib/hash.c (struct hash_table, hash_get_n_buckets,
18760         hash_get_n_buckets_used, hash_get_n_entries,
18761         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
18762         hash_get_entries, hash_do_for_each, hash_string, is_prime,
18763         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
18764         Likewise.
18765         (SIZE_MAX): Define if not defined.
18766         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
18767         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
18768         hash_print):
18769         Use const * when possible.
18770         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
18771         (check_tuning): Fix bug: if tuning parameters were very close to
18772         0 or 1, rounding errors could have caused subscript violations.
18773         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
18774         (hash_initialize): Add 'fail:' label
18775         to free table and return NULL, and use it to simplify code.
18776         Use calloc rather than clearing the storage ourself.
18777         (hash_initialize, hash_rehash): Check for arithmetic overflow in
18778         buffer size calculations.
18779         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
18780         Include <stddef.h>, for size_t.
18781         * lib/hash-pjw.c (hash_pjw): Likewise.
18782         Switch to method described by Bruno Haible.
18783         Include <limits.h>, for CHAR_BIT.
18784         (SIZE_BITS): New macro.
18785
18786 2003-10-23  Paul Eggert  <eggert@twinsun.com>
18787
18788         * m4/getline.m4 (AM_FUNC_GETLINE):
18789         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
18790         hosts.  Problem reported by Derek Robert Price in
18791         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
18792         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
18793         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
18794
18795 2003-10-21  Paul Eggert  <eggert@twinsun.com>
18796
18797         * lib/getndelim2.c (getndelim2): When size calculation overflows,
18798         ceiling the allocation at NMAX bytes rather than silently
18799         discarding input bytes before NMAX is reached.  This makes
18800         a difference only if NMAX exceeds SIZE_MAX / 2.
18801
18802         * lib/obstack.c: Merge from glibc.
18803         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
18804         Add libc_hidden_def (_obstack_newchunk).
18805         (_obstack_free) [! defined _LIBC]: Remove.
18806         [defined _LIBC]: Make a strong alias from obstack_free, rather than
18807         a clone of the function body.
18808         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
18809         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
18810
18811         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
18812         glibc.
18813         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
18814         arg to memcpy.
18815
18816         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
18817         (obstack_ptr_grow_fast, obstack_int_grow_fast):
18818         Don't use lvalue casts, as GCC plans to remove support for them
18819         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
18820         was also present in the non-GCC version, indicating that this
18821         code had always been buggy and had never been widely used.
18822         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
18823         Use the fast variant of each macro, rather than copying the
18824         definiens of the fast variant; that way, we'll be more likely to
18825         catch future bugs in the fast variants.
18826
18827 2003-10-20  Bruno Haible  <bruno@clisp.org>
18828
18829         * modules/wait-process: New file.
18830         * MODULES.html.sh (func_all_modules): Add wait-process.
18831
18832 2003-10-20  Bruno Haible  <bruno@clisp.org>
18833
18834         * m4/wait-process.m4: New file.
18835
18836 2003-10-20  Bruno Haible  <bruno@clisp.org>
18837
18838         * lib/wait-process.h: New file, from GNU gettext.
18839         * lib/wait-process.c: New file, from GNU gettext.
18840
18841 2003-10-19  Jim Meyering  <jim@meyering.net>
18842
18843         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
18844         HPUX 10.20.
18845
18846 2003-10-18  Karl Berry  <karl@gnu.org>
18847
18848         * config/config.guess: update from config.
18849
18850 2003-10-16  Paul Eggert  <eggert@twinsun.com>
18851
18852         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
18853         (getgroups): First arg is int, not size_t.
18854         Don't let 'free' mangle errno.
18855
18856 2003-10-16  Paul Eggert  <eggert@twinsun.com>
18857
18858         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
18859
18860 2003-10-16  Karl Berry  <karl@gnu.org>
18861
18862         * config/config.{guess,sub}: update from config.
18863
18864 2003-10-16  Jim Meyering  <jim@meyering.net>
18865
18866         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
18867         memcpy.
18868
18869 2003-10-15  Paul Eggert  <eggert@twinsun.com>
18870
18871         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
18872         (SIZE_MAX): Remove.
18873         (new_exclude, add_exclude_file): Initial size no longer needs to
18874         be a power of 2.
18875         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
18876         our own address arithmetic overflow checking.
18877
18878         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
18879         (fnmatch): Do not alloca more than 2000 wide characters;
18880         instead, use malloc for large buffers.
18881         Check for address arithmetic overflow, and return -1
18882         with errno set to ENOMEM in that case.
18883         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
18884         (NEW_PATTERN): Do not alloca more than 8000 bytes;
18885         instead, return -1.  Check for address arithmetic overflow.
18886
18887 2003-10-14  Paul Eggert  <eggert@twinsun.com>
18888
18889         Handle invalid suffixes and overflow independently, so that
18890         callers can treat them independently as needed.  Fix some bugs in
18891         suffix handling, e.g., "100k@" was not diagnosed as an invalid
18892         suffix for a human-readable blocksize.  The major caller-visible
18893         change is the addition of a new
18894         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
18895         that both overflow and suffix chars were found.
18896
18897         * lib/human.c (humblock): Don't check separately for invalid suffix
18898         char; that is xstrtoumax's job (now that its bug is fixed).
18899         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
18900         INTMAX_MAX]: New macros.
18901         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
18902         TYPE_MAXIMUM): New macros.
18903         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
18904         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
18905         if overflow occurs, as it's what __strtol does and it's more useful
18906         in practice.
18907         (__xstrtol): If __strtol reports some error other than ERANGE,
18908         reflect it to the caller as LONGINT_INVALID.  If it reports
18909         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
18910         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
18911         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
18912         value.
18913         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
18914         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
18915         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
18916         [defined UINTMAX_MAX]: New macros.
18917
18918 2003-10-14  Bruno Haible  <bruno@clisp.org>
18919
18920         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
18921
18922 2003-10-14  Bruno Haible  <bruno@clisp.org>
18923
18924         * m4/sig_atomic_t: New file, from GNU gettext.
18925         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
18926
18927 2003-10-14  Bruno Haible  <bruno@clisp.org>
18928
18929         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
18930         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
18931         Also use volatile where needed.
18932
18933 2003-10-12  Paul Eggert  <eggert@twinsun.com>
18934
18935         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
18936         Change maintainer from Bruno Haible to 'all'.
18937
18938 2003-10-12  Paul Eggert  <eggert@twinsun.com>
18939
18940         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
18941
18942 2003-10-12  Paul Eggert  <eggert@twinsun.com>
18943
18944         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
18945         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
18946         and define in terms of the other primitives.
18947         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
18948         (SIZE_MAX): Define if not already defined.
18949         (array_size_overflow): New function.
18950         (xalloc_die): Abort instead of exiting if 'error' returns.
18951         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
18952         (xmalloc, xrealloc): Use them.
18953         (xcalloc): Check for address arithmetic overflow.
18954         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
18955         a bit faster than strcpy.
18956
18957 2003-10-10  Simon Josefsson  <jas@extundo.com>
18958
18959         * modules/argp (Depends-on): Add restrict and strcase.
18960
18961 2003-10-10  Simon Josefsson  <jas@extundo.com>
18962
18963         * m4/argp.m4: Add AC_C_INLINE.
18964
18965 2003-10-08  Paul Eggert  <eggert@twinsun.com>
18966
18967         Merge getpass from libc, plus a few fixes.
18968
18969         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
18970         Include <stdbool.h>.
18971         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
18972         __fsetlocking to empty.
18973         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
18974         do include <bits/libc-lock.h>.
18975         Do not include <fcntl.h>; not needed.
18976         [_LIBC]: Include <wchar.h>.
18977         (NOTCANCEL_MODE): New macro.
18978         (flockfile, funlockfile) [_LIBC]: New macros.
18979         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
18980         [!_LIBC]: New macros.
18981         (call_fclose): New function.
18982         (getpass): Use it.  Save tty stream separately; this simplifies the
18983         code and makes it more reliable if stdin happens to equal stdout.
18984         Invoke __fsetlocking on tty.
18985         Handle thread cancellation if needed.
18986         Namespace cleanup (use __tcgetattr, __getline).
18987         Use bool for Booleans.
18988         [USE_IN_LIBIO]: Handle wide streams.
18989         [!_LIBC]: Unconditionally do the fseek, since we don't know what
18990         stream might go where.
18991
18992         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
18993         doesn't have to include <stdio.h> before us.
18994         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
18995         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
18996         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
18997         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
18998         if not declared, so that we can use getpass.c code from libc without
18999         rewriting it.
19000         (flockfile, ftrylockfile, funlockfile): New macros.
19001
19002 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19003
19004         * modules/getpass: Depend on stdbool.
19005
19006 2003-10-08  Paul Eggert  <eggert@twinsun.com>
19007
19008         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
19009
19010 2003-10-07  Karl Berry  <karl@gnu.org>
19011
19012         * config/config.{guess,sub}: update from config.
19013
19014 2003-10-06  Jim Meyering  <jim@meyering.net>
19015             Bruno Haible  <bruno@clisp.org>
19016
19017         This lets translators provide better translations for the
19018         "Written by ..." part of --version output.
19019         * lib/version-etc.h: Include stdarg.h.
19020         (version_etc_copyright): Declare as readonly.
19021         (version_etc): Make this function variadic with a NULL-terminated list
19022         of author name strings.
19023         (version_etc_va): New declaration.
19024         * lib/version-etc.c: Include stdarg.h, stdlib.h.
19025         (version_etc_copyright): Declare as readonly.
19026         (version_etc_va): New function. Provide a different translatable string
19027         for each possible number of authors < 10. Abbreviate when there are 10
19028         authors or more.
19029         (version_etc): Make this function variadic. Call version_etc_va.
19030         Suggestion from Gary V. Vaughan.
19031
19032         * lib/long-options.h (parse_long_options): Change prototype: the
19033         authors string is moved to the end and becomes variadic.
19034         * lib/long-options.c: Include stdarg.h.
19035         (parse_long_options): Make this function variadic, too.
19036         Call version_etc_va, not version_etc.
19037
19038 2003-10-06  Bruno Haible  <bruno@clisp.org>
19039
19040         * modules/version-etc-2: Remove file.
19041         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
19042
19043 2003-10-06  Bruno Haible  <bruno@clisp.org>
19044
19045         * modules/fatal-signal: New file.
19046         * MODULES.html.sh (func_all_modules): Add fatal-signal.
19047
19048 2003-10-06  Bruno Haible  <bruno@clisp.org>
19049
19050         * m4/fatal-signal.m4: New file.
19051         * m4/signalblocking.m4: New file, from GNU gettext.
19052
19053 2003-10-06  Bruno Haible  <bruno@clisp.org>
19054
19055         * lib/version-etc-2.h: Remove file.
19056         * lib/version-etc-2.c: Remove file.
19057
19058 2003-10-06  Bruno Haible  <bruno@clisp.org>
19059
19060         * lib/fatal-signal.h: New file, from GNU gettext.
19061         * lib/fatal-signal.c: New file, from GNU gettext.
19062
19063 2003-10-05  Paul Eggert  <eggert@twinsun.com>
19064
19065         * README: Rework advice for preventing empty .o files.
19066         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
19067         not <sys/types.h>.
19068
19069 2003-10-04  Karl Berry  <karl@gnu.org>
19070
19071         * lib/argp*: update from libc.
19072
19073 2003-10-04  Karl Berry  <karl@gnu.org>
19074
19075         * config/config.{guess,sub}: update from config.
19076
19077 2003-10-02  Bruno Haible  <bruno@clisp.org>
19078
19079         * modules/lchown (Include): Add lchown.h.
19080         * modules/time_r (Include): Use "..." syntax.
19081         * modules/xgetdomainname (Include): Add xgetdomainname.h.
19082
19083 2003-10-01  Simon Josefsson  <jas@extundo.com>
19084
19085         * MODULES.html.sh (func_all_modules): Move gethostname from section
19086         'based on' to section 'lacking' POSIX:2001.
19087
19088 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
19089
19090         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
19091         to output mode on the same stream.
19092
19093 2003-09-29  Paul Eggert  <eggert@twinsun.com>
19094
19095         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
19096         Fix arg typo in previous patch.
19097
19098 2003-09-28  Jim Meyering  <jim@meyering.net>
19099
19100         * lib/error.c: Correct cpp indentation.
19101
19102 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19103
19104         * modules/free: New file.
19105
19106 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19107
19108         * m4/free.m4: New file.
19109
19110 2003-09-27  Paul Eggert  <eggert@twinsun.com>
19111
19112         * lib/minmax.h (MIN, MAX)
19113         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
19114         Omit the special code that used __typeof__, since we worry that
19115         it could be more trouble than it's worth.  See:
19116         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
19117         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
19118
19119         * lib/free.c: New file.
19120
19121 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
19122
19123         Trivial fixes to Makefile.am parts of module listings.
19124         * modules/strstr: Append strstr.h to lib_SOURCES.
19125         * modules/strcase: Likewise, for strcase.h.
19126
19127 2003-09-27  Karl Berry  <karl@gnu.org>
19128
19129         * config/mkinstalldirs: update from automake.
19130
19131 2003-09-26  Paul Eggert  <eggert@twinsun.com>
19132
19133         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
19134         (error_tail): Do not loop, reallocating temporary buffer, since
19135         the output cannot contain more wide characters than the input
19136         contains bytes, the size must be big enough already.  This avoids
19137         one potential size overflow calculation.  Check for size overflow
19138         when calculating temporary buffer size.  Free temporary buffer
19139         when done, if it was allocated with malloc; this plugs a memory
19140         leak.  Remove casts from void * to pointers, that are no longer
19141         needed now that we're assuming C89 or better.
19142
19143         Merge error changes from glibc.
19144
19145         * lib/error.c, error.h: Update copyright notice header to match glibc.
19146         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
19147         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
19148         Disable cancellation while printing error.
19149         * lib/error.h: Prepend __ to parameter names.
19150
19151 2003-09-26  Jim Meyering  <jim@meyering.net>
19152
19153         * lib/error.c (error_tail): Move some declarations
19154         into inner scope where the local variables are used.
19155
19156 2003-09-26  Bruno Haible  <bruno@clisp.org>
19157
19158         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
19159         stpncpy().
19160         Don't define stpncpy through config.h; it's now done through stpncpy.h.
19161
19162 2003-09-26  Bruno Haible  <bruno@clisp.org>
19163
19164         * lib/stpncpy.h (gnu_stpncpy): New declaration.
19165         (stpncpy): Define as alias for gnu_stpncpy.
19166         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
19167
19168 2003-09-25  Simon Josefsson  <jas@extundo.com>
19169
19170         * lib/xgetdomainname.h: New file.
19171         * lib/xgetdomainname.c: New file.
19172
19173 2003-09-25  Simon Josefsson  <jas@extundo.com>
19174             Bruno Haible  <bruno@clisp.org>
19175
19176         * modules/getdomainname: New file.
19177         * modules/xgetdomainname: New file.
19178         * MODULES.html.sh (func_all_modules): Add getdomainname,
19179         xgetdomainname.
19180
19181 2003-09-25  Simon Josefsson  <jas@extundo.com>
19182             Bruno Haible  <bruno@clisp.org>
19183
19184         * m4/getdomainname.m4: New file.
19185
19186 2003-09-25  Simon Josefsson  <jas@extundo.com>
19187             Bruno Haible  <bruno@clisp.org>
19188
19189         * lib/getdomainname.h: New file.
19190         * lib/getdomainname.c: New file.
19191
19192 2003-09-25  Karl Berry  <karl@gnu.org>
19193
19194         * lib/argp-fmtstream.c, argp-help.c: update from libc.
19195
19196 2003-09-25  Karl Berry  <karl@gnu.org>
19197
19198         * config/install-sh: update from automake.
19199
19200 2003-09-25  Bruno Haible  <bruno@clisp.org>
19201
19202         * modules/version-etc-2: New file, from modules/version-etc with
19203         modifications.
19204         * MODULES.html.sh (func_all_modules): Add version-etc-2.
19205
19206 2003-09-25  Bruno Haible  <bruno@clisp.org>
19207
19208         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
19209         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
19210
19211 2003-09-24  Simon Josefsson  <jas@extundo.com>
19212
19213         * modules/xgethostname: Add xgethostname.h.
19214
19215 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19216
19217         * lib/linebuffer.c (freebuffer): Don't free the argument, just
19218         the buffer associated with the argument.  Bug reported by
19219         Simon Josefsson.
19220
19221 2003-09-24  Paul Eggert  <eggert@twinsun.com>
19222
19223         * README: Document assumptions that 'int' is at least 32 bits
19224         wide, that integer arithmetic is 2's complement without overflow,
19225         that there are no holes in integer values, that adding sizes of
19226         two nonoverlapping objects can't overflow, and that all-bits-zero
19227         yields scalar zero.  Fix spelling and capitalization typos.
19228
19229 2003-09-19  Karl Berry  <karl@gnu.org>
19230
19231         * lib/argp.h: update from libc.
19232
19233 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19234
19235         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
19236         to avoid spurious warnings like "AC_RUN_IFELSE was called before
19237         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
19238
19239 2003-09-17  Paul Eggert  <eggert@twinsun.com>
19240
19241         * gnulib-tool: Use "test -h", not "test -L", for portability
19242         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
19243         (tags_regexp): Remove, since \| doesn't conform to POSIX.
19244         (sed_extract_prog): Issue s commands one-by-one, rather than
19245         using \| in one s command.
19246
19247 2003-09-16  Paul Eggert  <eggert@twinsun.com>
19248
19249         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
19250         input error, instead of returning NULL the next time we are called
19251         (and therefore losing track of errno).
19252
19253 2003-09-16  Bruno Haible  <bruno@clisp.org>
19254
19255         * gnulib-tool (func_create_testdir): Warn about duplicated
19256         dependencies.
19257
19258 2003-09-15  Paul Eggert  <eggert@twinsun.com>
19259
19260         * modules/argmatch, modules/fatal, modules/obstack,
19261         modules/xalloc, modules/xgethostname: Sort dependencies by
19262         importance, not alphabetically.
19263
19264 2003-09-15  Paul Eggert  <eggert@twinsun.com>
19265
19266         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
19267         fails, so that the caller gets the proper errno.
19268
19269         * lib/readutmp.c (read_utmp): Likewise.
19270         Check for fstat error.  Close stream and free storage
19271         when failing.
19272
19273 2003-09-14  Karl Berry  <karl@gnu.org>
19274
19275         * config/srclist.txt (strdup.c): disable for c89 changes.
19276
19277 2003-09-14  Jim Meyering  <jim@meyering.net>
19278
19279         * lib/getloadavg.c: Correct cpp indentation.
19280         * lib/strdup.c: Likewise.
19281         * lib/vasnprintf.c: Likewise.
19282
19283 2003-09-14  Bruno Haible  <bruno@clisp.org>
19284
19285         * modules/fwriteerror: New file.
19286         * MODULES.html.sh (func_all_modules): Add fwriteerror.
19287
19288 2003-09-14  Bruno Haible  <bruno@clisp.org>
19289
19290         * lib/fwriteerror.h: New file.
19291         * lib/fwriteerror.c: New file.
19292
19293 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19294
19295         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
19296         modules/xgethostname, modules/xalloc: Depend on exit.
19297
19298 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19299
19300         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
19301
19302         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
19303         and AC_MINIX, too, so that their extensions are available.
19304
19305         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
19306         This macro has been superseded by gl_BACKUPFILE.
19307
19308         More patches to assume C89 or better.
19309
19310         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
19311
19312         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
19313         unconditionally.
19314         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
19315         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
19316         Include <string.h>, <stdlib.h> unconditionally.
19317         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
19318         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
19319         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
19320         headers or for string.h.
19321         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
19322         or strtoul.
19323
19324         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
19325         headers.
19326         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
19327         * m4/userspec.m4 (gl_USERSPEC): Likewise.
19328         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
19329         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
19330         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
19331         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
19332         memcpy, memset.
19333         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
19334         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
19335         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
19336         strtol.
19337         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
19338         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
19339         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
19340         strtoul.
19341
19342 2003-09-12  Paul Eggert  <eggert@twinsun.com>
19343
19344         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
19345         * lib/obstack.c [!defined _LIBC]: Likewise.
19346         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
19347         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
19348         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
19349
19350         More changes to assume C89 or better.
19351
19352         * lib/error.c (error_tail): Assume vprintf.
19353
19354         * lib/argmatch.c (getenv): Remove decl.
19355         * lib/progreloc.c (get_full_program_name): Define via prototype.
19356         * lib/setenv.c (clearenv): Likewise.
19357         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
19358         needed.
19359         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
19360         (malloc, memcpy): Remove decls.
19361         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
19362         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
19363         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
19364         (memcpy): Remove macro.
19365         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
19366         (__P): Remove.  All uses removed.
19367         (PTR): Remove.  All uses changed to void *.
19368         (CHAR_BIT, NULL): Remove.
19369         (spaces, zeros, memset_space, memset_zero)
19370         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
19371         Remove.
19372         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
19373         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
19374         Define with prototype.
19375         Remove now-unnecessary prototype decl.
19376         (extra_args_spec): Assume ANSI C.  All uses changed.
19377         (extra_args_spec_iso): Remove.
19378         (my_strftime, emacs_strftimeu): Define via prototype.
19379         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
19380         unconditionally.
19381         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
19382         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
19383         (strtoul, strtol): Remove decls.
19384         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
19385         LONG_MAX): Remove.
19386         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
19387         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
19388         (LOCALE_PARAM_PROTO): New macro.
19389         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
19390         (INTERNAL (strtol), strtol): Define with a prototype.
19391         (PARAMS): Remove.  All uses removed.
19392         * lib/tempname.c: Include <string.h> unconditionally.
19393         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
19394         * lib/xgethostname.c (main): Define with a prototype.
19395         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
19396         Include <stdlib.h> unconditionally.
19397         (calloc, malloc, realloc, free): Remove decls.
19398         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
19399         Include <stdlib.h> unconditionally.  Sort include file names.
19400         (strtod): Remove.
19401         (xstrtod): Define with a prototype.
19402         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
19403         (strtol, strtoul): Remove decls.
19404
19405 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19406
19407         More patches to assume C89 or better.
19408         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
19409         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
19410         string.h, memchr, STDC_HEADERS.
19411
19412 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19413
19414         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
19415         Include <stdlib.h>, <string.h> unconditionally.
19416         Remove now-unnecessary cast to char *.
19417         * lib/strnlen.c: Include <string.h> unconditionally.
19418         * lib/yesno.c (yesno): Define with a prototype.
19419
19420 2003-09-11  Bruno Haible  <bruno@clisp.org>
19421
19422         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
19423
19424 2003-09-10  Jim Meyering  <jim@meyering.net>
19425
19426         * lib/error.c: Correct indentation of cpp directives.
19427
19428 2003-09-10  Bruno Haible  <bruno@clisp.org>
19429
19430         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
19431         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
19432         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
19433         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
19434         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
19435         <stdlib.h> and <string.h> checks.
19436         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
19437         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
19438
19439 2003-09-10  Bruno Haible  <bruno@clisp.org>
19440
19441         * lib/strcspn.c: Include <string.h> unconditionally.
19442         * lib/strpbrk.c: Include <string.h> unconditionally.
19443         * lib/strstr.c: Include <string.h> unconditionally.
19444         * lib/unicodeio.c: Include <string.h> unconditionally.
19445         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
19446         * lib/unsetenv.c: Likewise.
19447         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
19448         * lib/yesno.c: Include <stdlib.h> unconditionally.
19449         (rpmatch): Add prototype.
19450
19451 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19452
19453         More patches to assume C89 or better.
19454         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
19455         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
19456         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
19457         or for string.h.
19458         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
19459         stdlib.h.
19460         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
19461         C headers.
19462         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
19463         string.h.
19464         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
19465         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
19466         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
19467         or for string.h.
19468         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
19469         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
19470         C headers.
19471         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
19472         memcpy.
19473         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
19474         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
19475         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
19476         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
19477         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
19478         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
19479         string.h, free.
19480         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
19481         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
19482         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
19483         C headers, or for string.h.
19484         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
19485         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
19486         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
19487         headers, memory.h, stdlib.h, string.h, strings.h.
19488         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
19489         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
19490         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
19491         strchr.
19492         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
19493         headers, memory.h, string.h.
19494         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
19495         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
19496         free.
19497         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
19498         headers.
19499         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
19500         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
19501         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
19502         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
19503         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
19504
19505 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19506
19507         More K&R removal.
19508
19509         * lib/acosl.c (main): Use a prototype.
19510         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
19511         tanl.c: Likewise.
19512
19513         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
19514
19515         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
19516         (getopt, etopt_long, getopt_long_only, _getopt_internal)
19517         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
19518         with a prototype.
19519         * lib/getopt.c (const): Remove macro.
19520         Include <string.h> unconditionally.
19521         (my_index): Remove; all uses changed to strchr.
19522         (strlen): Remove decl.
19523         (exchange): Remove forward decl; no longer needed.
19524         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
19525         Define with prototype.
19526         * lib/getopt1.c (const): Remove macro.
19527         (getopt_long, getopt_long_only, main): Define with prototype.
19528
19529         * lib/getugroups.c: Include <string.h> unconditionally.
19530
19531         * lib/getusershell.c: Include <stdlib.h> unconditionally.
19532         (getusershell, setusershell, endusershell, readname, main):
19533         Define with prototypes.
19534
19535         * lib/group-member.c: Include group-member.h first.
19536         Include <stdlib.h> unconditionally.
19537
19538         * lib/hard-locale.c: Include hard-locale.h first.
19539         Include <stdlib.h>, <string.h> unconditionally.
19540
19541         * lib/hash.c (free, malloc): Remove decls.
19542         Include <stdlib.h> unconditionally.
19543
19544         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
19545         (getenv): Do not declare.
19546
19547         * lib/idcache.c: Include <string.h> unconditionally.
19548
19549         * lib/long-options.c: Include long-options.h first, to test interface.
19550         Include <stdlib.h> unconditionally.
19551
19552         * lib/makepath.c: Include makepath.h first, to test interface.
19553         Include <stdlib.h> and <string.h> unconditionally.
19554
19555         * lib/linebuffer.c: Include <stdlib.h>.
19556         (free): Remove decl.
19557
19558         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
19559         stddef.h. rpl_malloc returns void *, not char *.
19560         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
19561         prototype.
19562
19563         * lib/md5.h: Include <limits.h> unconditionally.
19564         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
19565         (__P): Remove; all uses removed.
19566         * lib/md5.c: Include "md5.h" first.
19567         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
19568         md5_buffer, md5_process_bytes, md5_process_block):
19569         Define with prototypes.
19570         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
19571         * lib/sha.c: Include "sha.h" first.
19572         Include <stdlib.h>, <string.h> unconditionally.
19573
19574         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
19575         * lib/memcmp.c (__ptr_t): Likewise.
19576         * lib/memrchr.c (__ptr_t): Likewise.
19577         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
19578         Include <string.h> unconditionally.
19579         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
19580         * lib/memchr.c: Include <stdlib.h> unconditionally.
19581         * lib/memchr.c (LONG_MAX): Remove.
19582         * lib/memrchr.c (LONG_MAX): Likewise.
19583         * lib/memchr.c (__memchr): Define via a prototype.
19584         * lib/memrchr.c (__memrchr): Likewise.
19585         * lib/memcmp.c (__P): Remove, and remove all uses.
19586         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
19587         Remove forward decls; no longer needed.
19588         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
19589         Use types required by C89 in prototype.
19590
19591         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
19592         * lib/savedir.c: Likewise.
19593         * lib/mkdir.c (free): Remove decl.
19594         * lib/rmdir.c (rmdir): Define with a prototype.
19595         * lib/savedir.c: Include savedir.h first, to test interface.
19596
19597         * lib/mktime.c (STDC_HEADERS): Remove.
19598         Include <stdlib.h>, <string.h> unconditionally.
19599
19600         * lib/modechange.c: Include <stdlib.h> unconditionally.
19601         (malloc): Remove decl.
19602
19603         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
19604         (free): Remove decl.
19605
19606         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
19607         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
19608         (This type really should be intptr_t, but that's a C99ism.)
19609         (_obstack_memcpy): Remove: all uses changed to memcpy.
19610         Include <string.h> unconditionally.
19611         (struct obstack): Assume __STDC__ for types of members
19612         chunkfun, freefun, extra_arg.
19613         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
19614         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
19615         obstack_begin, obstack_specify_allocation,
19616         obstack_specify_allocation_with_arg, obstack_chunkfun,
19617         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
19618         Remove unprototyped decls and the macros that use them.
19619         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
19620         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
19621         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
19622         (defined __STDC__ && __STDC__)]:
19623         Remove nonprototyped code.
19624         Include <stdlib.h> unconditionally.
19625         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
19626         _obstack_allocated_p, _obstack_free, obstack_free,
19627         _obstack_memory_used, print_and_abort):
19628         Define using prototypes.
19629         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
19630         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
19631         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
19632         obstack_next_free, obstack_object_size, obstack_room) [0]:
19633         Remove unused, unprototyped code.
19634
19635         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
19636
19637         * lib/physmem.c (physmem_total, physmem_available, main): Define
19638         with prototypes.
19639
19640         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
19641         (main): Define with a prototype.
19642
19643         * lib/posixver.c (getenv): Remove decl.
19644
19645         * lib/putenv.c (malloc): Returns void *, not char *.
19646         Include <string.h> unconditionally.
19647         (strchr, memcpy, NULL): Do not define.
19648
19649         * lib/readtokens.c: Include readtokens.h first, to test interface.
19650         Include <stdlib.h>, <string.h> unconditionally.
19651         (init_tokenbuffer): Define with a prototype.
19652
19653         * lib/regex.c (PARAMS): Remove.  All uses removed.
19654         All uses of _RE_ARGS removed, too.
19655         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
19656         unconditionally.
19657         (bzero): Assume memset exists.
19658         (memcmp, memcpy, NULL): Remove.
19659         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
19660         char, or assignments to local vars of type signed char.
19661         (init_syntax_once, PREFIX(extract_number_and_incr),
19662         PREFIX(print_partial_compiled_pattern),
19663         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
19664         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
19665         PREFIX(regex_grow_registers), PREFIX(regex_compile),
19666         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
19667         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
19668         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
19669         wcs_compile_range, byte_compile_range, truncate_wchar,
19670         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
19671         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
19672         count_mbs_length, wcs_re_match_2_internal,
19673         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
19674         PREFIX(alt_match_null_string_p),
19675         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
19676         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
19677         regfree, PREFIX(extract_number)): Define with prototype.  Remove
19678         now-unnecessary declaration, if any.
19679         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
19680         regcomp, regexec):
19681         Remove now-unnecessary casts among pointer types.
19682         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
19683
19684         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
19685         (free): Remove decl.
19686
19687         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
19688
19689         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
19690         (free): Remove decl.
19691
19692         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
19693         * lib/xgetcwd.c: Likewise.
19694
19695         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
19696         (free): Remove decl.
19697
19698         * lib/strchrnul.c (strchrnul): Define with a prototype.
19699         Fix bug: c_in was not converted to char before searching.
19700
19701         The following changes are not K&R related:
19702
19703         * lib/group-member.h: Include <sys/types.h>, so that this file is
19704         self-contained.
19705         * lib/makepath.h: Likewise.
19706
19707         * lib/getusershell.c (readname, default_index, line_size, readname):
19708         Use size_t, not int, for sizes.
19709         (readname): If the size overflows, report an error instead of
19710         looping forever.
19711
19712 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19713
19714         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
19715         libc.
19716
19717 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19718
19719         * README: New section: portability guidelines.
19720
19721 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
19722
19723         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
19724         C89 spec.
19725
19726 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
19727
19728         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
19729
19730 2003-09-08  Paul Eggert  <eggert@twinsun.com>
19731
19732         Assume C89 or better; remove K&R cruft.
19733         A few of these changes were first proposed by Derek Robert Price
19734         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
19735
19736         * lib/addext.c: Include <string.h> unconditionally.
19737         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
19738         Don't declare getenv or malloc.
19739
19740         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
19741         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
19742         (NULL): Remove.
19743         (find_stack_direction, alloca): Use prototypes.
19744
19745         * lib/atexit.c (atexit): Define using a prototype.
19746
19747         * lib/basename.c, dirname.c, stripslash.c:
19748         Include <string.h> unconditionally.
19749
19750         * lib/bcopy.c: Include <stddef.h>.
19751         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
19752
19753         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
19754
19755         * lib/error.h (error, error_at_line, error_print_progname)
19756         [! (defined (__STDC__) && __STDC__)]: Remove decls.
19757         * lib/error.c: Include error.h first, to check interface.
19758         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
19759         (VA_START): Remove; all uses changeed to va_start.
19760         (exit, strerror): Remove decls.
19761         (error_print_progname): Prototype uncondionally.
19762         Don't include <errno.h>; no longer needed.
19763         (private_strerror): Remove.
19764         (error_tail): Always define.
19765         (error, error_at_line): Assume C89 or better; always use prototypes.
19766         * lib/fatal.c: Include "fatal.h" first, to test interface.
19767         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
19768         (VA_START): Remove; all uses changed to va_start.
19769         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
19770         this case.
19771         (exit): Remove decl.
19772         (fatal): Prototype unconditionally.  Assume va_start works.
19773         Abort at end, to pacify gcc.
19774
19775         * lib/euidaccess.c (main): Define with a prototype.
19776
19777         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
19778
19779         * lib/exitfail.c: Include <stdlib.h> unconditionally.
19780
19781         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
19782         prototypes.
19783         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
19784         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
19785         (getenv): Remove decl.
19786         (fnmatch): Define using a prototype.
19787         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
19788         (FCT): Define using a prototype.
19789
19790         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
19791
19792         * lib/gethostname.c: Include <stddef.h>.
19793         (gethostname): Define with prototype.  Length is size_t, not int.
19794
19795 2003-09-08  Paul Eggert  <eggert@twinsun.com>
19796
19797         Assume C89 or better; remove K&R cruft.
19798         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
19799         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
19800         string.h, getenv, malloc.
19801         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
19802         headers.
19803         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
19804         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
19805         do not check for strerror.
19806         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
19807         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
19808         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
19809         do not check for doprnt or vprintf.
19810         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
19811         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
19812
19813 2003-09-08  Paul Eggert  <eggert@twinsun.com>
19814
19815         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
19816         getversion.c should have been removed then, but was accidentally
19817         preserved.
19818
19819         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
19820         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
19821
19822 2003-09-08  Karl Berry  <karl@gnu.org>
19823
19824         * config/config.sub, config.guess, srclistvars.sh: update from savannah
19825                 config, forget about prep.
19826
19827         * config/depcomp, missing: update from automake.
19828
19829 2003-09-07  Paul Eggert  <eggert@twinsun.com>
19830
19831         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
19832         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
19833
19834 2003-09-07  Paul Eggert  <eggert@twinsun.com>
19835
19836         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
19837         copy_tm_result.  Bug reported by Simon Josefsson in
19838         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
19839
19840 2003-09-06  Paul Eggert  <eggert@twinsun.com>
19841
19842         * m4/time_r.m4: New file.
19843         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
19844         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
19845         is. Check for timegm declaration.
19846         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
19847         Do not check for gmtime_r.
19848         Replace mktime if __mktime_internal does not exist and if mktime
19849         hasn't been replaced already.
19850
19851 2003-09-06  Paul Eggert  <eggert@twinsun.com>
19852
19853         * lib/time_r.c, lib/time_r.h: New files.
19854
19855         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
19856         __localtime_r.
19857         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
19858         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
19859
19860         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
19861         __gmtime_r.
19862         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
19863         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
19864         Include <time_r.h>.
19865
19866         * lib/timegm.c: Switch to glibc implementation, with the following
19867         changes:
19868         [defined HAVE_CONFIG_H]: Include <config.h>.
19869         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
19870         (__mktime_internal) [!defined _LIBC]: New decl.
19871         (__gmtime_r) [!defined _LIBC]: New macro and function.
19872         (timegm): Use a prototype, since gnulib assumes C89.
19873         Do not bother declaring tmp to be const, as it's not really usefu.
19874         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
19875         (timegm): Declare only if HAVE_DECL_TIMEGM.
19876
19877 2003-09-06  Paul Eggert  <eggert@twinsun.com>
19878
19879         * MODULES.html.sh (func_all_modules): Add time_r.
19880         * modules/time_r: New file.
19881         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
19882         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
19883
19884 2003-09-03  Paul Eggert  <eggert@twinsun.com>
19885
19886         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
19887         Bug reported by Lute Kamstra in
19888         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
19889
19890         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
19891         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
19892         course with correspondingly smaller numbers for tomorrow and
19893         yesterday.  From Tadayoshi Funaba.  Originally installed into
19894         sh-utils on 1999-08-07, but the patch got lost (I guess during the
19895         coreutils merge?).
19896
19897 2003-08-31  Simon Josefsson  <jas@extundo.com>
19898
19899         * modules/timegm: New file.
19900         * MODULES.html.sh (func_all_modules): Add timegm.
19901
19902 2003-08-31  Simon Josefsson  <jas@extundo.com>
19903
19904         * m4/timegm.m4: New file.
19905
19906 2003-08-31  Simon Josefsson  <jas@extundo.com>
19907
19908         * lib/timegm.h: New file.
19909         * lib/timegm.c: New file.  Based on
19910         wget-1.8.2/src/http.c:mktime_from_utc.
19911
19912 2003-08-31  Karl Berry  <karl@gnu.org>
19913
19914         * lib/argp.h: update from libc.
19915
19916 2003-08-28  Bruno Haible  <bruno@clisp.org>
19917
19918         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
19919         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
19920         followed by '#define fnmatch fnmatch_posix' gives an error.
19921
19922 2003-08-28  Bruno Haible  <bruno@clisp.org>
19923
19924         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
19925         warning on QNX, which defines O_BINARY to 000000.
19926
19927 2003-08-27  Jim Meyering  <jim@meyering.net>
19928
19929         * m4/mkstemp.m4: Require that the system mkstemp be able to create
19930         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
19931         would fail after 32.  Reported by Danny Levinson.  Details here:
19932         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
19933
19934 2003-08-24  Bruno Haible  <bruno@clisp.org>
19935
19936         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
19937         MSVC7 <stdio.h> is included later.
19938
19939 2003-08-22  Simon Josefsson  <jas@extundo.com>
19940
19941         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
19942
19943 2003-08-20  Karl Berry  <karl@gnu.org>
19944
19945         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
19946
19947 2003-08-20  Bruno Haible  <bruno@clisp.org>
19948
19949         * modules/progname: New file.
19950         * MODULES.html.sh (func_all_modules): Add progname.
19951
19952 2003-08-20  Bruno Haible  <bruno@clisp.org>
19953
19954         * lib/progname.h: New file, from GNU gettext.
19955         * lib/progname.c: New file, from GNU gettext.
19956         * lib/progreloc.c: New file, from GNU gettext.
19957
19958 2003-08-19  Jim Meyering  <jim@meyering.net>
19959
19960         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
19961         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
19962
19963 2003-08-19  Bruno Haible  <bruno@clisp.org>
19964
19965         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
19966         more.
19967
19968 2003-08-19  Bruno Haible  <bruno@clisp.org>
19969
19970         * lib/xstrdup.c: Assume <string.h> exists.
19971
19972 2003-08-18  Paul Eggert  <eggert@twinsun.com>
19973
19974         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
19975         in makefile rules.
19976
19977 2003-08-18  Jim Meyering  <jim@meyering.net>
19978
19979         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
19980         * m4/lib-ld.m4: Likewise.
19981
19982 2003-08-18  Jim Meyering  <jim@meyering.net>
19983
19984         * lib/setenv.h: Indent nested cpp directive.
19985         * lib/vasnprintf.c: Remove trailing blanks.
19986
19987 2003-08-17  Simon Josefsson  <jas@extundo.com>
19988
19989         * modules/xstrndup: New file.
19990         * MODULES.html.sh (func_all_modules): Add xstrndup.
19991
19992 2003-08-17  Simon Josefsson  <jas@extundo.com>
19993
19994         * modules/argp: Fix autoconf macro name. Add more dependencies.
19995
19996 2003-08-17  Simon Josefsson  <jas@extundo.com>
19997
19998         * m4/xstrndup.m4: New file.
19999
20000 2003-08-17  Simon Josefsson  <jas@extundo.com>
20001
20002         * m4/argp.m4: New file.
20003
20004 2003-08-17  Simon Josefsson  <jas@extundo.com>
20005             Bruno Haible  <bruno@clisp.org>
20006
20007         * lib/xstrndup.h: New file.
20008         * lib/xstrndup.c: New file.
20009
20010 2003-08-17  Bruno Haible  <bruno@clisp.org>
20011
20012         * modules/strndup (Files, Include): Add lib/strndup.h.
20013
20014 2003-08-17  Bruno Haible  <bruno@clisp.org>
20015
20016         * modules/euidaccess (Files): Add lib/euidaccess.h.
20017
20018 2003-08-17  Bruno Haible  <bruno@clisp.org>
20019
20020         * lib/strndup.h: New file.
20021
20022 2003-08-17  Bruno Haible  <bruno@clisp.org>
20023
20024         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
20025         like AC_GNU_SOURCE.
20026         * modules/extensions (configure.ac): Comment out the invocation of
20027         gl_USE_SYSTEM_EXTENSIONS.
20028
20029 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20030
20031         Merges from coreutils, etc.
20032         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
20033         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
20034         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
20035         fixing a typo.
20036         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
20037         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
20038
20039 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20040
20041         Document merge from coreutils.
20042         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
20043         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
20044         * modules/utime: Add m4/utimes-null.m4.
20045
20046 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20047
20048         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
20049         space, undoing this 2003-08-12 change:
20050         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20051
20052 2003-08-16  Paul Eggert  <eggert@twinsun.com>
20053
20054         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
20055         strtoul.c from libc, undoing this 2003-08-12 change:
20056         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
20057
20058 2003-08-16  Jim Meyering  <jim@meyering.net>
20059
20060         Merges from coreutils.
20061         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
20062         prefix.  Adjust cache variables similarly.  Create 500 rather than
20063         just 300 files, to exercise bug on Darwin6.5, too.
20064         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
20065         $missing_dir.
20066         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
20067         AM_SYS_POSIX_TERMIOS.
20068         Reported by mkc@mathdogs.com.
20069         Also change use of $am_cv_sys_posix_termios
20070         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
20071         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
20072         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
20073         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
20074         in /proc/mounts until it finds one with matching device number.  This
20075         is unnecessary when the FILE argument *is* a mount point.  No stat call
20076         is necessary in that case.  So, disable the statvfs-testing code on
20077         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
20078         as RedHat bug# 84846.
20079         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20080         to 1MB, so as not to render systems with no stack size limit (e.g.,
20081         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20082         Include <unistd.h>.  On some systems,
20083         it is required for the definition of _SC_PAGESIZE.
20084
20085 2003-08-16  Jim Meyering  <jim@meyering.net>
20086
20087         Merge from coreutils.
20088         * lib/xstrtoimax.c: #else #if -> #elif.
20089         * lib/xstrtoumax.c: Likewise.
20090
20091 2003-08-16  Jim Meyering  <jim@meyering.net>
20092
20093         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
20094         * m4/utimes.m4: Removed.
20095         * m4/utimes-null.m4: Renamed from utimes.m4.
20096
20097         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
20098         to 1MB, so as not to render systems with no stack size limit (e.g.,
20099         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
20100         Include <unistd.h>.  On some systems,
20101         it is required for the definition of _SC_PAGESIZE.
20102
20103 2003-08-16  Jim Meyering  <jim@meyering.net>
20104         and Paul Eggert  <eggert@cs.ucla.edu>
20105
20106         Merges from coreutils, etc.
20107
20108         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
20109         using the latest version from cvs.  This avoids problems with #line
20110         directives using a vendor (Sun) compiler.
20111         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
20112         Don't set GETGROUPS_LIB here; now it's
20113         done via getgroups.m4's wrapper function.
20114         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
20115         rather than just in sh-util/configure.in, so that the
20116         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
20117         same.
20118         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
20119         AC_FUNC_GETLOADAVG where to find getloadavg.c.
20120         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
20121         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
20122         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
20123         Remove code that is now done by the newly-required macros.
20124         Append $(EXEEXT) to DF_PROG.
20125         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
20126         Do not invoke or require the following here,
20127         since prereq.m4 or some gnulib .m4 now does this for us:
20128         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
20129         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
20130         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
20131         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
20132         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
20133         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
20134         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
20135         AC_FUNC_OBSTACK.
20136         Do not replace the following functions, as this is now the job
20137         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
20138         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
20139         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
20140         atexit getpass, strdup, getpagesize.
20141         Replace 'raise'.
20142         Do not check for the following functions, as this is now the job
20143         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
20144         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
20145         setregid.
20146         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
20147         Check for sys/sysctl.h.
20148         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
20149         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
20150         of checking for ssize_t ourselves.
20151
20152         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
20153         Require every macro that gnulib/modules/* suggests for us.
20154         (jm_PREREQ_ADDEXT): New macro.
20155         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
20156         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
20157
20158         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
20159         (gl_PHYSMEM): Use it.
20160         Also check for `table' function.
20161         Check for new headers and functions.
20162         Add check for sys/sysmp.h.
20163         With suggestions from Kaveh Ghazi.
20164         Ignore headers that are present but cannot be compiled.  This
20165         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
20166         C 5.4.
20167
20168 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20169
20170         Document merge from coreutils.
20171         * modules/userspec: Depend on posixver.
20172         * modules/strftime: Depend on tzset.
20173
20174 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20175
20176         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
20177         rather than tab, after '#' in shell-script copyright notices.
20178         Suggested by Bruno Haible.
20179
20180 2003-08-15  Paul Eggert  <eggert@twinsun.com>
20181
20182         * config/srclist-update: Use three spaces, rather than tab, after '#'
20183         in shell-script copyright notices.  Suggested by Bruno Haible.
20184         Remove unnecessary parenthesization in regular expression.
20185
20186 2003-08-15  Jim Meyering  <jim@meyering.net>
20187
20188         Merge from coreutils.
20189         * lib/xgethostname.c: Include <stdlib.h>.
20190         (xghostname): Don't exit for anything other than memory-related
20191         failure; just return NULL.
20192         * lib/userspec.c: Include "posixver.h".
20193         (parse_user_spec): Accept `.' as a separator only
20194         in pre-POSIX-200112 mode.
20195         * lib/strtoimax.c: Use #elif rather than #else #if.
20196         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
20197         Remove function, now that we can rely on a working tzset function.
20198         [!_LIBC]: Ensure that the required autoconf test has been run.
20199         [!defined _NL_CURRENT && HAVE_STRFTIME]:
20200         Use underlying_strftime for %r.
20201         * lib/sha.c: Merge in some clean-up and optimization changes from
20202         glibc.
20203         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
20204         Ensure that it is a multiple of 64.
20205         Rearrange loop exit tests so as to avoid performing an
20206         additional fread after encountering an error or EOF.
20207         * lib/realloc.c: Update copyright date.
20208
20209 2003-08-15  Jim Meyering  <jim@meyering.net>
20210         and Paul Eggert  <eggert@twinsun.com>
20211
20212         Merge from coreutils.
20213         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
20214         member but strut utmpx does not.  Needed for AIX 4.3.3.
20215         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
20216
20217 2003-08-15  Jim Meyering  <jim@meyering.net>
20218         and Paul Eggert  <eggert@cs.ucla.edu>
20219
20220         Merges from coreutils, etc.
20221         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
20222         Require gl_FUNC_TZSET_CLOBBER.
20223         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
20224         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
20225         members.
20226
20227 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20228
20229         Help the merge from coreutils.
20230         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
20231         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
20232         * m4/tzset.m4: Use it too.
20233
20234 2003-08-14  Paul Eggert  <eggert@twinsun.com>
20235
20236         * modules/tzset: New file.
20237
20238 2003-08-14  Jim Meyering  <jim@meyering.net>
20239
20240         Merges from coreutils.
20241         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
20242         variable names, rather than @FNMATCH_H@.
20243         * modules/alloca: Likewise for $(ALLOCA_H).
20244
20245         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
20246         the three copies of the literal target, `fnmatch.h'.
20247         * modules/alloca (alloca.h): Likewise.
20248
20249 2003-08-14  Jim Meyering  <jim@meyering.net>
20250
20251         Merge from coreutils.
20252         * m4/tzset.m4: New file.
20253         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
20254         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
20255         otherwise, AIX 5.1 systems would end up using the latter.
20256         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
20257         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
20258         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
20259         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
20260
20261 2003-08-14  Jim Meyering  <jim@meyering.net>
20262
20263         Merge from coreutils.
20264         * lib/obstack.h: Whitespace changes.
20265         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
20266         and xcalloc return values.
20267         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
20268         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
20269         hang on OSF/1 5.1 for DIR on both local and remote file systems.
20270         Reported by (and fix confirmed by) Nelson H. F. Beebe.
20271         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
20272         error from mntctl.
20273         Use mntctl's return value to drive the entry-processing loop, since
20274         we can't rely on the value of the vmt_length member in the last
20275         entry.  On some systems doing so could result in exhausting
20276         virtual memory.  Based in part on a patch from Mike Jetzer.
20277
20278 2003-08-14  Jim Meyering  <jim@meyering.net>
20279         and Paul Eggert  <eggert@twinsun.com>
20280
20281         Merges from coreutils, plus other fixes.
20282         * lib/physmem.c: Merge in portability changes from gcc/libiberty
20283         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
20284         for credits and details.  Thanks to Kaveh Ghazi for helping
20285         to keep these files in sync.
20286         (ARRAY_SIZE): Define it.
20287         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
20288         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
20289         (memcasecmp): Don't assume size_t fits in unsigned int.
20290         Remove casts and duplicate code.
20291         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
20292         (memcpy): Remove definition.
20293         Merge in some clean-up and optimization changes from glibc.
20294         [BLOCKSIZE]: Move definition to top of file.
20295         Ensure that it is a multiple of 64.
20296         Rearrange loop exit tests so as to avoid performing an
20297         additional fread after encountering an error or EOF.
20298         * lib/md5.h (md5_uintptr): Define.
20299         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
20300         return to the initial working directory.  Preserve errno
20301         for caller.
20302         * lib/idcache.c: Include "xalloc.h".
20303         (xmalloc, xrealloc): Remove decls.
20304         (getuser): Remove casts no longer required in C89.
20305         * lib/human.c: Include stdio.h, for sprintf.
20306         * lib/group-member.c: Include "xalloc.h".
20307         (xmalloc, xrealloc): Remove decls.
20308         (get_group_info): Remove casts no longer required in C89.
20309         * lib/getusershell.c (readname): Remove casts no longer required in
20310         C89.
20311         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
20312         * lib/getline.c: Whitespace fix, from coreutils.
20313
20314 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20315
20316         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
20317         Check for isascii.
20318
20319         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
20320         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
20321         Undo previous (whitespace-only) change.
20322
20323 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20324
20325         * lib/exclude.c: Include <ctype.h>
20326         (IN_CTYPE_DOMAIN): New macro.
20327         (is_space): New fn.
20328         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
20329         and empty lines.
20330
20331         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
20332         Undo previous (whitespace-only) change.
20333
20334 2003-08-13  Paul Eggert  <eggert@twinsun.com>
20335
20336         * config/srclist-update: Change update back to the old behavior,
20337         leaving whitespace alone.  Use one 'sed' command rather than a
20338         pipeline.
20339         (fixlicense): Now a variable, not a function.
20340         (remove_trailing_blanks): Remove.
20341         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
20342         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
20343         Undo previous (whitespace-only) change.
20344
20345 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20346
20347         Merge from coreutils.
20348         * modules/euidaccess: Add lib_SOURCES, include for new
20349         file euidaccess.h
20350
20351 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20352
20353         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
20354         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
20355         Normalize leading white space and remove trailing white space.
20356
20357         Merge from coreutils
20358         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
20359
20360         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
20361         0.12.1.  These files are now being upgraded automatically by
20362         ../config/srclist-update.
20363
20364 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20365
20366         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
20367         Normalize leading white space and remove trailing white space.
20368         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
20369         notice, as per ../config/srclist-update.
20370
20371         Merge from coreutils.
20372         * lib/euidaccess.h: New file.
20373         * lib/euidaccess.c: Include it.
20374         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
20375         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
20376         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
20377
20378 2003-08-12  Paul Eggert  <eggert@twinsun.com>
20379
20380         * config/srclist-update: Add copyright notice.
20381         (remove_id_lines, remove_trailing_blanks): New constants.
20382         (fixfile): Use them to normalize spacing a bit in copied files.
20383         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
20384         Normalize leading white space and remove trailing white space.
20385
20386         * config/texinfo.tex: Sync with texinfo.
20387
20388         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
20389         strtoul.c from libc, to merge coreutils whitespace changes.
20390
20391         * config/srclist.txt: Get the following m4 files from gettext:
20392         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
20393         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
20394         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
20395         wint_t.m4.
20396
20397 2003-08-12  Karl Berry  <karl@gnu.org>
20398
20399         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
20400         been made.
20401
20402 2003-08-11  Paul Eggert  <eggert@twinsun.com>
20403
20404         * modules/gnu-source, m4/gnu-source.m4:
20405         Remove; we're assuming Autoconf 2.54 or later now.
20406         Suggested by Bruno Haible.
20407         * MODULES.html.sh (func_all_modules): Remove gnu-source.
20408
20409 2003-08-11  Bruno Haible  <bruno@clisp.org>
20410
20411         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
20412
20413 2003-08-11  Bruno Haible  <bruno@clisp.org>
20414
20415         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
20416         (vasnprintf): Use it instead of wcslen.
20417
20418 2003-08-11  Bruno Haible  <bruno@clisp.org>
20419
20420         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
20421         value to ensure that _Bool promotes to int. Use #define for _Bool when
20422         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
20423
20424 2003-08-10  Karl Berry  <karl@gnu.org>
20425
20426         * lib/regex.h: update from libc (whitespace fix).
20427
20428 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20429
20430         Merge some files from coreutils.  These changes were
20431         originally made by Jim Meyering.
20432         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
20433         many older Unixes require this.
20434         * lib/alloca.c (alloca): Remove cast to argument of free;
20435         no longer needed in C89.
20436         * lib/alloca_.h, regex.h: Fix white space to match
20437         what GNU indent does.
20438
20439 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20440
20441         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
20442         apparently Emacs's Unicode mode got confused before my 2003-08-05
20443         checkin.
20444
20445 2003-08-08  Paul Eggert  <eggert@twinsun.com>
20446
20447         * m4/extensions.m4: New file.
20448         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
20449         Require gl_USE_SYSTEM_EXTENSIONS.
20450         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
20451         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
20452
20453 2003-08-08  Paul Eggert  <eggert@twinsun.com>
20454
20455         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
20456         * modules/extensions, modules/gnu-source: New files.
20457         * modules/timespec, modules/unlocked-io: Depend on extensions.
20458
20459 2003-08-07  Paul Eggert  <eggert@twinsun.com>
20460
20461         * modules/restrict: New file.
20462         * MODULES.html.sh (func_all_modules): Add restrict.
20463         * modules/regex: Depend on restrict.
20464
20465 2003-08-07  Paul Eggert  <eggert@twinsun.com>
20466
20467         * m4/restrict.m4: New file.
20468         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
20469
20470 2003-08-07  Bruno Haible  <bruno@clisp.org>
20471
20472         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
20473         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
20474
20475 2003-08-07  Bruno Haible  <bruno@clisp.org>
20476
20477         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
20478         makes the module 'getndelim2' compatible with the module 'getline'.
20479
20480 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20481
20482         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
20483         byte with "\201" to avoid glitches when editing that source file
20484         with multi-gnome-terminal.
20485
20486 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20487
20488         * lib/bumpalloc.h: Remove.
20489
20490 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20491
20492         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
20493         * modules/bumpalloc: Remove.
20494
20495 2003-08-04  Paul Eggert  <eggert@twinsun.com>
20496
20497         * lib/getloadavg.c: Change copyright notice and spacing to conform to
20498         GNU coding style.
20499
20500         Merge from coreutils.
20501         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
20502         1. From glibc.
20503         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
20504         from Karl Berry, implemented by Jim Meyering.
20505         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
20506         from Dmitry V. Levin.
20507         Remove anachronistic cast of xrealloc.
20508         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
20509         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
20510         type. Otherwise, it wouldn't compile with at least /bin/cc on
20511         ymp-cray-unicos9.0.2.X.
20512         Combine two mostly-identical uses of alloca into one.
20513         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
20514
20515 2003-08-04  Dave Love  <d.love@dl.ac.uk>
20516
20517         [From Emacs.]
20518
20519         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
20520         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
20521         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
20522         obsolete NLIST_NAME_UNION.
20523         [__GNU__]: Undef BSD and FSCALE.
20524         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
20525
20526 2003-08-03  Paul Eggert  <eggert@twinsun.com>
20527
20528         * lib/stdbool_.h (_Bool): Make it signed char, instead of
20529         an enum type, so that it's guaranteed to promote to int.  See:
20530         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
20531
20532 2003-08-03  Karl Berry  <karl@gnu.org>
20533
20534         * config/depcomp: update from automake.
20535
20536 2003-07-31  Paul Eggert  <eggert@twinsun.com>
20537
20538         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
20539         (strerror): Don't assume that a printable int fits in 14 bytes.
20540
20541 2003-07-31  Bruno Haible  <bruno@clisp.org>
20542
20543         * modules/getpass-gnu: New file.
20544         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
20545
20546 2003-07-31  Bruno Haible  <bruno@clisp.org>
20547
20548         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
20549
20550 2003-07-24  Karl Berry  <karl@gnu.org>
20551
20552         * config/missing: update from automake.
20553
20554 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
20555             Bruno Haible  <bruno@clisp.org>
20556
20557         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
20558         * lib/getline.c (getline, getdelim): Likewise.
20559         Remove _GNU_SOURCE define; now it's defined in config.h through
20560         m4/getline.m4.
20561
20562 2003-07-23  Karl Berry  <karl@gnu.org>
20563
20564         * config/config.sub: update from prep.
20565
20566 2003-07-22  Paul Eggert  <eggert@twinsun.com>
20567
20568         * modules/xalloc (Depends-on): Add exitfail.
20569         * modules/xmemcoll: Likewise.
20570
20571 2003-07-22  Paul Eggert  <eggert@twinsun.com>
20572
20573         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
20574         over-parenthesization in macros.
20575
20576         Sync with coreutils.
20577
20578         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
20579         required by C99.
20580
20581         Use `exit_failure' for xalloc and xmemcoll instead of their own
20582         private exit-failure variables.
20583         * lib/xalloc.h (xalloc_exit_failure): Remove.
20584         * lib/xmalloc.c: Likewise.  Include exitfail.h.
20585         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
20586         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
20587         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
20588         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
20589
20590 2003-07-20  Jim Meyering  <jim@meyering.net>
20591
20592         * modules/closeout (Depends-on): Add exitfail.
20593         Suggestion from Bruno Haible.
20594
20595 2003-07-19  Karl Berry  <karl@gnu.org>
20596
20597         * config/config.sub: update from prep.
20598
20599 2003-07-18  Paul Eggert  <eggert@twinsun.com>
20600
20601         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
20602         Remove.
20603         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
20604         to test that it can stand by itself.  Include "exitfail.h".
20605         Clients should set exit_failure instead.
20606         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
20607
20608 2003-07-18  Bruno Haible  <bruno@clisp.org>
20609
20610         * modules/getndelim2: New file.
20611         * modules/getline: Share files with module getndelim2.
20612         * modules/getnline: Depend on getndelim2 instead of sharing files with
20613         it. Add getnline.c to lib_SOURCES.
20614         * MODULES.html.sh (func_all_modules): Add getndelim2.
20615
20616 2003-07-18  Bruno Haible  <bruno@clisp.org>
20617
20618         * m4/getndelim2.m4: New file.
20619         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
20620         invoke gl_PREREQ_GETNDELIM2.
20621         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
20622         gl_PREREQ_GETNDELIM2.
20623         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
20624         gl_GETNDELIM2.
20625
20626 2003-07-18  Bruno Haible  <bruno@clisp.org>
20627
20628         * lib/getndelim2.h: New file.
20629         * lib/getndelim2.c: Make into a module of its own. Include config.h,
20630         getndelim2.h.
20631         (getndelim2): Make non-static. Change return type to ssize_t.
20632         * lib/getline.h: Change argument names.
20633         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
20634         * lib/getnline.c: Include getndelim2.h.
20635
20636 2003-07-18  Andreas Schwab  <schwab@suse.de>
20637
20638         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
20639
20640 2003-07-17  Karl Berry  <karl@gnu.org>
20641
20642         * config/config.sub: update from prep.
20643
20644 2003-07-17  Bruno Haible  <bruno@clisp.org>
20645
20646         * modules/getnline: New file.
20647         * modules/getline: Add lib/getndelim2.c to source file list.
20648         * MODULES.html.sh (func_all_modules): Add getnline.
20649
20650 2003-07-17  Bruno Haible  <bruno@clisp.org>
20651
20652         * m4/getnline.m4: New file.
20653
20654 2003-07-17  Bruno Haible  <bruno@clisp.org>
20655
20656         * m4/Makefile.am.in: Remove file.
20657         * m4/Makefile.am: Remove file.
20658         * m4/Makefile.in: Remove file.
20659
20660 2003-07-17  Bruno Haible  <bruno@clisp.org>
20661
20662         * lib/getnline.h: New file.
20663         * lib/getnline.c: New file.
20664         * lib/getndelim2.c: New file, extracted from getline.c.
20665         (getndelim2): Renamed from getdelim2, with added nmax argument.
20666         * lib/getline.c: Include getndelim2.c.
20667         (getdelim2): Moved out to getndelim2.c.
20668         (getline, getdelim): Update.
20669
20670 2003-07-17  Bruno Haible  <bruno@clisp.org>
20671
20672         * lib/Makefile.am: Remove file.
20673         * lib/Makefile.in: Remove file.
20674
20675 2003-07-17  Bruno Haible  <bruno@clisp.org>
20676
20677         * configure.in: Remove file.
20678         * Makefile.in: Remove file.
20679
20680 2003-07-17  Bruno Haible  <bruno@clisp.org>
20681
20682         * MODULES.html.sh: Put the </BODY> right before </HTML>.
20683
20684 2003-07-16  Karl Berry  <karl@gnu.org>
20685
20686         * config/srclist-update: was running fixlicense twice, which caused
20687                 texinfo.tex to be nullified for some reason.  Simplify,
20688                 $gplsrc is no longer needed as far as I can see?
20689
20690 2003-07-16  Jim Meyering  <jim@meyering.net>
20691
20692         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
20693
20694 2003-07-15  Paul Eggert  <eggert@twinsun.com>
20695
20696         * config/srclist.txt: Get the following files from gettext-runtime/intl
20697         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
20698         ref-del.sin.  From Bruno Haible.
20699         * config/srclist-update (fixfile): Change grep pattern again, since the
20700         previous fix didn't work (there was another trailing $).  Use
20701         '[$]' to escape the $s.
20702
20703 2003-07-15  Karl Berry  <karl@gnu.org>
20704
20705         * lib/vasnprintf.c: update from gettext.
20706
20707 2003-07-15  Karl Berry  <karl@gnu.org>
20708
20709         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
20710         gets expanded when surrounded by '$'.
20711
20712 2003-07-15  Jim Meyering  <jim@meyering.net>
20713
20714         * modules/save-cwd: Don't depend on error.  From Derek Price.
20715
20716 2003-07-15  Jim Meyering  <jim@meyering.net>
20717
20718         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
20719
20720 2003-07-14  Simon Josefsson  <jas@extundo.com>
20721
20722         * modules/mempcpy: New file.
20723         * MODULES.html.sh (func_all_modules): Add mempcpy.
20724
20725 2003-07-14  Simon Josefsson  <jas@extundo.com>
20726
20727         * m4/mempcpy.m4: New file.
20728
20729 2003-07-14  Simon Josefsson  <jas@extundo.com>
20730
20731         * lib/mempcpy.h: New file.
20732         * lib/mempcpy.c: New file.
20733
20734 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20735
20736         * modules/getdate, modules/posixtm: Depend on mktime.
20737
20738 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20739
20740         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
20741         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
20742         unicodeio.c, unicodeio.h, unlocked-io.h:
20743         Switch from LGPL to GPL.
20744
20745 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20746
20747         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
20748         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
20749         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
20750         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
20751         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
20752         updated automatically by ../config/srclist-update.  This changes
20753         their license from LPGL to GPL.
20754
20755 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20756
20757         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
20758         assumed to refer to the root of the most recent stable gettext version.
20759         * config/srclistvars.sh: Add defaults for eggert.
20760         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
20761         Match "This program" as well as "The program".  This is needed
20762         for gettext.
20763
20764 2003-07-14  Jim Meyering  <jim@meyering.net>
20765
20766         Don't emit diagnostics.  Let callers do that.
20767         * lib/save-cwd.c: Don't include "error.h".
20768         (save_cwd): Don't call error.  Ensure that errno is valid
20769         when returning nonzero.
20770
20771         * lib/save-cwd.h (restore_cwd): Update prototype.
20772         * lib/save-cwd.c (restore_cwd): Remove two parameters.
20773         Simplify.  Don't call error upon failure.  Let callers do that.
20774         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
20775         when auditing is enabled.  But don't bother updating the #if.
20776
20777 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
20778
20779         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
20780         it breaks C++ compilation.
20781         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
20782
20783 2003-07-10  Simon Josefsson  <jas@extundo.com>
20784
20785         * modules/strchrnul (Makefile.am): Add strchrnul.h.
20786
20787 2003-07-10  Jim Meyering  <jim@meyering.net>
20788
20789         * m4/clock_time.m4: Remove trailing blank.
20790         * m4/intmax_t.m4: Likewise.
20791
20792 2003-07-10  Jim Meyering  <jim@meyering.net>
20793
20794         * lib/vasnprintf.c: Remove trailing blanks.
20795         Make cpp indentation consistent.
20796
20797 2003-07-09  Paul Eggert  <eggert@twinsun.com>
20798
20799         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
20800         posixver.c, strftime.c, strnlen.c, strverscmp.c:
20801         Switch from LGPL to GPL.
20802
20803 2003-07-09  Paul Eggert  <eggert@twinsun.com>
20804
20805         * config/srclist.txt: Sort sublists.  Add
20806         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
20807         that differ from gnulib for one reason or another; we'd like this list
20808         to be smaller but for now let's document what we have.
20809
20810 2003-07-08  Paul Eggert  <eggert@twinsun.com>
20811
20812         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
20813         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
20814         and sweeter "eval x=$x".
20815         * config/srclist.txt: Get lib/argp* from glibc.
20816
20817 2003-07-07  Paul Eggert  <eggert@twinsun.com>
20818
20819         * lib/mktime.c: Fix some boundary cases and remove need for floating
20820         point.
20821
20822         Issue a compile-time diagnostic if time_t is floating point, or if
20823         two's complement arithmetic is not in effect, or if arithmetic
20824         right shift does not propagate the sign.  These assumptions were
20825         all in the original code but they weren't checked.
20826
20827         (TIME_T_MIDPOINT, verify): New macros.
20828         (__isleap): Remove; it has integer overflow problems.
20829         (leapyear): New function, without those problems.
20830         (ydhms_tm_diff): Remove; splitting into two parts.
20831         (ydhms_diff): New function, containing the arithmetic part of
20832         the old ydhms_tm_diff function.  Issue a compile-time
20833         diagnostic if we are not using C99 integer division.
20834         Avoid casts when possible.
20835         (guess_time_tm): New function, containing the checking part of
20836         the old ydhms_tm_diff function.  Return the new value, rather than
20837         the difference between it and the old.  Accept a new argument T
20838         so that *T specifies the old value.  Check for overflow in the result.
20839
20840         (__mktime_internal): Use a time_t offset, not a long int offset.
20841         This undoes the 2003-06-04 change, which is no longer needed now
20842         that we have better overflow checking.
20843         (localtime_offset): Likewise.
20844
20845         (__mktime_internal): Avoid harmful overflow on hosts where time_t
20846         and long are 64-bit but int is only 32-bit.
20847         (ydhms_diff): Use long int to store year1 and yday1.
20848         Issue a compile-time diagnostic if long int is not wide enough.
20849
20850         (__mktime_internal): Use long int to store adjusted year and yday.
20851         Use plain C rather than preprocessor commands, if that doesn't
20852         affect efficiency.
20853         Check for overflow (and try to repair) after each probe
20854         rather than checking only at the very end.  This avoids some bugs
20855         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
20856         does not equal GMT offset at maximum time).
20857         Use integer to check for overflow rather than floating point; this
20858         is more portable to non-IEEE hosts, and is a tad faster.
20859         When we detect that we are oscillating between two values,
20860         don't check whether tm_isdst has the requested value, since
20861         we already know the answer.  When tm_isdst has the wrong value,
20862         use a different heuristic to find the right one, based on the
20863         extreme values actually observed in practice in tz2003a,
20864         rather than the (overly optimistic) "previous 3 calendar quarters".
20865
20866         (not_equal_tm, print_tm, check_result): Use "const T" rather than
20867         "T const" to accommodate glibc style.
20868         (check_result): Use less-confusing report format.  "long" -> "long int.
20869         (main): Likewise.
20870         Don't loop if the iteration overflows time_t.
20871         Allow a negative step in the iteration.
20872
20873 2003-07-06  Karl Berry  <karl@gnu.org>
20874
20875         * config/depcomp: update from automake.
20876         * config/config.sub: update from prep.
20877
20878 2003-07-03  Karl Berry  <karl@gnu.org>
20879
20880         * config/config.guess: update from prep.
20881
20882 2003-07-01  Paul Eggert  <eggert@twinsun.com>
20883
20884         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
20885         xreadlink.c now includes it unconditionally.
20886
20887 2003-07-01  Paul Eggert  <eggert@twinsun.com>
20888
20889         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
20890         having it depend on HAVE_SYS_TYPES_H.
20891
20892 2003-07-01  Bruno Haible  <bruno@clisp.org>
20893
20894         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
20895         <sys/types.h> should be sufficient.
20896         Reported by Paul Eggert.
20897
20898 2003-06-26  Karl Berry  <karl@gnu.org>
20899
20900         * config/depcomp: update from automake.
20901
20902 2003-06-26  Bruno Haible  <bruno@clisp.org>
20903
20904         * modules/human: Depend on module stdbool.
20905
20906 2003-06-25  Bruno Haible  <bruno@clisp.org>
20907
20908         * modules/readlink: New file.
20909         * modules/xreadlink: Depend on it.
20910         * MODULES.html.sh (func_all_modules): Add readlink.
20911
20912 2003-06-25  Bruno Haible  <bruno@clisp.org>
20913
20914         * m4/readlink.m4: New file.
20915
20916 2003-06-25  Bruno Haible  <bruno@clisp.org>
20917
20918         * lib/readlink.c: New file.
20919
20920 2003-06-22  Karl Berry  <karl@gnu.org>
20921
20922         * config/srclist.txt: update mkinstalldirs from automake.
20923         * config/mkinstalldirs: update.
20924
20925 2003-06-22  Bruno Haible  <bruno@clisp.org>
20926
20927         Portability to mingw32.
20928         * m4/ssize_t.m4: New file, from GNU gettext.
20929         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
20930         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
20931
20932 2003-06-22  Bruno Haible  <bruno@clisp.org>
20933
20934         * modules/safe-read: Add m4/ssize_t.m4.
20935         * modules/xreadlink: Add m4/ssize_t.m4.
20936
20937 2003-06-20  Bruno Haible  <bruno@clisp.org>
20938
20939         Assume C89, so PARAMS isn't needed.
20940         * lib/unicodeio.h (PARAMS): Remove.
20941         * lib/unicodeio.c: Don't use PARAMS.
20942
20943 2003-06-18  Karl Berry  <karl@gnu.org>
20944
20945         * config/config.{guess,sub}: update from prep.
20946
20947 2003-06-18  Jim Meyering  <jim@meyering.net>
20948
20949         Merge changes from coreutils.
20950         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
20951         Remove explicit declarations of xmalloc and realloc.
20952         Include xalloc.h.
20953         (read_utmp): Remove anachronistic cast of xmalloc.
20954
20955 2003-06-17  Paul Eggert  <eggert@twinsun.com>
20956
20957         Assume C89, so PARAMS isn't needed.
20958         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
20959         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
20960         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
20961         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
20962         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
20963         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
20964         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
20965         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
20966         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
20967         lib/xstrtod.h, lib/xstrtol.h: Likewise.
20968         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
20969         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
20970         no longer needed. Anyway, config.h should always be included before any
20971         other file.
20972
20973 2003-06-11  Simon Josefsson  <jas@extundo.com>
20974
20975         * modules/sysexits: New file.
20976         * MODULES.html.sh (func_all_modules): Add sysexits.
20977
20978 2003-06-11  Simon Josefsson  <jas@extundo.com>
20979
20980         * lib/sysexit_.h: New file.
20981
20982 2003-06-11  Derek Price  <derek@ximbiot.com>
20983
20984         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
20985         necessary.
20986
20987 2003-06-11  Bruno Haible  <bruno@clisp.org>
20988
20989         * m4/sysexits.m4: New file.
20990
20991 2003-06-10  Simon Josefsson  <jas@extundo.com>
20992
20993         * lib/argp.h: New file, from glibc.
20994         * lib/argp-ba.c: New file, from glibc.
20995         * lib/argp-eexst.c: New file, from glibc.
20996         * lib/argp-fmtstream.c: New file, from glibc.
20997         * lib/argp-fmtstream.h: New file, from glibc.
20998         * lib/argp-fs-xinl.c: New file, from glibc.
20999         * lib/argp-help.c: New file, from glibc.
21000         * lib/argp-namefrob.h: New file, from glibc.
21001         * lib/argp-parse.c: New file, from glibc.
21002         * lib/argp-pv.c: New file, from glibc.
21003         * lib/argp-pvh.c: New file, from glibc.
21004         * lib/argp-xinl.c: New file, from glibc.
21005
21006 2003-06-10  Simon Josefsson  <jas@extundo.com>
21007
21008         * modules/strchrnul: New file.
21009
21010 2003-06-10  Simon Josefsson  <jas@extundo.com>
21011
21012         * modules/argp: New file.
21013
21014 2003-06-10  Simon Josefsson  <jas@extundo.com>
21015
21016         * m4/strchrnul.m4: New file.
21017
21018 2003-06-10  Simon Josefsson  <jas@extundo.com>
21019
21020         * lib/strchrnul.h: New file.
21021         * lib/strchrnul.c: New file.
21022
21023 2003-06-10  Bruno Haible  <bruno@clisp.org>
21024
21025         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
21026
21027 2003-06-07  Karl Berry  <karl@gnu.org>
21028
21029         * config/config.{guess,sub}: update from prep.
21030
21031 2003-06-07  Jim Meyering  <jim@meyering.net>
21032
21033         * modules/strtod: Use $(...) notation, not @...@ for
21034         AC_REPLACE'd variables.
21035         * modules/localcharset: Likewise.
21036
21037 2003-06-07  Jim Meyering  <jim@meyering.net>
21038
21039         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
21040         in place of my name in the copyright comment.
21041         Remove definition and uses of __P.
21042
21043         From coreutils.
21044         * lib/stat.c: Don't declare xmalloc explicitly.
21045         Instead, include "xalloc.h".
21046         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
21047         xrealloc, and xcalloc return values.
21048         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
21049         Improve comment.
21050         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
21051
21052 2003-06-07  Bruno Haible  <bruno@clisp.org>
21053
21054         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
21055         avoid AC_CONFIG_LINKS.
21056         * modules/fnmatch (Makefile.am): Use explicit creation rule for
21057         fnmatch.h, to avoid AC_CONFIG_LINKS.
21058         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
21059
21060 2003-06-07  Bruno Haible  <bruno@clisp.org>
21061
21062         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
21063         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
21064         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21065         directory.
21066         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
21067         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
21068         directory.
21069
21070 2003-06-06  Jim Meyering  <jim@meyering.net>
21071
21072         Merge from coreutils.
21073         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
21074         Consolidate declarations and initializations of *_base* locals.
21075
21076         Merge from coreutils.
21077         This avoids a core dump on systems without GNU putenv,
21078         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
21079         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
21080         (unsetenv): New static function, from GNU libc.
21081         (rpl_putenv): Use it.
21082
21083         * lib/modechange.c: Remove trailing blanks.
21084
21085         Merge from coreutils.
21086         * lib/fsusage.c: Remove declaration of statfs.
21087         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
21088
21089         * lib/posixtm.c: Include <stdbool.h> unconditionally.
21090
21091 2003-06-06  Jim Meyering  <jim@meyering.net>
21092
21093         * lib/stdbool_.h: Renamed from stdbool.h.in.
21094
21095 2003-06-06  Jim Meyering  <jim@meyering.net>
21096             Bruno Haible  <bruno@clisp.org>
21097
21098         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
21099         Adjust Makefile.am snippet not to redirect directly to target.
21100         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
21101
21102 2003-06-05  Paul Eggert  <eggert@twinsun.com>
21103
21104         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
21105         mismatch, look in future quarters as well as past.  This fixes a
21106         bug when processing fall-backwards gaps immediately after a long
21107         period of daylight-saving time.
21108
21109         * lib/mktime.c: Assume freestanding C89 or better.
21110         (HAVE_LIMITS_H): Remove.  Assume it's 1.
21111         (__P): Remove; not used.
21112         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
21113         (mktime, not_equal_tm, print_tm, check_result,
21114         main): Use prototypes.  Use const * where appropriate.
21115         (main): Fix typo in testing code that uncovered by above changes.
21116         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
21117
21118 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21119
21120         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
21121         locale.h, localeconv.  This merges changes from coreutils.
21122
21123         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
21124         It can be removed after the next Autoconf is released.
21125         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
21126         needed.
21127
21128 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21129
21130         * lib/mktime.c: Fix Debian bug 177940
21131         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
21132         (localtime_offset): Now long int, not time_t, because we want it
21133         to be guaranteed to be signed.  All uses changed.
21134         (__mktime_internal): If overflow would occur when adding offset,
21135         don't add it.
21136
21137         Merge 'human' changes from coreutils.  Rewrite to support
21138         locale-specific notations like thousands separators.
21139         * lib/human.c: Simplify authorship notice.
21140         Include human.h immediately after config.h.
21141         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
21142         <limits.h>: Do not include, since human.h does.
21143         (SIZE_MAX, UINTMAX_MAX): New macros.
21144         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
21145         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
21146         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
21147         (power_letter): Renamed from suffixes.
21148         (generate_suffix_backwards): Remove.
21149         (adjust_value): Now takes int style (because of human.h changes)
21150         and long double value (for greater precision on some platforms).
21151         (group_number): New function.
21152         (human_readable): Use it.  Use integer options, not enum.
21153         Put the options before the sizes in the arg list.
21154         Support all the new options.
21155         The old human_readable function has been removed;
21156         use inttostr.h instead.
21157         (human_readable, default_block_size, humblock):
21158         Use uintmax_t, not int, for block sizes.
21159         (human_readable_inexact, block_size_types): Remove.
21160         (block_size_opts): New constant.
21161         (human_options): Renamed from human_block_size, with new signature
21162         that allows block sizes up to UINTMAX_MAX.  All callers changed.
21163         * lib/human.h: Add copyright and authorship notice.
21164         Include <limits.h> and <stdbool.h> unconditionally.
21165         (PARAMS): Remove.  All uses removed.
21166         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
21167         (enum human_inexact_style): Remove tag; now a nameless enum.
21168         (human_floor, human_ceiling, human_round_to_even): Now have
21169         values 2, 0, 1 rather than -1, 1, 0.
21170         (human_group_digits, human_suppress_point_zero, human_autoscale,
21171         human_base_1024, human_SI, human_B): New constants.
21172         (human_readable_inexact, human_block_size): Remove.
21173         (human_readable): Size args are now uintmax_t, not int.
21174         (human_options): New decl.
21175
21176         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
21177         unnecessary now that we assume C89 or better.  This change
21178         imported from coreutils.
21179
21180         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
21181         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
21182         in the 2003-05-30 sync from glibc.
21183
21184         .h files should stand alone, but we shouldn't include <sys/types.h>
21185         if we can get away with just <stddef.h>.
21186
21187         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
21188         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
21189         rather than <sys/types.h>, as we merely need size_t.
21190         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
21191         to get size_t.
21192         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
21193         Include <stdio.h>, to get FILE.
21194         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
21195         memcasecmp.h has included <stddef.h> and all we need is size_t.
21196         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
21197         our interface, instead of including <sys/types.h>
21198
21199 2003-06-04  Paul Eggert  <eggert@twinsun.com>
21200
21201         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
21202         now, as glibc mktime is buggy on non-glibc systems.
21203
21204 2003-06-03  Karl Berry  <karl@gnu.org>
21205
21206         * config/config.sub: update from prep.
21207
21208 2003-06-02  Paul Eggert  <eggert@twinsun.com>
21209
21210         [from coreutils]
21211         Fix some minor time-related bugs with POSIX time arguments.
21212         Some valid time stamps were being rejected (notably -1, and
21213         time stamps before 1900 on 64-bit hosts).  And some invalid
21214         time stamps were being accepted, e.g. September 31.
21215
21216         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
21217         that we can return (time_t) -1 successfully.
21218         * lib/posixtm.c: Likewise.
21219         [HAVE_STDBOOL_H]: Include <stdbool.h>.
21220         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
21221         (t): Remove static var.
21222         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
21223         of static var.  All uses changed.
21224         (year): Do not reject years before 1900; they can occur with
21225         64-bit time_t.
21226         (posix_time_parse): Do not check for out-of-range components;
21227         that is now the caller's responsibility, since our checks were
21228         only approximations.
21229         (posixtime): Use mktime to check for out-of-range components,
21230         since it knows them exactly.
21231         If mktime returns (time_t) -1, check whether an error actually occurred
21232         by invoking localtime on -1.
21233         (main) [TEST_POSIXTIME]: Check for input data errors, and report
21234         posixtime failures better.
21235         Improve the test data (in comments only).
21236
21237 2003-06-02  Karl Berry  <karl@gnu.org>
21238
21239         * config/mkinstalldirs (version): new variable.
21240         (--version): new option.
21241         (usage): improve message.
21242
21243 2003-05-30  Karl Berry  <karl@gnu.org>
21244
21245         * lib/mktime.c: update from libc.
21246
21247 2003-05-30  Bruno Haible  <bruno@clisp.org>
21248
21249         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
21250         * config/config.rpath: Upgrade to gettext-0.12.1.
21251
21252 2003-05-30  Bruno Haible  <bruno@clisp.org>
21253
21254         * m4/gettext.m4: Upgrade to gettext-0.12.1.
21255         * m4/nls.m4: New file, from gettext-0.12.1.
21256         * m4/po.m4: New file, from gettext-0.12.1.
21257         * m4/progtest.m4: Upgrade to gettext-0.12.1.
21258
21259 2003-05-30  Bruno Haible  <bruno@clisp.org>
21260
21261         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
21262         * lib/localcharset.h: Likewise.
21263         * lib/localcharset.c: Likewise.
21264
21265 2003-05-29  Karl Berry  <karl@gnu.org>
21266
21267         * config/config.rpath: update from gettext.
21268
21269 2003-05-28  Paul Eggert  <eggert@twinsun.com>
21270
21271         Assume the headers required for C89 freestanding compilers.
21272         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
21273         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
21274         * m4/human.m4 (gl_HUMAN): Likewise.
21275         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
21276         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
21277         * m4/userspec.m4 (gl_USERSPEC): Likewise.
21278         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
21279         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
21280         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
21281
21282 2003-05-28  Paul Eggert  <eggert@twinsun.com>
21283
21284         Assume the headers required for C89 freestanding compilers.
21285         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
21286         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
21287         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
21288         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
21289         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
21290         define, since <limits.h> is guaranteed to do that.
21291         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
21292         * lib/exclude.c: Include <stdbool.h> unconditionally.
21293         * lib/tempname.c: Include <stddef.h> unconditionally.
21294         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
21295         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
21296         <stddef.h> does that.
21297         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
21298         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
21299         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
21300         needed.
21301         * lib/xstrtol.c: Likewise.
21302         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
21303         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
21304
21305         * lib/addext.c (addext): Use assignment rather than cast, to avoid
21306         warnings on some platforms.
21307
21308         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
21309         arbitrarily.
21310
21311 2003-05-26  Jim Meyering  <jim@meyering.net>
21312
21313         Merge in a change from coreutils:
21314         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
21315         that is guaranteed to be `no'.  Use `no_such_member' to indicate
21316         that condition, rather than `-1' which is slightly misleading.
21317         Change the name of the cache variable to have the gl_ prefix.
21318         Prompted by a patch from Richard Dawe for DJGPP.
21319
21320 2003-05-24  Karl Berry  <karl@gnu.org>
21321
21322         * config/config.guess: update from prep.
21323
21324 2003-05-22  Karl Berry  <karl@gnu.org>
21325
21326         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
21327
21328 2003-05-20  Karl Berry  <karl@gnu.org>
21329
21330         * config/config.guess: update from prep.
21331
21332 2003-05-18  Karl Berry  <karl@gnu.org>
21333
21334         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
21335         might actually be set by the user.
21336
21337         * config/depcomp, install-sh, mdate-sh: update from automake.
21338
21339 2003-05-17  Bruno Haible  <bruno@clisp.org>
21340
21341         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
21342         invalid expansion for AC_EGREP_CPP.
21343         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
21344         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21345         Suggested by Akim Demaille <akim@epita.fr> in
21346         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
21347
21348 2003-05-12  Jim Meyering  <jim@meyering.net>
21349
21350         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
21351         the space-padded-by-default conversion specifiers, %e, %k, %l.
21352
21353 2003-05-12  Bruno Haible  <bruno@clisp.org>
21354
21355         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
21356         the string is longer than 4 KB.
21357
21358 2003-05-11  Karl Berry  <karl@gnu.org>
21359
21360         * config/config.{guess,sub}: update from prep.
21361
21362 2003-05-09  Bruno Haible  <bruno@clisp.org>
21363
21364         * modules/error: Add m4/strerror_r.m4 to file list.
21365
21366 2003-05-03  Bruno Haible  <bruno@clisp.org>
21367
21368         Upgrade to Unicode-4.0.
21369         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
21370         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
21371         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
21372         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
21373         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
21374         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
21375         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
21376         Change width of U+E0100..U+E01EF from 1 to 0.
21377
21378 2003-04-25  Jim Meyering  <jim@meyering.net>
21379
21380         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
21381         of type size_t, not int.
21382
21383 2003-04-25  Bruno Haible  <bruno@clisp.org>
21384
21385         * lib/copy-file.c: Include <stddef.h>, for size_t.
21386
21387 2003-04-21  Paul Eggert  <eggert@twinsun.com>
21388
21389         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
21390         code which expansion is under static control.  Patch imported from
21391         Akim Demaille's patch to Bison; see
21392         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
21393
21394 2003-04-14  Bruno Haible  <bruno@clisp.org>
21395
21396         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
21397
21398 2003-04-11  Jim Meyering  <jim@meyering.net>
21399
21400         Merge changes from Coreutils.
21401
21402         2003-03-22  Jim Meyering  <jim@meyering.net>
21403
21404         * lib/strftime.c (widen): Cast alloca return value to proper type.
21405
21406         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
21407
21408         From GNU libc.
21409         * lib/strftime.c (my_strftime): Handle very large width
21410         specifications for numeric values correctly.  Improve checks for
21411         overflow.
21412
21413         2003-01-19  Jim Meyering  <jim@meyering.net>
21414
21415         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
21416         definitions.
21417         (nl_get_alt_digit) [! defined my_strftime]: Define.
21418         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
21419         _nl_get_alt_digit and _nl_get_walt_digit.
21420
21421         * lib/strftime.c (my_strftime): Merge in locale-related changes from
21422         libc. These changes have no effect outside of _LIBC.
21423
21424 2003-04-10  Bruno Haible  <bruno@clisp.org>
21425
21426         * modules/findprog: New file.
21427         * MODULES.html.sh (func_all_modules): Add it.
21428
21429 2003-04-10  Bruno Haible  <bruno@clisp.org>
21430
21431         * m4/findprog.m4: New file.
21432         * m4/eaccess.m4: New file.
21433
21434 2003-04-10  Bruno Haible  <bruno@clisp.org>
21435
21436         * lib/findprog.h: New file, from GNU gettext.
21437         * lib/findprog.c: New file, from GNU gettext.
21438
21439 2003-04-05  Jim Meyering  <jim@meyering.net>
21440
21441         Merge changes from Coreutils.
21442
21443         * lib/exclude.h (PARAMS): Remove definition and uses.
21444         * lib/exclude.c: Remove uses of `PARAMS'.
21445
21446         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
21447         Add test-cases for DOS filenames. Declare program_name.
21448         (main): Set up program_name.  Patch by Rich Dawe.
21449
21450         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
21451         error from mntctl.
21452         Use mntctl's return value to drive the entry-processing loop, since
21453         we can't rely on the value of the vmt_length member in the last
21454         entry.  On some systems doing so could result in exhausting
21455         virtual memory.  Based in part on a patch from Mike Jetzer.
21456
21457 2003-04-04  Bruno Haible  <bruno@clisp.org>
21458
21459         * modules/linebreak: New file.
21460         * MODULES.html.sh (func_all_modules): Add it.
21461
21462 2003-04-04  Bruno Haible  <bruno@clisp.org>
21463
21464         * m4/linebreak.m4: New file.
21465
21466 2003-04-04  Bruno Haible  <bruno@clisp.org>
21467
21468         * lib/linebreak.h: New file, from GNU gettext.
21469         * lib/linebreak.c: New file, from GNU gettext with slight
21470         modifications.
21471         * lib/lbrkprop.h: New file, from GNU gettext.
21472
21473 2003-04-03  Bruno Haible  <bruno@clisp.org>
21474
21475         * modules/utf8-ucs4: New file.
21476         * modules/utf16-ucs4: New file.
21477         * modules/ucs4-utf8: New file.
21478         * modules/ucs4-utf16: New file.
21479         * MODULES.html.sh (func_all_modules): Add them.
21480
21481 2003-04-03  Bruno Haible  <bruno@clisp.org>
21482
21483         * m4/utf-ucs4.m4: New file.
21484         * m4/ucs4-utf.m4: New file.
21485
21486 2003-04-03  Bruno Haible  <bruno@clisp.org>
21487
21488         * lib/utf8-ucs4.h: New file, from GNU gettext.
21489         * lib/utf16-ucs4.h: New file, from GNU gettext.
21490         * lib/ucs4-utf8.h: New file, from GNU gettext.
21491         * lib/ucs4-utf16.h: New file, from GNU gettext.
21492
21493 2003-04-02  Bruno Haible  <bruno@clisp.org>
21494
21495         * modules/binary-io: New file.
21496         * MODULES.html.sh (func_all_modules): Add it.
21497
21498 2003-04-02  Bruno Haible  <bruno@clisp.org>
21499
21500         * lib/binary-io.h: New file, from GNU gettext.
21501
21502 2003-04-01  Bruno Haible  <bruno@clisp.org>
21503
21504         * modules/pathname: New file.
21505         * MODULES.html.sh (func_all_modules): Add it.
21506
21507 2003-04-01  Bruno Haible  <bruno@clisp.org>
21508
21509         * lib/pathname.h: New file, from GNU gettext.
21510         * lib/concatpath.c: New file, from GNU gettext.
21511
21512 2003-03-30  Bruno Haible  <bruno@clisp.org>
21513
21514         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
21515
21516 2003-03-30  Bruno Haible  <bruno@clisp.org>
21517
21518         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
21519         function chown() doesn't exist.
21520
21521 2003-03-28  Bruno Haible  <bruno@clisp.org>
21522
21523         * modules/copy-file: New file.
21524         * MODULES.html.sh (func_all_modules): Add it.
21525
21526 2003-03-28  Bruno Haible  <bruno@clisp.org>
21527
21528         * m4/copy-file.m4: New file.
21529
21530 2003-03-28  Bruno Haible  <bruno@clisp.org>
21531
21532         * lib/copy-file.h: New file, from GNU gettext.
21533         * lib/copy-file.c: New file, from GNU gettext.
21534
21535 2003-03-18  Jim Meyering  <jim@meyering.net>
21536
21537         * lib/quote.c (quote_n): Fix typo in comment.
21538
21539 2003-03-18  Bruno Haible  <bruno@clisp.org>
21540
21541         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
21542         checking.
21543         * m4/onceonly_2_57.m4: Likewise.
21544
21545 2003-03-17  Bruno Haible  <bruno@clisp.org>
21546
21547         * m4/onceonly.m4: Require autoconf 2.54 or newer.
21548         (m4_quote): Remove macro.
21549         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
21550
21551 2003-03-14  Jim Meyering  <jim@meyering.net>
21552
21553         Merge changes from Coreutils.
21554         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
21555         to be const, in order to avoid warnings.
21556         (obstack_room): Likewise.
21557         (obstack_empty_p): Likewise.
21558
21559 2003-03-14  Bruno Haible  <bruno@clisp.org>
21560
21561         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
21562         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
21563
21564 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21565
21566         Merge changes from Bison.
21567         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
21568         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
21569         when compiling Bison 1.875's `bitset bset = obstack_alloc
21570         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
21571         * lib/hash.c: Include <stdbool.h> unconditionally.
21572
21573 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21574
21575         * m4/onceonly.m4 (m4_quote): New macro.
21576         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
21577         Quote AC_FOREACH variable-expansions properly.
21578
21579 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21580
21581         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
21582
21583 2003-03-09  Paul Eggert  <eggert@twinsun.com>
21584
21585         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
21586         Reported by Bruce Becker; see:
21587         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
21588
21589 2003-03-03  Paul Eggert  <eggert@twinsun.com>
21590             Bruno Haible  <bruno@clisp.org>
21591
21592         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
21593         Reported by John Hughes, see
21594         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
21595
21596 2003-02-20  Bruno Haible  <bruno@clisp.org>
21597
21598         * MODULES.html.sh (func_all_modules): Add poll.
21599
21600 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21601
21602         * modules/poll: New file.
21603
21604 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21605
21606         * lib/poll_.h: New file.
21607         * lib/poll.c: New file.
21608
21609 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21610
21611         * m4/poll.m4: New file.
21612
21613 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21614
21615         * modules/mathl: New file.
21616
21617 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21618
21619         * lib/mathl.h: New file.
21620         * lib/acosl.c: New file.
21621         * lib/asinl.c: New file.
21622         * lib/atanl.c: New file.
21623         * lib/ceill.c: New file.
21624         * lib/cosl.c: New file.
21625         * lib/expl.c: New file.
21626         * lib/floorl.c: New file.
21627         * lib/frexpl.c: New file.
21628         * lib/ldexpl.c: New file.
21629         * lib/logl.c: New file.
21630         * lib/sincosl.c: New file.
21631         * lib/sinl.c: New file.
21632         * lib/sqrtl.c: New file.
21633         * lib/tanl.c: New file.
21634         * lib/trigl.c: New file.
21635         * lib/trigl.h: New file.
21636
21637 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21638
21639         * m4/mathl.m4: New file.
21640
21641 2003-02-18  Bruno Haible  <bruno@clisp.org>
21642
21643         * MODULES.html.sh (func_all_modules): Add mathl.
21644
21645 2003-02-17  Bruno Haible  <bruno@clisp.org>
21646
21647         * modules/mkdtemp: New module.
21648         * MODULES.html.sh (func_all_modules): Add it.
21649
21650 2003-02-17  Bruno Haible  <bruno@clisp.org>
21651
21652         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
21653
21654 2003-02-17  Bruno Haible  <bruno@clisp.org>
21655
21656         * lib/mkdtemp.h: New file, from GNU gettext.
21657         * lib/mkdtemp.c: New file, from GNU gettext.
21658
21659 2003-02-02  Jim Meyering  <jim@meyering.net>
21660
21661         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
21662         e.g. glibc-2.2.93.
21663
21664 2003-01-31  Bruno Haible  <bruno@clisp.org>
21665
21666         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
21667         'rpl_rename'.
21668         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
21669         'rpl_strnlen'.
21670         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
21671         'rpl_strtod'.
21672         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
21673         'rpl_utime'.
21674
21675 2003-01-31  Bruno Haible  <bruno@clisp.org>
21676
21677         * lib/rename.c: #undef rename before defining rpl_rename.
21678         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
21679
21680 2003-01-30  Bruno Haible  <bruno@clisp.org>
21681
21682         * modules/vasnprintf, modules/vasprintf: New modules.
21683         * MODULES.html.sh (func_all_modules): Add them.
21684
21685 2003-01-30  Bruno Haible  <bruno@clisp.org>
21686
21687         * m4/signed.m4: New file, from GNU gettext.
21688         * m4/longdouble.m4: New file, from GNU gettext.
21689         * m4/wchar_t.m4: New file, from GNU gettext.
21690         * m4/wint_t.m4: New file, from GNU gettext.
21691         * m4/vasnprintf.m4: New file.
21692         * m4/vasprintf.m4: New file.
21693
21694 2003-01-30  Bruno Haible  <bruno@clisp.org>
21695
21696         * lib/printf-args.h: New file, from GNU gettext.
21697         * lib/printf-args.c: New file, from GNU gettext.
21698         * lib/printf-parse.h: New file, from GNU gettext.
21699         * lib/printf-parse.c: New file, from GNU gettext.
21700         * lib/vasnprintf.h: New file, from GNU gettext.
21701         * lib/vasnprintf.c: New file, from GNU gettext.
21702         * lib/asnprintf.c: New file, from GNU gettext.
21703         * lib/vasprintf.h: New file, from GNU gettext with modifications.
21704         * lib/vasprintf.c: New file, from GNU gettext.
21705         * lib/asprintf.c: New file, from GNU gettext.
21706
21707 2003-01-29  Bruno Haible  <bruno@clisp.org>
21708
21709         * modules/stpncpy: New module.
21710         * MODULES.html.sh (func_all_modules): Add it.
21711
21712 2003-01-29  Bruno Haible  <bruno@clisp.org>
21713
21714         * m4/stpncpy.m4: New file.
21715
21716 2003-01-29  Bruno Haible  <bruno@clisp.org>
21717
21718         * lib/stpncpy.h: New file, from GNU gettext with modifications.
21719         * lib/stpncpy.c: New file, from GNU gettext with modifications.
21720
21721 2003-01-28  Bruno Haible  <bruno@clisp.org>
21722
21723         * modules/c-ctype: New module.
21724         * MODULES.html.sh (func_all_modules): Add it.
21725
21726 2003-01-28  Bruno Haible  <bruno@clisp.org>
21727
21728         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
21729         Paul Eggert.
21730         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
21731         Paul Eggert.
21732
21733 2003-01-27  Bruno Haible  <bruno@clisp.org>
21734
21735         * modules/xsetenv: New module.
21736         * MODULES.html.sh (func_all_modules): Add it.
21737
21738 2003-01-27  Bruno Haible  <bruno@clisp.org>
21739
21740         * lib/xsetenv.h: New file, from GNU gettext.
21741         * lib/xsetenv.c: New file, from GNU gettext.
21742
21743 2003-01-23  Jim Meyering  <jim@meyering.net>
21744
21745         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
21746         from working on systems without dirfd (at least Irix and OSF1/Tru64).
21747
21748 2003-01-23  Bruno Haible  <bruno@clisp.org>
21749
21750         * modules/minmax: New module.
21751         * MODULES.html.sh (func_all_modules): Add it.
21752
21753 2003-01-23  Bruno Haible  <bruno@clisp.org>
21754
21755         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
21756         Eggert.
21757
21758 2003-01-22  Bruno Haible  <bruno@clisp.org>
21759
21760         * modules/exit: New module.
21761         * MODULES.html.sh (func_all_modules): Add it.
21762
21763 2003-01-22  Bruno Haible  <bruno@clisp.org>
21764
21765         * lib/exit.h: New file, from GNU gettext.
21766
21767 2003-01-19  Bruno Haible  <bruno@clisp.org>
21768
21769         * gnulib-tool: Recognize option --extract-maintainer.
21770         (func_get_maintainer): New function.
21771         * modules/*: Add Maintainer entry.
21772
21773 2003-01-16  Jim Meyering  <jim@meyering.net>
21774
21775         * m4/regex.m4: The `regex' struct is both input and output.
21776         Initialize it before each use.  Patch by Tim Waugh.
21777
21778 2003-01-16  Bruno Haible  <bruno@clisp.org>
21779
21780         * MODULES.html.sh: Add a table of contents. Add the module name as
21781         leftmost column. Add hyperlinks.
21782
21783 2003-01-15  Bruno Haible  <bruno@clisp.org>
21784
21785         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
21786
21787 2003-01-15  Bruno Haible  <bruno@clisp.org>
21788
21789         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
21790         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
21791         suffix.
21792
21793 2003-01-15  Bruno Haible  <bruno@clisp.org>
21794
21795         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
21796
21797 2003-01-15  Bruno Haible  <bruno@clisp.org>
21798
21799         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
21800         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
21801
21802 2003-01-14  Jim Meyering  <jim@meyering.net>
21803
21804         * lib/same.c (same_name): Tweak a comment.
21805
21806 2003-01-14  Bruno Haible  <bruno@clisp.org>
21807
21808         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
21809         when a string comparison is sufficient.
21810
21811 2003-01-14  Bruno Haible  <bruno@clisp.org>
21812
21813         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
21814         'unsigned int'.
21815
21816 2003-01-14  Bruno Haible  <bruno@clisp.org>
21817
21818         * lib/hash-pjw.c: Add comment about low quality of this function.
21819
21820 2003-01-13  Bruno Haible  <bruno@clisp.org>
21821
21822         * modules/stpcpy: Distribute lib/stpcpy.h.
21823         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
21824
21825 2003-01-13  Bruno Haible  <bruno@clisp.org>
21826
21827         * modules/*: Add a description.
21828         * modules/strpbrk: Fix Makefile.am snippet.
21829         * modules/strtoimax: Fix dependencies.
21830         * modules/strtoumax: Likewise.
21831
21832 2003-01-13  Bruno Haible  <bruno@clisp.org>
21833
21834         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
21835         * modules/alloca (Makefile.am): All object files depend on alloca.h.
21836         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
21837
21838 2003-01-13  Bruno Haible  <bruno@clisp.org>
21839
21840         * gnulib-tool (func_create_testdir): Store config/* files in the main
21841         directory.
21842         * config.rpath: Move to ...
21843         * config/config.rpath: ... here.
21844         * modules/gettext: Contains config/config.rpath, not config.rpath.
21845         * modules/iconv: Likewise.
21846
21847 2003-01-12  Paul Eggert  <eggert@twinsun.com>
21848
21849         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
21850         to avoid collisions with libcurses and libreadline.
21851
21852         * m4/getstr.m4: Remove.
21853         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
21854
21855 2003-01-12  Paul Eggert  <eggert@twinsun.com>
21856
21857         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
21858         to avoid collisions with libcurses and libreadline.
21859
21860         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
21861         * lib/getstr.h, getstr.c: Remove.
21862         * lib/getline.c: Include "getline.h", to check interface.
21863         Move body of old getstr.c here: this defines MIN_CHUNK and
21864         declares getdelim2, which is renamed from getstr.
21865         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
21866
21867         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
21868         All uses changed.
21869         * lib/linebuffer.h: Likewise.
21870         (readline): Remove backward-compatibility macro.
21871
21872 2003-01-12  Paul Eggert  <eggert@twinsun.com>
21873
21874         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
21875         to avoid collisions with libcurses and libreadline.
21876         * getstr: Remove.
21877         * MODULES.html.sh: Remove getstr.
21878         * modules/getline: Depend on unlocked-io, not getstr.
21879
21880 2003-01-12  Jim Meyering  <jim@meyering.net>
21881
21882         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
21883
21884 2003-01-10  Bruno Haible  <bruno@clisp.org>
21885
21886         * modules/alloca: Change Makefile.am requirements. Simplify Include
21887         requirements. Add lib/alloca_.h to file list.
21888
21889 2003-01-10  Bruno Haible  <bruno@clisp.org>
21890
21891         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
21892
21893 2003-01-10  Bruno Haible  <bruno@clisp.org>
21894
21895         * lib/alloca_.h: New file.
21896         * lib/getdate.y: Unconditionally include alloca.h.
21897         * lib/makepath.c: Likewise.
21898         * lib/setenv.c: Likewise.
21899         * lib/userspec.c: Likewise.
21900
21901 2003-01-09  Karl Berry  <karl@gnu.org>
21902
21903         * MODULES.html.sh: include `dirname $0` in PATH, to find
21904         gnulib-tool.
21905
21906 2003-01-09  Bruno Haible  <bruno@clisp.org>
21907
21908         * modules/stdbool: Change configure.ac, Makefile.am requirements.
21909         Simplify Include requirements. Add lib/stdbool.h.in to file list.
21910
21911 2003-01-09  Bruno Haible  <bruno@clisp.org>
21912
21913         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
21914
21915 2003-01-09  Bruno Haible  <bruno@clisp.org>
21916
21917         * lib/stdbool.h.in: New file.
21918
21919 2003-01-09  Bruno Haible  <bruno@clisp.org>
21920
21921         * gnulib-tool (func_all_modules): Ignore files ending in ~.
21922         * MODULES.html.sh: Likewise.
21923
21924 2003-01-08  Jim Meyering  <jim@meyering.net>
21925
21926         * lib/full-write.c: Undefine and define-away `const' after inclusion
21927         of errno.h, not before.  Suggestion from Bruno Haible.
21928
21929 2003-01-08  Bruno Haible  <bruno@clisp.org>
21930
21931         * modules/full-read: Depend on full-write.
21932
21933 2003-01-08  Bruno Haible  <bruno@clisp.org>
21934
21935         * lib/safe-read.c: Include specification header first, to ensure its
21936         selfcontainedness.
21937         * lib/full-write.c: Likewise.
21938
21939 2003-01-07  Jim Meyering  <jim@meyering.net>
21940
21941         * lib/full-write.c: Rework so that it may serve to define full_read,
21942         too.
21943         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
21944
21945 2003-01-07  Bruno Haible  <bruno@clisp.org>
21946
21947         * lib/strtoimax.c: Include <stdint.h> as an alternative to
21948         <inttypes.h>.
21949         * lib/xstrtol.h: Likewise.
21950         * lib/xstrtoimax.c: Likewise.
21951         * lib/xstrtoumax.c: Likewise.
21952         * lib/human.h: Likewise.
21953
21954         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
21955         on systems that have <inttypes.h> but not <stdint.h>.
21956
21957 2003-01-07  Bruno Haible  <bruno@clisp.org>
21958
21959         * MODULES.html.sh: Add copyright notice.
21960         (missed_files): Omit CVS directory entries.
21961         (func_module): Make it work with sed-3.02.
21962         * MODULES.txt: Remove file.
21963
21964 2003-01-06  Jim Meyering  <jim@meyering.net>
21965
21966         * lib/version-etc.c: Update year in translatable copyright string.
21967
21968 2003-01-03  Karl Berry  <karl@gnu.org>
21969
21970         * config/config.{guess,sub}: update from prep.
21971
21972 2003-01-02  Karl Berry  <karl@gnu.org>
21973
21974         * doc/COPYING.DOC: belatedly updated to 1.2.
21975
21976 2003-01-01  Karl Berry  <karl@gnu.org>
21977
21978         * gnulib-tool (func_verify_module): report module name $module in
21979         error message, not $1.
21980         * gnulib-tool (create-testdir): don't complain if destdir couldn't
21981         be created, only if it doesn't exist.
21982         * gnulib-tool (last_checkin_date): don't expand the $Date here.
21983
21984 2002-12-31  Paul Eggert  <eggert@twinsun.com>
21985
21986         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
21987
21988 2002-12-31  Paul Eggert  <eggert@twinsun.com>
21989
21990         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
21991         memcmp if strcoll doesn't work.
21992
21993 2002-12-31  Bruno Haible  <bruno@clisp.org>
21994
21995         * lib/utime.c (utime_null): No need to call ftruncate if the file was
21996         nonempty.
21997
21998 2002-12-31  Bruno Haible  <bruno@clisp.org>
21999
22000         * lib/memcoll.c (STRCOLL): New macro.
22001         (memcoll): Use it.
22002
22003 2002-12-31  Bruno Haible  <bruno@clisp.org>
22004
22005         * lib/localcharset.h: New file.
22006         * lib/localcharset.c: Include it.
22007         * lib/unicodeio.c: Likewise.
22008
22009 2002-12-31  Bruno Haible  <bruno@clisp.org>
22010
22011         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
22012         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
22013
22014 2002-12-31  Bruno Haible  <bruno@clisp.org>
22015
22016         * lib/getline.h: Include <stddef.h>, for size_t.
22017
22018         * lib/unicodeio.h: Include <stddef.h>, for size_t.
22019         * lib/unicodeio.c: Don't include <stddef.h>.
22020
22021 2002-12-31  Bruno Haible  <bruno@clisp.org>
22022
22023         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
22024         HAVE_TM_ZONE.
22025
22026 2002-12-24  Karl Berry  <karl@gnu.org>
22027
22028         * config/config.guess: update from prep.
22029
22030 2002-12-24  Bruno Haible  <bruno@clisp.org>
22031
22032         General infrasructure.
22033         * m4/README: Rewritten.
22034         * m4/onceonly.m4: New file.
22035         * m4/onceonly_2_57.m4: New file.
22036
22037         Module atexit.
22038         * m4/atexit.m4: New file.
22039
22040         Module strtod.
22041         * m4/strtod.m4: New file.
22042
22043         Module strtol.
22044         * m4/strtol.m4: New file.
22045
22046         Module strtoul.
22047         * m4/strtoul.m4: New file.
22048
22049         Module memchr.
22050         * m4/memchr.m4: New file.
22051
22052         Module memcmp.
22053         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
22054         (jm_FUNC_MEMCMP): Invoke it.
22055
22056         Module memcpy.
22057         * m4/memcpy.m4: New file.
22058
22059         Module memmove.
22060         * m4/memmove.m4: New file.
22061
22062         Module memset.
22063         * m4/memset.m4: New file.
22064
22065         Module strcspn.
22066         * m4/strcspn.m4: New file.
22067
22068         Module strpbrk.
22069         * m4/strpbrk.m4: New file.
22070
22071         Module strstr.
22072         * m4/strstr.m4: New file.
22073
22074         Module strerror.
22075         * m4/strerror.m4: New file.
22076
22077         Module mktime.
22078         * m4/mktime.m4: Renamed from jm-mktime.m4.
22079         (gl_PREREQ_MKTIME): New macro.
22080         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
22081
22082         Module malloc.
22083         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
22084         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
22085         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
22086
22087         Module realloc.
22088         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
22089         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
22090         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
22091
22092         Module strftime.
22093         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
22094         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
22095         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
22096         gl_TM_GMTOFF.
22097         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
22098
22099         Module xalloc.
22100         * m4/xalloc.m4: New file.
22101
22102         Module alloca.
22103         * m4/alloca.m4: New file.
22104
22105         Module putenv.
22106         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
22107         (jm_FUNC_PUTENV): Invoke it.
22108
22109         Module setenv.
22110         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
22111         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
22112         when invoked twice.
22113         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
22114         gt_FUNC_SETENV.
22115
22116         Module memrchr.
22117         * m4/memrchr.m4: New file.
22118
22119         Module stpcpy.
22120         * m4/stpcpy.m4: New file.
22121
22122         Module strcase.
22123         * m4/strcase.m4: New file.
22124
22125         Module strdup.
22126         * m4/strdup.m4: New file.
22127
22128         Module strnlen.
22129         * m4/strnlen.m4: New file.
22130
22131         Module strndup.
22132         * m4/strndup.m4: New file.
22133
22134         Module xstrtod.
22135         * m4/xstrtod.m4: New file.
22136
22137         Module xstrtol.
22138         * m4/xstrtol.m4: New file.
22139
22140         Module getdate.
22141         * m4/getdate.m4: New file.
22142
22143         Module unlocked-io.
22144         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
22145         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
22146         * m4/jm-glibc-io.m4n: Remove file.
22147
22148         Module long-options.
22149         * m4/long-options.m4: New file.
22150
22151         Module md5.
22152         * m4/md5.m4: New file.
22153
22154         Module sha.
22155         * m4/sha.m4: New file.
22156
22157         Module getstr.
22158         * m4/getstr.m4: New file.
22159
22160         Module getline.
22161         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
22162         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
22163         <sys/types.h>, for size_t. Use the function name gnu_getline, not
22164         simply getline. Infoke gl_PREREQ_GETLINE.
22165
22166         Module obstack.
22167         * m4/obstack.m4: New file.
22168
22169         Module hash.
22170         * m4/hash.m4: New file.
22171
22172         Module readtokens.
22173         * m4/readtokens.m4: New file.
22174
22175         Module strverscmp.
22176         * m4/strverscmp.m4: New file.
22177
22178         Module stdbool.
22179         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
22180         OSF/1.
22181
22182         Module strtoll.
22183         * m4/strtoll.m4: New file.
22184
22185         Module strtoull.
22186         * m4/strtoull.m4: New file.
22187
22188         Module strtoimax.
22189         * m4/strtoimax.m4: New file.
22190
22191         Module strtoumax.
22192         * m4/strtoumax.m4: New file.
22193
22194         Module xstrtoimax.
22195         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
22196         jm_AC_PREREQ_XSTRTOIMAX.
22197         Moved the strtol prerequisites to strtol.m4.
22198         Moved the strtoll prerequisites to strtoll.m4.
22199         Moved the strtoimax prerequisites to strtoimax.m4.
22200
22201         Module xstrtoumax.
22202         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
22203         jm_AC_PREREQ_XSTRTOUMAX.
22204         Moved the strtoul prerequisites to strtoul.m4.
22205         Moved the strtoull prerequisites to strtoull.m4.
22206         Moved the strtoumax prerequisites to strtoumax.m4.
22207
22208         Module chown.
22209         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
22210         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
22211
22212         Module dup2.
22213         * m4/dup2.m4: New file.
22214
22215         Module ftruncate.
22216         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
22217         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
22218
22219         Module getgroups.
22220         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
22221         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
22222
22223         Module gettimeofday.
22224         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
22225         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
22226         gl_PREREQ_GETTIMEOFDAY.
22227
22228         Module mkdir.
22229         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
22230         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
22231
22232         Module mkstemp.
22233         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
22234         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
22235         jm_AC_TYPE_UINTMAX_T.
22236         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
22237
22238         Module stat.
22239         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
22240         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
22241
22242         Module lstat.
22243         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
22244         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
22245
22246         Module timespec.
22247         * m4/timespec.m4 (gl_TIMESPEC): New macro.
22248         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
22249         * m4/st_mtim.m4: Indentation.
22250
22251         Module nanosleep.
22252         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
22253         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
22254         gl_PREREQ_NANOSLEEP.
22255
22256         Module regex.
22257         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
22258         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
22259         (gl_REGEX): New macro.
22260
22261         Module rename.
22262         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
22263         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
22264
22265         Module rmdir.
22266         * m4/rmdir.m4: New file.
22267
22268         Module utime.
22269         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
22270         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
22271         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
22272
22273         Module dirname.
22274         * m4/dirname.m4: New file.
22275
22276         Module getopt.
22277         * m4/getopt.m4: New file.
22278
22279         Module unistd-safer.
22280         * m4/unistd-safer.m4: New file.
22281
22282         Module fnmatch.
22283         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
22284         declaration.
22285         (gl_PREREQ_FNMATCH_EXTRA): New macro.
22286         (gl_FUNC_FNMATCH_POSIX): New macro.
22287         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
22288         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
22289         simply fnmatch.
22290
22291         Module exclude.
22292         * m4/exclude.m4: New file.
22293
22294         Module human.
22295         * m4/human.m4: New file.
22296
22297         Module acl.
22298         * m4/acl.m4: Nop.
22299
22300         Module backupfile.
22301         * m4/backupfile.m4: New file.
22302         * m4/d-ino.m4: Indentation.
22303
22304         Module fsusage.
22305         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
22306         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
22307         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
22308
22309         Module dirfd.
22310         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
22311         requirements.
22312
22313         Module euidaccess.
22314         * m4/euidaccess.m4: New file.
22315
22316         Module file-type.
22317         * m4/file-type.m4: New file.
22318
22319         Module fileblocks.
22320         * m4/fileblocks.m4: New file.
22321
22322         Module filemode.
22323         * m4/filemode.m4: New file.
22324
22325         Module isdir.
22326         * m4/isdir.m4: New file.
22327
22328         Module lchown.
22329         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
22330         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
22331
22332         Module makepath.
22333         * m4/makepath.m4: New file.
22334
22335         Module modechange.
22336         * m4/modechange.m4: New file.
22337
22338         Module mountlist.
22339         * m4/mountlist.m4: New file.
22340         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
22341         Indentation.
22342
22343         Module path-concat.
22344         * m4/path-concat.m4: New file.
22345
22346         Module pathmax.
22347         * m4/pathmax.m4: New file.
22348
22349         Module same.
22350         * m4/same.m4: New file.
22351
22352         Module save-cwd.
22353         * m4/save-cwd.m4: New file.
22354
22355         Module savedir.
22356         * m4/savedir.m4: New file.
22357
22358         Module xgetcwd.
22359         * m4/xgetcwd.m4: New file.
22360         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
22361
22362         Module xreadlink.
22363         * m4/xreadlink.m4: New file.
22364
22365         Module safe-read.
22366         * m4/safe-read.m4: New file.
22367
22368         Module safe-write.
22369         * m4/safe-write.m4: New file.
22370
22371         Module closeout.
22372         * m4/closeout.m4: New file.
22373
22374         Module stdio-safer.
22375         * m4/stdio-safer.m4: New file.
22376
22377         Module getpass.
22378         * m4/getpass.m4: New file.
22379
22380         Module getugroups.
22381         * m4/getugroups.m4: New file.
22382
22383         Module group-member.
22384         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
22385         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
22386
22387         Module idcache.
22388         * m4/idcache.m4: New file.
22389
22390         Module userspec.
22391         * m4/userspec.m4: New file.
22392
22393         Module gettime.
22394         * m4/clock_time.m4: New file.
22395         * m4/gettime.m4: New file.
22396
22397         Module settime.
22398         * m4/settime.m4: New file.
22399
22400         Module posixtm.
22401         * m4/posixtm.m4: New file.
22402
22403         Module gethostname.
22404         * m4/gethostname.m4: New file.
22405
22406         Module canon-host.
22407         * m4/canon-host.m4: New file.
22408
22409         Module gettext.
22410         * m4/codeset.m4: New file, from gettext-0.11.5.
22411         * m4/gettext.m4: New file, from gettext-0.11.5.
22412         * m4/glibc21.m4: New file, from gettext-0.11.5.
22413         * m4/iconv.m4: New file, from gettext-0.11.5.
22414         * m4/intdiv0.m4: New file, from gettext-0.11.5.
22415         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
22416         * m4/inttypes.m4: New file, from gettext-0.11.5.
22417         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
22418         * m4/isc-posix.m4: New file, from gettext-0.11.5.
22419         * m4/lcmessage.m4: New file, from gettext-0.11.5.
22420         * m4/lib-ld.m4: New file, from gettext-0.11.5.
22421         * m4/lib-link.m4: New file, from gettext-0.11.5.
22422         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
22423         * m4/progtest.m4: New file, from gettext-0.11.5.
22424         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
22425         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
22426         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
22427
22428         Module localcharset.
22429         * m4/localcharset.m4: New file.
22430
22431         Module hard-locale.
22432         * m4/hard-locale.m4: New file.
22433
22434         Module mbswidth.
22435         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
22436         onceonly macros.
22437         * m4/mbrtowc.m4: Add comment.
22438
22439         Module memcasecmp.
22440         * m4/memcasecmp.m4: New file.
22441
22442         Module memcoll.
22443         * m4/memcoll.m4: New file.
22444
22445         Module unicodeio.
22446         * m4/unicodeio.m4: New file.
22447
22448         Module rpmatch.
22449         * m4/rpmatch.m4: New file.
22450
22451         Module yesno.
22452         * m4/yesno.m4: New file.
22453
22454         Module exitfail.
22455         * m4/exitfail.m4: New file.
22456
22457         Module c-stack.
22458         * m4/c-stack.m4 (gl_C_STACK): New macro.
22459         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
22460
22461         Module error.
22462         * m4/error.m4 (gl_ERROR): New macro.
22463         (jm_PREREQ_ERROR): Use onceonly macros.
22464
22465         Module fatal.
22466         * m4/fatal.m4: New file.
22467
22468         Module getloadavg.
22469         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
22470         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
22471
22472         Module getpagesize.
22473         * m4/getpagesize.m4: New file.
22474
22475         Module getusershell.
22476         * m4/getusershell.m4: New file.
22477
22478         Module physmem.
22479         * m4/physmem.m4: New file.
22480
22481         Module posixver.
22482         * m4/posixver.m4: New file.
22483
22484         Module quotearg.
22485         * m4/quotearg.m4: New file.
22486
22487         Module quote.
22488         * m4/quote.m4: New file.
22489
22490         Module readutmp.
22491         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
22492
22493         Module sig2str.
22494         * m4/sig2str.m4: New file.
22495
22496         Other.
22497         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
22498         ulonglong.m4.
22499         * m4/intmax_t.m4: New file.
22500         * m4/d-type.m4: Indentation.
22501         * m4/jm-macros.m4: Update.
22502         * m4/prereq.m4 (jm_PREREQ): Update.
22503         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
22504         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
22505         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
22506         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
22507         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
22508         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
22509         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
22510         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
22511         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
22512         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
22513         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
22514         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
22515         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
22516         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
22517         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
22518         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
22519         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
22520         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
22521         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
22522
22523 2002-12-24  Bruno Haible  <bruno@clisp.org>
22524
22525         * MODULES.txt: Update according to m4/ changes.
22526
22527         Module gettext.
22528         * config.rpath: New file, from gettext-0.11.5.
22529
22530         * modules/*: New module descriptions.
22531         * gnulib-tool: New file.
22532         * MODULES.html.sh: New file.
22533
22534 2002-12-21  Karl Berry  <karl@gnu.org>
22535
22536         * doc/fdl.texi: update to version 1.2.
22537
22538 2002-12-19  Karl Berry  <karl@gnu.org>
22539
22540         * config/config.guess: update from prep.
22541
22542 2002-12-18  Bruno Haible  <bruno@clisp.org>
22543
22544         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
22545         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
22546
22547 2002-12-17  Bruno Haible  <bruno@clisp.org>
22548
22549         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
22550         stdlib.h, string.h.
22551
22552 2002-12-17  Bruno Haible  <bruno@clisp.org>
22553
22554         * lib/canon-host.c (strdup): Remove unused declaration.
22555
22556         * lib/fsusage.c: Include full_read.h.
22557         (get_fs_usage): Use full_read instead of safe_read.
22558
22559         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
22560
22561 2002-12-12  Karl Berry  <karl@gnu.org>
22562
22563         * config/config.guess: update from prep.
22564
22565 2002-12-11  Bruno Haible  <bruno@clisp.org>
22566
22567         * m4/setenv.m4: New file, from gettext-0.11.5.
22568
22569 2002-12-11  Bruno Haible  <bruno@clisp.org>
22570
22571         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
22572         not unsetenv().
22573         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
22574         modifications:
22575
22576         2002-12-11  Bruno Haible  <bruno@clisp.org>
22577
22578                 * setenv.c (alloca): Fall back to malloc.
22579                 (freea): New macro.
22580                 (setenv): Use freea() to free memory allocated with alloca().
22581
22582         2002-11-13  Bruno Haible  <bruno@clisp.org>
22583
22584                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
22585                 function declarations.
22586                 * unsetenv.c (unsetenv): Likewise.
22587
22588         2002-03-04  Bruno Haible  <bruno@clisp.org>
22589
22590                 Portability to AIX 4.3.3.
22591                 * unsetenv.c: New file, extracted from setenv.c.
22592                 * setenv.c: Move the unsetenv() function to unsetenv.c.
22593
22594         2001-12-20  Bruno Haible  <bruno@clisp.org>
22595
22596                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
22597                 use malloc instead. For SunOS 4.
22598
22599         2001-12-11  Bruno Haible  <bruno@clisp.org>
22600
22601                 * setenv.c: Declare alloca.
22602                 (compar_fn_t): New typedef.
22603                 (KNOWN_VALUE, STORE_VALUE): Use it.
22604
22605         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
22606         setenv.h.
22607
22608 2002-12-10  Paul Eggert  <eggert@twinsun.com>
22609
22610         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
22611         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
22612         Choose values that are less likely to collide with system fnmatch
22613         options.
22614         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
22615         defined (e.g., a pure POSIX system).
22616         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
22617         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
22618
22619 2002-12-06  Paul Eggert  <eggert@twinsun.com>
22620
22621         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
22622         a pain in practice to deal with generated m4 files.  This change
22623         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
22624
22625         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
22626         and jm-glibc-io.m4, as they are no longer a special case.
22627         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
22628         kludge and the auto-generation stuff.  Check only whether the
22629         functions are declared, not whether they exist, since older hosts
22630         that don't declare the functions can't use the optimization anyway.
22631
22632 2002-12-06  Jim Meyering  <jim@meyering.net>
22633
22634         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
22635
22636         Merge in changes from libc's misc/error.c, in preparation
22637         for the merge of gnulib's changes back into libc.
22638
22639         * lib/error.c (_): Define only if not already defined.
22640         Move definition to follow all #include directives.
22641         Include unlocked-io.h only if !_LIBC.
22642         [_LIBC]: Include <libio/libioP.h>.
22643         [USE_IN_LIBIO]: Include <libio/iolibio.h>
22644         (fflush): Tweak definition to use INTUSE.
22645         (putc): Define.
22646
22647 2002-12-05  Paul Eggert  <eggert@twinsun.com>
22648
22649         * lib/alloca.c [defined emacs]: Include "lisp.h".
22650         (xalloc_die) [defined emacs]: New macro.
22651         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
22652         [! defined emacs]: Include <xalloc.h>.
22653         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
22654         (pointer): Typedef to POINTER_TYPE *.
22655         (malloc): Remove decl; we now always use xmalloc.
22656         (alloca): Use old-style definition, since Emacs needs this.
22657         Check for arithmetic overflow when computing combined size.
22658
22659 2002-12-04  Paul Eggert  <eggert@twinsun.com>
22660
22661         Do not generate unlocked-io.h automatically, since it's easier to
22662         maintain it by hand.
22663
22664         * lib/unlocked-io.h: New file, from GNU diffutils,
22665         but with proper copyright notice and attribution.
22666         * lib/gen-uio: Remove.
22667         * lib/Makefile.am: Add copyright notice.
22668         (libfetish_a_SOURCES): Add unlocked-io.h.
22669         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
22670         (DISTCLEANFILES, io_functions): Remove macros.
22671         (EXTRA_DIST): Remove gen_uio.
22672         (unlocked-io.h): Remove rule.
22673
22674 2002-12-04  Jim Meyering  <jim@meyering.net>
22675
22676         Reflect the fact that stat.c and lstat.c are no longer generated.
22677         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
22678         (DISTCLEANFILES): Likewise.
22679         (EXTRA_DIST): Likewise.
22680         (all_local): Don't depend on stat.c or lstat.c.
22681         (stat.c, lstat.c): Remove rules.
22682         (EXTRA_DIST): Remove xstat.in.
22683
22684         * lib/xstat.in: Remove file.  Contents moved into stat.c.
22685         * lib/stat.c: New file.  Contents mostly from xstat.in.
22686         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
22687         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
22688
22689         * lib/safe-read.c: Rework so that it may serve to define safe_write,
22690         too.
22691         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
22692
22693 2002-12-03  Jim Meyering  <jim@meyering.net>
22694
22695         * lib/safe-read.c, safe-write.c: Change variable names and comments,
22696         but not semantics, to minimize the differences between these two files.
22697         (safe_read): Change comment to mention SAFE_READ_ERROR.
22698
22699         * lib/safe-read.c (IS_EINTR): Define.
22700         (safe_read): Use IS_EINTR in place of in-function cpp directives.
22701
22702 2002-12-02  Jim Meyering  <jim@meyering.net>
22703
22704         * lib/safe-read.c (EINTR): Define.
22705         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
22706         (INT_MAX): Provide fallback.
22707         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
22708
22709         * lib/safe-read.h (SAFE_READ_ERROR): Define.
22710
22711 2002-12-02  Bruno Haible  <bruno@clisp.org>
22712
22713         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
22714         Define, taken from safe-read.c.
22715         (INT_MAX): Provide fallback.
22716         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
22717         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
22718
22719         * lib/safe-read.c (EINTR): Remove definition.
22720         (safe_read): Don't use EINTR if it is absent.
22721
22722 2002-12-01  Jim Meyering  <jim@meyering.net>
22723
22724         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
22725         zero.
22726         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
22727
22728 2002-11-27  Paul Eggert  <eggert@twinsun.com>
22729
22730         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
22731         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
22732         with `if (! (value < limit)) abort ();', for readability.
22733
22734 2002-11-26  Karl Berry  <karl@gnu.org>
22735
22736         * lib/strdup.c: copy from libc again, with jim's ok.
22737         * lib/.cppi-disable: re-add strdup.c
22738
22739 2002-11-25  Karl Berry  <karl@gnu.org>
22740
22741         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
22742         instead of "strtol.c".
22743
22744 2002-11-25  Karl Berry  <karl@gnu.org>
22745
22746         * config/install-sh: update from automake for variable quoting, $0 in
22747         error msgs, etc.
22748
22749         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
22750         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
22751         entry.
22752
22753 2002-11-25  Jim Meyering  <jim@meyering.net>
22754
22755         * lib/mktime.c: Sync from libc, now that it has the latest fix.
22756
22757 2002-11-24  Karl Berry  <karl@gnu.org>
22758
22759         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
22760         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
22761
22762 2002-11-24  Jim Meyering  <jim@meyering.net>
22763
22764         Update from coreutils:
22765
22766         * lib/mktime.c: Merge in changes from libc.
22767
22768         Avoid a link-time failure on some Linux systems.
22769         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
22770         (otherwise).
22771         (__mon_yday): Declare with the STATIC attribute.
22772         (__mktime_internal): Likewise.
22773         Based on a report from Greg Schafer.
22774
22775 2002-11-23  Jim Meyering  <jim@meyering.net>
22776
22777         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
22778         Use `unsigned', not `int', as type of index.
22779
22780         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
22781
22782         * lib/fsusage.c: Remove unneeded parentheses around operands of
22783         `defined'.
22784
22785 2002-11-22  Paul Eggert  <eggert@twinsun.com>
22786
22787         * lib/quotearg.h: Allow multiple inclusion by surrounding with
22788         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
22789         so that we can be included first.
22790         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
22791         * lib/quotearg.c: Include quotearg.h immediately after config.h.
22792         No need to include stddef.h or sys/types.h any more.
22793         Surround local include files with "", not "<>".
22794         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
22795         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
22796         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
22797         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
22798         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
22799         (ISPRINT): Remove; no longer needed now that we assume C89.
22800
22801         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
22802         Preserve errno.
22803
22804         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
22805         quotearg_char): Use SIZE_MAX rather than
22806         (size_t) -1 when we are talking about "infinity".
22807
22808         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
22809
22810 2002-11-22  Paul Eggert  <eggert@twinsun.com>
22811
22812         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
22813         hint that one should use `if (! x) abort ();' rather than `assert
22814         (x);', and anyway it's one less thing to worry about configuring.
22815         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
22816         hash_rehash, hash_insert): Use abort rather than assert.
22817
22818 2002-11-22  Bruno Haible  <bruno@clisp.org>
22819
22820         * lib/safe-read.h: Assume C89. Add comments.
22821         (safe_read): Change return type to size_t.
22822         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
22823         byte counts > SSIZE_MAX correctly.
22824         * lib/safe-write.h: New file.
22825         * lib/safe-write.c: New file.
22826         * lib/full-read.h: New file.
22827         * lib/full-read.c: New file.
22828         * lib/full-write.h: Assume C89. Add comments.
22829         * lib/full-write.c: Include safe-write.h.
22830         (full_write): Rewritten to use safe_write.
22831         Suggested by Jim Meyering and Paul Eggert.
22832
22833 2002-11-21  Jim Meyering  <jim@meyering.net>
22834
22835         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
22836
22837         Merge in changes from the coreutils.
22838
22839         2002-09-25  Paul Eggert  <eggert@twinsun.com>
22840         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
22841         <stdint.h>.
22842         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
22843         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
22844         int.  Work more efficiently if X is the same width as uintmax_t.
22845         Do not compare X to -1, to avoid bogus compiler warning.
22846         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
22847         Don't assume that f_frsize and f_bsize are the same type.
22848
22849         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
22850         warning on FreeBSD.
22851
22852         * lib/makepath.c (make_path): Restore umask *before* creating the final
22853         component.
22854         (make_path): Minor reformatting.
22855
22856         * lib/xmalloc.c: Adjust to work with new autoconf macros,
22857         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
22858         HAVE_MALLOC/HAVE_REALLOC.
22859
22860         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
22861         dummy ones.  At least on GNU/Linux systems, `auto' means something
22862         else.
22863         From Michael Stone.
22864
22865 2002-11-21  Bruno Haible  <bruno@clisp.org>
22866
22867         Remove case insensitive option matching.
22868         * lib/argmatch.h (argcasematch): Remove declaration.
22869         (ARGCASEMATCH): Remove macro.
22870         (__xargmatch_internal): Remove case_sensitive argument.
22871         (XARGMATCH): Update.
22872         (XARGCASEMATCH): Remove macro.
22873         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
22874         case_sensitive argument.
22875         (argcasematch): Remove function.
22876         (__xargmatch_internal): Remove case_sensitive argument.
22877         (main): Use XARGMATCH instead of XARGCASEMATCH.
22878
22879         * lib/xmalloc.c: Change compile-time error message. Add comment about
22880         required autoconf version.
22881
22882 2002-11-20  Paul Eggert  <eggert@twinsun.com>
22883
22884         Merge argmatch cleanups from Bison.  Assume C89.
22885
22886         * lib/argmatch.c: Include config.h here, not in argmatch.h.
22887         Include stdlib.h, for EXIT_FAILURE.
22888         Always include <string.h>, since we assume C89.
22889         (EXIT_FAILURE): Remove pre-C89 bug workaround.
22890         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
22891         Include <stddef.h> instead, since it's all we need for size_t.
22892         (PARAMS): Remove.  All uses removed.
22893         (ARRAY_CARDINALITY): Do not bother to #undef.
22894         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
22895         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
22896         Remove unnecessary parentheses.
22897         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
22898         Insert necessary parentheses.
22899         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
22900         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
22901
22902 2002-11-19  Bruno Haible  <bruno@clisp.org>
22903
22904         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
22905         * lib/mbswidth.h: Include <stddef.h>, for size_t.
22906
22907         * lib/mbswidth.h (PARAMS): Remove macro.
22908         (mbswidth, mbsnwidth): Use ANSI C function declarations.
22909         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
22910
22911         * lib/gcd.h (PARAMS): Remove macro.
22912         (gcd): Use ANSI C function declarations.
22913         * lib/gcd.c (gcd): Likewise.
22914
22915 2002-11-15  Bruno Haible  <bruno@clisp.org>
22916
22917         * lib/strcspn.c: Include <stddef.h>.
22918         (strcspn): Use ANSI C function declaration. Change return type to
22919         size_t. Use NULL.
22920         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
22921         (strpbrk): Use NULL.
22922         * lib/strpbrk.h (PARAMS): Remove macro.
22923         (strpbrk): Use ANSI C function declaration.
22924         * lib/strstr.c: Don't include <sys/types.h>.
22925         * lib/strstr.h (PARAMS): Remove macro.
22926         (strstr): Use ANSI C function declarations.
22927
22928 2002-11-14  Karl Berry  <karl@gnu.org>
22929
22930         * config/mkinstalldirs: `do' on separate line, instead of
22931         `for var; do'.
22932
22933 2002-11-06  Bruno Haible  <bruno@clisp.org>
22934
22935         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
22936         * lib/gcd.c (gcd): Likewise.
22937
22938 2002-11-05  Bruno Haible  <bruno@clisp.org>
22939
22940         * lib/gcd.h: New file, from gettext-0.11.5.
22941         * lib/gcd.c: New file, from gettext-0.11.5.
22942
22943 2002-11-05  Bruno Haible  <bruno@clisp.org>
22944
22945         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
22946         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
22947         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
22948         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
22949
22950         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
22951         <libintl.h>.
22952         * lib/makepath.c: Include gettext.h instead of <locale.h> and
22953         <libintl.h>.
22954
22955         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
22956         * lib/human.c: Include gettext.h instead of <libintl.h>.
22957         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
22958         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
22959         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
22960         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
22961         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
22962         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
22963         (textdomain): Remove definition.
22964         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
22965
22966         * lib/long-options.c: Remove include of <libintl.h> and definition of
22967         _.
22968         * lib/same.c: Remove include of <libintl.h> and definition of _.
22969
22970 2002-11-04  Owen Taylor  <otaylor@redhat.com>
22971
22972         * lib/config.charset: A few additions for Solaris.
22973
22974 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
22975
22976         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
22977         * lib/localcharset.c (locale_charset): Declare as extern "C".
22978
22979 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
22980
22981         * lib/config.charset: msdos in uk_UA uses CP1125.
22982
22983 2002-11-04  Bruno Haible  <bruno@clisp.org>
22984
22985         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
22986         * lib/strcase.h: New file, from GNU gettext-0.11.5.
22987         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
22988         * lib/strstr.h: New file, from GNU gettext-0.11.5.
22989         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
22990
22991 2002-11-04  Bruno Haible  <bruno@clisp.org>
22992
22993         * lib/localcharset.c (locale_charset): Don't return an empty string.
22994
22995 2002-11-04  Bruno Haible  <bruno@clisp.org>
22996
22997         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
22998         aliases.
22999
23000 2002-11-04  Bruno Haible  <bruno@clisp.org>
23001
23002         * lib/config.charset: Update for newest glibc. Add canonical names
23003         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
23004
23005 2002-11-04  Bruno Haible  <bruno@clisp.org>
23006
23007         * lib/config.charset: Add support for NetBSD.
23008
23009 2002-11-04  Bruno Haible  <bruno@clisp.org>
23010
23011         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
23012
23013 2002-11-01  Bruno Haible  <bruno@clisp.org>
23014
23015         * configure.in: Add AC_CONFIG_AUX_DIR call.
23016         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
23017         test/Makefile.
23018         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
23019
23020 2002-09-28  Karl Berry  <karl@gnu.org>
23021
23022         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
23023         installed automake until the next release, since changes have been
23024         made.
23025
23026 2002-09-25  Karl Berry  <karl@gnu.org>
23027
23028         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
23029         * lib/getopt*: copy from libc/posix.
23030         * lib/gettext.h: copy from gettext.
23031         * lib/.cppi-disable: add strdup.c, gettext.h.
23032
23033 2002-09-25  Karl Berry  <karl@gnu.org>
23034
23035         * config/srclist.txt: enable gettext.h check.
23036         * config/config.{guess,sub}: update from prep.
23037         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
23038                 from automake 1.6.3.
23039         See srclist*.
23040
23041 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
23042
23043         * regex.c (PATFETCH): Remove the translating fetch.
23044         (PATFETCH_RAW): Rename to PATFETCH.
23045         (set_image_of_range): New fun.
23046         (SET_RANGE_TABLE_WORK_AREA): Use it.
23047         (regex_compile): Don't translate the pattern chars so eagerly.
23048         Only do it when inserting an `exactn' bytecode or when handling
23049         a char-range.
23050         (mutually_exclusive_p): Avoid empty statement.
23051
23052 2002-07-06  Jim Meyering  <meyering@lucent.com>
23053
23054         * m4/README: Don't mention Makefile.am.in.
23055         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
23056
23057 2002-07-01  Jim Meyering  <meyering@lucent.com>
23058
23059         * lib/c-stack.c: Include sys/time.h.
23060         From Volker Borchert.
23061
23062 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23063
23064         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
23065
23066 2002-06-26  Paul Eggert  <eggert@twinsun.com>
23067
23068         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
23069         New macro.  Use it uniformly instead of
23070         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
23071         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
23072         reported by Vin Shelton.
23073
23074 2002-06-22  Paul Eggert  <eggert@twinsun.com>
23075
23076         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
23077         Do not assume SA_SIGINFO behavior.
23078         Bug reported by Jim Meyering on NetBSD 1.5.2.
23079
23080 2002-06-22  Jim Meyering  <meyering@lucent.com>
23081
23082         * m4/c-stack.m4: New file, from diffutils-2.8.2.
23083         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
23084
23085         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
23086         now that configure.ac uses AC_GNU_SOURCE.
23087         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
23088         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
23089
23090         Update to latest tools.  Suggestions from Paul Eggert.
23091         * m4/stdbool.m4: New file, from diffutils-2.8.2.
23092         * m4/gnu-source.m4: Update from diffutils-2.8.2.
23093         * m4/fnmatch.m4: Likewise.
23094         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
23095         to AC_HEADER_STDBOOL
23096
23097 2002-06-22  Jim Meyering  <meyering@lucent.com>
23098
23099         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
23100         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
23101
23102 2002-06-22  Jim Meyering  <meyering@lucent.com>
23103
23104         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
23105
23106         * lib/exitfail.c, exitfail.h: Likewise.
23107         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
23108
23109         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
23110         of fnmatch.h.
23111         (EXTRA_DIST): Add fnmatch_loop.c.
23112         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
23113
23114         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
23115         * lib/fnmatch.c: Update from diffutils-2.8.2.
23116         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
23117         * lib/fnmatch.h: Remove file.
23118
23119 2002-06-21  Jim Meyering  <meyering@lucent.com>
23120
23121         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
23122         * m4/mbrtowc.m4: Likewise.
23123
23124         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
23125         * m4/mbswidth.m4: Reflect name change:
23126         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
23127         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
23128
23129         * m4/lib-link.m4: Update from gettext-0.11.2.
23130         * m4/gettext.m4: Likewise.
23131
23132         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
23133         From Alfred M. Szmidt.
23134
23135 2002-06-18  Paul Eggert  <eggert@twinsun.com>
23136
23137         * lib/file-type.h: Report an error if neither S_ISREG nor
23138         S_IFREG is defined, instead of using a test specific to glibc
23139         2.2.  This should be safe, since POSIX requires S_ISREG and
23140         Unix Version 7 had S_IFREG.  We don't need to check for
23141         <sys/types.h> since we don't use any symbols that it defines.
23142
23143 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
23144
23145         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
23146         $@-t, so that each temporary file name is unique and valid in the first
23147         8 characters, for operation under DOS.
23148
23149 2002-06-15  Paul Eggert  <eggert@twinsun.com>
23150
23151         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
23152
23153 2002-06-15  Jim Meyering  <meyering@lucent.com>
23154
23155         Work even with DJGPP 2.03, which lacks support for symlinks.
23156         From Richard Dawe.
23157         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
23158         is defined.
23159         * lib/lchown.c (S_ISLNK): Likewise.
23160
23161 2002-06-15  Jim Meyering  <meyering@lucent.com>
23162
23163         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
23164         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
23165         have been included before this file.
23166
23167 2002-06-14  Jim Meyering  <meyering@lucent.com>
23168
23169         * lib/file-type.h: Use the version from diffutils-2.8.2.
23170         * lib/file-type.c: Likewise.
23171
23172 2002-06-07  Jim Meyering  <meyering@lucent.com>
23173
23174         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
23175         They're needed at least for NetBSD 1.5.2.
23176         ($statxfs_includes): Include those same headers.
23177         ($statxfs_includes): Include sys/vfs.h if available.
23178         ($statxfs_includes): Likewise for sys/statvfs.h.
23179         Check for the following members in both structs statfs and statvfs:
23180         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
23181
23182 2002-06-01  Jim Meyering  <meyering@lucent.com>
23183
23184         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
23185         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
23186
23187 2002-05-28  Jim Meyering  <meyering@lucent.com>
23188
23189         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
23190         Reported by Volker Borchert.
23191
23192 2002-05-27  Jim Meyering  <meyering@lucent.com>
23193
23194         Fix a problem seen only on nonconforming systems whereby ls.c's
23195         use of localtime, and then of gettimeofday would cause trouble:
23196         the localtime call used to initialize rpl_gettimeofday's save
23197         mechanism would clobber ls's current local time information so
23198         that in any long listing the first file would always be listed
23199         with date 1970-01-01.  Analysis by Volker Borchert.
23200
23201         * lib/gettimeofday.c (localtime): Undefine.
23202         (rpl_localtime): New function.
23203
23204 2002-05-27  Jim Meyering  <meyering@lucent.com>
23205
23206         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
23207         localtime.
23208
23209         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
23210         use the replacement function; it wouldn't resolve at link time.
23211         Reported by Volker Borchert.
23212
23213 2002-05-22  Jim Meyering  <meyering@lucent.com>
23214
23215         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
23216         file-type.h.
23217         * lib/file-type.h: New file.
23218         * lib/file-type.c (file_type): New file/function.  Extracted from
23219         diffutils.
23220
23221 2002-04-30  Jim Meyering  <meyering@lucent.com>
23222
23223         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
23224
23225 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23226
23227         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
23228
23229 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23230
23231         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
23232         Do not check for alloca.h (no longer used) or stdbool.h (was never
23233         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
23234
23235 2002-04-29  Paul Eggert  <eggert@twinsun.com>
23236
23237         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
23238
23239 2002-04-29  Jim Meyering  <meyering@lucent.com>
23240
23241         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
23242         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
23243         Use AC_FUNC_STRNLEN here instead.
23244
23245         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
23246         With autoconf-2.53a, it's part of AC_PROG_CC.
23247
23248 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23249
23250         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
23251         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
23252
23253 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23254
23255         * lib/sig2str.h, lib/sig2str.c: New files.
23256         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
23257
23258 2002-04-28  Paul Eggert  <eggert@twinsun.com>
23259
23260         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
23261         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
23262         of 127, since 64 is the largest conceivable number for ancient
23263         nonstandard hosts.
23264         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
23265
23266 2002-04-28  Jim Meyering  <meyering@lucent.com>
23267
23268         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
23269
23270 2002-04-24  Jim Meyering  <meyering@lucent.com>
23271
23272         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
23273         (jm_PREREQ): Use it.
23274
23275         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
23276         mach/mach.h fcntl.h.
23277         Check for this function: setlocale.
23278
23279 2002-04-24  Jim Meyering  <meyering@lucent.com>
23280
23281         * lib/gettext.h: New file, from Gettext.
23282         * lib/Makefile.am (INCLUDES): Remove -I../intl.
23283         (libfetish_a_SOURCES): Add gettext.h.
23284
23285 2002-04-16  Jim Meyering  <meyering@lucent.com>
23286
23287         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
23288         ut_pid, ut_id, ut_exit.
23289
23290 2002-04-16  Jim Meyering  <meyering@lucent.com>
23291
23292         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
23293         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
23294         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
23295
23296 2002-04-12  Jim Meyering  <meyering@lucent.com>
23297
23298         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
23299         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
23300         existence of the getmntinfo function.  Needed for Darwin 5.3.
23301
23302         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
23303         This is necessary at least on Darwin 5.3.
23304
23305         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
23306         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
23307         strnlen.o in the library, and that makes some versions of ranlib
23308         object.
23309
23310 2002-04-12  Jim Meyering  <meyering@lucent.com>
23311
23312         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
23313
23314 2002-04-09  Jim Meyering  <meyering@lucent.com>
23315
23316         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
23317         to be more precise.  Rather than saying we're checking whether the
23318         function `works', say what we're testing.
23319         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
23320         Reported by Bruno Haible.
23321
23322 2002-03-10  Jim Meyering  <meyering@lucent.com>
23323
23324         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
23325         Suggestion from Santiago Vila.
23326
23327 2002-03-08  Jim Meyering  <meyering@lucent.com>
23328
23329         * lib/rename.c: Mention that this wrapper is needed also on
23330         mips-dec-ultrix4.4 systems.
23331
23332 2002-03-02  Jim Meyering  <meyering@lucent.com>
23333
23334         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
23335         not HAVE_CLOCK_SETTIME.
23336
23337 2002-02-27  Paul Eggert  <eggert@twinsun.com>
23338
23339         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
23340         Check for clock_settime.
23341
23342 2002-02-27  Paul Eggert  <eggert@twinsun.com>
23343
23344         * lib/nanosleep.h: Rename to....
23345         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
23346
23347         * lib/gettime.c: New file.
23348         * lib/settime.c: New file.
23349         * lib/stime.c: Remove.
23350
23351         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
23352         timespec.h.  Remove nanosleep.h.
23353
23354 2002-02-25  Paul Eggert  <eggert@twinsun.com>
23355
23356         * m4/acl.m4: New file.
23357         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
23358         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
23359
23360 2002-02-25  Paul Eggert  <eggert@twinsun.com>
23361
23362         * lib/acl.c, lib/acl.h: New files.
23363         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
23364
23365 2002-02-24  Jim Meyering  <meyering@lucent.com>
23366
23367         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
23368         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
23369         cause trouble.  Reported by Nelson Beebe.
23370
23371 2002-02-23  Paul Eggert  <eggert@twinsun.com>
23372
23373         * lib/path-concat.c (xpath_concat): Reorder code to pacify
23374         compilers that don't know that xalloc_die never returns.
23375
23376 2002-02-20  Jim Meyering  <meyering@lucent.com>
23377
23378         * lib/getdate.c: Regenerate using bison-1.33.
23379
23380 2002-02-17  Jim Meyering  <meyering@lucent.com>
23381
23382         * config/config.guess (main): Don't use `head -1'; it's no longer
23383         portable. Use `sed 1q' instead.
23384
23385 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
23386
23387         * m4/codeset.m4: Upgrade to gettext-0.11.
23388         * m4/gettext.m4: Upgrade to gettext-0.11.
23389         * m4/glibc21.m4: Upgrade to gettext-0.11.
23390         * m4/iconv.m4: Upgrade to gettext-0.11.
23391         * m4/isc-posix.m4: Upgrade to gettext-0.11.
23392         * m4/lcmessage.m4: Upgrade to gettext-0.11.
23393         * m4/lib-ld.m4: New file, from gettext-0.11.
23394         * m4/lib-link.m4: New file, from gettext-0.11.
23395         * m4/lib-prefix.m4: New file, from gettext-0.11.
23396         * m4/progtest.m4: Upgrade to gettext-0.11.
23397
23398 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23399
23400         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
23401         (jm_PREREQ): Use it.
23402
23403 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23404
23405         * lib/posixver.c, lib/posixver.h: New files.
23406         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23407
23408 2002-02-02  Paul Eggert  <eggert@twinsun.com>
23409             Bruno Haible  <bruno@clisp.org>
23410
23411         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
23412         (fwrite_success_callback): New declaration.
23413         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
23414         print_unicode_char. Call failure callback instead of error.
23415         (fwrite_success_callback): New function.
23416         (exit_failure_callback): New function.
23417         (fallback_failure_callback): New function.
23418         (print_unicode_char): Call unicode_to_mb.
23419
23420 2002-01-26  Jim Meyering  <meyering@lucent.com>
23421
23422         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
23423         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
23424
23425 2002-01-26  Jim Meyering  <meyering@lucent.com>
23426
23427         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
23428
23429 2002-01-22  Paul Eggert  <eggert@twinsun.com>
23430
23431         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
23432
23433 2002-01-22  Jim Meyering  <meyering@lucent.com>
23434
23435         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
23436         Otherwise, some versions of automake would omit the rule that makes
23437         Makefile from Makefile.in.
23438
23439 2002-01-21  Paul Eggert  <eggert@twinsun.com>
23440
23441         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
23442         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23443         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
23444         (memcoll): Set errno to zero if there is no error.
23445
23446         * lib/quotearg.c (quotearg_buffer_restyled):
23447         Fix bug with quoting buffers containing NUL when backslashing escapes.
23448         This bug was exposed by the other changes in this patch.
23449         (quotearg_n_options): New arg ARGSIZE.
23450         All callers changed.
23451         (quoting_options_from_style): New function.
23452         (quotearg_n_style): Use it.
23453         (quotearg_n_style_mem): New function.
23454
23455         * lib/quotearg.h (quotearg_n_style_mem): New function.
23456
23457 2002-01-19  Jim Meyering  <meyering@lucent.com>
23458
23459         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
23460         Remove useless quotes: DF_PROG="df".
23461         * m4/strnlen.m4: New file.
23462
23463 2002-01-16  Paul Eggert  <eggert@twinsun.com>
23464
23465         * lib/backupfile.c (ISDIGIT): Comment fix.
23466         * lib/getdate.y (ISDIGIT): Likewise.
23467         * lib/posixtm.c (ISDIGIT, year): Likewise.
23468         * lib/strverscmp.c (ISDIGIT): Likewise.
23469         * lib/userspec.c (ISDIGIT): Likewise.
23470
23471 2002-01-16  Jim Meyering  <meyering@lucent.com>
23472
23473         * lib/getdate.y: Add three semicolons, each just before a closing
23474         brace. Bison (as of version 1.31) no longer papers over that mistake.
23475
23476 2002-01-05  Jim Meyering  <meyering@lucent.com>
23477
23478         * lib/version-etc.c (version_etc_copyright): Update copyright year.
23479
23480 2001-12-19  Paul Eggert  <eggert@twinsun.com>
23481
23482         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
23483         not silently exit merely because the output buffer happens to
23484         have nothing pending.
23485
23486 2001-12-18  Paul Eggert  <eggert@twinsun.com>
23487
23488         See the big note in ../ChangeLog.
23489         * lib/human.c (suffixes): Prefer K to k for 1024.
23490         (generate_suffix_backwards): New function.
23491         (human_readable_inexact): Use it.
23492         * lib/xstrtol.c (__xstrtol): If there is no number but there
23493         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
23494         Accept 'K' as well as 'k'.
23495
23496 2001-12-15  Jim Meyering  <meyering@lucent.com>
23497
23498         * lib/regex.h (__restrict_arr): Update from libc.
23499
23500         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
23501         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
23502         (STREQ): Define.
23503
23504 2001-12-14  Jim Meyering  <meyering@lucent.com>
23505
23506         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
23507         Suggestion from Bruno Haible.
23508
23509 2001-12-10  Jim Meyering  <meyering@lucent.com>
23510
23511         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
23512         xrealloc, Instead, include "xalloc.h".
23513         (initbuffer): Don't cast xmalloc return value to char*.
23514         (readline): Reword comment.
23515         Don't cast xrealloc return value to char*
23516         Return NULL, not 0.
23517
23518 2001-12-09  Jim Meyering  <meyering@lucent.com>
23519
23520         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
23521         about `signed and unsigned type in conditional expression'.
23522         * lib/posixtm.c (posix_time_parse): Likewise.
23523
23524         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
23525
23526         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
23527         to avoid a pedantic warning.
23528
23529         * lib/getstr.c: Don't include assert.h.
23530         (getstr): Remove warning-evoking assertions.
23531         Return -1 if offset parameter is out of bounds.
23532         Change the type of a local from int to size_t.
23533
23534         * lib/strftime.c (my_strftime_localtime_r): Include this function
23535         definition in the `#if ! HAVE_TM_GMTOFF' block.
23536
23537         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
23538         Include xalloc.h instead.
23539
23540 2001-12-02  Jim Meyering  <meyering@lucent.com>
23541
23542         * lib/tempname.c: Don't declare getenv, thus reverting the change of
23543         2001-11-18.  It's no longer necessary, now that stdlib.h is always
23544         included.
23545
23546         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
23547         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
23548
23549 2001-11-30  Akim Demaille  <akim@epita.fr>
23550
23551         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
23552         before being defined.
23553
23554 2001-11-27  Paul Eggert  <eggert@twinsun.com>
23555
23556         * lib/quotearg.h (quotearg_n, quotearg_n_style):
23557         First arg is int, not unsigned.
23558         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
23559         (SIZE_MAX, UINT_MAX): New macros.
23560         (quotearg_n_options): Abort if N is negative.
23561         Avoid overflow check on hosts where size_t is 64 bits and int
23562         is 32 bits, as overflow is impossible there.
23563         Fix off-by-one typo that caused unnecessary reallocation.
23564
23565 2001-11-27  Jim Meyering  <meyering@lucent.com>
23566
23567         * lib/tempname.c: Merge with version from libc.
23568         * lib/regex.c: Likewise.
23569
23570         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
23571         systems for which STDC_HEADERS is 0, it was not included, resulting in
23572         a warning about an integer-to-pointer conversion problem with getenv.
23573         Reported by Volker Borchert.
23574
23575 2001-11-26  Jim Meyering  <meyering@lucent.com>
23576
23577         * lib/gtod.h: Remove file.
23578         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
23579         * lib/gettimeofday.c: Don't include gtod.h.
23580         (GTOD_init): Remove function.
23581         (rpl_gettimeofday): Do its job here instead, rather than aborting.
23582         Suggestion from Volker Borchert.
23583
23584 2001-11-23  Jim Meyering  <meyering@lucent.com>
23585
23586         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
23587         it.
23588         * lib/hash.c (struct hash_table): Define it here instead.
23589
23590 2001-11-22  Jim Meyering  <meyering@lucent.com>
23591
23592         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
23593
23594 2001-11-20  Jim Meyering  <meyering@lucent.com>
23595
23596         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
23597         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
23598
23599 2001-11-19  Jim Meyering  <meyering@lucent.com>
23600
23601         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
23602         directory.  Use "conftestXXXXXX" as the template.
23603         Suggestion from Paul Eggert.
23604
23605         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
23606         immediately, so the test doesn't mistakenly hit the max-open-files
23607         limit.
23608
23609 2001-11-18  Paul Eggert  <eggert@twinsun.com>
23610
23611         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
23612         (TEMPORARIES): New macro.
23613         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
23614         removes an artificial limitation (e.g. HP-UX 10.20, where
23615         TMP_MAX is 17576).
23616
23617 2001-11-18  Jim Meyering  <meyering@lucent.com>
23618
23619         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
23620
23621 2001-11-18  Jim Meyering  <meyering@lucent.com>
23622
23623         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
23624         on SunOS 4.
23625
23626         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
23627         files will be created before anything else.
23628
23629 2001-11-17  Paul Eggert  <eggert@twinsun.com>
23630
23631         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
23632         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
23633
23634 2001-11-17  Jim Meyering  <meyering@lucent.com>
23635
23636         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
23637         Prompted by a report from Bob Proulx.
23638
23639         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
23640         Instead, require UTILS_FUNC_MKSTEMP.
23641
23642 2001-11-17  Jim Meyering  <meyering@lucent.com>
23643
23644         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
23645         Now, that's done as part of AC_FUNC_STRTOD.
23646
23647 2001-11-17  Jim Meyering  <meyering@lucent.com>
23648
23649         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
23650         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
23651         rather than group writable.  Patch by Juan F. Codagnone.
23652
23653         * lib/readtokens.c: Remove explicit declarations of xmalloc and
23654         xrealloc, Instead, include "xalloc.h".
23655
23656         * lib/mountlist.c: Include unlocked-io.h after all system headers.
23657         Remove explicit declarations of xmalloc, xrealloc,
23658         and xstrdup.  Instead, include "xalloc.h".
23659
23660         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
23661         unlocked-io.h.
23662         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
23663         Likewise.
23664         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
23665
23666         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
23667         Reported by Padraig Brady.
23668
23669         * lib/mkstemp.c: #undef mkstemp.
23670         Include config.h.
23671         (rpl_mkstemp): Rename from mkstemp.
23672         Protoize.
23673
23674 2001-11-16  Jim Meyering  <meyering@lucent.com>
23675
23676         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
23677         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
23678         determine the amount of total physical memory, use pstat_getstatic.
23679         HPUX-11 doesn't define _SC_PHYS_PAGES.
23680         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
23681         If sysconf couldn't be used to determine the amount of available
23682         physical memory, use both pstat_getstatic and pstat_getdynamic.
23683         Based on a patch from Bob Proulx.
23684
23685 2001-11-10  Jim Meyering  <meyering@lucent.com>
23686
23687         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
23688         (jm_PREREQ): Use it.
23689
23690 2001-11-09  Jim Meyering  <meyering@lucent.com>
23691
23692         * m4/jm-macros.m4: Require autoconf-2.52f.
23693         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
23694         Use these AC_-prefixed names, not the AM_-prefixed ones.
23695
23696         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
23697
23698 2001-11-05  Jim Meyering  <meyering@lucent.com>
23699
23700         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
23701
23702 2001-11-04  Jim Meyering  <meyering@lucent.com>
23703
23704         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
23705         $DEFS.
23706
23707 2001-11-03  Jim Meyering  <meyering@lucent.com>
23708
23709         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
23710         of AC_DEFUN.
23711
23712         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
23713         know the name of the variable in the macro definition.
23714
23715 2001-11-03  Jim Meyering  <meyering@lucent.com>
23716
23717         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
23718         in argmatch_to_argument call.
23719
23720         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
23721         argument.
23722
23723         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
23724         e.g., a fault due to an attempt to free a NULL pointer.
23725
23726 2001-11-01  Jim Meyering  <meyering@lucent.com>
23727
23728         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
23729         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
23730
23731 2001-11-01  Jim Meyering  <meyering@lucent.com>
23732
23733         * lib/dirfd.c, lib/dirfd.h: New files.
23734         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
23735
23736         * lib/hash.c (hash_print) [TESTING]: Clean up.
23737
23738 2001-10-22  Paul Eggert  <eggert@twinsun.com>
23739
23740         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
23741         to avoid a warning if -Wall.
23742
23743 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
23744
23745         * README: New file
23746         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
23747         (per RMS's instructions, this is now the canonical source)
23748         * lgpl/, gpl/: New directories.
23749
23750 2001-10-21  Paul Eggert  <eggert@twinsun.com>
23751
23752         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
23753
23754 2001-10-21  Jim Meyering  <meyering@lucent.com>
23755
23756         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
23757         this code would end up calling gettext even in packages built
23758         with --disable-nls.
23759         * lib/getopt.c (_): Likewise.
23760         * lib/regex.c (_): Likewise.
23761
23762 2001-10-20  Paul Eggert  <eggert@twinsun.com>
23763
23764         * m4/error.m4 (jm_PREREQ_ERROR):
23765         Do not invoke AC_CHECK_FUNCS with strerror_r, as
23766         AC_FUNC_STRERROR_R does that.
23767         Check for strerror declaration.
23768
23769         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
23770         are supposed to have them these days.
23771         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
23772         Merge changes from latest Autoconf CVS.
23773         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
23774         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
23775         POSIX decided to standardize on the int flavor of strerror_r.
23776
23777 2001-10-20  Paul Eggert  <eggert@twinsun.com>
23778
23779         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
23780         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
23781         Use strerror_r that is only a macro, even if it is not a function.
23782         (strerror): Check for HAVE_DECL_STRERROR before declaring.
23783         (private_strerror): Use prototypes, not old-style function definition.
23784         (print_errno_message): New function.
23785         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
23786         char*-flavored one.
23787         (error_tail, error, error_at_line): Use it.
23788
23789 2001-10-11  Jim Meyering  <meyering@lucent.com>
23790
23791         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
23792         and quote_n (1, ... to avoid clobbering a buffer.
23793
23794 2001-10-05  Jim Meyering  <meyering@lucent.com>
23795
23796         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
23797         hash-pjw.h.
23798         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
23799         * lib/hash-pjw.h: New file.
23800
23801 2001-09-30  Jim Meyering  <meyering@lucent.com>
23802
23803         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
23804         `struct fsstat' has the `f_fstypename' member.
23805         Use that to define FS_TYPE, which is now used to make
23806         the getfsstat link test tighter.
23807
23808 2001-09-30  Jim Meyering  <meyering@lucent.com>
23809
23810         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
23811         Include <sys/ucred.h>, for Apple Darwin.
23812         Include sys/mount.h and sys/fs_types.h only if available.
23813         (FS_TYPE): Define.
23814         (read_filesystem_list): Use FS_TYPE.
23815
23816 2001-09-29  Paul Eggert  <eggert@twinsun.com>
23817
23818         * lib/exclude.c (excluded_filename): 0 -> false, since it's
23819         a boolean context.
23820
23821 2001-09-29  Jim Meyering  <meyering@lucent.com>
23822
23823         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
23824         [one-argument getmntent function]): Include stdio.h before mntent.h.
23825         SunOS 4.1.x needs it for the declaration of `FILE'.
23826         Patch by Volker Borchert.
23827
23828         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
23829         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
23830         sys/fs_types.h, and make the link-test for getfsstat guard #include
23831         directives with appropriate #if HAVE_*_H tests so that we can
23832         detect getfsstat on Apple Darwin1.3.7 systems.
23833         Reported by Nelson Beebe.
23834         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
23835
23836 2001-09-28  Paul Eggert  <eggert@twinsun.com>
23837
23838         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
23839         #defines strtoimax.  Also treat the other strto* functions
23840         like strtoimax.
23841
23842         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
23843         Check for strtoul and strtoumax,
23844         as those declarations are made even in the signed case.
23845         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
23846         Likewise, for strtol and strtoimax.
23847
23848 2001-09-28  Paul Eggert  <eggert@twinsun.com>
23849
23850         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
23851         #defines strtoimax.  Also treat the other strto* functions
23852         like strtoimax.
23853
23854         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
23855         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
23856         (strtoimax, strtoumax): Do not declare if already defined as a macro.
23857
23858 2001-09-26  Jim Meyering  <meyering@lucent.com>
23859
23860         Most macros in unlocked-io.h had the wrong number of arguments.
23861         * lib/gen-uio: New script.
23862         (USE_UNLOCKED_IO): Define to 1 if not already defined.
23863         * lib/unlocked-io.hin: Remove file.
23864         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
23865         rather than trying to embed it here.
23866         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
23867         Reported by Padraig Brady.
23868
23869 2001-09-25  Volker Borchert  <bt@teknon.de>
23870
23871         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
23872         `result'.
23873
23874 2001-09-24  Jim Meyering  <meyering@lucent.com>
23875
23876         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
23877
23878 2001-09-23  Jim Meyering  <meyering@lucent.com>
23879
23880         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
23881         instead of the mere test for existence of mntent.h.  The latter
23882         would get a false-positive on AIX 3.4 systems.
23883         In the outer getmntent if-block, don't die if neither of the getmntent
23884         tests succeeds.  Instead, just fall through and continue with the
23885         remaining tests.
23886
23887 2001-09-23  Jim Meyering  <meyering@lucent.com>
23888
23889         * lib/mountlist.c: Remove useless parentheses in #if directives.
23890         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
23891         the deprecated MOUNTED symbol is no longer defined in mntent.h.
23892
23893 2001-09-22  Jim Meyering  <meyering@lucent.com>
23894
23895         * m4/gettext.m4: New file.  From gettext.
23896         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
23897         * m4/progtest.m4: Likewise
23898         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
23899         * m4/glibc21.m4: Likewise.
23900
23901         * m4/libintl.m4: Remove.  No longer used.
23902
23903 2001-09-22  Jim Meyering  <meyering@lucent.com>
23904
23905         * lib/localcharset.c: Update from latest gettext.
23906         * lib/config.charset: Likewise.
23907
23908 2001-09-20  Jim Meyering  <meyering@lucent.com>
23909
23910         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
23911         strtoimax.
23912         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
23913         strtoumax.
23914
23915 2001-09-20  Jim Meyering  <meyering@lucent.com>
23916
23917         * lib/xstrtol.c (strtoimax): Guard declaration with
23918         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
23919         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
23920         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
23921         (strtoumax): Likewise, for completeness (it wasn't necessary).
23922
23923 2001-09-17  Paul Eggert  <eggert@twinsun.com>
23924
23925         * lib/strtoimax.c (HAVE_LONG_LONG):
23926         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
23927         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
23928         to work around bug in IBM C compiler.
23929
23930 2001-09-17  Jim Meyering  <meyering@lucent.com>
23931
23932         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
23933         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
23934         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
23935         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
23936         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
23937         whenever the right hand side need not be expanded by the shell.
23938
23939 2001-09-16  Paul Eggert  <eggert@twinsun.com>
23940
23941         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
23942         library.  It's not correct, as some older glibcs are buggy.
23943         fnmatch wasn't fixed until glibc 2.2.
23944
23945         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
23946         special shell magic here.
23947
23948 2001-09-16  Jim Meyering  <meyering@lucent.com>
23949
23950         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
23951         * m4/jm-macros.m4: Require it.
23952
23953 2001-09-16  Jim Meyering  <meyering@lucent.com>
23954
23955         * lib/mkdir.c: New file.
23956
23957 2001-09-15  Jim Meyering  <meyering@lucent.com>
23958
23959         * m4/jm-macros.m4: Check for help2man.
23960
23961 2001-09-11  Jim Meyering  <meyering@lucent.com>
23962
23963         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
23964         The body, by Paul Eggert, was moved here from configure.in.
23965         * m4/jm-macros.m4: Require UTILS_HOST_OS.
23966
23967 2001-09-04  Paul Eggert  <eggert@twinsun.com>
23968
23969         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
23970         (jm_PREREQ): Use it.
23971
23972 2001-09-04  Paul Eggert  <eggert@twinsun.com>
23973
23974         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
23975         Use ssize_t, not int, to store result of readlink.
23976         Check for ssize_t overflow as well as size_t overflow,
23977         as POSIX says the result of readlink is implementation-defined
23978         when ssize_t overflows.
23979         Remove unnecessary cast to char*.
23980         Use free+malloc instead of realloc, as the storage doesn't need
23981         to be preserved and it's clearer and can be more efficient that way.
23982         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
23983         * lib/xreadlink.h (xreadlink): Update prototype.
23984
23985 2001-09-04  Paul Eggert  <eggert@twinsun.com>
23986
23987         * lib/xgetcwd.c: Revert some of the previous change; intead,
23988         fix the HAVE_GETCWD_NULL code to behave more like the
23989         !HAVE_GETCWD_NULL code used to.
23990
23991         Include "xalloc.h".
23992         (xgetcwd): Do not return NULL when memory is exhausted; instead,
23993         invoke xalloc_die.
23994
23995 2001-09-03  Paul Eggert  <eggert@twinsun.com>
23996
23997         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
23998         sys/param.h, as pathmax.h includes them.
23999
24000 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24001
24002         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
24003         (jm_PREREQ_XGETCWD): New macro.
24004
24005         * m4/getcwd.m4: New file.
24006
24007 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24008
24009         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
24010         like the HAVE_GETCWD_NULL code.
24011         Include pathmax.h if not HAVE_GETCWD.
24012         Do not include xalloc.h.
24013         (INITIAL_BUFFER_SIZE): New symbol.
24014         Do not use xmalloc / xrealloc, since the caller is responsible for
24015         handling errors.  Preserve errno around `free' during failure.
24016         Do not overrun buffer when using getwd.
24017
24018 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24019
24020         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
24021         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
24022         getcwd (NULL, 0).
24023
24024 2001-09-03  Paul Eggert  <eggert@twinsun.com>
24025
24026         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
24027         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
24028         spotted by Jim Meyering.
24029
24030 2001-09-03  Jim Meyering  <meyering@lucent.com>
24031
24032         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
24033         failure.
24034
24035 2001-09-02  Jim Meyering  <meyering@lucent.com>
24036
24037         * lib/error.c: Update from GNU libc.
24038
24039 2001-09-01  Jim Meyering  <meyering@lucent.com>
24040
24041         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
24042         Used by df.
24043
24044 2001-09-01  Jim Meyering  <meyering@lucent.com>
24045
24046         * lib/xreadlink.c: New file.
24047         * lib/xreadlink.h: New file.
24048         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
24049         xreadlink.h.
24050
24051         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
24052         doesn't conflict with sparc Solaris 7's definition in
24053         /usr/include/sys/int_types.h.
24054
24055         * lib/exclude.c: Use `""', not `<>' to #include non-system header
24056         files.
24057         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
24058         and strncasecmp as r-values.  Unixware didn't have declarations.
24059
24060 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24061
24062         * lib/xstrtol.h: Add copyright notice.
24063         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
24064         LONGINT_INVALID_SUFFIX_CHAR.
24065
24066 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24067
24068         * lib/xstrtol.c (strtoimax): New decl.
24069
24070 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24071
24072         * lib/xgetcwd.c: Don't include pathmax.h.
24073         Include stdlib.h and unistd.h if available.
24074         Include xalloc.h.
24075         (xmalloc, xstrdup, free): Remove decls.
24076         (xgetcwd): Don't assume sizes fit in unsigned.
24077         Check for overflow when computing sizes.
24078         Simplify reallocation code.
24079
24080 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24081
24082         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
24083         a directory's st_size can have an arbitrary value, so the old
24084         usage could waste an arbitrary amount of memory.  All uses
24085         changed.
24086         * lib/savedir.h: Update prototype.
24087
24088 2001-08-31  Paul Eggert  <eggert@twinsun.com>
24089
24090         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
24091
24092         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
24093         old strtoimax.c.
24094
24095         Also, make the following further changes to make this file's
24096         configuration more similar to that of strtol.c:
24097         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
24098         (strtoumax, uintmax_t, strtoull, strtol): Remove.
24099         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
24100         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
24101         changed to signed values.
24102
24103         And make the following changes as well:
24104         Fix copyright notice, as 1999 was missing.
24105         (verify): New macro.
24106         (strtoimax): Check sizes at compile-time, not run-time.
24107         Prefer strtol to strtoll if both work.
24108         (main): Remove; it was not that useful and was a pain to maintain.
24109
24110         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
24111
24112 2001-08-31  Jim Meyering  <meyering@lucent.com>
24113
24114         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
24115         Use an initial, malloc'd, buffer of length 128 rather than
24116         a statically allocated one of length 1024.
24117
24118 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24119
24120         Simplify code, partly by assuming autoconf 2.52 semantics.
24121
24122         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
24123
24124         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
24125         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
24126         All uses removed.
24127         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
24128         Move AC_REQUIRE to next-to-top level, to avoid confusion.
24129         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
24130         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
24131         jm_AC_HEADER_INTTYPES_H.
24132         * m4/jm-macros.m4 (jm_MACROS): Likewise.
24133
24134         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
24135
24136         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
24137         Quote first arg of AC_DEFUN.
24138         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
24139         since they are needed to parse the include file even if we need
24140         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
24141         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
24142         but with opposite signedness.
24143
24144 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24145
24146         Merge 'exclude' changes from tar 1.13.22.
24147         This fixes one or two unlikely storage allocation overflow bugs,
24148         but doesn't change user-visible behavior otherwise.
24149
24150 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24151
24152         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
24153         (jm_PREREQ_EXCLUDE): New macro.
24154
24155 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24156
24157         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
24158         tm to be declared.
24159
24160 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24161
24162         * lib/hash.c: Remove '2001' from copyright notice.
24163
24164 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24165
24166         * lib/full-write.h: New file.
24167         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
24168         * lib/full-write.c: Correct credits, as cccp.c no longer
24169         exists and anyway it was so heavily changed from the old cccp
24170         code as to be unrecognizable.  Include full-write.h.
24171         (full_write) Return size_t, with short writes meaning failure.
24172         All callers changed.  This fixes a bug with large buffers
24173         on 64-bit hosts.
24174         * lib/utime.c: Include full-write.h.
24175
24176 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24177
24178         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
24179         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
24180         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
24181         Include if available.
24182         (<xalloc.h>): Include
24183         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
24184         (verify): New macro.  Use it to verify that EXCLUDE macros do not
24185         collide with FNM macros.
24186         (struct patopts): New struct.
24187         (struct exclude): Use it, as exclude patterns now come with options.
24188         (new_exclude): Support above changes.
24189         (new_exclude, add_exclude_file):
24190         Initial size must now be a power of two to simplify overflow checking.
24191         (free_exclude, fnmatch_no_wildcards): New function.
24192         (excluded_filename): No longer requires options arg, as the options
24193         are determined by add_exclude.  Now returns bool, not int.
24194         (excluded_filename, add_exclude):
24195         Add support for the fancy new exclusion options.
24196         (add_exclude, add_exclude_file): Now takes int options arg.
24197         Check for arithmetic overflow when computing sizes.
24198         (add_exclude_file): xrealloc might modify errno, so don't
24199         realloc until after errno might be used.
24200
24201         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
24202         New macros.
24203         (free_exclude): New decl.
24204         (add_exclude, add_exclude_file): Now takes int options arg.
24205         (excluded_filename): No longer requires options arg, as the options
24206         are determined by add_exclude.  Now returns bool, not int.
24207
24208 2001-08-30  Paul Eggert  <eggert@twinsun.com>
24209
24210         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
24211
24212 2001-08-27  Jim Meyering  <meyering@lucent.com>
24213
24214         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
24215
24216         * lib/version-etc.c (N_): Remove definition.
24217         Revert most of last change.
24218         Instead, simply don't mark the `Copyright...' string for translation.
24219         Based on advice from Paul Eggert.
24220
24221         * lib/strtoxmax.c: Tweak comment.
24222
24223 2001-08-26  Jim Meyering  <meyering@lucent.com>
24224
24225         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
24226
24227         * m4/xstrtoimax.m4: New file.
24228         * m4/xstrtoumax.m4: Add comments explaining why we
24229         AC_REPLACE_FUNCS(strtol).
24230
24231 2001-08-26  Jim Meyering  <meyering@lucent.com>
24232
24233         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
24234         of copyright with `%s' so translators don't get an untranslated
24235         message in 2002.
24236         (COPYRIGHT_YEAR): Define.
24237         (version_etc): Use fprintf rather than fputs.
24238         Suggestion from Ulrich Drepper.
24239
24240         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
24241
24242         * lib/strtoll.c: New file, from GNU libc.
24243         * lib/xstrtoimax.c: New file.
24244
24245         * lib/xstrtol.h: Add xstrtoimax.
24246         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
24247         * lib/strtoimax.c: New file.  Likewise, but first define
24248         STRTOUXMAX_SIGNED.
24249
24250         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
24251         ...
24252         * lib/strtoxmax.c: ... then renamed to this.
24253
24254 2001-08-18  Paul Eggert  <eggert@twinsun.com>
24255
24256         * m4/inttypes.m4: Add AC_PREREQ(2.13).
24257         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
24258         (jm_AC_TYPE_INTMAX_T): New macro.
24259         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
24260
24261         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
24262
24263         * m4/longlong.m4: Renamed from ulonglong.m4.
24264         * m4/inttypes.m4: Renamed from inttypes_h.m4.
24265         * m4/uintmax_t.m4: Removed.
24266
24267 2001-08-13  Paul Eggert  <eggert@twinsun.com>
24268
24269         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
24270         Port to Solaris 8, where 'sed' requires a space after the 'r'
24271         command, and where sh dislikes "$/".  Clean up the spacing a bit.
24272         Redirect output to $tmp just once.
24273
24274 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
24275
24276         * lib/addext.c (<errno.h>): Include.
24277         (errno): Declare if not defined.
24278         (addext): Work correctly when pathconf returns -1 and leaves
24279         errno alone because there is no limit.  Also, work even if
24280         pathconf returns a value greater than SIZE_MAX.
24281
24282 2001-08-12  Jim Meyering  <meyering@lucent.com>
24283
24284         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
24285         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
24286         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
24287         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
24288         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
24289         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
24290         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
24291         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
24292         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
24293         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
24294         utime.m4, utimes.m4, xstrtoumax.m4:
24295         Quote the first argument in each use of AC_DEFUN.
24296
24297 2001-08-12  Jim Meyering  <meyering@lucent.com>
24298
24299         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
24300         Simply `return getcwd (NULL, 0);'.
24301         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
24302         Use 1300 as initial value for length, not PATH_MAX.
24303
24304         * lib/pathmax.h: Clean up cpp syntax.
24305
24306 2001-08-12  Jim Meyering  <meyering@lucent.com>
24307
24308         * lib/gettimeofday.c: New file.
24309         * lib/gtod.h: New file.
24310         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
24311
24312 2001-08-05  Jim Meyering  <meyering@lucent.com>
24313
24314         * m4/jm-macros.m4: Require autoconf-2.52.
24315
24316 2001-08-04  Jim Meyering  <meyering@lucent.com>
24317
24318         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
24319         stmt, to get in sync with glibc.
24320
24321 2001-08-03  Paul Eggert  <eggert@twinsun.com>
24322
24323         The following changes are from gettext 0.10.39 as maintained by
24324         Bruno Haible.
24325
24326         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
24327         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
24328         with inverted sense.  All uses changed.
24329
24330         * lib/mbswidth.c: Don't include <limits.h>.
24331         Include <stdlib.h> and <string.h> unconditionally.
24332         (iswcntrl, mbsinit, ISCNTRL): New macros.
24333         (mbsnwidth): Use K&R style function declarations.
24334         Don't bother checking for MB_LEN_MAX == 1, since the compiler
24335         can optimize it when MB_CUR_MAX == 1.
24336         The width of control characters is zero, not 1.
24337
24338 2001-08-03  Paul Eggert  <eggert@twinsun.com>
24339
24340         The following changes are from gettext 0.10.39 as maintained by
24341         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
24342
24343         * m4/codeset.m4: Upgrade to serial AM1.
24344         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
24345         all uses changed.  Quote first arg of AC_DEFUN.
24346         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
24347
24348         * m4/iconv.m4: Upgrade to serial AM2.
24349         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
24350         Add --with-libconv-prefix.
24351         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
24352         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
24353         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
24354         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
24355         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
24356
24357         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
24358         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
24359         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
24360         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
24361         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
24362         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
24363         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24364         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
24365         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
24366
24367         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
24368         string.h any more.
24369
24370         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
24371         not the default value.
24372
24373         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
24374         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
24375         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
24376         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
24377         Also check for iswcntrl, used for wcwidth fallback.
24378         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
24379         to Autoconf 2.13.
24380
24381 2001-08-03  Jim Meyering  <meyering@lucent.com>
24382
24383         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
24384         as it was in the original.  Reported by Paul Eggert.
24385
24386 2001-07-16  Jim Meyering  <meyering@lucent.com>
24387
24388         * m4/gettimeofday.m4: New file.
24389         Prompted by a report from Bernhard Baehr.
24390
24391 2001-07-15  Jim Meyering  <meyering@lucent.com>
24392
24393         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
24394         stuff. Now it's in ../Makefile.cfg.
24395
24396 2001-07-15  Jim Meyering  <meyering@lucent.com>
24397
24398         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
24399         (BUILT_SOURCES): Add unlocked-io.h.
24400         (io_functions): Define.
24401         (unlocked-io.h): New rule.
24402         (DISTCLEANFILES): Add unlocked-io.h.
24403         (all-local): Depend on unlocked-io.h, to ensure it is created.
24404
24405         * lib/unlocked-io.hin: New file
24406
24407         * lib/regex.c: Update from glibc.
24408
24409 2001-07-05  Jim Meyering  <meyering@lucent.com>
24410
24411         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
24412         recommendation.
24413         (libfetish_a_SOURCES): Put all .h files here instead.
24414         Remove a thus-exposed (better checks in automake) duplicate and
24415         two unnecessary .h files.
24416
24417 2001-07-04  Jim Meyering  <meyering@lucent.com>
24418
24419         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
24420         that generates jm-glibc-io.m4 so that it doesn't trigger any make
24421         distcheck failure.
24422
24423 2001-07-02  Jim Meyering  <meyering@lucent.com>
24424
24425         The following changes were prompted by suggestions from Bruno Haible.
24426
24427         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
24428         is now generated.
24429         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
24430         definition of EXTRA_DIST.
24431         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
24432         ensure that the generated file is created/updated whenever the list
24433         of $(unlocked_functions) is changed.
24434         (jm-glibc-io.m4): New rule.
24435         (unlocked-io.h): New rule -- currently unused.
24436
24437 2001-06-24  Jim Meyering  <meyering@lucent.com>
24438
24439         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
24440         unmatched right bracket, rather than kludging it with an extra,
24441         falsely-matching quote in a comment.  Patch by Akim Demaille.
24442
24443 2001-06-11  Jim Meyering  <meyering@lucent.com>
24444
24445         * lib/regex.c: Update from GNU libc.
24446
24447 2001-05-27  Jim Meyering  <meyering@lucent.com>
24448
24449         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
24450         Check for ut_type in struct utmp.
24451
24452 2001-05-27  Jim Meyering  <meyering@lucent.com>
24453
24454         * lib/readutmp.h (UT_TYPE): Define.
24455
24456 2001-05-24  Jim Meyering  <meyering@lucent.com>
24457
24458         * lib/argmatch.c: Include "quote.h".
24459         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
24460         quote function.  Reported by Göran Uddeborg.
24461
24462 2001-05-22  Jim Meyering  <meyering@lucent.com>
24463
24464         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
24465         now that we use the package-supplied version unconditionally.
24466         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
24467
24468 2001-05-21  Jim Meyering  <meyering@lucent.com>
24469
24470         * m4/regex.m4: Change a couple backticks to single quotes to avoid
24471         shell syntax errors.
24472
24473 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
24474
24475         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
24476
24477 2001-05-20  Paul Eggert  <eggert@twinsun.com>
24478
24479         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
24480         Don't bother to check library strftime, since
24481         we'll be using our own my_strftime function anyway.
24482         Define my_strftime instead of strftime.
24483
24484 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
24485
24486         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
24487         which is not yet declared.
24488
24489 2001-05-15  Jim Meyering  <meyering@lucent.com>
24490
24491         * m4/regex.m4: Use proper quoting so brackets appear in the test
24492         program.
24493         Reported by, and with help from, Bruno Haible.
24494
24495 2001-05-13  Jim Meyering  <meyering@lucent.com>
24496
24497         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
24498         undefined.
24499
24500 2001-05-11  Paul Eggert  <eggert@twinsun.com>
24501
24502         dirname code cleanup.  base_name now behaves more compatibly
24503         with POSIX basename when given file names that have trailing
24504         slashes, and similarly for dir_name.  Add new primitives
24505         base_len and dir_len.  Put the directory-name-related decls
24506         into dirname.h.
24507
24508         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
24509         * lib/backupfile.c (base_name): Likewise.
24510         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
24511         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
24512         * lib/makepath.c (strip_trailing_slashes): Likewise.
24513         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
24514         ISSLASH): Likewise.
24515         * lib/rename.c (strip_trailing_slashes): Likewise.
24516         * lib/same.c (base_name): Likewise.
24517         * lib/stripslash.c (ISSLASH): Likewise.
24518
24519         * lib/addext.c: Include <dirname.h> after size_t is defined.
24520         * lib/backupfile.c: Likewise.
24521
24522         * lib/addext.c (addext): Use base_len to trim redundant
24523         trailing slashes instead of doing it ourselves.
24524         But do not trim the last slash if it is not redundant.
24525
24526         * lib/backupfile.c (find_backup_file_name,
24527         max_backup_version): Use base_len instead of rolling it ourselves.
24528         Handle the case of "" and (on DOS) "C:" correctly.
24529
24530         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
24531         needed. Include <string.h>, <dirname.h>.
24532         (base_name): Allow file names ending in slashes, other than names
24533         that are all slashes.  In this case, return the basename followed
24534         by the slashes.  This is more general, and can be used in places
24535         where the original base_name purposely had an assertion failure.
24536         (base_len): New function.
24537
24538         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
24539         Do not include <assert.h>; no longer needed.
24540         Include xalloc.h.
24541         (memrchr): Remove decl.
24542         (dir_name_r): Remove.
24543         (dir_len): Renamed from dirlen.  All callers changed.
24544         Rewrite in terms of base_name, for simplicity and consistency.
24545         (dir_name): Never return NULL.  All callers changed.
24546         Do not include <stdlib.h> in test program; no longer needed.
24547         return 0; is fine for test program.
24548
24549         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
24550         New macros.
24551         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
24552
24553         * lib/path-concat.c (path_concat): Use base_len to compute
24554         base length, not strlen; this means we cannot rely on memcpy
24555         to null-terminate.
24556
24557         * lib/same.c (STREQ): Remove.
24558         (same_name): Handle the case where the basename ends in trailing '/'.
24559
24560         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
24561         a slash was stripped.  Do not strip the last slash after a
24562         file system prefix.
24563
24564 2001-05-11  Paul Eggert  <eggert@twinsun.com>
24565
24566         * lib/Makefile.am (libfetish_a_SOURCES):
24567         Add strftime.c, since we now compile it on all hosts.
24568
24569         * lib/strftime.c (my_strftime):
24570         Define to nstrftime if emacs, but only if my_strftime is not defined.
24571         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
24572         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
24573         Add one more extra argument: a nanoseconds value.
24574         All uses changed.
24575         (ns): New macro.
24576         (my_strftime function): Add %N format.
24577         (emacs_strftimeu): Renamed from emacs_strftime,
24578         with extra ut argument.
24579
24580 2001-05-09  Paul Eggert  <eggert@twinsun.com>
24581
24582         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
24583
24584 2001-04-21  Jim Meyering  <meyering@lucent.com>
24585
24586         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
24587         doesn't interfere.
24588
24589 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
24590
24591         * m4/ftruncate.m4: Check for chsize.
24592         Link with ftruncate.o unconditionally if ftruncate is missing.
24593         This was required when cross-compiling to i586-mingw32msvc.
24594
24595 2001-04-08  Jim Meyering  <meyering@lucent.com>
24596
24597         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
24598         recomputed; that's necessary when the offset spans a DST transition.
24599         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
24600
24601 2001-04-02  Jim Meyering  <meyering@lucent.com>
24602
24603         * lib/regex.h, regex.c: Update from GNU libc.
24604
24605 2001-03-24  Jim Meyering  <meyering@lucent.com>
24606
24607         * m4/jm-macros.m4: Require autoconf-2.49d.
24608
24609 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
24610
24611         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
24612
24613 2001-03-19  Paul Eggert  <eggert@twinsun.com>
24614
24615         * lib/version-etc.c (version_etc_copyright): Update to 2001.
24616
24617 2001-03-17  Jim Meyering  <meyering@lucent.com>
24618
24619         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
24620         now that the version in autoconf is equivalent.
24621         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
24622
24623         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
24624         Suggestion from Akim Demaille.
24625
24626         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
24627         (jm_PREREQ_TEMPNAME): New function.
24628
24629 2001-03-16  Paul Eggert  <eggert@twinsun.com>
24630
24631         * lib/tempname.c (uint64_t): Define to uintmax_t if
24632         not defined, and if UINT64_MAX is not defined.
24633         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
24634         Reported by John David Anglin.
24635
24636 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
24637
24638         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
24639         resolve alias if codeset is empty.
24640         * lib/config.charset (BeOS): Use wildcard syntax.
24641
24642 2001-03-13  Jim Meyering  <meyering@lucent.com>
24643
24644         * lib/path-concat.c (path_concat)
24645         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
24646         concatenating e.g., `C:' and `foo'.
24647         From Bruno Haible.
24648
24649 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
24650
24651         * lib/localcharset.c (locale_charset): Don't use
24652         setlocale(LC_CTYPE,NULL). Don't return NULL.
24653         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
24654
24655 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
24656
24657         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
24658         support for DOS/DJGPP.
24659
24660 2001-03-01  Paul Eggert  <eggert@twinsun.com>
24661
24662         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
24663         lacks mkstemp.  Compile our own tempname.c if we compile our own
24664         mkstemp.c, as mkstemp relies on tempname.
24665
24666 2001-03-01  Jim Meyering  <meyering@lucent.com>
24667
24668         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
24669         AH_VERBATIM really does output its argument verbatim.
24670
24671 2001-02-28  Paul Eggert  <eggert@twinsun.com>
24672
24673         * lib/Makefile.am (libfetish_a_SOURCES):
24674         Add dup-safer.c, fopen-safer.c.
24675         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
24676
24677         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
24678         * lib/unistd-safer.h: New files.
24679
24680 2001-02-25  Paul Eggert  <eggert@twinsun.com>
24681
24682         The mkstemp replacement is taken from glibc 2.2.2, with some
24683         portability fixes for use outside glibc, as follows:
24684
24685         * lib/tempname.c (struct_stat64): New macro.
24686         (direxists, __gen_tempname): Use it.
24687         This avoids a portability problem with Solaris 8.
24688
24689         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
24690         (<stddef.h>, <stdint.h>, <string.h>):
24691         Include only if STDC_HEADERS || _LIBC.
24692         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
24693         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
24694         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
24695         (__set_errno): Define this macro if <errno.h> doesn't.
24696         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
24697         Define these macros if <stdio.h> doesn't.
24698         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
24699         Define these macros if <sys/stat.h>
24700         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
24701         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
24702         __xstat64): Define if not _LIBC.
24703         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
24704         (__gen_tempname): Invoke gettimeofday only if
24705         HAVE_GETTIMEOFDAY || _LIBC;
24706         otherwise, fall back on plain "time".
24707         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
24708
24709         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
24710
24711         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
24712
24713 2001-02-18  Paul Eggert  <eggert@twinsun.com>
24714
24715         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
24716
24717 2001-02-17  Paul Eggert  <eggert@twinsun.com>
24718
24719         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
24720         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
24721         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
24722         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
24723
24724 2001-02-17  Paul Eggert  <eggert@twinsun.com>
24725
24726         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
24727         Remove workaround macros for hosts that have mbrtowc but not
24728         mbstate_t, as we now insist on proper declarations for both
24729         before using mbrtowc.
24730
24731 2001-02-17  Jim Meyering  <meyering@lucent.com>
24732
24733         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
24734         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
24735         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
24736         UnixWare 7.1.1.
24737
24738         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
24739         rather than AC_CACHE_VAL.
24740
24741 2001-02-17  Jim Meyering  <meyering@lucent.com>
24742
24743         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
24744         around included file name.
24745
24746         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
24747
24748         * lib/strftime.c: Update from GNU libc (the only changes were to
24749         comments).
24750
24751 2001-02-17  Jim Meyering  <meyering@lucent.com>
24752
24753         * lib/regex.c: Update from libc.
24754
24755 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
24756
24757         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
24758         clash.
24759
24760 2001-02-16  Paul Eggert  <eggert@twinsun.com>
24761
24762         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
24763         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
24764         Reported by Mark Hounschell via Paul Eggert.
24765
24766 2001-02-07  Jim Meyering  <meyering@lucent.com>
24767
24768         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
24769
24770 2001-02-05  Jim Meyering  <meyering@lucent.com>
24771
24772         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
24773         it includes the patch required for `large file' support with at least
24774         HP-UX's 10.20 /bin/cc.
24775
24776 2001-02-03  Jim Meyering  <meyering@lucent.com>
24777
24778         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
24779         AS_IF, now that it works once again (mysteriously).
24780         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
24781
24782 2001-01-30  Jim Meyering  <meyering@lucent.com>
24783
24784         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
24785         * m4/chown.m4: Rename conftestchown to conftest.chown.
24786         * m4/rename.m4: s/conftestdir/conftest.d1/ and
24787         s/conftestdir2/conftest.d2/.
24788         * m4/utimes.m4: s/conftestdata/conftest.data/
24789         Inspired by Pavel Roskin's change in autoconf.
24790
24791 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
24792
24793         * lib/config.charset: Update for FreeBSD 4.2.
24794
24795 2001-01-27  Jim Meyering  <meyering@lucent.com>
24796
24797         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
24798         a use of AS_IF.
24799         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
24800
24801 2001-01-26  Jim Meyering  <meyering@lucent.com>
24802
24803         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
24804         quotearg.c includes it.
24805
24806 2001-01-26  Jim Meyering  <meyering@lucent.com>
24807
24808         * lib/quotearg.c: Include stddef.h.
24809         * lib/quote.c: Include stddef.h.
24810         Reported by Axel Kittenberger.
24811
24812         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
24813         line in double quotes so that it evokes a better diagnostic.
24814         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
24815         Reported by Axel Kittenberger.
24816
24817 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
24818
24819         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
24820         as if it was a `charset'.
24821
24822 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
24823
24824         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
24825         has const.
24826
24827 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
24828
24829         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
24830         to avoid a warning.  Add back 'const' to inptr.
24831
24832 2001-01-20  Jim Meyering  <meyering@lucent.com>
24833
24834         Be sure that headers are checked before used in code compiled
24835         for the type checks.
24836         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
24837         In place of that, invoke jm_CHECK_ALL_TYPES.
24838         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
24839         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
24840         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
24841         The check for ssize_t was mistakenly run before the test for unistd.h.
24842
24843         The configure-time check for stdbool.h was missing.
24844         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
24845         (jm_PREREQ_HASH): New function.
24846
24847 2001-01-17  Jim Meyering  <meyering@lucent.com>
24848
24849         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
24850         for autoconf-2.49c.
24851         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
24852
24853 2001-01-16  Jim Meyering  <meyering@lucent.com>
24854
24855         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
24856         From Bruno Haible.
24857
24858 2001-01-14  Jim Meyering  <meyering@lucent.com>
24859
24860         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
24861         foo and bar.  Create conftestdir/ in the script, not in the C code.
24862         Remove directories in the script, not in the C code.
24863         Remove conftestdir{,2} before trying to create the directory.
24864         Make the entire configure script fail if the mkdir fails.
24865
24866 2001-01-14  Jim Meyering  <meyering@lucent.com>
24867
24868         * lib/rename.c: New file.  From Volker Borchert.
24869         Include stdlib.h, string.h or strings.h, and xalloc.h.
24870         Use strip_trailing_slashes rather than open-coding it.
24871
24872 2001-01-03  Paul Eggert  <eggert@twinsun.com>
24873
24874         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
24875
24876 2001-01-03  Jim Meyering  <meyering@lucent.com>
24877
24878         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
24879         of local `inptr' to avoid warning with some system declarations of
24880         iconv.
24881
24882 2001-01-02  Volker Borchert  <bt@teknon.de>
24883
24884         * m4/rename.m4: New file.
24885         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
24886
24887 2001-01-01  Jim Meyering  <meyering@lucent.com>
24888
24889         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
24890         even on systems with utmpx.h.  It's necessary for the declaration of
24891         utmp's ut_user member.  Reported by Andreas Jaeger.
24892
24893         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
24894         available. They are required for the declarations of getgrgid and
24895         getpwuid resp.
24896         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
24897         Reported by Andreas Jaeger.
24898
24899 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
24900
24901         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
24902         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
24903         so `make install' also works in VPATH builds.
24904
24905 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
24906
24907         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
24908         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
24909         can be used in subdirectories.
24910
24911 2000-12-29  Paul Eggert  <eggert@twinsun.com>
24912
24913         * lib/modechange.c: Do not assume that mode_t uses the
24914         traditional octal encoding.  E.g. "chmod 1 FOO" should set
24915         the other-execute bit of FOO even if S_IXOTH != 1.
24916
24917         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
24918         WOTH, XOTH, ALLM): New macros.
24919         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
24920          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
24921         Use them.
24922         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
24923         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
24924         (mode_compile):
24925         No need to use uintmax_t; unsigned long is long enough.
24926         Don't bother to get suffix since we don't use it.
24927
24928 2000-12-26  Jim Meyering  <meyering@lucent.com>
24929
24930         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
24931         better with autoheader.
24932
24933 2000-12-24  Jim Meyering  <meyering@lucent.com>
24934
24935         * lib/hash.c (is_prime): Return explicit boolean values.
24936         (hash_get_first): Return NULL to appease Irix5.6's 89.
24937         Reported by Nelson Beebe.
24938
24939 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
24940
24941         * lib/localcharset.c (locale_charset): Add support for Win32.
24942
24943 2000-12-18  Paul Eggert  <eggert@twinsun.com>
24944
24945         * lib/physmem.h, lib/physmem.c: New files.
24946
24947         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
24948         (noinst_HEADERS): Add physmem.h.
24949
24950         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
24951         't' for compatibility with Solaris 8 sort.
24952
24953 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
24954
24955         * lib/config.charset: Add support for BeOS.
24956
24957 2000-12-17  Jim Meyering  <meyering@lucent.com>
24958
24959         * m4/dos.m4 (jm_AC_DOS): New file and macro.
24960         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
24961
24962 2000-12-16  Jim Meyering  <meyering@lucent.com>
24963
24964         This bug had a serious impact on chown: `chown N:M FILE' (for integer
24965         N and M) would have treated it like `chown N:N FILE'.
24966
24967         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
24968
24969 2000-12-16  Jim Meyering  <meyering@lucent.com>
24970
24971         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
24972         SHELLS_FILE to a file name that's useful on djgpp systems.
24973         Include stdlib.h.
24974         (ADDITIONAL_DEFAULT_SHELLS): Define.
24975         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
24976         Based mostly on a patch from Prashant TR.
24977
24978 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
24979
24980         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
24981         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
24982         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
24983
24984 2000-12-08  Andreas Schwab  <schwab@suse.de>
24985
24986         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
24987         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
24988
24989 2000-12-07  Jim Meyering  <meyering@lucent.com>
24990
24991         * lib/stripslash.c (ISSLASH): Define.
24992         (strip_trailing_slashes): Use ISSLASH rather than comparing against
24993         `/'.
24994         From Prashant TR.
24995
24996         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
24997         (dir_name_r): Declare this function as static.
24998         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
24999         manifest itself on a name containing a mix of slashes and
25000         backslashes.
25001         Make this function work with names starting with a DOS-style
25002         drive letter and colon prefix.
25003         (dir_name): Append `.' if necessary.
25004         Based mostly on patches from Prashant TR and Eli Zaretskii.
25005
25006         * lib/dirname.h (dir_name_r): Remove prototype.
25007
25008 2000-12-06  Paul Eggert  <eggert@twinsun.com>
25009
25010         * m4/off_t-format.m4: Remove this file.
25011         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
25012
25013 2000-12-06  Jim Meyering  <meyering@lucent.com>
25014
25015         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
25016         replacement strtoull, we may well need the replacement strtoul, too.
25017         Check for declarations of strtoul and strtoull.
25018         Check for strtol.  Mainly as a cue to cause automake to include
25019         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
25020         Check for limits.h -- strtol.c needs it.
25021
25022 2000-12-05  Jim Meyering  <meyering@lucent.com>
25023
25024         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
25025
25026 2000-12-04  Jim Meyering  <meyering@lucent.com>
25027
25028         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
25029         Also include memory.h, stdlib.h, unistd.h if appropriate.
25030         Reported by Andreas Jaeger (conflicting declaration of malloc).
25031
25032 2000-12-02  Jim Meyering  <meyering@lucent.com>
25033
25034         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
25035         * m4/jm-macros.m4 (jm_MACROS): require it.
25036
25037 2000-12-02  Jim Meyering  <meyering@lucent.com>
25038
25039         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
25040
25041 2000-12-01  Paul Eggert  <eggert@twinsun.com>
25042
25043         * lib/memrchr.c: Include <config.h> before any system include file.
25044
25045 2000-11-30  Jim Meyering  <meyering@lucent.com>
25046
25047         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
25048
25049 2000-11-30  Jim Meyering  <meyering@lucent.com>
25050
25051         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
25052
25053 2000-11-29  Paul Eggert  <eggert@twinsun.com>
25054
25055         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
25056
25057 2000-11-26  Jim Meyering  <meyering@lucent.com>
25058
25059         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
25060
25061 2000-11-22  Paul Eggert  <eggert@twinsun.com>
25062
25063         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
25064         size of (size_t) -1; it's not portable.
25065
25066 2000-11-17  Jim Meyering  <meyering@lucent.com>
25067
25068         * lib/strstr.c: Update from GNU libc.
25069
25070 2000-11-17  Akim Demaille  <akim@epita.fr>
25071
25072         * lib/obstack.h: Formatting changes.
25073         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
25074         prevent type checking.
25075         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
25076         cast the value to (void *): assigning a `foo *' to a `void *'
25077         variable is valid.
25078         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
25079
25080 2000-11-16  Jim Meyering  <meyering@lucent.com>
25081
25082         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
25083
25084 2000-11-11  Jim Meyering  <meyering@lucent.com>
25085
25086         * lib/error.c: Add a couple #includes, merging from GNU libc version.
25087
25088 2000-11-10  Jim Meyering  <meyering@lucent.com>
25089
25090         * lib/obstack.h: Update from GNU libc.
25091         * lib/obstack.c: Likewise.
25092
25093 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
25094
25095         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
25096
25097 2000-11-06  Paul Eggert  <eggert@twinsun.com>
25098
25099         * lib/getusershell.c (setusershell): Use rewind rather than
25100         fseek/fseeko, to avoid configuration hassles with fseeko.
25101         Don't bother opening SHELLS_FILE if shellstream is NULL;
25102         it's not necessary.
25103
25104 2000-11-05  Jim Meyering  <meyering@lucent.com>
25105
25106         * lib/makepath.h (make_dir): Declare.
25107         * lib/makepath.c (make_dir): Remove `static' attribute.
25108         Tweak a comment.
25109
25110 2000-11-04  Jim Meyering  <meyering@lucent.com>
25111
25112         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
25113
25114 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
25115
25116         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
25117         last one in a bucket, advance to the next bucket.
25118
25119 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
25120
25121         * lib/fnmatch.c: Do not comment out all the code if we are using
25122         the GNU C library, because in some cases we are replacing buggy
25123         code in the GNU C library itself.
25124
25125 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
25126
25127         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
25128         (regex_compile): Catch bogus \(\1\).
25129
25130 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25131
25132         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
25133         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
25134         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
25135
25136 2000-10-30  Paul Eggert  <eggert@twinsun.com>
25137
25138         * lib/error.h, getline.h, modechange.h:
25139         Remove "2000" from Copyright line, as the file hasn't been
25140         changed this year other than in the copyright notice.
25141
25142         * lib/xalloc.h: Add "2000" to Copyright line, as this file
25143         was changed this year.
25144
25145 2000-10-29  Jim Meyering  <meyering@lucent.com>
25146
25147         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
25148         renaming.
25149         * m4/ls-mntd-fs.m4: Likewise
25150
25151 2000-10-29  Jim Meyering  <meyering@lucent.com>
25152
25153         * lib/xstat.in: Fix grammar in comment.
25154
25155 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
25156
25157         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
25158         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
25159         doesn't define __restrict_arr.
25160
25161 2000-10-28  Jim Meyering  <meyering@lucent.com>
25162
25163         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
25164         (jm_PREREQ_MEMCHR): New function.
25165
25166 2000-10-28  Jim Meyering  <meyering@lucent.com>
25167
25168         * lib/memchr.c: Update from libc.
25169         Adjust for portability:
25170         [HAVE_STDLIB_H]: Include stdlib.h.
25171         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
25172         Undef __memchr, too.
25173         [!weak_alias]: Define __memchr to memchr.
25174
25175         * lib/regex.c: Update from libc.
25176         * lib/regex.h: Likewise.
25177         * lib/getopt1.c: Likewise.
25178         * lib/memcmp.c: Likewise.
25179
25180         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
25181         Avoid using fseek, when possible -- it's broken by design.
25182         Patch by Ulrich Drepper.
25183
25184 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
25185
25186         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
25187         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
25188         Giving in to popular pressure to shut up the compiler with casts.
25189
25190 2000-10-26  Jim Meyering  <meyering@lucent.com>
25191
25192         * lib/strftime.c: Update from libc.
25193
25194 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
25195
25196         * regex.c: More `unsigned char' -> `re_char' changes.
25197         Also change several `int' into `re_wchar_t'.
25198         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
25199         (PUSH_FAILURE_POINTER): Don't cast any more.
25200         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
25201         We want GCC to complain, since this piece of code makes
25202         re_match non-reentrant, which *should* be fixed.
25203         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
25204         (EXTEND_BUFFER): Use RETALLOC.
25205         (SET_LIST_BIT): Don't cast.
25206         (re_wchar_t): New type.
25207         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
25208         that those two functions will always properly return.
25209         (IMMEDIATE_QUIT_CHECK): Cast to void.
25210         (analyse_first): Use recursion rather than an explicit stack.
25211         (re_compile_fastmap): Can't fail anymore.
25212         (re_search_2): Don't check re_compile_fastmap for failure.
25213         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
25214         Now also sets the new value (passed in a new argument).
25215         (re_match_2_internal): Use it.
25216         Also, use a new var `reg' of type size_t when looping through regs
25217         rather than reuse the inappropriate `mcnt'.
25218
25219 2000-10-25  Jim Meyering  <meyering@lucent.com>
25220
25221         * lib/obstack.c: Update from libc.
25222
25223 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
25224
25225         * regex.c (regex_compile): Change the way of handling a range from
25226         a char less than 256 to a char not less than 256.
25227
25228 2000-10-24  Andrew Innes  <andrewi@gnu.org>
25229
25230         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
25231         NT-Emacs only.
25232         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
25233         so that re_search functions only quit when callers expect them to.
25234
25235 2000-10-23  Jim Meyering  <meyering@lucent.com>
25236
25237         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
25238         wrong.  That set_locale call must not have any side effects.
25239         From Paul Eggert.
25240
25241 2000-10-22  Jim Meyering  <meyering@lucent.com>
25242
25243         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
25244         [CYCLIC]: Remove now-unused definition.
25245
25246         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
25247         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
25248         Suggestion from Ulrich Drepper.
25249
25250 2000-10-21  Jim Meyering  <meyering@lucent.com>
25251
25252         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
25253         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
25254         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
25255
25256 2000-10-21  Jim Meyering  <meyering@lucent.com>
25257
25258         * lib/dirname.c (memrchr): Declare if necessary.
25259         (dir_name): Remove the restriction that there be no
25260         trailing slashes.  Now, this code skips past them, effectively
25261         ignoring them.
25262         [TEST_DIRNAME] (main): New unit tests.
25263
25264         * lib/memrchr.c: New file from GNU libc.
25265         Undef __memrchr, too.
25266         [!weak_alias]: Define __memrchr to memrchr.
25267         Guard weak_alias use with `#ifdef weak_alias'.
25268
25269 2000-10-21  Jim Meyering  <meyering@lucent.com>
25270
25271         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
25272         (dir_name): Use dir_name_r.
25273         * lib/dirname.h (dir_name_r): Declare it.
25274
25275 2000-10-17  Jim Meyering  <meyering@lucent.com>
25276
25277         * lib/quote.h (PARAMS): Define and use.
25278         Reported by Akim Demaille.
25279
25280         * lib/getopt.c: Update from libc.
25281
25282 2000-10-16  Jim Meyering  <meyering@lucent.com>
25283
25284         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
25285         setlocale.
25286         From Jan Fedak.
25287
25288 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
25289
25290         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
25291
25292 2000-09-25  Jim Meyering  <meyering@lucent.com>
25293
25294         * lib/md5.h (rol): Define (from GnuPG).
25295
25296         * lib/sha.c: Give credit (GnuPG) where due.
25297         (M): Use rol rather than open-coding it.
25298         Add a FIXME comment.
25299
25300 2000-09-21  Jim Meyering  <meyering@lucent.com>
25301
25302         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
25303         Reported by Michael Stone.
25304
25305 2000-09-20  Jim Meyering  <meyering@lucent.com>
25306
25307         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
25308         (noinst_HEADERS): Add sha.h.
25309         Based on code from Scott G. Miller and from GnuPG.
25310
25311 2000-09-18  Jim Meyering  <meyering@lucent.com>
25312
25313         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
25314         LIBS. Otherwise, everyone ends up linking with -lelf for some
25315         configurations.
25316         Reported by Mike Stone.
25317
25318 2000-09-15  Jim Meyering  <meyering@lucent.com>
25319
25320         * lib/regex.c: Update from libc.
25321
25322 2000-09-10  Jim Meyering  <meyering@lucent.com>
25323
25324         * lib/getopt.c (_getopt_internal): Update from glibc.
25325
25326 2000-09-09  Jim Meyering  <meyering@lucent.com>
25327
25328         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
25329         think it should be used as a general replacement for isascii.
25330         * lib/fnmatch.c: Likewise.
25331         * lib/mbswidth.c: Likewise
25332         * lib/regex.c: Likewise.
25333
25334         Don't use atoi.
25335         * lib/userspec.c: Include sys/param.h and limits.h.
25336         Include xstrtol.h.
25337         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
25338         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
25339         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
25340         UID, GID.  Check range.
25341
25342 2000-09-06  Jim Meyering  <meyering@lucent.com>
25343
25344         * lib/getopt.c (_getopt_internal): Update from glibc.
25345
25346 2000-08-30  Jim Meyering  <meyering@lucent.com>
25347
25348         * lib/strftime.c: Merge in changes from GNU libc.
25349
25350 2000-08-26  Jim Meyering  <meyering@lucent.com>
25351
25352         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
25353         * m4/fpending.m4: New file.
25354
25355 2000-08-26  Jim Meyering  <meyering@lucent.com>
25356
25357         * lib/closeout.c: Include "__fpending.h".
25358         (close_stdout_status): Return right away if there's nothing to flush.
25359
25360         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
25361         * lib/__fpending.c: New file.
25362         * lib/__fpending.h: New file.
25363
25364 2000-08-20  Jim Meyering  <meyering@lucent.com>
25365
25366         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
25367         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
25368         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
25369
25370 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
25371
25372         Improve fileutils installation on systems where running
25373         programs (like install) can't be unlinked.
25374         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
25375         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
25376
25377 2000-08-07  Paul Eggert  <eggert@twinsun.com>
25378
25379         Standardize on "memory exhausted" instead of "Memory exhausted"
25380         or "virtual memory exhausted".
25381         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
25382         "virtual memory exhausted".
25383         * lib/same.c (same_name): Invoke xalloc_die instead of printing
25384         our own message.
25385         * lib/userspec.c (parse_user_spec): Likewise.
25386         * lib/bumpalloc.h: comment fix
25387         * lib/same.c, userspec.c: Include xalloc.h.
25388
25389         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
25390         not char *const and pointing to a constant array.
25391         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
25392         (xrealloc): Comment fix.
25393
25394         * lib/userspec.c (parse_user_spec):
25395         Don't translate a message until just before returning,
25396         to avoid unnecessary translation.
25397
25398 2000-08-07  Jim Meyering  <meyering@lucent.com>
25399
25400         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
25401         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
25402         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
25403         getgroups.c, gethostname.c, getopt.h, group-member.c,
25404         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
25405         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
25406         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
25407         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
25408         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
25409         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
25410         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
25411         yesno.c: Back out Copyright date changes for each file with no change
25412         this year.  This eases coordination with other programs using the same
25413         source code modules.  From Paul Eggert.
25414
25415 2000-08-06  Paul Eggert  <eggert@twinsun.com>
25416
25417         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
25418         not char, for compatibility with glibc 2.1.3 strftime.c.
25419
25420 2000-08-03  Greg McGary  <greg@mcgary.org>
25421
25422         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
25423         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
25424         (EXTEND_BUFFER): Use them.
25425
25426 2000-08-01  Jim Meyering  <meyering@lucent.com>
25427
25428         * lib/dirname.c (ISSLASH): Define.
25429         (BACKSLASH_IS_PATH_SEPARATOR): Define.
25430         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
25431         both `\' and `/' may be use as path separators.
25432         Based on a patch from Prashant TR.
25433
25434 2000-07-31  Paul Eggert  <eggert@twinsun.com>
25435
25436         * lib/quotearg.c (quotearg_n_options): Don't make the initial
25437         slot vector a constant, since it might get modified.
25438
25439 2000-07-31  Jim Meyering  <meyering@lucent.com>
25440
25441         * lib/xmalloc.c: Use `virtual memory exhausted', not
25442         `Memory exhausted'.
25443         * lib/obstack.c (print_and_abort): Likewise.
25444
25445 2000-07-30  Paul Eggert  <eggert@twinsun.com>
25446
25447         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
25448         buffer, so that the caller can always quote one small
25449         component of a "memory exhausted" message in slot 0.
25450         From a suggestion by Jim Meyering.
25451
25452 2000-07-30  Jim Meyering  <meyering@lucent.com>
25453
25454         * lib/makepath.c (make_path): Quote the other instance, too.
25455
25456         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
25457         (STATIC_BUF_SIZE): Define.
25458         (quotearg_n_options): Use only statically allocated storage when
25459         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
25460         than STATIC_BUF_SIZE.
25461
25462 2000-07-29  Jim Meyering  <meyering@lucent.com>
25463
25464         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
25465         * lib/dirname.c (dir_name): Likewise.
25466
25467         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
25468         `/'.
25469
25470         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
25471         (dir_name): Assert that there are no trailing slashes.
25472
25473 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
25474
25475         * lib/mbswidth.h (mbswidth): Add a flags argument.
25476         (mbswidth): New declaration.
25477         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
25478         * lib/mbswidth.c (mbswidth): Add a flags argument.
25479         (mbsnwidth): New function.
25480
25481 2000-07-24  Jim Meyering  <meyering@lucent.com>
25482
25483         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
25484
25485 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25486
25487         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
25488
25489 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25490
25491         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
25492         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
25493         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
25494         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
25495         invoke multibyte primitives.
25496
25497 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25498
25499         * lib/quotearg.c:
25500         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
25501         so that mbstate_t is always defined.
25502
25503         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
25504         be 1 in at least one GCC installation, and this configuration
25505         error is likely to be common.  Ignoring MB_LEN_MAX hurts
25506         performance on hosts that have mbrtowc but have only unibyte
25507         locales, but I assume these hosts are rare.
25508
25509 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25510
25511         * lib/mbswidth.c (_XOPEN_SOURCE):
25512         Don't define; this causes problems on Solaris 7.
25513         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
25514
25515 2000-07-23  Jim Meyering  <meyering@lucent.com>
25516
25517         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
25518         too: getgrgid, getpwuid, getuid.
25519
25520 2000-07-23  Jim Meyering  <meyering@lucent.com>
25521
25522         * lib/basename.c (base_name): Add an assertion.
25523
25524 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
25525
25526         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
25527         shadow its mbsinit function.
25528
25529 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
25530
25531         * lib/mbswidth.h: New file.
25532         * lib/mbswidth.c: New file.
25533         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
25534         (noinst_HEADERS): Add mbswidth.h.
25535
25536 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
25537
25538         * lib/config.charset: Add support for FreeBSD. Improve support for
25539         HP-UX and IRIX 6.
25540
25541 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
25542
25543         * m4/mbswidth.m4: New file.
25544         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
25545
25546 2000-07-15  Jim Meyering  <meyering@lucent.com>
25547
25548         * lib/makepath.c: Include quote.h.
25549         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
25550         corresponding argument in a `quote (...)' call.
25551         Give better diagnostics.
25552
25553         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
25554         (noinst_HEADERS): Add quote.h.
25555
25556         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
25557         from tar's src/misc.c.
25558         * lib/quote.h: New file.  Prototypes for same.
25559
25560 2000-07-14  Paul Eggert  <eggert@twinsun.com>
25561
25562         From a suggestion by Bruno Haible.
25563         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
25564         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
25565         to decide whether to define the BeOS workaround macro;
25566         this adjusts to the change to AC_MBSTATE_T.
25567
25568 2000-07-14  Jim Meyering  <meyering@lucent.com>
25569
25570         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
25571         jm_AC_TYPE_UINTMAX_T.
25572
25573 2000-07-13  Paul Eggert  <eggert@twinsun.com>
25574
25575         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
25576
25577         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
25578         quotearg_buffer_restyled): Add support for
25579         clocale_quoting_style.  Undo previous change to
25580         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
25581         and "{RIGHT QUOTATION MARK}" msgids.
25582
25583 2000-07-10  Paul Eggert  <eggert@twinsun.com>
25584
25585         From a suggestion by Bruno Haible.
25586         * m4/mbstate_t.m4 (AC_MBSTATE_T):
25587         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
25588         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
25589         and mbstate_t, to a single-part test that simply defines mbstate_t.
25590         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
25591         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
25592
25593 2000-07-10  Jim Meyering  <meyering@lucent.com>
25594
25595         * m4/strerror_r.m4: Mirror the correction made in autoconf.
25596
25597         * m4/gnu-source.m4: Output to confdefs.h directly.
25598         Suggestion from Akim Demaille.
25599
25600 2000-07-09  Paul Eggert  <eggert@twinsun.com>
25601
25602         The old behavior of quoting `like this' doesn't look good with
25603         newer, ISO-style fonts.  See:
25604         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
25605
25606         Instead, quote "like this" by default.  Let the translator
25607         tailor the locale-specific quoting behavior by providing
25608         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
25609
25610         * lib/quotearg.c (N_): New macro.
25611         (gettext_default): New function.
25612         (quotearg_buffer_restyled): Use
25613         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
25614         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
25615
25616 2000-07-09  Jim Meyering  <meyering@lucent.com>
25617
25618         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
25619         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
25620
25621         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
25622         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
25623
25624 2000-07-09  Jim Meyering  <meyering@lucent.com>
25625
25626         * lib/Most files: Update copyright dates to include 2000.
25627
25628 2000-07-08  Jim Meyering  <meyering@lucent.com>
25629
25630         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
25631         if not defined.
25632         (xgethostname): Remove now-unnecessary #ifdef.
25633         Move declaration of `err' into loop where it's used.
25634
25635 2000-07-05  Paul Eggert  <eggert@twinsun.com>
25636         and Bruno Haible  <haible@clisp.cons.org>
25637
25638         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
25639         only if the test for an object-type mbstate_t fails.  This
25640         prevents us from mistakenly reporting that mbstate_t is a
25641         system object type after we "#define mbstate_t int" to work
25642         around its lack.
25643
25644 2000-07-05  Paul Eggert  <eggert@twinsun.com>
25645         and Bruno Haible  <haible@clisp.cons.org>
25646
25647         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
25648
25649 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25650
25651         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
25652         to strerror_r.
25653         Include <ctype.h> for use of isalpha.
25654
25655 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25656
25657         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
25658         by allocating a larger buffer. Test the gethostname return value for
25659         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
25660         returns an error and ENAMETOOLONG isn't defined.
25661
25662 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25663
25664         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
25665         dimension.
25666
25667 2000-07-04  Jim Meyering  <meyering@lucent.com>
25668
25669         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
25670         of the deprecated AC_CHECKING.
25671
25672 2000-07-04  Jim Meyering  <meyering@lucent.com>
25673
25674         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
25675         Reported by Bruno Haible.
25676
25677 2000-07-04  Jim Meyering  <meyering@lucent.com>
25678
25679         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
25680         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
25681         lacks mbrtowc.
25682
25683 2000-07-03  Paul Eggert  <eggert@twinsun.com>
25684
25685         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
25686         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
25687
25688 2000-07-03  Paul Eggert  <eggert@twinsun.com>
25689         and Bruno Haible  <haible@clisp.cons.org>
25690
25691         * lib/quotearg.c (mbrtowc):
25692         Assign to *pwc, and return 1 only if result is nonzero.
25693         (iswprint): Use ISPRINT when substituting our own mbrtowc.
25694
25695 2000-07-03  Jim Meyering  <meyering@lucent.com>
25696
25697         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
25698
25699 2000-07-03  Jim Meyering  <meyering@lucent.com>
25700
25701         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
25702         This is necessary to get a definition of e.g., UTMP_FILE on
25703         HP-UX 10.20.
25704         From Bob Proulx.
25705
25706 2000-07-02  Jim Meyering  <meyering@lucent.com>
25707
25708         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
25709
25710         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
25711         AC_LIBOBJ(function_name).
25712         * m4/chown.m4: Likewise.
25713         * m4/fnmatch.m4: Likewise.
25714         * m4/ftruncate.m4: Likewise.
25715         * m4/getgroups.m4: Likewise.
25716         * m4/getline.m4: Likewise.
25717         * m4/group-member.m4: Likewise.
25718         * m4/jm-macros.m4: Likewise.
25719         * m4/lstat.m4: Likewise.
25720         * m4/malloc.m4: Likewise.
25721         * m4/memcmp.m4: Likewise.
25722         * m4/nanosleep.m4: Likewise.
25723         * m4/putenv.m4: Likewise.
25724         * m4/realloc.m4: Likewise.
25725         * m4/regex.m4: Likewise.
25726         * m4/stat.m4: Likewise.
25727         * m4/strftime.m4: Likewise.
25728
25729 2000-07-02  Jim Meyering  <meyering@lucent.com>
25730
25731         * lib/quotearg.c (mbstate_t): Don't define here.
25732
25733 2000-07-02  Jim Meyering  <meyering@lucent.com>
25734
25735         * lib/nanosleep.c (SIGCONT): Define if not already defined.
25736
25737 2000-07-01  Jim Meyering  <meyering@lucent.com>
25738
25739         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
25740
25741 2000-07-01  Jim Meyering  <meyering@lucent.com>
25742
25743         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
25744         problem.
25745
25746 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
25747
25748         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
25749         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
25750
25751 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
25752
25753         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
25754         per change in ../m4/ls-mntd-fs.m4.
25755         (read_filesystem_list): Ignore symbolic links.
25756
25757 2000-06-29  Jim Meyering  <meyering@lucent.com>
25758
25759         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
25760         for declaration of strcmp.
25761
25762         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
25763
25764         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
25765         Avoid warning by casting result to `char *' to remove `const'.
25766
25767 2000-06-28  Jim Meyering  <meyering@lucent.com>
25768
25769         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
25770         included by quotearg.c, for which we perform this test.  From
25771         Bruno Haible.
25772
25773 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
25774
25775         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
25776         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
25777         <utmpx.h> exists, put readutmp.o into LIBOBJS.
25778
25779 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
25780
25781         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
25782
25783 2000-06-26  Paul Eggert  <eggert@twinsun.com>
25784
25785         savedir now sets errno on failure and invokes xmalloc to get memory.
25786         Fix a couple of other minor bugs while we're at it.
25787
25788         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
25789         (NAMLEN): Remove macro.
25790         (malloc, realloc): Remove decls.
25791         (stpcpy): Likewise.
25792         ("xalloc.h"): Include.
25793         (NAME_SIZE_DEFAULT): New macro.
25794         (savedir): Use xmalloc / xrealloc to allocate memory.
25795         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
25796         Skip "" directory entries.
25797         Use strlen to calculate directory entry length, since the old method
25798         is rarely used these days and isn't worth supporting.
25799         Don't use a pointer after freeing it.
25800         Check for integer overflow when calculating allocation size.
25801         Use memcpy to copy entries, instead of stpcpy.
25802         Set errno properly when returning NULL.
25803         Check for readdir error.
25804
25805 2000-06-26  Jim Meyering  <meyering@lucent.com>
25806
25807         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
25808
25809 2000-06-25  Jim Meyering  <meyering@lucent.com>
25810
25811         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
25812         Linux header bug when _XOPEN_SOURCE is defined to 500.
25813
25814 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
25815
25816         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
25817         deficiency.
25818
25819 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
25820
25821         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
25822         Include xalloc.h.
25823         Don't include <stdlib.h>.  Don't declare malloc, realloc.
25824
25825 2000-06-24  Jim Meyering  <meyering@lucent.com>
25826
25827         * m4/strerror_r.m4: Revive this file -- to try out an experimental
25828         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
25829         for which strerror does return char*, but which lacks a conveniently
25830         accessible declaration of the function.  If the compile-test says
25831         strerror_r doesn't work, then resort to a `run'-test that works on
25832         BeOS and segfaults on DEC Unix.
25833
25834 2000-06-24  Jim Meyering  <meyering@lucent.com>
25835
25836         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
25837
25838 2000-06-23  Paul Eggert  <eggert@twinsun.com>
25839
25840         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
25841         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
25842
25843 2000-06-23  Paul Eggert  <eggert@twinsun.com>
25844
25845         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
25846         (mbrtowc, mbstate_t): Define substitutes if
25847         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
25848         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
25849         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
25850
25851 2000-06-23  Jim Meyering  <meyering@lucent.com>
25852
25853         * m4/afs.m4: Add missing AC_MSG_RESULT.
25854         Reported by Bruno Haible.
25855
25856         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
25857         Suggestion from Bruno Haible.
25858
25859 2000-06-23  Jim Meyering  <meyering@lucent.com>
25860
25861         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
25862
25863 2000-06-21  Jim Meyering  <meyering@lucent.com>
25864
25865         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
25866
25867 2000-06-21  Jim Meyering  <meyering@lucent.com>
25868
25869         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
25870         (noinst_HEADERS): Add getstr.h.
25871
25872         * lib/getline.c (getstr): Move into a separate file.
25873         * lib/getstr.c (getstr): New file, extracted from getline.c, with
25874         the following changes: new parameter, delim2; both delim[12]
25875         parameters have type `int', not `char'.  The latter would lose
25876         with 8-bit delimiters.
25877         * lib/getstr.h: New file.
25878
25879 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
25880
25881         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
25882         than 1024, return a memory chunk of least possible size, instead
25883         of size PATH_MAX + 2. In the loop, increment the size proportionally.
25884         Use free/xmalloc instead of xrealloc to avoid copying for very long
25885         paths.
25886
25887 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
25888
25889         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
25890         the empty string.
25891
25892 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
25893
25894         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
25895         address, not strdup.  Include <stdlib.h> and don't declare free().
25896
25897 2000-06-19  Jim Meyering  <meyering@lucent.com>
25898
25899         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
25900
25901 2000-06-18  Jim Meyering  <meyering@lucent.com>
25902
25903         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
25904
25905         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
25906         `checking whether...' message to be consistent with that of the
25907         lstat test.
25908
25909 2000-06-18  Jim Meyering  <meyering@lucent.com>
25910
25911         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
25912         Besides, these days every porting target provides a mkdir function.
25913
25914         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
25915         needed. (this snippet comes from src/system.h).
25916
25917 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
25918
25919         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
25920
25921 2000-06-15  Paul Eggert  <eggert@twinsun.com>
25922
25923         * lib/human.c (adjust_value): New function.
25924         (human_readable_inexact): Apply rounding style even when
25925         printing approximate values.
25926
25927 2000-06-14  Paul Eggert  <eggert@twinsun.com>
25928
25929         * lib/human.c (human_readable_inexact): Allow an input block
25930         size that is not a multiple of the output block size, and vice versa.
25931         Reported by Piergiorgio Sartor.
25932
25933 2000-06-14  Paul Eggert  <eggert@twinsun.com>
25934
25935         * lib/getdate.y (get_date): Apply relative times after time
25936         zone indicator, not before.  Reported by Todd A. Jacobs.
25937
25938 2000-06-13  Jim Meyering  <meyering@lucent.com>
25939
25940         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
25941
25942         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
25943
25944 2000-06-12  Paul Eggert  <eggert@twinsun.com>
25945
25946         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
25947
25948 2000-06-12  Jim Meyering  <meyering@lucent.com>
25949
25950         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
25951         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
25952         optional argument.
25953         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
25954         the optional argument, `lib'.
25955
25956 2000-06-08  Jim Meyering  <meyering@lucent.com>
25957
25958         * m4/largefile.m4: Remove file (now that it's part of autoconf).
25959
25960 2000-06-04  Paul Eggert  <eggert@twinsun.com>