Declare strcasestr() in the <string.h> replacement, rather than in
[gnulib.git] / ChangeLog
1 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
2             Bruno Haible  <bruno@clisp.org>
3
4         * modules/strcasestr (Files): Remove lib/strcasestr.h.
5         (Depends-on): Add string.
6         (Includes): Use <string.h> instead of strcasestr.h.
7         * modules/string (Makefile.am): Also substitute the value of
8         REPLACE_STRCASESTR.
9         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
10         assume strcasestr is declared in <string.h> not <strings.h>. Also
11         set REPLACE_STRCASESTR.
12         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
13         REPLACE_STRCASESTR.
14         * lib/strcasestr.h: Remove file.
15         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
16         * lib/string_.h (strcasestr): New declaration.
17
18 2007-01-27  Bruno Haible  <bruno@clisp.org>
19
20         * lib/string_.h: Use 'extern'.
21
22 2007-01-27  Jim Meyering  <jim@meyering.net>
23
24         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
25         of set-but-not-used local, "q".
26
27         * lib/mempcpy.c: Include <config.h> before <string.h>.
28         This fixes a compilation error on HP-UX, due to the system's
29         "restrict"-using mempcpy prototype.
30
31 2007-01-26  Bruno Haible  <bruno@clisp.org>
32
33         Small optimization.
34         * lib/javacomp.c: Include c-strstr.h.
35          (is_envjavac_gcj): Use c_strstr instead of strstr.
36         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
37
38 2007-01-26  Bruno Haible  <bruno@clisp.org>
39
40         * MODULES.html.sh (Unicode string functions): Add the new modules.
41
42         * modules/uniconv/u32-strconv-to-locale: New file.
43         * lib/uniconv/u32-strconv-to-locale.c: New file.
44
45         * modules/uniconv/u16-strconv-to-locale: New file.
46         * lib/uniconv/u16-strconv-to-locale.c: New file.
47
48         * modules/uniconv/u8-strconv-to-locale: New file.
49         * lib/uniconv/u8-strconv-to-locale.c: New file.
50
51         * modules/uniconv/u32-strconv-from-locale: New file.
52         * lib/uniconv/u32-strconv-from-locale.c: New file.
53
54         * modules/uniconv/u16-strconv-from-locale: New file.
55         * lib/uniconv/u16-strconv-from-locale.c: New file.
56
57         * modules/uniconv/u8-strconv-from-locale: New file.
58         * lib/uniconv/u8-strconv-from-locale.c: New file.
59
60         * modules/uniconv/u32-strconv-to-enc: New file.
61         * lib/uniconv/u32-strconv-to-enc.c: New file.
62         * modules/uniconv/u32-strconv-to-enc-tests: New file.
63         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
64
65         * modules/uniconv/u16-strconv-to-enc: New file.
66         * lib/uniconv/u16-strconv-to-enc.c: New file.
67         * lib/uniconv/u-strconv-to-enc.h: New file.
68         * modules/uniconv/u16-strconv-to-enc-tests: New file.
69         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
70
71         * modules/uniconv/u8-strconv-to-enc: New file.
72         * lib/uniconv/u8-strconv-to-enc.c: New file.
73         * modules/uniconv/u8-strconv-to-enc-tests: New file.
74         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
75
76         * modules/uniconv/u32-strconv-from-enc: New file.
77         * lib/uniconv/u32-strconv-from-enc.c: New file.
78         * modules/uniconv/u32-strconv-from-enc-tests: New file.
79         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
80
81         * modules/uniconv/u16-strconv-from-enc: New file.
82         * lib/uniconv/u16-strconv-from-enc.c: New file.
83         * modules/uniconv/u16-strconv-from-enc-tests: New file.
84         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
85
86         * modules/uniconv/u8-strconv-from-enc: New file.
87         * lib/uniconv/u8-strconv-from-enc.c: New file.
88         * lib/uniconv/u-strconv-from-enc.h: New file.
89         * modules/uniconv/u8-strconv-from-enc-tests: New file.
90         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
91
92         * modules/uniconv/u32-conv-from-enc: New file.
93         * lib/uniconv/u32-conv-from-enc.c: New file.
94         * modules/uniconv/u32-conv-from-enc-tests: New file.
95         * tests/uniconv/test-u32-conv-from-enc.c: New file.
96
97         * modules/uniconv/u16-conv-from-enc: New file.
98         * lib/uniconv/u16-conv-from-enc.c: New file.
99         * lib/uniconv/u-conv-from-enc.h: New file.
100         * modules/uniconv/u16-conv-from-enc-tests: New file.
101         * tests/uniconv/test-u16-conv-from-enc.c: New file.
102
103         * modules/uniconv/u8-conv-from-enc: New file.
104         * lib/uniconv/u8-conv-from-enc.c: New file.
105         * modules/uniconv/u8-conv-from-enc-tests: New file.
106         * tests/uniconv/test-u8-conv-from-enc.c: New file.
107
108         * modules/uniconv/base: New file.
109         * lib/uniconv.h: New file.
110
111 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
112
113         * doc/gnulib-tool.texi (Initial import): Update to match current
114         behavior with strdup module.
115         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
116         * lib/memmem.h: Remove; all uses removed.  This is now done
117         by <string.h>.
118         * lib/mempcpy.h: Likewise.
119         * lib/memrchr.h: Likewise.
120         * lib/stpcpy.h: Likewise.
121         * lib/stpncpy.h: Likewise.
122         * lib/strcase.h: Likewise.
123         * lib/strchrnul.h: Likewise.
124         * lib/strdup.h: Likewise.
125         * lib/strndup.h: Likewise.
126         * lib/strnlen.h: Likewise.
127         * lib/strpbrk.h: Likewise.
128         * lib/strsep.h: Likewise.
129         * lib/strstr.h: Likewise.
130         * lib/strtok_r.h: Likewise.
131         * lib/string_.h: New file.
132         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
133         Rely on <string.h> instead.
134         * lib/canon-host.c: Likewise.
135         * lib/chdir-long.c: Likewise.
136         * lib/concatpath.c: Likewise.
137         * lib/exclude.c: Likewise.
138         * lib/fchdir.c: Likewise.
139         * lib/getaddrinfo.c: Likewise.
140         * lib/getcwd.c: Likewise.
141         * lib/getsubopt.c: Likewise.
142         * lib/glob.c: Likewise.
143         * lib/hard-locale.c: Likewise.
144         * lib/iconvme.c: Likewise.
145         * lib/javacomp.c: Likewise.
146         * lib/mempcpy.c: Likewise.
147         * lib/memrchr.c: Likewise.
148         * lib/regex_internal.h: Likewise.
149         * lib/stpncpy.c: Likewise.
150         * lib/strcasecmp.c: Likewise.
151         * lib/strchrnul.c: Likewise.
152         * lib/strdup.c: Likewise.
153         * lib/striconv.c: Likewise.
154         * lib/striconveh.c: Likewise.
155         * lib/striconveha.c: Likewise.
156         * lib/strncasecmp.c: Likewise.
157         * lib/strndup.c: Likewise.
158         * lib/strnlen.c: Likewise.
159         * lib/strsep.c: Likewise.
160         * lib/strstr.c: Likewise.
161         * lib/strtok_r.c: Likewise.
162         * lib/userspec.c: Likewise.
163         * lib/w32spawn.h: Likewise.
164         * lib/xstrndup.c: Likewise.
165         * lib/mountlist.c (strstr): Remove decl.
166         * m4/string_h.m4: New file.
167         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
168         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
169         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
170         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
171         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
172         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
173         Set REPLACE_STRCASECMP if necessary.
174         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
175         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
176         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
177         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
178         HAVE_DECL_STRDUP if necessary.
179         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
180         since gl_FUNC_STRNDUP does that now.
181         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
182         Check for decl here...
183         (gl_PREREQ_STRNLEN): ... not here.
184         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
185         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
186         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
187         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
188         necessary.
189         * modules/string: New file.
190         * modules/memmem (Files): Remove special-purpose include file.
191         (Depends-on): Add string.
192         (Include): Include <string.h>, not the removed file.
193         * modules/mempcpy: Likewise.
194         * modules/memrchr: Likewise.
195         * modules/stpcpy: Likewise.
196         * modules/stpncpy: Likewise.
197         * modules/strcase: Likewise.
198         * modules/strchrnul: Likewise.
199         * modules/strdup: Likewise.
200         * modules/strndup: Likewise.
201         * modules/strnlen: Likewise.
202         * modules/strpbrk: Likewise.
203         * modules/strsep: Likewise.
204         * modules/strstr: Likewise.
205         * modules/strtok_r: Likewise.
206         * tests/test-dirname.c: Don't include "strdup.h", since
207         <string.h> now suffices.
208         * tests/test-memmem.c: Don't include "memmem.h", since
209         <string.h> now suffices.
210
211 2007-01-25  Bruno Haible  <bruno@clisp.org>
212
213         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
214         *resultp is 0.
215
216         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
217         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
218         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
219         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
220
221         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
222         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
223         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
224         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
225         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
226         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
227
228 2007-01-24  Bruno Haible  <bruno@clisp.org>
229
230         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
231         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
232         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
233         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
234         gl_FUNC_FTS_CORE.
235         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
236         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
237         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
238         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
239         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
240         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
241         gl_FUNC_FCHOWNAT.
242         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
243         gl_FUNC_STRFTIME.
244         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
245         Reported by Ralf Wildenhues.
246
247 2007-01-24  Bruno Haible  <bruno@clisp.org>
248
249         Drop AC_REQUIRE calls that are redundant with the module dependencies.
250         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
251         gl_GETADDRINFO.
252         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
253         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
254         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
255
256 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
257
258         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
259         Don't use 'exit'; just return from 'main'.
260         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
261
262         * lib/fnmatch_.h: Readjust white space and comments to match
263         glibc, to avoid spurious diffs.
264
265 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
266
267         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
268         2004-12-01 change by Jakub Jelinek, since this code won't compile
269         if !LIBC.  Problem reported by Bob Proulx.
270
271 2007-01-23  Bruno Haible  <bruno@clisp.org>
272
273         * lib/striconveh.c: Include c-strcaseeq.h.
274         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
275         * modules/striconveh (Depends-on): Add c-strcaseeq.
276
277 2007-01-23  Bruno Haible  <bruno@clisp.org>
278
279         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
280
281         * modules/c-strcaseeq: New file.
282         * lib/c-strcaseeq.h: New file.
283
284         * modules/streq: New file.
285         * lib/streq.h: New file.
286
287 2007-01-23  Bruno Haible  <bruno@clisp.org>
288
289         * modules/striconveha-tests: New file.
290         * tests/test-striconveha.c: New file.
291
292         * lib/striconveha.h: Include <stdbool.h>.
293         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
294         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
295         (mem_iconveha_notranslit): Renamed from mem_iconveha.
296         (mem_iconveha): New function.
297         (str_iconveha_notranslit): Renamed from str_iconveha.
298         (str_iconveha): New function.
299         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
300         c-strcase.
301
302 2007-01-23  Bruno Haible  <bruno@clisp.org>
303
304         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
305         encodings without forgiving before trying any encoding with handler.
306         (str_iconveha): Try all encodings without forgiving before trying any
307         encoding with handler.
308
309 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
310
311         Import the following changes from libc.
312
313         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
314
315         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
316
317         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
318
319         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
320         normal_bracket label.
321
322         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
323
324         [BZ #361]
325         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
326         to normal_bracket after fetching the next character.
327
328 2007-01-22  Bruno Haible  <bruno@clisp.org>
329
330         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
331         argument.
332         * lib/striconveh.c (iconv_carefully_1): New function.
333         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
334         argument.
335         (str_cd_iconveh): Update.
336         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
337         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
338         * tests/test-striconveh.c (MAGIC): New macro.
339         (new_offsets): New function.
340         (main): Test call with and without offsets.
341
342 2007-01-22  Bruno Haible  <bruno@clisp.org>
343
344         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
345         * modules/sys_select (Makefile.am): Likewise.
346         * modules/sys_socket (Makefile.am): Likewise.
347         * modules/sys_time (Makefile.am): Likewise.
348
349 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
350
351         * modules/gettimeofday (License): Change from GPL to LGPL, since
352         gettimeofday is a library function.
353
354 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
355
356         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
357
358 2007-01-21  Bruno Haible  <bruno@clisp.org>
359
360         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
361
362 2007-01-21  Bruno Haible  <bruno@clisp.org>
363
364         * modules/striconveha: New file.
365         * lib/striconveha.h: New file.
366         * lib/striconveha.c: New file.
367         * MODULES.html.sh (Internationalization functions): Add striconveha.
368         * lib/striconv.c (str_iconv): Optimize the case of an empty input
369         string.
370         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
371
372 2007-01-21  Bruno Haible  <bruno@clisp.org>
373
374         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
375         * lib/striconveh.c (str_iconveh): Likewise.
376
377 2007-01-21  Bruno Haible  <bruno@clisp.org>
378
379         * lib/striconveh.h (mem_iconveh): New declaration.
380         * lib/striconveh.c (mem_iconveh): New function.
381         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
382
383 2007-01-21  Bruno Haible  <bruno@clisp.org>
384
385         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
386
387         * lib/striconveh.h (mem_cd_iconveh): Change specification.
388         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
389         original result buffer.
390         (str_cd_iconveh): Update.
391         * tests/test-striconveh.c (main): Update.
392
393         * lib/striconv.h (mem_cd_iconv): Change specification.
394         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
395         result buffer.
396         (str_cd_iconv): Update.
397         * tests/test-striconv.c (main): Update.
398
399 2007-01-21  Bruno Haible  <bruno@clisp.org>
400
401         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
402
403 2007-01-20  Jim Meyering  <jim@meyering.net>
404
405         * lib/userspec.c (parse_with_separator): If a user or group string
406         starts with "+", skip the corresponding name-to-ID look-up, since
407         such a look-up must fail: user and group names may not include "+".
408
409 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
410
411         * lib/poll.c: Include sys/time.h and time.h unconditionally,
412         since we now assume the sys_time module.
413         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
414         check for sys/time.h; no longer needed.
415         * modules/poll (Depends-on): Depend on sys_time.
416
417 2007-01-18  Bruno Haible  <bruno@clisp.org>
418
419         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
420         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
421
422         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
423         gettimeofday.
424
425         * tests/test-gettimeofday.c: Include <time.h>.
426         (dummy): Remove variable.
427
428         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
429         gl_HEADER_SYS_TIME_H.
430         (gl_HEADER_SYS_TIME_H): New macro.
431
432         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
433         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
434         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
435         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
436         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
437         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
438         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
439         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
440         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
441         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
442         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
443
444         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
445         last change; it caused a compilation error when cross-compiling to
446         Cygwin.
447
448 2007-01-18  Jim Meyering  <jim@meyering.net>
449
450         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
451         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
452         than the race-prone "test -d sys || mkdir sys".
453         (configure.ac): Use AC_PROG_MKDIR_P.
454         * modules/sys_select: Likewise.
455         * modules/sys_socket: Likewise.
456         * modules/sys_time: Likewise.
457
458 2007-01-18  Eric Blake  <ebb9@byu.net>
459
460         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
461         replace gettimeofday.
462         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
463         name, to avoid infinite recursion.
464
465 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
466
467         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
468         module sys_time.
469         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
470         assume timespec.h defines struct timeval.
471         * lib/settime.c: Likewise.
472         * lib/utimens.c: Likewise.
473         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
474         since we now assume the gettimeofday module.
475         * lib/tempname.c (__gen_tempname): Likewise.
476         * lib/gettimeofday.h: Remove.
477         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
478         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
479         Include <time.h>, for 'time()'.
480         (localtime_buffer_addr): Also use this workaround if
481         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
482         to simplify the uses.  All uses changed.
483         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
484         that #undef is inside {}, and 'const' follows type name consistently.
485         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
486         (gettimeofday): Do not use the maximum possible value for
487         tv->tv_usec, since that might break usages other than ls.c.
488         Instead, we'll leave ls.c alone.  This undoes today's patch
489         by Bruno.  Add a compile-time warning for 1s-clock resolution;
490         we've never observed the problem but might as well keep the
491         canary.
492         * lib/nanosleep.c: Include timespec.h first, for interface check.
493         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
494         now assume the sys_time module.
495         * lib/tempname.c: Likewise.
496         * lib/timespec.h: Likewise.
497         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
498         needed.
499         * lib/strftime.c: Likewise.
500         * lib/timespec.h: Likewise.
501         * lib/posixtm.c: Include posixtm.h first, for interface check.
502         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
503         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
504         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
505         * lib/sys_time_.h: New file.
506         * lib/timespec.h (struct timespec): Use long int, not long.
507         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
508         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
509         Remove obsolescent call to AC_HEADER_TIME.
510         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
511         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
512         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
513         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
514         Likewise.
515         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
516         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
517         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
518         into the sys_time module.  Check for gettimeofday just once.
519         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
520         for gettimeofday signature to just check the signature.  Merely
521         compile it, since linking doesn't test signature.  Improve test for
522         whether gettimeofday.o is actually needed.
523         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
524         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
525         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
526         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
527         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
528         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
529         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
530         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
531         than worrying about sys/time.h.
532         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
533         Don't bother worrying about TIME_WITH_SYS_TIME.
534         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
535         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
536         * m4/sys_time_h.m4: New file.
537         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
538         Don't include sys/time.h.  Return from main rather than exiting.
539         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
540         all uses changed.
541         * modules/gethrxtime (Depends-on): Add sys_time.
542         * modules/gettime (Depends-on): Likewise.
543         * modules/gettimeofday (Depends-on): Likewise.
544         * modules/nanosleep (Depends-on): Likewise.
545         * modules/settime (Depends-on): Likewise.
546         * modules/tempname (Depends-on): Likewise.
547         * modules/utimens (Depends-on): Likewise.
548         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
549         (Include:) Change back to <sys/time.h>.
550         (Maintainer:) Add self.
551         * modules/sys_time: New file.
552         * modules/tempname (Depends-on): Add gettimeofday.
553         * tests/test-gettimeofday.c: Include <sys/time.h>
554         rather than gettimeofday.h.
555
556 2007-01-17  Bruno Haible  <bruno@clisp.org>
557
558         * gnulib-tool (func_get_license): Revert last patch. Instead, let
559         the license default to GPL.
560         (func_create_testdir): Don't complain if a module is LGPL and its
561         tests module depends on GPLed modules.
562
563 2007-01-17  Bruno Haible  <bruno@clisp.org>
564
565         * lib/gettimeofday.c (gettimeofday): Add code for the case
566         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
567         maximum possible value for tv->tv_usec, rather than the minimum one.
568
569 2005-10-08  Martin Lambers  <marlam@marlam.de>
570 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
571 2007-01-16  Bruno Haible  <bruno@clisp.org>
572
573         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
574         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
575         gl_FUNC_GETTIMEOFDAY.
576         (Include): Add gettimeofday.h.
577         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
578         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
579         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
580         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
581         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
582         * lib/gettimeofday.h: New file.
583         * lib/gettimeofday.c: Include <sys/timeb.h>.
584         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
585         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
586         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
587         fall back on time().
588
589         * tests/test-gettimeofday.c: New file.
590         * modules/gettimeofday-tests: New file.
591
592 2007-01-16  Eric Blake  <ebb9@byu.net>
593
594         * modules/fnmatch (Depends-on): Depend on wchar.
595         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
596         * m4/fnmatch.m4: Likewise.
597         * modules/mbchar (Makefile.am): Assume <wchar.h>.
598         * m4/mbchar.m4: Likewise.
599         * modules/mbswidth (Depends-on): Depend on wchar.
600         * lib/mbswidth.c: Assume <wchar.h>.
601         * m4/mbswidth.m4: Likewise.
602         * modules/quotearg (Depends-on): Depend on wchar.
603         * lib/quotearg.c: Assume <wchar.h>.
604         * m4/quotearg.m4: Likewise.
605         * modules/regex (Depends-on): Depend on wchar.
606         * lib/regex_internal.h: Assume <wchar.h>.
607         * m4/regex.m4: Likewise.
608         * modules/stdint (Depends-on): Depend on wchar.
609         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
610         * m4/stdint.m4: Likewise.
611         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
612         * modules/strftime (Depends-on): Depend on wchar.
613         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
614         * modules/strtol (Depends-on): Depend on wchar.
615         * lib/strtol.c: Assume <wchar.h>.
616         * modules/wcwidth (Depends-on): Depend on wchar.
617         * lib/wcwidth.h: Assume <wchar.h>.
618         * m4/wcwidth.m4: Likewise.
619
620 2007-01-16  Bruno Haible  <bruno@clisp.org>
621
622         * modules/csharpexec-script: New, created from...
623         * modules/csharpexec: ... this.
624
625 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
626
627         * modules/javaexec-script: New, created from...
628         * modules/javaexec: ... this.
629
630 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
631
632         * modules/poll (Dependencies): Add sys_select.
633
634 2007-01-15  Jim Meyering  <jim@meyering.net>
635
636         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
637         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
638         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
639         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
640
641 2007-01-15  Bruno Haible  <bruno@clisp.org>
642
643         * modules/striconveh: New file.
644         * lib/striconveh.h: New file.
645         * lib/striconveh.c: New file.
646         * MODULES.html.sh (Internationalization functions): Add striconveh.
647
648         * modules/striconveh-tests: New file.
649         * tests/test-striconveh.c: New file.
650
651 2007-01-15  Bruno Haible  <bruno@clisp.org>
652
653         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
654         not from GNU libiconv or GNU libc.
655
656 2007-01-15  Bruno Haible  <bruno@clisp.org>
657
658         * doc/gnulib-intro.texi (Copyright): Explain the different license
659         terms for module descriptions, autoconf macros, tests, documentation.
660
661 2007-01-14  Bruno Haible  <bruno@clisp.org>
662
663         * modules/striconv-tests: New file.
664         * tests/test-striconv.c: New file.
665
666 2007-01-14  Bruno Haible  <bruno@clisp.org>
667
668         * modules/iconv-tests: New file.
669         * tests/test-iconv.c: New file.
670
671 2007-01-14  Bruno Haible  <bruno@clisp.org>
672
673         * gnulib-tool (func_get_license): For test modules, use the license of
674         the main module.
675
676 2007-01-14  Bruno Haible  <bruno@clisp.org>
677
678         * modules/iconv (Include): Clarify that <iconv.h> can only be included
679         if iconv is found to exist.
680
681 2007-01-14  Bruno Haible  <bruno@clisp.org>
682
683         * modules/c-ctype-tests: New file.
684         * tests/test-c-ctype.c: New file.
685
686 2007-01-14  Bruno Haible  <bruno@clisp.org>
687
688         * modules/binary-io-tests: New file.
689         * tests/test-binary-io.sh: New file.
690         * tests/test-binary-io.c: New file.
691
692 2007-01-14  Bruno Haible  <bruno@clisp.org>
693
694         * modules/array-oset-tests: New file.
695         * tests/test-array_oset.c: New file.
696
697 2007-01-14  Bruno Haible  <bruno@clisp.org>
698
699         * modules/array-list-tests: New file.
700         * tests/test-array_list.c: New file.
701
702 2007-01-14  Bruno Haible  <bruno@clisp.org>
703
704         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
705         and make.
706         Reported by Simon Josefsson in
707         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
708
709 2007-01-14  Bruno Haible  <bruno@clisp.org>
710
711         * modules/allocsa-tests: New file.
712         * tests/test-allocsa.c: New file.
713
714 2007-01-14  Bruno Haible  <bruno@clisp.org>
715
716         * modules/fchdir (Depends-on): Add absolute-header.
717         * modules/unistd (Depends-on): Likewise.
718
719 2006-12-30  Bruno Haible  <bruno@clisp.org>
720
721         * modules/fchdir: New file.
722         * modules/unistd (Files): Add lib/unistd_.h.
723         (Makefile.am): Generate unistd.h from unistd_.h.
724         * lib/fchdir.c: New file.
725         * lib/dirent_.h: New file.
726         * lib/unistd_.h: New file.
727         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
728         * m4/fchdir.m4: New file.
729         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
730         (gl_HEADER_UNISTD): Invoke it.
731         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
732         function.
733         * lib/backupfile.c (opendir, closedir): Undefine.
734         * lib/chown.c (open, close): Undefine.
735         * lib/clean-temp.c (open, close): Undefine.
736         * lib/copy-file.c (open, close): Undefine.
737         * lib/execute.c (open, close): Undefine.
738         * lib/fsusage.c (open, close): Undefine.
739         * lib/gc-gnulib.c (open, close): Undefine.
740         * lib/getcwd.c (opendir, closedir): Undefine.
741         * lib/glob.c (opendir, closedir): Undefine.
742         * lib/javacomp.c (open, close): Undefine.
743         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
744         * lib/openat-proc.c (open, close): Undefine.
745         * lib/pagealign_alloc.c (open, close): Undefine.
746         * lib/pipe.c (open, close): Undefine.
747         * lib/progreloc.c (open, close): Undefine.
748         * lib/savedir.c (opendir, closedir): Undefine.
749         * lib/utime.c (open, close): Undefine.
750         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
751
752 2007-01-10  Bruno Haible  <bruno@clisp.org>
753
754         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
755
756 2007-01-12  Eric Blake  <ebb9@byu.net>
757
758         Provide a robust <wchar.h>.  Further simplifications are now
759         possible in other modules, but not included here.
760         * modules/wchar: New module.
761         * m4/wchar.m4: New file.
762         * lib/wchar_.h: Likewise.
763         * modules/mbchar (Depends-on): Depend on wchar, as the first use
764         of the new module.
765         * MODULES.html.sh (Extended multibyte and wide character utilities):
766         New section.
767
768 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
769
770         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
771         to a reasonable default for memory allocation.
772         (xreadlink): Don't allocate a huge buffer, to work around a buggy
773         file system that reports garbage st_size values for symlinks.
774         Problem reported by Liyang Hu.
775
776 2007-01-11  Simon Josefsson  <simon@josefsson.org>
777
778         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
779         Emacs .#* auto-save files).
780
781 2007-01-11  Bruno Haible  <bruno@clisp.org>
782
783         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
784         directory.
785
786 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
787
788         Use @...@ consistently in lib/wctype_.h.
789         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
790         on it being set to 1 or 0.
791         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
792         go back to AC_SUBSTing it.
793         * modules/wctype (Makefile.am): Undo previous change.
794
795 2007-01-10  Eric Blake  <ebb9@byu.net>
796
797         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
798         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
799         * modules/wctype (Makefile.am): Likewise.
800         Reported by Chris McGuire.
801
802 2007-01-10  Jim Meyering  <jim@meyering.net>
803
804         fts.c: a small readability/maintainability improvement
805         * lib/fts.c (fts_read): Make this code slightly more readable and
806         maintainable by hoisting the "sp->fts_cur = p" assignments to
807         immediately follow the statements that set P.  Derived from
808         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
809
810 2007-01-10  Eric Blake  <ebb9@byu.net>
811
812         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
813         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
814         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
815         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
816         Reported by Chris McGuire.
817
818 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
819
820         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
821         in sed script.
822
823 2007-01-09  Bruno Haible  <bruno@clisp.org>
824
825         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
826         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
827         variables.
828         (func_module): Use them.
829
830 2007-01-09  Bruno Haible  <bruno@clisp.org>
831
832         * modules/unistr/base: New file.
833         * lib/unistr.h: New file.
834
835         * modules/unistr/u8-to-u16: New file.
836         * lib/unistr/u8-to-u16.c: New file.
837
838         * modules/unistr/u8-to-u32: New file.
839         * lib/unistr/u8-to-u32.c: New file.
840
841         * modules/unistr/u16-to-u8: New file.
842         * lib/unistr/u16-to-u8.c: New file.
843
844         * modules/unistr/u16-to-u32: New file.
845         * lib/unistr/u16-to-u32.c: New file.
846
847         * modules/unistr/u32-to-u8: New file.
848         * lib/unistr/u32-to-u8.c: New file.
849
850         * modules/unistr/u32-to-u16: New file.
851         * lib/unistr/u32-to-u16.c: New file.
852
853         * modules/unistr/u8-check: New file.
854         * modules/unistr/u16-check: New file.
855         * modules/unistr/u32-check: New file.
856         * lib/unistr/u8-check.c: New file.
857         * lib/unistr/u16-check.c: New file.
858         * lib/unistr/u32-check.c: New file.
859
860         * modules/unistr/u8-chr: New file.
861         * modules/unistr/u16-chr: New file.
862         * modules/unistr/u32-chr: New file.
863         * lib/unistr/u8-chr.c: New file.
864         * lib/unistr/u16-chr.c: New file.
865         * lib/unistr/u32-chr.c: New file.
866
867         * modules/unistr/u8-cmp: New file.
868         * modules/unistr/u16-cmp: New file.
869         * modules/unistr/u32-cmp: New file.
870         * lib/unistr/u8-cmp.c: New file.
871         * lib/unistr/u16-cmp.c: New file.
872         * lib/unistr/u32-cmp.c: New file.
873
874         * modules/unistr/u8-cpy: New file.
875         * modules/unistr/u16-cpy: New file.
876         * modules/unistr/u32-cpy: New file.
877         * lib/unistr/u8-cpy.c: New file.
878         * lib/unistr/u16-cpy.c: New file.
879         * lib/unistr/u32-cpy.c: New file.
880         * lib/unistr/u-cpy.h: New file.
881
882         * modules/unistr/u8-cpy-alloc: New file.
883         * modules/unistr/u16-cpy-alloc: New file.
884         * modules/unistr/u32-cpy-alloc: New file.
885         * lib/unistr/u8-cpy-alloc.c: New file.
886         * lib/unistr/u16-cpy-alloc.c: New file.
887         * lib/unistr/u32-cpy-alloc.c: New file.
888         * lib/unistr/u-cpy-alloc.h: New file.
889
890         * modules/unistr/u8-endswith: New file.
891         * modules/unistr/u16-endswith: New file.
892         * modules/unistr/u32-endswith: New file.
893         * lib/unistr/u8-endswith.c: New file.
894         * lib/unistr/u16-endswith.c: New file.
895         * lib/unistr/u32-endswith.c: New file.
896         * lib/unistr/u-endswith.h: New file.
897
898         * modules/unistr/u8-mblen: New file.
899         * modules/unistr/u16-mblen: New file.
900         * modules/unistr/u32-mblen: New file.
901         * lib/unistr/u8-mblen.c: New file.
902         * lib/unistr/u16-mblen.c: New file.
903         * lib/unistr/u32-mblen.c: New file.
904
905         * modules/unistr/u8-mbtouc: New file.
906         * modules/unistr/u16-mbtouc: New file.
907         * modules/unistr/u32-mbtouc: New file.
908         * lib/unistr/u8-mbtouc.c: New file.
909         * lib/unistr/u16-mbtouc.c: New file.
910         * lib/unistr/u32-mbtouc.c: New file.
911
912         * modules/unistr/u8-mbtouc-safe: New file.
913         * modules/unistr/u16-mbtouc-safe: New file.
914         * modules/unistr/u32-mbtouc-safe: New file.
915         * lib/unistr/u8-mbtouc-safe.c: New file.
916         * lib/unistr/u16-mbtouc-safe.c: New file.
917         * lib/unistr/u32-mbtouc-safe.c: New file.
918
919         * modules/unistr/u8-move: New file.
920         * modules/unistr/u16-move: New file.
921         * modules/unistr/u32-move: New file.
922         * lib/unistr/u8-move.c: New file.
923         * lib/unistr/u16-move.c: New file.
924         * lib/unistr/u32-move.c: New file.
925         * lib/unistr/u-move.h: New file.
926
927         * modules/unistr/u8-next: New file.
928         * modules/unistr/u16-next: New file.
929         * modules/unistr/u32-next: New file.
930         * lib/unistr/u8-next.c: New file.
931         * lib/unistr/u16-next.c: New file.
932         * lib/unistr/u32-next.c: New file.
933
934         * modules/unistr/u8-prev: New file.
935         * modules/unistr/u16-prev: New file.
936         * modules/unistr/u32-prev: New file.
937         * lib/unistr/u8-prev.c: New file.
938         * lib/unistr/u16-prev.c: New file.
939         * lib/unistr/u32-prev.c: New file.
940
941         * modules/unistr/u8-set: New file.
942         * modules/unistr/u16-set: New file.
943         * modules/unistr/u32-set: New file.
944         * lib/unistr/u8-set.c: New file.
945         * lib/unistr/u16-set.c: New file.
946         * lib/unistr/u32-set.c: New file.
947         * lib/unistr/u-set.h: New file.
948
949         * modules/unistr/u8-startswith: New file.
950         * modules/unistr/u16-startswith: New file.
951         * modules/unistr/u32-startswith: New file.
952         * lib/unistr/u8-startswith.c: New file.
953         * lib/unistr/u16-startswith.c: New file.
954         * lib/unistr/u32-startswith.c: New file.
955         * lib/unistr/u-startswith.h: New file.
956
957         * modules/unistr/u8-stpcpy: New file.
958         * modules/unistr/u16-stpcpy: New file.
959         * modules/unistr/u32-stpcpy: New file.
960         * lib/unistr/u8-stpcpy.c: New file.
961         * lib/unistr/u16-stpcpy.c: New file.
962         * lib/unistr/u32-stpcpy.c: New file.
963         * lib/unistr/u-stpcpy.h: New file.
964
965         * modules/unistr/u8-stpncpy: New file.
966         * modules/unistr/u16-stpncpy: New file.
967         * modules/unistr/u32-stpncpy: New file.
968         * lib/unistr/u8-stpncpy.c: New file.
969         * lib/unistr/u16-stpncpy.c: New file.
970         * lib/unistr/u32-stpncpy.c: New file.
971         * lib/unistr/u-stpncpy.h: New file.
972
973         * modules/unistr/u8-strcat: New file.
974         * modules/unistr/u16-strcat: New file.
975         * modules/unistr/u32-strcat: New file.
976         * lib/unistr/u8-strcat.c: New file.
977         * lib/unistr/u16-strcat.c: New file.
978         * lib/unistr/u32-strcat.c: New file.
979         * lib/unistr/u-strcat.h: New file.
980
981         * modules/unistr/u8-strchr: New file.
982         * modules/unistr/u16-strchr: New file.
983         * modules/unistr/u32-strchr: New file.
984         * lib/unistr/u8-strchr.c: New file.
985         * lib/unistr/u16-strchr.c: New file.
986         * lib/unistr/u32-strchr.c: New file.
987
988         * modules/unistr/u8-strcmp: New file.
989         * modules/unistr/u16-strcmp: New file.
990         * modules/unistr/u32-strcmp: New file.
991         * lib/unistr/u8-strcmp.c: New file.
992         * lib/unistr/u16-strcmp.c: New file.
993         * lib/unistr/u32-strcmp.c: New file.
994
995         * modules/unistr/u8-strcpy: New file.
996         * modules/unistr/u16-strcpy: New file.
997         * modules/unistr/u32-strcpy: New file.
998         * lib/unistr/u8-strcpy.c: New file.
999         * lib/unistr/u16-strcpy.c: New file.
1000         * lib/unistr/u32-strcpy.c: New file.
1001         * lib/unistr/u-strcpy.h: New file.
1002
1003         * modules/unistr/u8-strcspn: New file.
1004         * modules/unistr/u16-strcspn: New file.
1005         * modules/unistr/u32-strcspn: New file.
1006         * lib/unistr/u8-strcspn.c: New file.
1007         * lib/unistr/u16-strcspn.c: New file.
1008         * lib/unistr/u32-strcspn.c: New file.
1009         * lib/unistr/u-strcspn.h: New file.
1010
1011         * modules/unistr/u8-strdup: New file.
1012         * modules/unistr/u16-strdup: New file.
1013         * modules/unistr/u32-strdup: New file.
1014         * lib/unistr/u8-strdup.c: New file.
1015         * lib/unistr/u16-strdup.c: New file.
1016         * lib/unistr/u32-strdup.c: New file.
1017         * lib/unistr/u-strdup.h: New file.
1018
1019         * modules/unistr/u8-strlen: New file.
1020         * modules/unistr/u16-strlen: New file.
1021         * modules/unistr/u32-strlen: New file.
1022         * lib/unistr/u8-strlen.c: New file.
1023         * lib/unistr/u16-strlen.c: New file.
1024         * lib/unistr/u32-strlen.c: New file.
1025         * lib/unistr/u-strlen.h: New file.
1026
1027         * modules/unistr/u8-strmblen: New file.
1028         * modules/unistr/u16-strmblen: New file.
1029         * modules/unistr/u32-strmblen: New file.
1030         * lib/unistr/u8-strmblen.c: New file.
1031         * lib/unistr/u16-strmblen.c: New file.
1032         * lib/unistr/u32-strmblen.c: New file.
1033
1034         * modules/unistr/u8-strmbtouc: New file.
1035         * modules/unistr/u16-strmbtouc: New file.
1036         * modules/unistr/u32-strmbtouc: New file.
1037         * lib/unistr/u8-strmbtouc.c: New file.
1038         * lib/unistr/u16-strmbtouc.c: New file.
1039         * lib/unistr/u32-strmbtouc.c: New file.
1040
1041         * modules/unistr/u8-strncat: New file.
1042         * modules/unistr/u16-strncat: New file.
1043         * modules/unistr/u32-strncat: New file.
1044         * lib/unistr/u8-strncat.c: New file.
1045         * lib/unistr/u16-strncat.c: New file.
1046         * lib/unistr/u32-strncat.c: New file.
1047         * lib/unistr/u-strncat.h: New file.
1048
1049         * modules/unistr/u8-strncmp: New file.
1050         * modules/unistr/u16-strncmp: New file.
1051         * modules/unistr/u32-strncmp: New file.
1052         * lib/unistr/u8-strncmp.c: New file.
1053         * lib/unistr/u16-strncmp.c: New file.
1054         * lib/unistr/u32-strncmp.c: New file.
1055
1056         * modules/unistr/u8-strncpy: New file.
1057         * modules/unistr/u16-strncpy: New file.
1058         * modules/unistr/u32-strncpy: New file.
1059         * lib/unistr/u8-strncpy.c: New file.
1060         * lib/unistr/u16-strncpy.c: New file.
1061         * lib/unistr/u32-strncpy.c: New file.
1062         * lib/unistr/u-strncpy.h: New file.
1063
1064         * modules/unistr/u8-strnlen: New file.
1065         * modules/unistr/u16-strnlen: New file.
1066         * modules/unistr/u32-strnlen: New file.
1067         * lib/unistr/u8-strnlen.c: New file.
1068         * lib/unistr/u16-strnlen.c: New file.
1069         * lib/unistr/u32-strnlen.c: New file.
1070         * lib/unistr/u-strnlen.h: New file.
1071
1072         * modules/unistr/u8-strpbrk: New file.
1073         * modules/unistr/u16-strpbrk: New file.
1074         * modules/unistr/u32-strpbrk: New file.
1075         * lib/unistr/u8-strpbrk.c: New file.
1076         * lib/unistr/u16-strpbrk.c: New file.
1077         * lib/unistr/u32-strpbrk.c: New file.
1078         * lib/unistr/u-strpbrk.h: New file.
1079
1080         * modules/unistr/u8-strrchr: New file.
1081         * modules/unistr/u16-strrchr: New file.
1082         * modules/unistr/u32-strrchr: New file.
1083         * lib/unistr/u8-strrchr.c: New file.
1084         * lib/unistr/u16-strrchr.c: New file.
1085         * lib/unistr/u32-strrchr.c: New file.
1086
1087         * modules/unistr/u8-strspn: New file.
1088         * modules/unistr/u16-strspn: New file.
1089         * modules/unistr/u32-strspn: New file.
1090         * lib/unistr/u8-strspn.c: New file.
1091         * lib/unistr/u16-strspn.c: New file.
1092         * lib/unistr/u32-strspn.c: New file.
1093         * lib/unistr/u-strspn.h: New file.
1094
1095         * modules/unistr/u8-strstr: New file.
1096         * modules/unistr/u16-strstr: New file.
1097         * modules/unistr/u32-strstr: New file.
1098         * lib/unistr/u8-strstr.c: New file.
1099         * lib/unistr/u16-strstr.c: New file.
1100         * lib/unistr/u32-strstr.c: New file.
1101         * lib/unistr/u-strstr.h: New file.
1102
1103         * modules/unistr/u8-strtok: New file.
1104         * modules/unistr/u16-strtok: New file.
1105         * modules/unistr/u32-strtok: New file.
1106         * lib/unistr/u8-strtok.c: New file.
1107         * lib/unistr/u16-strtok.c: New file.
1108         * lib/unistr/u32-strtok.c: New file.
1109         * lib/unistr/u-strtok.h: New file.
1110
1111         * modules/unistr/u8-uctomb: New file.
1112         * modules/unistr/u16-uctomb: New file.
1113         * modules/unistr/u32-uctomb: New file.
1114         * lib/unistr/u8-uctomb.c: New file.
1115         * lib/unistr/u16-uctomb.c: New file.
1116         * lib/unistr/u32-uctomb.c: New file.
1117
1118         * MODULES.html.sh (Unicode string functions): Add the new modules.
1119
1120 2007-01-08  Bruno Haible  <bruno@clisp.org>
1121
1122         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
1123         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
1124         subdirectories.
1125
1126 2007-01-08  Karl Berry  <karl@gnu.org>
1127
1128         * doc/error.texi: mention that main() fns must set program_name
1129         when progname is used.
1130
1131 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
1132
1133         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
1134         WCTYPE_H is empty, for the benefit of builds from non-distclean
1135         directories.  Problem reported by Eric Blake in
1136         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
1137
1138 2007-01-08  Bruno Haible  <bruno@clisp.org>
1139
1140         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
1141         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
1142         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
1143         PROVIDE_CANONICALIZE_FILENAME_MODE.
1144         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
1145
1146 2007-01-08  Bruno Haible  <bruno@clisp.org>
1147
1148         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
1149         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
1150         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
1151         * lib/fts.c: Likewise.
1152         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
1153
1154 2006-12-25  Bruno Haible  <bruno@clisp.org>
1155
1156         * modules/utf8-ucs4-safe: New file.
1157         * lib/utf8-ucs4-safe.h: New file.
1158         * lib/unistr/utf8-ucs4-safe.c: New file.
1159
1160         * modules/utf16-ucs4-safe: New file.
1161         * lib/utf16-ucs4-safe.h: New file.
1162         * lib/unistr/utf16-ucs4-safe.c: New file.
1163
1164         * MODULES.html.sh (Unicode string functions): Add the new modules.
1165
1166 2007-01-08  Bruno Haible  <bruno@clisp.org>
1167
1168         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
1169         (Depends-on): Add unitypes.
1170         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
1171         (u8_mbtouc_aux): Move out to separate file.
1172         (u8_mbtouc): Use ucs4_t, uint8_t types.
1173         * lib/unistr/utf8-ucs4.c: New file.
1174
1175         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
1176         (Depends-on): Add unitypes.
1177         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
1178         (u16_mbtouc_aux): Move out to separate file.
1179         (u16_mbtouc): Use ucs4_t, uint16_t types.
1180         * lib/unistr/utf16-ucs4.c: New file.
1181
1182         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
1183         (Depends-on): Add unitypes.
1184         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
1185         (u8_uctomb_aux): Move out to separate file.
1186         (u8_uctomb): Use ucs4_t, uint8_t types.
1187         * lib/unistr/ucs4-utf8.c: New file.
1188
1189         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
1190         (Depends-on): Add unitypes.
1191         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
1192         (u16_uctomb_aux): Move out to separate file.
1193         (u16_uctomb): Use ucs4_t, uint16_t types.
1194         * lib/unistr/ucs4-utf16.c: New file.
1195
1196 2006-12-25  Bruno Haible  <bruno@clisp.org>
1197
1198         * modules/unitypes: New file.
1199         * lib/unitypes.h: New file.
1200         * MODULES.html.sh (func_all_modules): New section "Unicode string
1201         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
1202         this section. Add unitypes.
1203
1204 2007-01-08  Bruno Haible  <bruno@clisp.org>
1205
1206         Avoid variable names that conflict with those from libtool.
1207         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
1208         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
1209         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
1210         library_names_spec to acl_library_names_spec, hardcode_* to
1211         acl_hardcode_*.
1212         Reported by Ralf Wildenhues.
1213
1214 2007-01-08  Bruno Haible  <bruno@clisp.org>
1215
1216         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
1217         definition.
1218         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
1219         definition.
1220         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
1221         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
1222         definition.
1223         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
1224         definition.
1225         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
1226         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
1227         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
1228         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
1229         definition.
1230         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
1231         definition.
1232         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
1233         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
1234         GC_USE_<algorithm>.
1235         * lib/gc-libgcrypt.c: Likewise.
1236         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
1237         * modules/gc-arctwo (configure.ac): Likewise.
1238         * modules/gc-des (configure.ac): Likewise.
1239         * modules/gc-hmac-md5 (configure.ac): Likewise.
1240         * modules/gc-hmac-sha1 (configure.ac): Likewise.
1241         * modules/gc-md2 (configure.ac): Likewise.
1242         * modules/gc-md4 (configure.ac): Likewise.
1243         * modules/gc-md5 (configure.ac): Likewise.
1244         * modules/gc-random (configure.ac): Likewise.
1245         * modules/gc-rijndael (configure.ac): Likewise.
1246         * modules/gc-sha1 (configure.ac): Likewise.
1247
1248 2007-01-08  Bruno Haible  <bruno@clisp.org>
1249
1250         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
1251         macro definition.
1252         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
1253         definition.
1254         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
1255         definition.
1256         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
1257         * modules/fcntl-safer (configure.ac): Likewise.
1258         * modules/fopen-safer (configure.ac): Likewise.
1259         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
1260         GNULIB_FWRITEERROR macro definition.
1261
1262 2007-01-08  Bruno Haible  <bruno@clisp.org>
1263
1264         * m4/gnulib-common.m4: New file.
1265         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
1266         (func_get_filelist): Add m4/gnulib-common.m4.
1267
1268 2007-01-08  Bruno Haible  <bruno@clisp.org>
1269
1270         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
1271         command.
1272
1273 2007-01-08  Jim Meyering  <jim@meyering.net>
1274
1275         Use a more robust test for a "can't happen" condition.
1276         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
1277         narrowed the st_size value.  Presuming the "can't happen" condition
1278         is true, that narrowing could conceivably convert an invalid st_size
1279         value into a valid one.  Instead, use a change based on Matthew
1280         Woehlke's original patch.
1281
1282         Slight readability improvement: use an assert-like macro
1283         in place of literal "abort ()" uses.
1284         * lib/fts.c (fts_assert): Define.
1285         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
1286         Use this macro instead of a bare 'abort'.
1287
1288 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1289
1290         Don't worry about using IRIX 5.3's wctype.h broken definitions;
1291         simply work around them.
1292         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
1293         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
1294         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before declaring.
1295         Don't bother to define as macros, since the standard doesn't require it.
1296         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
1297         longer worry about IRIX 5.3.
1298         (HAVE_WCTYPE_CTMP_BUG): Remove.
1299
1300 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1301
1302         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
1303         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
1304         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
1305         Problems reported by Georg Schwarz for IRIX 5.3.
1306
1307         * gnulib-tool (autoconf_minversion): Take the maximum version number
1308         found, not the minimum.  Problem reported by James Youngman.
1309
1310 2007-01-03  Karl Berry  <karl@gnu.org>
1311
1312         * doc/error.texi: new file, explaining interaction with progname.
1313         * doc/gnulib.texi: include it.  Update copyright.
1314
1315 2007-01-03  Simon Josefsson  <simon@josefsson.org>
1316
1317         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
1318         AC_CANONICAL_HOST, to improve autobuild outputs.
1319
1320 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
1321             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
1322
1323         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
1324         sockets, server sockets, and other file descriptors.  Count errors
1325         to compute the return value.  Reorder the code a bit to be easier
1326         to follow.  Don't set event bits that were not requested (except
1327         POLLERR and POLLHUP).
1328
1329 2007-01-01  Bruno Haible  <bruno@clisp.org>
1330
1331         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
1332
1333 2007-01-03  Jim Meyering  <jim@meyering.net>
1334
1335         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
1336
1337 2007-01-02  Bruno Haible  <bruno@clisp.org>
1338
1339         * modules/settime (Include): Require timespec.h.
1340         * modules/nanosleep (Include): Likewise.
1341
1342 2007-01-01  Bruno Haible  <bruno@clisp.org>
1343
1344         * gnulib-tool (func_emit_copyright_notice): Bump year.
1345         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
1346
1347 2007-01-01  Bruno Haible  <bruno@clisp.org>
1348
1349         Improve support for OpenBSD.
1350         * build-aux/config.rpath (libname_spec): Export.
1351         (library_names_spec): New variable. Export.
1352         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
1353         library_names_spec from the config.rpath output. Locate shared library
1354         through the name pattern in library_names_spec.
1355
1356 2007-01-01  Eric Blake  <ebb9@byu.net>
1357
1358         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
1359
1360 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1361
1362         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
1363         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
1364         assume the C locale, and avoid an "eval" that could cause trouble.
1365         Problem with SORT reported by Bob Proulx.
1366
1367         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
1368         Define.  Trivial patch from Henning Nielsen Lund, originally
1369         sent to bug-grep@gnu.org today.
1370
1371 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1372
1373         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
1374         struct stat.  Problem reported by Henning Nielsen Lund.
1375         * lib/acl.c: Include acl.h first, to check interface.  Don't
1376         bother to include sys/types.h and sys/stat.h again.
1377
1378 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
1379
1380         Import the following change from libc; problem reported by
1381         Sven Verdoolaege.
1382
1383         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
1384
1385         [BZ #1373]
1386         * lib/argp.h: Remove __NTH for __argp_usage inline function.
1387
1388 2006-12-28  Jim Meyering  <jim@meyering.net>
1389
1390         * build-aux/announce-gen: Do not assume that the package
1391         builds any of tar.gz, tar.bz2, and .xdelta files.
1392         Suggestion from Simon Josefsson.
1393
1394 2006-12-28  Simon Josefsson  <simon@josefsson.org>
1395
1396         * modules/announce-gen: New file.
1397
1398 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1399
1400         * lib/mbchar.h: Just include <wctype.h>; the wctype module
1401         handles its gotchas now.
1402         * lib/mbswidth.c: Likewise.
1403         * lib/wcwidth.h: Likewise.
1404         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
1405         and iswcntrl; the wctype module does this stuff now.
1406         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1407         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1408         * modules/mbchar (Depends-on): Add wctype.
1409         * modules/mbswidth (Depends-on): Likewise.
1410         * modules/wcwidth (Depends-on): Likewise.
1411
1412 2006-12-27  Eric Blake  <ebb9@byu.net>
1413
1414         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
1415         module uses more than what <wctype.h> is required to provide.
1416
1417 2006-12-26  Eric Blake  <ebb9@byu.net>
1418
1419         * gnulib-tool (sed_extract_prog): Avoid space-tab.
1420
1421 2006-12-26  Eric Blake  <ebb9@byu.net>
1422
1423         * modules/absolute-header: New module.
1424         * modules/fcntl (Depends-on): Depend on it.
1425         * modules/inttypes (Depends-on): Likewise.
1426         * modules/stdint (Depends-on): Likewise.
1427         * modules/sys_stat (Depends-on): Likewise.
1428         * modules/wctype (Depends-on): Likewise.
1429         * MODULES.html.sh (Support for building libraries and
1430         executables): Document it.
1431
1432 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1433
1434         * gnulib-tool (SED): Remove, undoing previous change.
1435         The problem was that it broke coreutils on Solaris, because
1436         "sed --posix" leaked into a makefile.
1437         (sed): New alias, if 'alias' and GNU sed.
1438
1439 2006-12-24  Jim Meyering  <jim@meyering.net>
1440
1441         Work around an fchownat bug in glibc-2.4:
1442         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
1443         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
1444         in spite of the -P option.
1445         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
1446         New macros.
1447         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
1448         * modules/openat (Files): Add lib/fchownat.c.
1449         * lib/openat.c (fchownat): Don't define here.  Move to...
1450         * lib/fchownat.c: ...this new file.
1451
1452 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1453
1454         Fix bug reported by Bruno Haible in
1455         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
1456         where quotearg.c didn't compile on Mac OS X 10.2 because it
1457         lacks <wchar.h> and wint_t.
1458         * lib/wctype_.h (__wctype_wint_t): New type.
1459         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
1460         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
1461         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
1462         Arg is now of type __wctype_wint_t, not wint_t.
1463         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
1464         substitute HAVE_WINT_T.
1465         * modules/wctype (Files): Add m4/wint_t.m4.
1466         (wctype.h): Substitute HAVE_WINT_T.
1467
1468 2006-12-23  Bruno Haible  <bruno@clisp.org>
1469
1470         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
1471
1472 2006-12-23  Bruno Haible  <bruno@clisp.org>
1473
1474         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
1475         S_ISLNK.
1476         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
1477         mingw.
1478
1479 2006-12-22  Bruno Haible  <bruno@clisp.org>
1480
1481         * lib/copy-file.c: Include acl.h.
1482         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
1483         Close the file descriptors only after being done with copy_acl.
1484         * modules/copy-file (Depends-on): Add acl.
1485
1486 2006-12-22  Bruno Haible  <bruno@clisp.org>
1487
1488         * gnulib-tool (SED): New variable.
1489         Use $SED instead of sed everywhere.
1490
1491 2006-12-22  Bruno Haible  <bruno@clisp.org>
1492
1493         * modules/no-c++: New file.
1494         * m4/no-c++.m4: New file.
1495         * MODULES.html.sh (Support for building libraries and executables):
1496         Add no-c++.
1497
1498 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1499
1500         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
1501         Include <limits.h>, and use its INT_MAX to rewrite the
1502         j loop so that it does not overflow 'int'.  Problem reported by
1503         Ralf Wildenhues in
1504         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
1505         Play it safe by shifting left by 1 rather than multiplying by 2,
1506         as GCC is less likely to optimize this away when the value
1507         is signed (when it assumes overflow leads to undefined behavior).
1508         Also, don't assume time_t uses two's complement.
1509
1510 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1511
1512         * MODULES.html.sh: New module wctype.
1513         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
1514         * lib/fnmatch.c: Don't bother to include <wchar.h> before
1515         <wctype.h>, since the new wctype module should fix this.
1516         * lib/quotearg.c: Include <wctype.h> unconditionally, since
1517         the wctype module should arrange for it.
1518         * lib/regex_internal.h: Likewise.
1519         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
1520         since the wctype module should handle this now.
1521         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
1522         * modules/fnmatch (Depends-on): Add wctype.
1523         * modules/quotearg (Depends-on): Likewise.
1524         * modules/regex (Depends-on): Likewise.
1525
1526 2006-12-19  Bruno Haible  <bruno@clisp.org>
1527
1528         * lib/strdup.h [C++]: Wrap definitions in extern "C".
1529         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
1530
1531 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1532
1533         * modules/savewd (Depends-on): Fix dependency on fcntl.
1534
1535 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1536
1537         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
1538         conforms to C99, rather than relying on the user's environment
1539         setting of STDINT_H.
1540
1541 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1542         and Eric Blake  <ebb9@byu.net>
1543
1544         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
1545         This is more consistent with the other defines here.
1546         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
1547         Port to z/OS.  Problem reported by Paul Gilmartin.
1548         Change local vars to use gl_ prefix rather than ac_.
1549         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
1550         with other defines.
1551         * modules/double-slash-root: New module.
1552         * modules/dirname (Files): Remove m4/double-slash-root.m4.
1553         (Depends-on): Add double-slash-root.
1554         * MODULES.html.sh (File system functions): Mention new module.
1555
1556 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
1557
1558         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
1559         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
1560         This is for the benefit of gzip, which doesn't do i18n.
1561
1562 2006-12-12  Jim Meyering  <jim@meyering.net>
1563
1564         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
1565         Reported by Andreas Schwab <schwab@suse.de>.
1566
1567 2006-12-12  Bruno Haible  <bruno@clisp.org>
1568
1569         Merge these changes.
1570         2006-09-05  Bruno Haible  <bruno@clisp.org>
1571         * lib/iconvme.c (iconv_string): No need to save and restore errno when
1572         iconv_alloc succeeded.
1573         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
1574         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
1575         test for " && dest " at the end - dest is always != NULL there. Call
1576         iconv with 4xNULL arguments initially, to reset the state. Call iconv
1577         with 2xNULL arguments, also to flush the state storage. Handle the
1578         IRIX iconv behaviour. Realloc the final result, to throw away unused
1579         memory.
1580
1581 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1582
1583         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
1584         and fchmodat unconditionally, since glibc 2.4 has them.
1585         Problem reported by Arkadiusz Miskiewicz.
1586
1587 2006-12-10  Bruno Haible  <bruno@clisp.org>
1588
1589         * gnulib-tool (func_import): Show the include files only for those
1590         modules that are copied and specified.
1591         Reported by Karl Berry.
1592
1593 2006-12-08  Jim Meyering  <jim@meyering.net>
1594
1595         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
1596         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
1597
1598         * build-aux/announce-gen: Add two new options, both optional:
1599         --bootstrap-tools=TOOL_LIST
1600               a comma-separated list of tools, e.g.,
1601               autoconf,automake,bison,gnulib
1602         --gnulib-snapshot-date=DATE
1603               if gnulib is in the bootstrap tool list,
1604               then report this as the snapshot date.
1605               If not specified, use the current date/time.
1606               If you specify a date here, be sure it's UTC.
1607
1608 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1609
1610         * tests/test-argp-2.sh: Fix test to match actual output.
1611         (func_compare): Fix sed script to be portable.
1612
1613 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1614
1615         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
1616         workaround for this case.  It is not autoconfigured now; offhand
1617         it's hard to see how to autoconfigure it.
1618
1619 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
1620
1621         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
1622         a directory that is about to be chowned.  Such a directory's
1623         initial file permissions should permit the owner only and this
1624         should not be changed until after the chown, since the group and
1625         other bits would be incorrect if they granted permission before
1626         the chown.
1627
1628         Fix porting problem for iswctype reported by Georg Schwarz in:
1629         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
1630         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
1631         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
1632         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
1633         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
1634
1635 2006-12-03  Jim Meyering  <jim@meyering.net>
1636
1637         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
1638         p->fts_statp may not yet be defined.
1639         (fts_read): Instead, set it in the caller, once p->fts_statp is
1640         sure to be defined, and corresponds to a top-level directory.
1641         This bug made du -x fail.  Here's the coreutils test case:
1642         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
1643         Reported by Mike Frysinger.
1644
1645 2006-12-01  Jim Meyering  <jim@meyering.net>
1646
1647         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
1648         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
1649         Reported by Simon Josefsson.
1650
1651 2006-11-30  Jim Meyering  <jim@meyering.net>
1652
1653         * m4/warning.m4: Use the all-permissive copyright notice
1654         recommended by RMS (rather than LGPL).
1655         * m4/vararrays.m4: Likewise.
1656         * m4/flexmember.m4: Likewise.
1657
1658 2006-11-29  Bruno Haible  <bruno@clisp.org>
1659
1660         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
1661         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
1662         using +=.
1663         Reported by Simon Josefsson <simon@josefsson.org>.
1664
1665 2006-11-28  James Youngman <jay@gnu.org>
1666
1667         * README: Advise users that they might find the bug-gnulib@gnu.org
1668         and autotools-announce@gnu.org mailing lists useful.
1669
1670 2006-11-28  Bruno Haible  <bruno@clisp.org>
1671
1672         * m4/ptrdiff_max.m4: Remove file.
1673
1674 2006-11-21  Bruno Haible  <bruno@clisp.org>
1675
1676         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
1677         _AC_COMPUTE_INT.
1678         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1679         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
1680         _AC_COMPUTE_INT.
1681         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1682         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
1683         _AC_COMPUTE_INT.
1684         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1685
1686 2006-11-28  Jim Meyering  <jim@meyering.net>
1687
1688         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
1689         warning from "gcc -Wshadow" about shadowing the builtin.
1690
1691 2006-11-27  Bruno Haible  <bruno@clisp.org>
1692
1693         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
1694         _AC_COMPUTE_INT.
1695         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1696
1697 2006-11-27  Bruno Haible  <bruno@clisp.org>
1698             Paul Eggert  <eggert@cs.ucla.edu>
1699
1700         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
1701
1702 2006-11-26  Bruno Haible  <bruno@clisp.org>
1703
1704         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
1705         noinst_LTLIBRARIES.
1706
1707 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
1708             Bruno Haible  <bruno@clisp.org>
1709
1710         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
1711         if compiling with "gcc -ansi".
1712
1713 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
1714
1715         Fix some incompatibilities with gcc -ansi -pedantic.
1716         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
1717         if compiling pedantically with GCC, unless it's C99 or later.
1718         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
1719         it mishandles gcc -ansi -pedantic as well.
1720         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
1721         if gcc -pedantic.
1722         * lib/regexec.c (check_node_accept_bytes): Don't use auto
1723         initializers for struct if -pedantic, unless it's C99 or later.
1724
1725 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
1726
1727         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
1728         Don't close an fd more than once. Identical atimes indicate
1729         success, not failure.
1730
1731 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
1732
1733         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
1734
1735 2006-11-23  Jim Meyering  <jim@meyering.net>
1736
1737         * build-aux/announce-gen: New file.  From coreutils.
1738
1739 2006-11-22  Jim Meyering  <jim@meyering.net>
1740
1741         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
1742         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
1743         (fts_read): Use a temporary to narrow the overused st_size member
1744         before using it in a switch statement.  Reported by Matthew Woehlke.
1745
1746         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
1747         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
1748
1749 2006-11-20  Bruno Haible  <bruno@clisp.org>
1750
1751         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
1752         changequote instead of pairs of brackets.
1753         Reported by Andreas Schwab <schwab@suse.de>.
1754
1755 2006-11-21  Jim Meyering  <jim@meyering.net>
1756
1757         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
1758         so as to remain compatible with older compilers.
1759         Patch from Michael Deutschmann.
1760
1761 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
1762
1763         * MODULES.html.sh (File system functions): Add openat.
1764
1765         * lib/openat.h (rpl_fstatat): New macro, if
1766         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
1767         (fstatat): Define to rpl_fstatat under the same conditions,
1768         unless COMPILING_FSTATAT.
1769         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
1770         seems to have the bug.
1771         * lib/fstatat.c: New file.
1772         * modules/openat (Files): Add it.
1773
1774 2006-11-20  Bruno Haible  <bruno@clisp.org>
1775
1776         * Makefile: New file.
1777
1778 2006-11-20  Jim Meyering  <jim@meyering.net>
1779
1780         The beginnings of syntax-related checks for gnulib.
1781         * lib/Makefile: New file.
1782         * lib/t-idcache: New script.  Ensure that the two halves of
1783         idcache.c stay in sync.
1784
1785         * lib/idcache.c: Adjust comments in user- and group- portions to
1786         be more accurate, and to be consistent with one another.
1787
1788 2006-11-20  Jim Meyering  <jim@meyering.net>
1789
1790         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
1791         continue using the flexible array member (thus, this module performs
1792         half as many malloc calls), with the addition that...
1793         (getgroup, getuser): Consistently record a non-match via an empty
1794         "name" string, and map an empty string match to a NULL return value.
1795         * modules/idcache (Depends-on): Re-add flexmember.
1796
1797         * lib/idcache.c (getuser): Remove all uses of the register keyword.
1798         (getuidbyname, getgroup, getgidbyname): Likewise.
1799
1800         Use cleaner syntax: NULL rather than 0.
1801         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
1802
1803 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
1804
1805         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
1806         It mishandled the case where the group was missing.
1807         Problem reported by Greg Schafer.
1808         * modules/idcache: Likewise.
1809
1810 2006-11-18  Jim Meyering  <jim@meyering.net>
1811
1812         * check-module (%exempt_header): Add exception for some
1813         conditionally-included headers.
1814
1815         * modules/i-ring (Depends-on): Add verify.
1816         (License): Change to LGPL.
1817
1818 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
1819
1820         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
1821         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
1822         and inttostr.h.  Use snprintf rather than uinttostr, so that
1823         LGPLed code doesn't depend on GPLed.
1824
1825 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
1826
1827         * modules/inline (License): Change from GPL to LGPL.
1828
1829 2006-11-17  Jim Meyering  <jim@meyering.net>
1830
1831         * modules/d-type (License): Switch to LGPL.
1832
1833 2006-11-15  Bruno Haible  <bruno@clisp.org>
1834
1835         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
1836
1837 2006-11-15  Eric Blake  <ebb9@byu.net>
1838
1839         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
1840         the module dependency.
1841
1842 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
1843             Bruno Haible  <bruno@clisp.org>
1844
1845         * gnulib-tool (func_create_testdir): Add license consistency check.
1846
1847 2006-11-15  Eric Blake  <ebb9@byu.net>
1848
1849         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
1850         random "(cached)" in configure output.
1851
1852 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1853
1854         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
1855         test for conforming inttypes.h is both announced and cached.
1856
1857         * MODULES.html.sh (seen_modules, seen_files): New variables.
1858         (func_module): Rewrite to use a few less gnulib-tool and sed
1859         invocations.  Avoid a couple of quadratic algorithms for ...
1860         (missed_modules, missed_files): ... these, with ...
1861         (func_append, func_tmpdir): ... these new functions, from
1862         gnulib-tool.  Analogously, install traps for cleanup.
1863
1864         * tests/test-gc.c (main): Remove unused variables.
1865         * tests/test-read-file.c: Include stdlib.h, for 'free'.
1866
1867 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
1868
1869         * modules/inttostr (License): Change to LGPL.
1870
1871 2006-11-14  Eric Blake  <ebb9@byu.net>
1872
1873         * modules/tempname (License): Change to LGPL.
1874
1875 2006-11-14  Eric Blake  <ebb9@byu.net>
1876
1877         * doc/functions.texi (Function Portability): *printf functions on
1878         Cygwin now understand all POSIX size specifiers.
1879
1880 2006-11-14  Bruno Haible  <bruno@clisp.org>
1881
1882         * modules/c-ctype (License): Change to LGPL.
1883
1884 2006-11-12  Bruno Haible  <bruno@clisp.org>
1885
1886         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
1887         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
1888         for GNOME libraries, for which the include files are installed in
1889         subdirectories of $prefix/include.
1890
1891 2006-11-12  Bruno Haible  <bruno@clisp.org>
1892
1893         * m4/lib-link.m4: Require at least autoconf-2.54.
1894         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
1895         name to underscores for the --with option.
1896
1897 2006-11-13  Bruno Haible  <bruno@clisp.org>
1898
1899         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
1900         the tests directory.
1901         Reported by Ralf Wildenhues.
1902
1903 2006-11-13  Bruno Haible  <bruno@clisp.org>
1904
1905         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
1906         (func_emit_initmacro_end): Undo the override here.
1907         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
1908         Works around the famous automake error in coreutils.
1909
1910 2006-11-13  Eric Blake  <ebb9@byu.net>
1911
1912         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
1913         element, not its node.
1914
1915 2006-11-12  Bruno Haible  <bruno@clisp.org>
1916
1917         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
1918         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
1919
1920 2006-11-12  Bruno Haible  <bruno@clisp.org>
1921
1922         * gnulib-tool: New option --local-symlink.
1923         (func_usage): Document it.
1924         (lsymbolic): New variable.
1925         (func_import, func_create_testdir): If --symlink was not specified,
1926         test whether --local-symlink was specified and the file comes from
1927         the local_gnulib_dir.
1928
1929 2006-11-12  Bruno Haible  <bruno@clisp.org>
1930
1931         * gnulib-tool (func_ln): New function.
1932         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
1933
1934 2006-11-12  Bruno Haible  <bruno@clisp.org>
1935
1936         Finish support for source files in subdirectories.
1937         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
1938         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
1939         AUTOMAKE_OPTIONS.
1940         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
1941
1942 2006-11-12  Bruno Haible  <bruno@clisp.org>
1943
1944         * gnulib-tool (func_get_automake_snippet): Synthesize also an
1945         EXTRA_lib_SOURCES augmentation.
1946         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
1947
1948 2006-11-12  Jim Meyering  <jim@meyering.net>
1949
1950         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
1951         file descriptors.  This also averts a failure on systems with
1952         native openat support when a traversed directory lacks "x" access.
1953         * lib/fts_.h: Include "i-ring.h"
1954         (struct FTS) [fts_fd_ring]: New member.
1955         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
1956         (FCHDIR): Add parentheses.
1957         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
1958         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
1959         When descending, rather than simply closing the previous
1960         fts_cwd_fd value, push that file descriptor onto the ring.
1961         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
1962         (fts_open): Initialize the new fd_ring member.
1963         (fts_close): Clear the ring.
1964         (fts_safe_changedir): When possible, use our new fd_ring to skip
1965         the diropen and fstat and dev/ino comparison that would normally
1966         accompany a virtual `chdir ("..")'.
1967
1968         * modules/fts (Depends-on): Add i-ring.
1969         * modules/i-ring: New module.
1970         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
1971         * m4/i-ring.m4: New file.
1972
1973 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1974
1975         * gnulib-tool (func_create_testdir): Fix replacement of
1976         `build-aux' in configure.ac.  Run autotools in gltests
1977         subdirectory.
1978         (func_create_testdir, func_create_megatestdir, test): There is
1979         no need for '--force' in most autotool invocations in a new
1980         tree.  Actually fail the whole test if any of the tools, or the
1981         configure or make stages fail.
1982
1983         Sync from Automake.
1984         * build-aux/gnupload: Revert last change.  Add pointer to upload
1985         instructions of the GNU Maintenance Instructions.
1986         Suggestion by Karl Berry.
1987
1988 2006-11-10  Jim Meyering  <jim@meyering.net>
1989
1990         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
1991
1992 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1993
1994         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
1995         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
1996         (bind_textdomain_codeset) [! ENABLE_NLS]:
1997         Evaluate all the arguments.  That way, callers get compatible behavior
1998         if the arguments have side effects.  Also, it avoids some GCC
1999         diagnostics in some cases; Joel E. Denny reported problems when Bison
2000         was configured with --enable-gcc-warnigs.
2001
2002 2006-11-10  Jim Meyering  <jim@meyering.net>
2003
2004         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
2005         relevant options in CFLAGS (like -O, -fno-inline) are taken into
2006         account.
2007
2008 2006-11-10  Jim Meyering  <jim@meyering.net>
2009
2010         * modules/inline: New file/module.
2011         * modules/xalloc (Files): Remove m4/inline.m4.
2012         (Depends-on): Add inline, instead.
2013         * modules/oset: Likewise.
2014         * modules/list: Likewise.
2015
2016 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2017
2018         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
2019         Problem reported by Matthew Woehlke.
2020
2021 2006-11-09  Bruno Haible  <bruno@clisp.org>
2022
2023         * lib/tempname.c (gen_tempname): Remove variant that invokes
2024         __gen_tempname.
2025         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
2026         __gen_tempname.
2027
2028 2006-11-08  Bruno Haible  <bruno@clisp.org>
2029
2030         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
2031         to 'yes' instead of 'cross-compiling'.
2032
2033 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
2034
2035         * lib/quotearg.h (quotearg_free): New decl.
2036         * lib/quotearg.c (quotearg_free): New function.
2037         (slot0, nslots, slotvec0, slotvec):
2038         Now file-scope so that quotearg_free can get at them.
2039
2040 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2041
2042         Sync from Automake.
2043         * build-aux/gnupload: Add missing 'gnu' to example URL.
2044         Report by Karl Berry.
2045
2046 2006-11-08  Bruno Haible  <bruno@clisp.org>
2047
2048         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
2049         Suggested by Paul Eggert.
2050
2051 2006-11-08  Jim Meyering  <jim@meyering.net>
2052
2053         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
2054         It's already included if !_LIBC.
2055         (fts_safe_changedir): Add a comment.
2056
2057 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2058
2059         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
2060         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
2061         Matthew Woehlke.
2062
2063         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
2064         definitions up, to avoid colliding with change below.
2065         (static_inline) [HAVE_INLINE]: New macro.
2066         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
2067         Provide extern decls when !HAVE_INLINE.  Do not define unless
2068         static_inline is defined, either by us or by xmalloc.c.  Use
2069         static_inline rather than static inline.
2070         (XCALLOC): Optimize sizeof(T) = 1 case.
2071         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
2072
2073 2006-11-07  Bruno Haible  <bruno@clisp.org>
2074
2075         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
2076         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
2077         AC_C_INLINE.
2078         * modules/xalloc (Files): Add m4/inline.m4.
2079
2080 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2081
2082         * README: Fix typo.
2083         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
2084         (Miscellanous Notes): ...from this.
2085
2086 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2087
2088         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
2089         Mention that offsetof should be used instead of sizeof.
2090         From Bruno Haible.
2091
2092 2006-11-07  Bruno Haible  <bruno@clisp.org>
2093
2094         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
2095
2096 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
2097
2098         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
2099         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
2100         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
2101         (gl_tree_add_before, gl_tree_add_after):
2102         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
2103         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
2104         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
2105         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
2106         (gl_linked_add_after, gl_linked_add_at): Likewise.
2107         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
2108         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
2109         (gl_tree_add_before, gl_tree_add_after): Likewise.
2110         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
2111         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
2112         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
2113
2114 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2115
2116         * lib/gl_oset.h: Use C comment style, not C++ comment style.
2117
2118 2006-11-06  Bruno Haible  <bruno@clisp.org>
2119
2120         * m4/inline.m4: New file.
2121         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
2122         * modules/list (Files): Add m4/inline.m4.
2123         * modules/oset (Files): Likewise.
2124
2125 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
2126
2127         * lib/idcache.c: Include <stddef.h>, for offsetof.
2128         (struct userid.name): Change from char * to a flexible array member.
2129         All uses changed.
2130         * modules/idcache (Depends-on): Add flexmember.
2131
2132         * MODULES.html.sh (Core language properties): New module flexmember.
2133         * modules/flexmember, m4/flexmember.m4: New files.
2134
2135         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
2136         inline functions that are identical with the old xnmalloc_inline,
2137         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
2138         that we can avoid some unnecessary integer multiplications and
2139         divisions in the common case where the element size is known at
2140         compile time.
2141         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
2142         needed.
2143         (xnboundedmalloc): Remove.
2144         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
2145         arguments, for consistency with rest of this header.
2146         (xcharalloc): Rewrite using XNMALLOC.
2147         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
2148         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
2149         versions have been moved to lib/xalloc.h and renamed to be the
2150         non-*_inline versions.
2151         (xmalloc, xrealloc): Implement without reference to the xnmalloc
2152         and xnrealloc functions, since those functions are now inline and
2153         now call us.
2154         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
2155         renaming described above.
2156         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
2157         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
2158         captures the dependency in AC_C_INLINE.
2159
2160         New module canonicalize-lgpl, proposed by Charles Wilson in
2161         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
2162         with a few small changes afterwards.
2163         * MODULES.html.sh (File system functions): New module
2164         canonicalize-lgpl.
2165         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
2166         and canonicalize_file_name.
2167         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
2168         * modules/canonicalize-lgpl: New files.
2169
2170 2006-11-05  Bruno Haible  <bruno@clisp.org>
2171
2172         * gnulib-tool (func_import, func_create_testdir): Create directories
2173         also for files in subdirectories of lib/.
2174
2175 2006-11-05  Bruno Haible  <bruno@clisp.org>
2176
2177         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
2178         ANSI C compliant.
2179
2180 2006-11-03  Bruno Haible  <bruno@clisp.org>
2181
2182         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
2183         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
2184         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
2185         (xnboundedmalloc): New inline function.
2186         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
2187         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
2188         xmalloc.
2189         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
2190         xmalloc.
2191         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
2192         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
2193         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
2194         xmalloc.
2195         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
2196         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
2197         xmalloc.
2198         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
2199         gl_tree_add_after): Use XMALLOC instead of xmalloc.
2200         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
2201         xmalloc.
2202         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
2203         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
2204         gl_tree_add_after): Use XMALLOC instead of xmalloc.
2205         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
2206         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
2207         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
2208         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
2209
2210 2006-11-03  Bruno Haible  <bruno@clisp.org>
2211
2212         * lib/c-ctype.h [C++]: Define functions without name mangling.
2213         * lib/fwriteerror.h [C++]: Likewise.
2214         * lib/gcd.h [C++]: Likewise.
2215         * lib/linebreak.h [C++]: Likewise.
2216
2217 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
2218
2219         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
2220         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
2221         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
2222         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
2223         Check for functions and headers just once.
2224         Check for declaration of canonicalize_file_name.
2225         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
2226
2227 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
2228
2229         * gnulib-tool (func_import): Fix typo in actioncmd.
2230
2231 2006-11-02  Bruno Haible  <bruno@clisp.org>
2232
2233         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
2234         newline sequence in the Makefile.am snippet as a space, like "make"
2235         does.
2236         Reported by Roger Persson <perrog@gmail.com>.
2237
2238 2006-11-01  Bruno Haible  <bruno@clisp.org>
2239
2240         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
2241         already declared in <string.h>.
2242         * lib/strcase.h (strncasecmp): Don't declare it if yes.
2243
2244 2006-11-01  Bruno Haible  <bruno@clisp.org>
2245
2246         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
2247         * lib/strcase.h: Include <string.h>.
2248         (strcasecmp): Define to rpl_strcasecmp here.
2249
2250 2006-11-01  Bruno Haible  <bruno@clisp.org>
2251
2252         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
2253
2254 2006-11-01  Eric Blake  <ebb9@byu.net>
2255
2256         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
2257
2258         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
2259
2260 2006-10-29  Bruno Haible  <bruno@clisp.org>
2261
2262         Make it compile in C++ mode.
2263         * lib/full-write.c (full_rw): Add a cast.
2264
2265 2006-11-01  Bruno Haible  <bruno@clisp.org>
2266
2267         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
2268         be POSIX compliant.
2269         Reported by Roger Persson <perrog@gmail.com>.
2270
2271 2006-11-01  Eric Blake  <ebb9@byu.net>
2272
2273         * lib/getopt_.h: Fix comments.
2274
2275 2006-10-31  Eric Blake  <ebb9@byu.net>
2276
2277         * modules/tmpdir (Depends-on): Add sys_stat.
2278         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
2279         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
2280         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
2281         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
2282         tempname.
2283
2284 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
2285
2286         Avoid some C++ diagnostics reported by Bruno Haible.
2287         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
2288         xmalloc.
2289         (quotearg_alloc): Use xcharalloc rather than xmalloc.
2290         (struct slotvec): Move to top level.
2291         (quotearg_n_options): Rewrite to avoid xmalloc.
2292         * lib/xalloc.h (xcharalloc): New function.
2293         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
2294         [defined __cplusplus]: Add function template that provides result
2295         type propagation.  This part of the change is from Bruno Haible.
2296
2297 2006-10-29  Bruno Haible  <bruno@clisp.org>
2298
2299         Make it compile in C++ mode.
2300         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
2301         * lib/strnlen1.c (strnlen1): Cast memchr result.
2302         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
2303         * lib/clean-temp.c (string_equals, string_hash): Add casts.
2304         (create_temp_dir): Rename local variable 'template'.
2305         (compile_csharp_using_sscli): Add cast.
2306         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
2307         * lib/findprog.c (find_in_path): Likewise.
2308         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
2309         * lib/wait-process.c (register_slave_subprocess): Likewise.
2310
2311 2006-10-22  Bruno Haible  <bruno@clisp.org>
2312
2313         * modules/tsearch: New file.
2314         * lib/tsearch.h: New file.
2315         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
2316         * m4/tsearch.m4: New file.
2317         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
2318
2319 2006-10-29  Eric Blake  <ebb9@byu.net>
2320
2321         * lib/arcfour.c: Assume config.h.
2322         * lib/arctwo.c: Likewise.
2323         * lib/base64.c: Likewise.
2324         * lib/check-version.c: Likewise.
2325         * lib/crc.c: Likewise.
2326         * lib/des.c: Likewise.
2327         * lib/gc-gnulib.c: Likewise.
2328         * lib/gc-libgcrypt.c: Likewise.
2329         * lib/gc-pbkdf2-sha1.c: Likewise.
2330         * lib/getaddrinfo.c: Likewise.
2331         * lib/getdelim.c: Likewise.
2332         * lib/getline.c: Likewise.
2333         * lib/hmac-md5.c: Likewise.
2334         * lib/hmac-sha1.c: Likewise.
2335         * lib/iconvme.c: Likewise.
2336         * lib/md2.c: Likewise.
2337         * lib/md4.c: Likewise.
2338         * lib/memxor.c: Likewise.
2339         * lib/read-file.c: Likewise.
2340         * lib/readline.c: Likewise.
2341         * lib/rijndael-alg-fst.c: Likewise.
2342         * lib/rijndael-api-fst.c: Likewise.
2343         * lib/xgetdomainname.c: Likewise.
2344
2345 2006-10-28  Eric Blake  <ebb9@byu.net>
2346
2347         * lib/xstrndup.c: Assume config.h.
2348
2349 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
2350
2351         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
2352         stat-macros.h is now for our own macros, whereas stat_h is for
2353         macros in the <sys/stat.h> name space.
2354         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
2355         (STAT_MACROS_H): Remove.
2356         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
2357         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
2358         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
2359         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
2360         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
2361         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
2362         Move these macros to ...
2363         * lib/stat_.h: here.  Don't include stat-macros.h.
2364         * lib/canonicalize.c: Don't include stat-macros.h.
2365         * lib/chown.c: Likewise.
2366         * lib/euidaccess.c: Likewise.
2367         * lib/file-type.c: Likewise.
2368         * lib/filemode.c: Likewise.
2369         * lib/glob.c: Likewise.
2370         * lib/isapipe.c: Likewise.
2371         * lib/lchown.c: Likewise.
2372         * lib/lstat.c: Likewise.
2373         * lib/mkdir-p.c: Likewise.
2374         * lib/rmdir.c: Likewise.
2375         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
2376         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
2377         unless mkdir isn't declared, to speed up 'configure'.
2378         Always create sys/stat.h, since it's unlikely any real sys/stat.h
2379         would define all the S_* symbols.
2380         * modules/canonicalize (Depends-on):
2381         Depend on sys_stat, not stat-macros.
2382         * modules/chown: Likewise.
2383         * modules/euidaccess: Likewise.
2384         * modules/filemode: Likewise.
2385         * modules/file-type: Likewise.
2386         * modules/glob: Likewise.
2387         * modules/isapipe: Likewise.
2388         * modules/lchown: Likewise.
2389         * modules/lstat: Likewise.
2390         * modules/mkancesdirs: Likewise.
2391         * modules/rmdir: Likewise.
2392         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
2393         * modules/modechange: Likewise.
2394         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
2395         (configure.ac): Remove gl_STAT_MACROS.
2396         * modules/sys_stat (Depends-on): Remove stat-macros.
2397
2398 2006-10-27  Bruno Haible  <bruno@clisp.org>
2399
2400         * m4/signed.m4: Remove file.
2401         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
2402         invocation.
2403         * modules/vasnprintf (Files): Remove m4/signed.m4.
2404
2405 2006-10-27  Bruno Haible  <bruno@clisp.org>
2406
2407         Update to GNU gettext 0.16.
2408         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
2409         m4/inttypes-h.m4, m4/signed.m4.
2410         * m4/gettext.m4: Update to GNU gettext 0.16.
2411         * m4/intl.m4: New file, from GNU gettext.
2412         * m4/intldir.m4: New file, from GNU gettext.
2413         * config/srclist.txt: Update
2414
2415 2006-10-27  Eric Blake  <ebb9@byu.net>
2416
2417         * MODULES.html.sh: Document tempname.
2418         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
2419         dependencies.
2420         (Files): Move lib/tempname.c...
2421         * modules/tempname: ...to this new module.
2422         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
2423         (gl_PREREQ_TEMPNAME): Move...
2424         * m4/tempname.m4: ...to this new file.
2425         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
2426         * modules/sys_stat (Depends-on): Add stat-macros.
2427         * lib/stat_.h (includes): Pick up stat macros.
2428         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
2429         if stat macros are broken.
2430         * lib/tempname.c (includes): No need to include "stat-macros.h".
2431         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
2432         (direxists, __path_search) [!_LIBC]: Don't compile these in
2433         gnulib; the tmpdir module covers that.
2434         * lib/tempname.h: New file.
2435
2436 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
2437
2438         * COPYING: Explain how gnulib-tool converts licence headers.
2439         Almost all wording by Eric Blake.
2440
2441 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
2442
2443         * lib/mbchar.h (is_basic_table): Make read-only.
2444         * lib/mbchar.c (is_basic_table): Likewise.
2445         Reported by John Darrington.
2446
2447 2006-10-25  Bruno Haible  <bruno@clisp.org>
2448
2449         * lib/progname.h (set_program_name): Undefine before defining.
2450
2451 2006-10-25  Bruno Haible  <bruno@clisp.org>
2452
2453         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
2454         false for non-gcc C++ compilers.
2455         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
2456
2457 2006-10-24  Bruno Haible  <bruno@clisp.org>
2458
2459         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
2460         iconv implementations like Irix iconv.
2461
2462 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2463
2464         * modules/vararrays: New file.
2465         * m4/vararrays.m4: New file, taken from diffutils.
2466         * MODULES.html.sh: New module vararrays.
2467
2468 2006-10-24  Karl Berry  <karl@gnu.org>
2469
2470         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
2471         Don't call GNU Unix.
2472
2473 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2474
2475         * users.txt: Add Libtool.
2476
2477         Sync from Libtool:
2478
2479         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2480
2481         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
2482         to gnulib's policy of including config.h unconditionally.
2483
2484 2006-10-24  Bruno Haible  <bruno@clisp.org>
2485
2486         * modules/wcwidth (Files): Add m4/wint_t.m4.
2487         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
2488         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
2489
2490 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2491
2492         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
2493         to pacify GCC with some -W flags enabled.  Problem reported by
2494         Bruno Haible.
2495
2496 2006-10-24  Jim Meyering  <jim@meyering.net>
2497
2498         * MODULES.html.sh: Remove uinttostr.  It's not a module.
2499         Reported by Karl Berry.
2500
2501 2006-10-23  Bruno Haible  <bruno@clisp.org>
2502
2503         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
2504
2505 2006-10-24  Bruno Haible  <bruno@clisp.org>
2506
2507         * lib/gl_list.h: Use C comment style, not C++ comment style.
2508
2509 2006-10-23  Eric Blake  <ebb9@byu.net>
2510
2511         * lib/getaddrinfo.c (includes): Add missing include.
2512
2513 2006-10-23  Bruno Haible  <bruno@clisp.org>
2514             Paul Eggert  <eggert@cs.ucla.edu>
2515
2516         Ability to rename obstack_free.
2517         * lib/obstack.h (__obstack_free): New macro. Declare instead of
2518         obstack_free.
2519         (obstack_free): Invoke the __obstack_free macro.
2520         * lib/obstack.c (obstack_free): Use __obstack_free macro.
2521
2522 2006-10-23  Bruno Haible  <bruno@clisp.org>
2523             Paul Eggert  <eggert@cs.ucla.edu>
2524
2525         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
2526         __argc, __argv from the declaration. (They are defined as macros on
2527         mingw.)
2528
2529 2006-10-22  Bruno Haible  <bruno@clisp.org>
2530
2531         * doc/gnulib-intro.texi: New file.
2532         * doc/gnulib.texi: Include it.
2533
2534 2006-10-21  Bruno Haible  <bruno@clisp.org>
2535
2536         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
2537         "Introduction", "Miscellanous Notes", "Particular Modules".
2538
2539 2006-10-21  Bruno Haible  <bruno@clisp.org>
2540
2541         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2542         Change mostlyclean-local rule to avoid sh syntax error from bash
2543         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
2544
2545 2006-10-23  Jim Meyering  <jim@meyering.net>
2546
2547         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
2548         in place of snprintf.
2549
2550         * modules/inttostr (Files): Add lib/uinttostr.c.
2551         * lib/uinttostr.c (inttostr): New file/function.
2552         * lib/inttostr.h (uinttostr): Declare.
2553         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
2554         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
2555         Add uinttostr.
2556         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
2557
2558 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
2559
2560         * lib/canonicalize.c (ELOOP): Define if not already defined.
2561         Problem reported by Bruno Haible in
2562         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
2563
2564 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
2565
2566         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
2567         Problem reported by Perry Smith and Ville Laurikari.
2568
2569         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
2570         uses.
2571
2572 2006-10-19  Bruno Haible  <bruno@clisp.org>
2573
2574         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
2575         for mingw.
2576
2577 2006-10-19  Bruno Haible  <bruno@clisp.org>
2578
2579         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
2580         Needed for mingw.
2581
2582 2006-10-19  Bruno Haible  <bruno@clisp.org>
2583
2584         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
2585
2586 2006-10-19  Bruno Haible  <bruno@clisp.org>
2587
2588         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
2589         it.
2590
2591 2006-10-19  Bruno Haible  <bruno@clisp.org>
2592
2593         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
2594         invocation.
2595
2596 2006-10-19  Bruno Haible  <bruno@clisp.org>
2597
2598         * gnulib-tool (func_create_testdir): Don't include ftruncate and
2599         mountlist by default.
2600
2601 2006-10-16  Bruno Haible  <bruno@clisp.org>
2602
2603         * lib/c-strstr.c: Include c-strstr.h.
2604
2605 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
2606
2607         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
2608         in a slash.
2609
2610 2006-10-18  Bruno Haible  <bruno@clisp.org>
2611
2612         * lib/lock.h [C++]: Wrap definitions in extern "C".
2613
2614 2006-10-18  Bruno Haible  <bruno@clisp.org>
2615
2616         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
2617         gl_LIBOBJS list.
2618
2619 2006-10-18  Bruno Haible  <bruno@clisp.org>
2620
2621         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
2622
2623 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
2624
2625         * lib/xstrtol.h: Include gettext.h.
2626         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
2627         Problem reported by Eric Blake.
2628         * modules/xstrtol (Depends-on): Add gettext-h.
2629
2630 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
2631
2632         * lib/strftime.c (advance): New macro.
2633         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
2634         incomplete type, so you can't add 0 to it.  Problem and patch
2635         reported by Eelco Dolstra for dietlibc.
2636
2637 2006-10-18  Jim Meyering  <jim@meyering.net>
2638
2639         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
2640         type for a local, and rename it: s/up/user_proc/.
2641
2642 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
2643
2644         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
2645         READ_UTMP_USER_PROCESS.
2646         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
2647
2648 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
2649
2650         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
2651         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
2652
2653 2006-10-17  Eric Blake  <ebb9@byu.net>
2654
2655         * lib/sigprocmask.c (sigprocmask): Fix typo.
2656
2657         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
2658
2659         * modules/clean-temp (Makefile.am): Don't add to make output...
2660         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
2661         config.h.
2662
2663 2006-10-17  Bruno Haible  <bruno@clisp.org>
2664
2665         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
2666         differently if DEFAULT_TEXT_DOMAIN is set.
2667
2668 2006-10-16  Bruno Haible  <bruno@clisp.org>
2669
2670         * lib/clean-temp.c: Include fwriteerror.h.
2671
2672 2006-10-16  Bruno Haible  <bruno@clisp.org>
2673
2674         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
2675
2676 2006-10-16  Bruno Haible  <bruno@clisp.org>
2677
2678         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
2679         * lib/sigprocmask.h: Include <sys/types.h>.
2680         (sigset_t): Use the system's definition if present.
2681
2682 2006-10-17  Eric Blake  <ebb9@byu.net>
2683
2684         * lib/xvasprintf.c (includes): Assume config.h.
2685         * lib/xasprintf.c (includes): Likewise.
2686
2687 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2688
2689         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
2690         at least as wide as intmax_t.
2691
2692 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
2693
2694         (Imported from Automake.)
2695         * build-aux/gnupload: Update to version 1.1 of directive file.
2696
2697 2006-10-16  Eric Blake  <ebb9@byu.net>
2698
2699         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
2700         match Automake 1.10a.
2701
2702 2006-10-14  Bruno Haible  <bruno@clisp.org>
2703
2704         * modules/sigprocmask: New file.
2705         * lib/sigprocmask.h: New file.
2706         * lib/sigprocmask.c: New file.
2707         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
2708         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
2709         request sigprocmask.o.
2710         (gl_PREREQ_SIGPROCMASK): New macro.
2711         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
2712         (Depends-on): Add sigprocmask.
2713         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
2714         gt_SIGNALBLOCKING. Test for 'raise' only once.
2715         * lib/fatal-signal.c: Include sigprocmask.h.
2716         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
2717         unblock_fatal_signals): Define always.
2718         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
2719         sigprocmask.
2720
2721 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2722
2723         Sync from Automake.
2724         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
2725         which incorrectly sets the mode of an existing destination
2726         directory.  In some cases the unpatched install-sh could do the
2727         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
2728         system.  We hope this is rare in practice, but it's clearly worth
2729         fixing.  Problem reported by Alex Unleashed in
2730         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
2731         Also, don't bother to check for -m bugs unless we're using -m;
2732         suggested by Stepan Kasal.
2733
2734 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2735
2736         Sync from Automake.
2737         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
2738         `-c' flag, so they appear at the same position as in %FASTDEP%
2739         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
2740         which ignores unknown options only after the first non-option.
2741         Bug report against M4 by Nelson H. F. Beebe.
2742
2743 2006-10-13  Jim Meyering  <jim@meyering.net>
2744
2745         Fix a bug in yesterday's change.
2746         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
2747         p->fts_statp->st_dev would be used uninitialized.
2748         Ensures that we always call fts_stat on the very first entry.
2749         Miklos Szeredi reported that find -xdev stopped working.
2750
2751 2006-10-12  Bruno Haible  <bruno@clisp.org>
2752
2753         * gnulib-tool (func_get_automake_snippet): Append an automatically
2754         computed EXTRA_DIST augmentation.
2755         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
2756         * modules/alloca-opt (Makefile.am): Likewise.
2757         * modules/allocsa (Makefile.am): Likewise.
2758         * modules/arcfour (Makefile.am): Likewise.
2759         * modules/arctwo (Makefile.am): Likewise.
2760         * modules/argmatch (Makefile.am): Likewise.
2761         * modules/argz (Makefile.am): Likewise.
2762         * modules/atexit (Makefile.am): Likewise.
2763         * modules/backupfile (Makefile.am): Likewise.
2764         * modules/byteswap (Makefile.am): Likewise.
2765         * modules/c-strtod (Makefile.am): Likewise.
2766         * modules/c-strtold (Makefile.am): Likewise.
2767         * modules/calloc (Makefile.am): Likewise.
2768         * modules/canon-host (Makefile.am): Likewise.
2769         * modules/canonicalize (Makefile.am): Likewise.
2770         * modules/chdir-long (Makefile.am): Likewise.
2771         * modules/chdir-safer (Makefile.am): Likewise.
2772         * modules/check-version (Makefile.am): Likewise.
2773         * modules/chown (Makefile.am): Likewise.
2774         * modules/cloexec (Makefile.am): Likewise.
2775         * modules/close-stream (Makefile.am): Likewise.
2776         * modules/closeout (Makefile.am): Likewise.
2777         * modules/crc (Makefile.am): Likewise.
2778         * modules/csharpexec (Makefile.am): Likewise.
2779         * modules/cycle-check (Makefile.am): Likewise.
2780         * modules/des (Makefile.am): Likewise.
2781         * modules/dev-ino (Makefile.am): Likewise.
2782         * modules/dirfd (Makefile.am): Likewise.
2783         * modules/dirname (Makefile.am): Likewise.
2784         * modules/dup2 (Makefile.am): Likewise.
2785         * modules/eealloc (Makefile.am): Likewise.
2786         * modules/error (Makefile.am): Likewise.
2787         * modules/euidaccess (Makefile.am): Likewise.
2788         * modules/exclude (Makefile.am): Likewise.
2789         * modules/exitfail (Makefile.am): Likewise.
2790         * modules/fcntl-safer (Makefile.am): Likewise.
2791         * modules/fcntl (Makefile.am): Likewise.
2792         * modules/file-type (Makefile.am): Likewise.
2793         * modules/fileblocks (Makefile.am): Likewise.
2794         * modules/filemode (Makefile.am): Likewise.
2795         * modules/filenamecat (Makefile.am): Likewise.
2796         * modules/fnmatch (Makefile.am): Likewise.
2797         * modules/fopen-safer (Makefile.am): Likewise.
2798         * modules/fpending (Makefile.am): Likewise.
2799         * modules/fprintftime (Makefile.am): Likewise.
2800         * modules/free (Makefile.am): Likewise.
2801         * modules/fsusage (Makefile.am): Likewise.
2802         * modules/ftruncate (Makefile.am): Likewise.
2803         * modules/fts (Makefile.am): Likewise.
2804         * modules/gc-arcfour (Makefile.am): Likewise.
2805         * modules/gc-des (Makefile.am): Likewise.
2806         * modules/gc-hmac-md5 (Makefile.am): Likewise.
2807         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
2808         * modules/gc-md4 (Makefile.am): Likewise.
2809         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
2810         * modules/gc-sha1 (Makefile.am): Likewise.
2811         * modules/gc (Makefile.am): Likewise.
2812         * modules/getaddrinfo (Makefile.am): Likewise.
2813         * modules/getcwd (Makefile.am): Likewise.
2814         * modules/getdelim (Makefile.am): Likewise.
2815         * modules/getdomainname (Makefile.am): Likewise.
2816         * modules/getgroups (Makefile.am): Likewise.
2817         * modules/gethostname (Makefile.am): Likewise.
2818         * modules/gethrxtime (Makefile.am): Likewise.
2819         * modules/getline (Makefile.am): Likewise.
2820         * modules/getloadavg (Makefile.am): Likewise.
2821         * modules/getlogin_r (Makefile.am): Likewise.
2822         * modules/getndelim2 (Makefile.am): Likewise.
2823         * modules/getopt (Makefile.am): Likewise.
2824         * modules/getpagesize (Makefile.am): Likewise.
2825         * modules/getpass-gnu (Makefile.am): Likewise.
2826         * modules/getpass (Makefile.am): Likewise.
2827         * modules/getsubopt (Makefile.am): Likewise.
2828         * modules/gettime (Makefile.am): Likewise.
2829         * modules/gettimeofday (Makefile.am): Likewise.
2830         * modules/getugroups (Makefile.am): Likewise.
2831         * modules/getusershell (Makefile.am): Likewise.
2832         * modules/glob (Makefile.am): Likewise.
2833         * modules/group-member (Makefile.am): Likewise.
2834         * modules/hard-locale (Makefile.am): Likewise.
2835         * modules/hash (Makefile.am): Likewise.
2836         * modules/hmac-md5 (Makefile.am): Likewise.
2837         * modules/hmac-sha1 (Makefile.am): Likewise.
2838         * modules/human (Makefile.am): Likewise.
2839         * modules/idcache (Makefile.am): Likewise.
2840         * modules/imaxabs (Makefile.am): Likewise.
2841         * modules/imaxdiv (Makefile.am): Likewise.
2842         * modules/inet_ntop (Makefile.am): Likewise.
2843         * modules/inet_pton (Makefile.am): Likewise.
2844         * modules/intprops (Makefile.am): Likewise.
2845         * modules/inttostr (Makefile.am): Likewise.
2846         * modules/inttypes (Makefile.am): Likewise.
2847         * modules/isapipe (Makefile.am): Likewise.
2848         * modules/javaversion (Makefile.am): Likewise.
2849         * modules/lchmod (Makefile.am): Likewise.
2850         * modules/lchown (Makefile.am): Likewise.
2851         * modules/localcharset (Makefile.am): Likewise.
2852         * modules/long-options (Makefile.am): Likewise.
2853         * modules/lstat (Makefile.am): Likewise.
2854         * modules/malloc (Makefile.am): Likewise.
2855         * modules/mathl (Makefile.am): Likewise.
2856         * modules/mbchar (Makefile.am): Likewise.
2857         * modules/md2 (Makefile.am): Likewise.
2858         * modules/md4 (Makefile.am): Likewise.
2859         * modules/md5 (Makefile.am): Likewise.
2860         * modules/memcasecmp (Makefile.am): Likewise.
2861         * modules/memchr (Makefile.am): Likewise.
2862         * modules/memcmp (Makefile.am): Likewise.
2863         * modules/memcoll (Makefile.am): Likewise.
2864         * modules/memcpy (Makefile.am): Likewise.
2865         * modules/memmem (Makefile.am): Likewise.
2866         * modules/memmove (Makefile.am): Likewise.
2867         * modules/mempcpy (Makefile.am): Likewise.
2868         * modules/memrchr (Makefile.am): Likewise.
2869         * modules/memset (Makefile.am): Likewise.
2870         * modules/memxor (Makefile.am): Likewise.
2871         * modules/mkancesdirs (Makefile.am): Likewise.
2872         * modules/mkdir-p (Makefile.am): Likewise.
2873         * modules/mkdir (Makefile.am): Likewise.
2874         * modules/mkdtemp (Makefile.am): Likewise.
2875         * modules/mkstemp (Makefile.am): Likewise.
2876         * modules/mktime (Makefile.am): Likewise.
2877         * modules/modechange (Makefile.am): Likewise.
2878         * modules/mountlist (Makefile.am): Likewise.
2879         * modules/nanosleep (Makefile.am): Likewise.
2880         * modules/obstack (Makefile.am): Likewise.
2881         * modules/openat (Makefile.am): Likewise.
2882         * modules/pagealign_alloc (Makefile.am): Likewise.
2883         * modules/pathmax (Makefile.am): Likewise.
2884         * modules/physmem (Makefile.am): Likewise.
2885         * modules/poll (Makefile.am): Likewise.
2886         * modules/posixtm (Makefile.am): Likewise.
2887         * modules/posixver (Makefile.am): Likewise.
2888         * modules/putenv (Makefile.am): Likewise.
2889         * modules/quote (Makefile.am): Likewise.
2890         * modules/quotearg (Makefile.am): Likewise.
2891         * modules/raise (Makefile.am): Likewise.
2892         * modules/read-file (Makefile.am): Likewise.
2893         * modules/readline (Makefile.am): Likewise.
2894         * modules/readlink (Makefile.am): Likewise.
2895         * modules/readtokens (Makefile.am): Likewise.
2896         * modules/readutmp (Makefile.am): Likewise.
2897         * modules/realloc (Makefile.am): Likewise.
2898         * modules/regex (Makefile.am): Likewise.
2899         * modules/rename-dest-slash (Makefile.am): Likewise.
2900         * modules/rename (Makefile.am): Likewise.
2901         * modules/rijndael (Makefile.am): Likewise.
2902         * modules/rmdir (Makefile.am): Likewise.
2903         * modules/rpmatch (Makefile.am): Likewise.
2904         * modules/safe-read (Makefile.am): Likewise.
2905         * modules/safe-write (Makefile.am): Likewise.
2906         * modules/same-inode (Makefile.am): Likewise.
2907         * modules/same (Makefile.am): Likewise.
2908         * modules/save-cwd (Makefile.am): Likewise.
2909         * modules/savedir (Makefile.am): Likewise.
2910         * modules/setenv (Makefile.am): Likewise.
2911         * modules/settime (Makefile.am): Likewise.
2912         * modules/sha1 (Makefile.am): Likewise.
2913         * modules/sig2str (Makefile.am): Likewise.
2914         * modules/snprintf (Makefile.am): Likewise.
2915         * modules/stat-macros (Makefile.am): Likewise.
2916         * modules/stat-time (Makefile.am): Likewise.
2917         * modules/stdbool (Makefile.am): Likewise.
2918         * modules/stdint (Makefile.am): Likewise.
2919         * modules/stdlib-safer (Makefile.am): Likewise.
2920         * modules/stpcpy (Makefile.am): Likewise.
2921         * modules/stpncpy (Makefile.am): Likewise.
2922         * modules/strcase (Makefile.am): Likewise.
2923         * modules/strcasestr (Makefile.am): Likewise.
2924         * modules/strchrnul (Makefile.am): Likewise.
2925         * modules/strcspn (Makefile.am): Likewise.
2926         * modules/strdup (Makefile.am): Likewise.
2927         * modules/strerror (Makefile.am): Likewise.
2928         * modules/strftime (Makefile.am): Likewise.
2929         * modules/strndup (Makefile.am): Likewise.
2930         * modules/strnlen (Makefile.am): Likewise.
2931         * modules/strpbrk (Makefile.am): Likewise.
2932         * modules/strsep (Makefile.am): Likewise.
2933         * modules/strstr (Makefile.am): Likewise.
2934         * modules/strtod (Makefile.am): Likewise.
2935         * modules/strtoimax (Makefile.am): Likewise.
2936         * modules/strtok_r (Makefile.am): Likewise.
2937         * modules/strtol (Makefile.am): Likewise.
2938         * modules/strtoll (Makefile.am): Likewise.
2939         * modules/strtoul (Makefile.am): Likewise.
2940         * modules/strtoull (Makefile.am): Likewise.
2941         * modules/strtoumax (Makefile.am): Likewise.
2942         * modules/strverscmp (Makefile.am): Likewise.
2943         * modules/sys_socket (Makefile.am): Likewise.
2944         * modules/sys_stat (Makefile.am): Likewise.
2945         * modules/sysexits (Makefile.am): Likewise.
2946         * modules/time_r (Makefile.am): Likewise.
2947         * modules/timegm (Makefile.am): Likewise.
2948         * modules/timespec (Makefile.am): Likewise.
2949         * modules/tmpfile-safer (Makefile.am): Likewise.
2950         * modules/trim (Makefile.am): Likewise.
2951         * modules/unistd-safer (Makefile.am): Likewise.
2952         * modules/unlinkdir (Makefile.am): Likewise.
2953         * modules/unlocked-io (Makefile.am): Likewise.
2954         * modules/userspec (Makefile.am): Likewise.
2955         * modules/utime (Makefile.am): Likewise.
2956         * modules/utimecmp (Makefile.am): Likewise.
2957         * modules/utimens (Makefile.am): Likewise.
2958         * modules/vasnprintf (Makefile.am): Likewise.
2959         * modules/vasprintf (Makefile.am): Likewise.
2960         * modules/vsnprintf (Makefile.am): Likewise.
2961         * modules/xalloc (Makefile.am): Likewise.
2962         * modules/xgetcwd (Makefile.am): Likewise.
2963         * modules/xnanosleep (Makefile.am): Likewise.
2964         * modules/xreadlink (Makefile.am): Likewise.
2965         * modules/xstrtod (Makefile.am): Likewise.
2966         * modules/xstrtol (Makefile.am): Likewise.
2967         * modules/xstrtold (Makefile.am): Likewise.
2968         * modules/yesno (Makefile.am): Likewise.
2969         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
2970
2971 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2972
2973         * modules/error (Makefile.am): Distribute files through
2974         EXTRA_DIST, not lib_SOURCES.
2975
2976 2006-10-12  Eric Blake  <ebb9@byu.net>
2977
2978         * modules/error (Makefile.am): Distribute files in /lib.
2979         * modules/obstack (Makefile.am): Likewise.
2980
2981 2006-10-12  Bruno Haible  <bruno@clisp.org>
2982
2983         * modules/acl (Makefile.am): Distribute all files in lib/ through
2984         EXTRA_DIST.
2985         * modules/arcfour (Makefile.am): Likewise.
2986         * modules/arctwo (Makefile.am): Likewise.
2987         * modules/argmatch (Makefile.am): Likewise.
2988         * modules/argz (Makefile.am): Likewise.
2989         * modules/atexit (Makefile.am): Likewise.
2990         * modules/backupfile (Makefile.am): Likewise.
2991         * modules/c-strtod (Makefile.am): Likewise.
2992         * modules/c-strtold (Makefile.am): Likewise.
2993         * modules/calloc (Makefile.am): Likewise.
2994         * modules/canon-host (Makefile.am): Likewise.
2995         * modules/canonicalize (Makefile.am): Likewise.
2996         * modules/chdir-long (Makefile.am): Likewise.
2997         * modules/chdir-safer (Makefile.am): Likewise.
2998         * modules/check-version (Makefile.am): Likewise.
2999         * modules/chown (Makefile.am): Likewise.
3000         * modules/cloexec (Makefile.am): Likewise.
3001         * modules/close-stream (Makefile.am): Likewise.
3002         * modules/closeout (Makefile.am): Likewise.
3003         * modules/crc (Makefile.am): Likewise.
3004         * modules/cycle-check (Makefile.am): Likewise.
3005         * modules/des (Makefile.am): Likewise.
3006         * modules/dirfd (Makefile.am): Likewise.
3007         * modules/dirname (Makefile.am): Likewise.
3008         * modules/dup2 (Makefile.am): Likewise.
3009         * modules/euidaccess (Makefile.am): Likewise.
3010         * modules/exclude (Makefile.am): Likewise.
3011         * modules/exitfail (Makefile.am): Likewise.
3012         * modules/fcntl-safer (Makefile.am): Likewise.
3013         * modules/file-type (Makefile.am): Likewise.
3014         * modules/fileblocks (Makefile.am): Likewise.
3015         * modules/filemode (Makefile.am): Likewise.
3016         * modules/filenamecat (Makefile.am): Likewise.
3017         * modules/fnmatch (Makefile.am): Likewise.
3018         * modules/fopen-safer (Makefile.am): Likewise.
3019         * modules/fpending (Makefile.am): Likewise.
3020         * modules/fprintftime (Makefile.am): Likewise.
3021         * modules/free (Makefile.am): Likewise.
3022         * modules/fsusage (Makefile.am): Likewise.
3023         * modules/ftruncate (Makefile.am): Likewise.
3024         * modules/fts (Makefile.am): Likewise.
3025         * modules/gc (Makefile.am): Likewise.
3026         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
3027         * modules/getaddrinfo (Makefile.am): Likewise.
3028         * modules/getcwd (Makefile.am): Likewise.
3029         * modules/getdelim (Makefile.am): Likewise.
3030         * modules/getdomainname (Makefile.am): Likewise.
3031         * modules/getgroups (Makefile.am): Likewise.
3032         * modules/gethostname (Makefile.am): Likewise.
3033         * modules/gethrxtime (Makefile.am): Likewise.
3034         * modules/getline (Makefile.am): Likewise.
3035         * modules/getloadavg (Makefile.am): Likewise.
3036         * modules/getlogin_r (Makefile.am): Likewise.
3037         * modules/getopt (Makefile.am): Likewise.
3038         * modules/getpass (Makefile.am): Likewise.
3039         * modules/getpass-gnu (Makefile.am): Likewise.
3040         * modules/getsubopt (Makefile.am): Likewise.
3041         * modules/gettime (Makefile.am): Likewise.
3042         * modules/gettimeofday (Makefile.am): Likewise.
3043         * modules/getugroups (Makefile.am): Likewise.
3044         * modules/getusershell (Makefile.am): Likewise.
3045         * modules/glob (Makefile.am): Likewise.
3046         * modules/group-member (Makefile.am): Likewise.
3047         * modules/hard-locale (Makefile.am): Likewise.
3048         * modules/hash (Makefile.am): Likewise.
3049         * modules/hmac-md5 (Makefile.am): Likewise.
3050         * modules/hmac-sha1 (Makefile.am): Likewise.
3051         * modules/human (Makefile.am): Likewise.
3052         * modules/idcache (Makefile.am): Likewise.
3053         * modules/imaxabs (Makefile.am): Likewise.
3054         * modules/imaxdiv (Makefile.am): Likewise.
3055         * modules/inet_ntop (Makefile.am): Likewise.
3056         * modules/inet_pton (Makefile.am): Likewise.
3057         * modules/inttostr (Makefile.am): Likewise.
3058         * modules/isapipe (Makefile.am): Likewise.
3059         * modules/lchown (Makefile.am): Likewise.
3060         * modules/long-options (Makefile.am): Likewise.
3061         * modules/lstat (Makefile.am): Likewise.
3062         * modules/malloc (Makefile.am): Likewise.
3063         * modules/mathl (Makefile.am): Likewise.
3064         * modules/mbchar (Makefile.am): Likewise.
3065         * modules/md2 (Makefile.am): Likewise.
3066         * modules/md4 (Makefile.am): Likewise.
3067         * modules/md5 (Makefile.am): Likewise.
3068         * modules/memcasecmp (Makefile.am): Likewise.
3069         * modules/memchr (Makefile.am): Likewise.
3070         * modules/memcmp (Makefile.am): Likewise.
3071         * modules/memcoll (Makefile.am): Likewise.
3072         * modules/memcpy (Makefile.am): Likewise.
3073         * modules/memmem (Makefile.am): Likewise.
3074         * modules/memmove (Makefile.am): Likewise.
3075         * modules/mempcpy (Makefile.am): Likewise.
3076         * modules/memrchr (Makefile.am): Likewise.
3077         * modules/memset (Makefile.am): Likewise.
3078         * modules/memxor (Makefile.am): Likewise.
3079         * modules/mkancesdirs (Makefile.am): Likewise.
3080         * modules/mkdir (Makefile.am): Likewise.
3081         * modules/mkdir-p (Makefile.am): Likewise.
3082         * modules/mkdtemp (Makefile.am): Likewise.
3083         * modules/mkstemp (Makefile.am): Likewise.
3084         * modules/mktime (Makefile.am): Likewise.
3085         * modules/modechange (Makefile.am): Likewise.
3086         * modules/mountlist (Makefile.am): Likewise.
3087         * modules/nanosleep (Makefile.am): Likewise.
3088         * modules/openat (Makefile.am): Likewise.
3089         * modules/pagealign_alloc (Makefile.am): Likewise.
3090         * modules/physmem (Makefile.am): Likewise.
3091         * modules/poll (Makefile.am): Likewise.
3092         * modules/posixtm (Makefile.am): Likewise.
3093         * modules/posixver (Makefile.am): Likewise.
3094         * modules/putenv (Makefile.am): Likewise.
3095         * modules/quote (Makefile.am): Likewise.
3096         * modules/quotearg (Makefile.am): Likewise.
3097         * modules/raise (Makefile.am): Likewise.
3098         * modules/read-file (Makefile.am): Likewise.
3099         * modules/readline (Makefile.am): Likewise.
3100         * modules/readlink (Makefile.am): Likewise.
3101         * modules/readtokens (Makefile.am): Likewise.
3102         * modules/readutmp (Makefile.am): Likewise.
3103         * modules/realloc (Makefile.am): Likewise.
3104         * modules/regex (Makefile.am): Likewise.
3105         * modules/rename (Makefile.am): Likewise.
3106         * modules/rename-dest-slash (Makefile.am): Likewise.
3107         * modules/rijndael (Makefile.am): Likewise.
3108         * modules/rmdir (Makefile.am): Likewise.
3109         * modules/rpmatch (Makefile.am): Likewise.
3110         * modules/safe-read (Makefile.am): Likewise.
3111         * modules/safe-write (Makefile.am): Likewise.
3112         * modules/same (Makefile.am): Likewise.
3113         * modules/save-cwd (Makefile.am): Likewise.
3114         * modules/savedir (Makefile.am): Likewise.
3115         * modules/setenv (Makefile.am): Likewise.
3116         * modules/settime (Makefile.am): Likewise.
3117         * modules/sha1 (Makefile.am): Likewise.
3118         * modules/sig2str (Makefile.am): Likewise.
3119         * modules/snprintf (Makefile.am): Likewise.
3120         * modules/stdlib-safer (Makefile.am): Likewise.
3121         * modules/stpcpy (Makefile.am): Likewise.
3122         * modules/stpncpy (Makefile.am): Likewise.
3123         * modules/strcase (Makefile.am): Likewise.
3124         * modules/strcasestr (Makefile.am): Likewise.
3125         * modules/strchrnul (Makefile.am): Likewise.
3126         * modules/strcspn (Makefile.am): Likewise.
3127         * modules/strdup (Makefile.am): Likewise.
3128         * modules/strerror (Makefile.am): Likewise.
3129         * modules/strftime (Makefile.am): Likewise.
3130         * modules/strndup (Makefile.am): Likewise.
3131         * modules/strnlen (Makefile.am): Likewise.
3132         * modules/strpbrk (Makefile.am): Likewise.
3133         * modules/strsep (Makefile.am): Likewise.
3134         * modules/strstr (Makefile.am): Likewise.
3135         * modules/strtod (Makefile.am): Likewise.
3136         * modules/strtoimax (Makefile.am): Likewise.
3137         * modules/strtok_r (Makefile.am): Likewise.
3138         * modules/strtol (Makefile.am): Likewise.
3139         * modules/strtoll (Makefile.am): Likewise.
3140         * modules/strtoul (Makefile.am): Likewise.
3141         * modules/strtoull (Makefile.am): Likewise.
3142         * modules/strtoumax (Makefile.am): Likewise.
3143         * modules/strverscmp (Makefile.am): Likewise.
3144         * modules/time_r (Makefile.am): Likewise.
3145         * modules/timegm (Makefile.am): Likewise.
3146         * modules/tmpfile-safer (Makefile.am): Likewise.
3147         * modules/unistd-safer (Makefile.am): Likewise.
3148         * modules/unlinkdir (Makefile.am): Likewise.
3149         * modules/userspec (Makefile.am): Likewise.
3150         * modules/utime (Makefile.am): Likewise.
3151         * modules/utimecmp (Makefile.am): Likewise.
3152         * modules/utimens (Makefile.am): Likewise.
3153         * modules/vasnprintf (Makefile.am): Likewise.
3154         * modules/vasprintf (Makefile.am): Likewise.
3155         * modules/vsnprintf (Makefile.am): Likewise.
3156         * modules/xalloc (Makefile.am): Likewise.
3157         * modules/xgetcwd (Makefile.am): Likewise.
3158         * modules/xnanosleep (Makefile.am): Likewise.
3159         * modules/xreadlink (Makefile.am): Likewise.
3160         * modules/xstrtod (Makefile.am): Likewise.
3161         * modules/xstrtol (Makefile.am): Likewise.
3162         * modules/xstrtold (Makefile.am): Likewise.
3163         * modules/yesno (Makefile.am): Likewise.
3164
3165 2006-10-12  Jim Meyering  <jim@meyering.net>
3166
3167         * m4/getloadavg.m4: Revert the change below.
3168
3169         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
3170         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
3171         fail with a symlink, which is what coreutils' ./bootstrap now
3172         creates by default.
3173
3174 2006-10-12  Bruno Haible  <bruno@clisp.org>
3175
3176         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
3177         mingw.
3178         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
3179         MSVC and mingw explicitly.
3180
3181 2006-10-11  Simon Josefsson  <jas@extundo.com>
3182             Bruno Haible  <bruno@clisp.org>
3183
3184         Add support for multiple gnulib-tool invocations in the scope of a
3185         single configure.ac file.
3186         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
3187         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
3188         with the same contents as the _LIBADD variable.
3189         (func_emit_initmacro_start, func_emit_initmacro_end,
3190         func_emit_initmacro_done): New functions.
3191         (func_import, func_create_testdir): Invoke them. Allow the identifiers
3192         gl_LIBOBJS and gl_LTLIBOBJS.
3193
3194 2006-10-11  Bruno Haible  <bruno@clisp.org>
3195
3196         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
3197         (func_create_testdir): Don't create po/Makefile.am, don't invoke
3198         autoreconf. Instead, invoke autopoint explicitly but move back the
3199         *.m4 files from gnulib.
3200
3201 2006-10-11  Bruno Haible  <bruno@clisp.org>
3202
3203         * gnulib-tool (func_usage): Make module names after --create-testdir
3204         optional.
3205         (func_create_testdir): If no module was specified, use nearly all
3206         modules.
3207
3208 2006-10-12  Jim Meyering  <jim@meyering.net>
3209
3210         Big performance improvement for fts-based tools that use FTS_NOSTAT.
3211         Avoid spurious inode-mismatch problems on non-POSIX file systems.
3212         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
3213         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
3214         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
3215         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
3216         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
3217         (fts_set_stat_required): New function.
3218         (fts_open): Defer the calls to fts_stat, if possible or requested.
3219         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
3220         into fts_stat itself.
3221         (fts_read): Perform any required (deferred) fts_stat call.
3222         (fts_build): Likewise, for the directory we're about to open and read.
3223         In the readdir loop, carefully decide whether each entry will require
3224         an eventual call to fts_stat, using dirent.d_type info if available.
3225         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
3226         a command line argument into this function.  Update all callers.
3227         Map a return value of FTS_DOT to FTS_D for a command line argument.
3228         * modules/fts (Depends-on): Add d-type.  Alphabetize.
3229         Thanks to Miklos Szeredi for his tenacity and for the initial
3230         bug report about "find" failing on a FUSE-based file system.
3231
3232         * lib/fts.c (fts_open): Use consistent indentation.
3233
3234 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
3235
3236         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
3237         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
3238         reported by Jim Meyering.  All uses of cache variables renamed
3239         to match Autoconf's.
3240         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
3241         the other one.
3242
3243         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
3244         Fix misspelling in diagnostic.
3245
3246 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
3247
3248         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
3249         defined.  Problem reported by Matthew Woehlke.
3250
3251         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
3252         Add support for Tandem NonStop R series.
3253         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
3254         Use new macro.
3255
3256         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
3257         (has_trailing_slash): Omit size arg; all callers changed.
3258         Omit 'inline', since it doesn't help performance and we'd
3259         need to configure it.
3260         Don't count //, ///, etc. as having a trailing slash.
3261         As a side effect, this removes a C99ism reported by Matthew Woehlke.
3262         (rpl_rename_dest_slash): On failure, use rename's errno rather
3263         than (in some cases) an incorrect or junk errno.
3264         Simplify code by removing need to compute length; this does
3265         cause it to make two passes instead of one over the file name,
3266         but it's worth it.
3267
3268         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
3269         change, since Autoconf's version may no longer be appropriate now
3270         that we are using CVS Autoconf's version.  Add support for Tandem.
3271
3272 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
3273             Bruno Haible  <bruno@clisp.org>
3274
3275         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
3276         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
3277         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
3278         gl_AC_TYPE_LONG_LONG.
3279
3280         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
3281         instead of HAVE_LONG_LONG.
3282         * lib/printf-args.c (printf_fetchargs): Likewise.
3283         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
3284         * lib/vasnprintf.c (VASNPRINTF): Likewise.
3285         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
3286         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
3287         gl_AC_TYPE_LONG_LONG.
3288
3289 2006-10-11  Bruno Haible  <bruno@clisp.org>
3290
3291         * m4/longlong.m4: Add comments.
3292         * m4/ulonglong.m4: Likewise.
3293
3294 2006-10-10  Bruno Haible  <bruno@clisp.org>
3295
3296         Make it possible to #define stpcpy, strdup to aliases.
3297         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
3298         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
3299
3300 2006-10-10  Bruno Haible  <bruno@clisp.org>
3301
3302         Make it possible to #define gcd to an alias.
3303         * lib/gcd.c: Include config.h.
3304
3305 2006-10-10  Bruno Haible  <bruno@clisp.org>
3306
3307         Make it possible to #define c_isascii to an alias.
3308         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
3309         defined. Undefine the macros before defining them, to avoid gcc
3310         warnings.
3311         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
3312         define NO_C_CTYPE_MACROS early.
3313
3314 2006-10-10  Bruno Haible  <bruno@clisp.org>
3315
3316         Make it possible to #define set_program_name to an alias.
3317         * lib/progname.c: Don't undefine set_program_name; instead, undefine
3318         ENABLE_RELOCATABLE early.
3319
3320 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
3321
3322         Port to Tandem NSK OSS, which has 64-bit signed int but at most
3323         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
3324         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
3325         More generally, don't assume that 64-bit signed int is available
3326         if unsigned int is, and vice versa.
3327         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
3328         unsigned symbols, not on their signed counterparts.
3329         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
3330         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
3331         (UINT64_C, UINTMAX_C):
3332         Likewise.
3333         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
3334         unsigned counterparts.
3335         (Have_long_long, Unsigned): New macros.
3336         (Int): Renamed from INT.
3337         (strtoimax): Use the new macros.
3338         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
3339         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
3340         * modules/inttypes (inttypes.h): Substitute
3341         HAVE_UNSIGNED_LONG_LONG_INT.
3342         * modules/stdint (stdint.h): Likewise.
3343         (Files): Add m4/ulonglong.m4.
3344
3345 2006-10-10  Bruno Haible  <bruno@clisp.org>
3346
3347         Fix a gcc -Wshadow warning.
3348         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
3349         to 'bucket'.
3350         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
3351         gl_linked_indexof_from_to): Likewise.
3352         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
3353         Likewise.
3354         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
3355         Likewise.
3356         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
3357         Reported by Eric Blake.
3358
3359 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
3360
3361         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
3362         for NetBSD.  Problem reported by Bruno Haible.
3363
3364 2006-10-09  Jim Meyering  <jim@meyering.net>
3365
3366         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
3367         Patch from Bruno Haible.
3368
3369 2006-10-09  Jim Meyering  <jim@meyering.net>
3370
3371         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
3372         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
3373         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
3374
3375 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
3376
3377         Don't include <config.h> twice; this doesn't work in some cases,
3378         e.g., when config.h has "#define intmax_t long long int" and
3379         we include <config.h>, <inttypes.h>, <config.h> in that order.
3380         Problem reported by Matthew Woehlke in:
3381         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
3382         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
3383         * lib/fts-cycle.c: Don't include config.h.
3384         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
3385         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
3386         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
3387         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
3388         inttypes.h.
3389         * lib/xstrtoumax.c: Likewise.
3390         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
3391         __strtol and the like, so that this module is more like its siblings.
3392         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
3393         Remove; no longer needed now that we assume gnulib inttypes.h.
3394
3395 2006-10-08  Bruno Haible  <bruno@clisp.org>
3396
3397         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
3398         option.
3399
3400 2006-10-07  Jim Meyering  <jim@meyering.net>
3401
3402         * modules/inttypes (inttypes.h): Revert what seems to have been
3403         an inadvertent part of today's change: use "|", not "/" in the
3404         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
3405
3406 2006-10-07  Bruno Haible  <bruno@clisp.org>
3407
3408         * modules/sublist: New file.
3409
3410 2006-10-07  Bruno Haible  <bruno@clisp.org>
3411
3412         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
3413         * modules/argz (argz.h): Likewise.
3414         * modules/arpa_inet (arpa/inet.h): Likewise.
3415         * modules/byteswap (byteswap.h): Likewise.
3416         * modules/configmake (configmake.h): Likewise.
3417         * modules/fcntl (fcntl.h): Likewise.
3418         * modules/fnmatch (fnmatch.h): Likewise.
3419         * modules/getopt (getopt.h): Likewise.
3420         * modules/glob (glob.h): Likewise.
3421         * modules/inttypes (inttypes.h): Likewise.
3422         * modules/netinet_in (netinet/in.h): Likewise.
3423         * modules/poll (poll.h): Likewise.
3424         * modules/stdbool (stdbool.h): Likewise.
3425         * modules/stdint (stdint.h): Likewise.
3426         * modules/sys_select (sys/select.h): Likewise.
3427         * modules/sys_socket (sys/socket.h): Likewise.
3428         * modules/sys_stat (sys/stat.h): Likewise.
3429         * modules/sysexits (sysexits.h): Likewise.
3430         * modules/unistd (unistd.h): Likewise.
3431         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3432         Add a "DO NOT EDIT" comment to the generated file.
3433         (func_import): Likewise for gnulib-comp.m4.
3434
3435 2006-10-07  Bruno Haible  <bruno@clisp.org>
3436
3437         * lib/gl_sublist.h: New file.
3438         * lib/gl_sublist.c: New file.
3439
3440 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
3441
3442         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
3443         name (relative to the original working directory) and the file
3444         name component (relative to the temporary working directory).  All
3445         callers changed.
3446         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
3447         * lib/mkdir-p.c (make_dir_parents): Likewise.
3448         * lib/mkdir-p.h (make_dir_parents): Likewise.
3449
3450 2006-10-06  Eric Blake  <ebb9@byu.net>
3451
3452         Define several macros for use by the clean-temp module.
3453         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
3454         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
3455         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
3456
3457         * lib/clean-temp.h (close_stream_temp): New declaration.
3458         * lib/clean-temp.c (includes): Pull in headers according to what
3459         other modules are in use.
3460         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
3461
3462 2006-10-06  Bruno Haible  <bruno@clisp.org>
3463
3464         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
3465         instead of fopen, fwriteerror.
3466
3467 2006-10-06  Bruno Haible  <bruno@clisp.org>
3468
3469         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
3470         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
3471         int.
3472         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
3473         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
3474         Return an error indicator.
3475         Suggested by Eric Blake.
3476
3477 2006-10-06  Bruno Haible  <bruno@clisp.org>
3478
3479         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
3480         Reported by Eric Blake.
3481
3482 2006-10-06  Bruno Haible  <bruno@clisp.org>
3483
3484         * modules/closeout (Description): Mention stderr too.
3485
3486 2006-10-06  Bruno Haible  <bruno@clisp.org>
3487         and Paul Eggert  <eggert@cs.ucla.edu>
3488
3489         * lib/closeout.c (close_stdout): Also close stderr.
3490         * lib/closeout.h: Update comment.
3491
3492 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
3493
3494         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
3495         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
3496         * lib/dirchownmod.c: Include lchown.h.
3497         * lib/lchown.c: Don't include files that lchown.h now includes.
3498         Don't declare chown, since lchown.h now does that.
3499         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
3500         (lchown): Define to rpl_chown if lchown is declared but
3501         does not exist.  Declare using a prototype if lchown is not
3502         declared.  Add a copyright notice.
3503         * lib/mkstemp.h: Include <unistd.h>.
3504         * lib/openat.c: Include lchown.h.
3505
3506         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
3507         we now test for that separately.
3508         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
3509         rather than O_NOFOLLOW, when testing whether it's possible to
3510         avoid a race condition reliably.
3511         * lib/savewd.c (savewd_chdir): Likewise.
3512
3513         Remove macros that are no longer needed now that stdint.h is
3514         reliable.
3515         * lib/fsusage.c (UINTMAX_MAX): Remove.
3516         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
3517         * lib/utimecmp.c (SIZE_MAX): Remove.
3518
3519         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
3520
3521         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
3522         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
3523         O_NOATIME works.
3524
3525 2006-10-05  Bruno Haible  <bruno@clisp.org>
3526
3527         * lib/gl_list.h (gl_sortedlist_search_from_to,
3528         gl_sortedlist_indexof_from_to): New declarations.
3529         (gl_list_implementation): New fields sortedlist_search_from_to,
3530         sortedlist_indexof_from_to.
3531         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
3532         inline functions.
3533         * lib/gl_list.c (gl_sortedlist_search_from_to,
3534         gl_sortedlist_indexof_from_to): New functions.
3535         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
3536         function.
3537         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
3538         (gl_array_sortedlist_search_from_to): New function.
3539         (gl_array_list_implementation): Update.
3540         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
3541         function.
3542         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
3543         (gl_carray_sortedlist_search_from_to): New function.
3544         (gl_carray_list_implementation): Update.
3545         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
3546         gl_linked_sortedlist_indexof_from_to): New functions.
3547         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
3548         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
3549         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
3550         gl_tree_sortedlist_indexof_from_to): New functions.
3551         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
3552         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
3553         Update.
3554         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
3555         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
3556         Update.
3557
3558 2006-10-05  Bruno Haible  <bruno@clisp.org>
3559
3560         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
3561         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
3562         (struct gl_list_implementation): Add fields search_from_to,
3563         indexof_from_to. Remove fields search, indexof.
3564         (gl_list_search): Use the search_from_to method.
3565         (gl_list_search_from, gl_list_search_from_to): New functions.
3566         (gl_list_indexof): Use the indexof_from_to method.
3567         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
3568         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
3569         (gl_list_search_from, gl_list_search_from_to): New functions.
3570         (gl_list_indexof): Use the indexof_from_to method.
3571         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
3572         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
3573         gl_array_indexof. Add start_index, end_index arguments.
3574         (gl_array_search_from_to): Renamed from gl_array_search. Add
3575         start_index, end_index arguments.
3576         (gl_array_remove, gl_array_list_implementation): Update.
3577         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
3578         gl_carray_indexof. Add start_index, end_index arguments.
3579         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
3580         start_index, end_index arguments.
3581         (gl_carray_remove, gl_carray_list_implementation): Update.
3582         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
3583         gl_linked_search. Add start_index, end_index arguments.
3584         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
3585         start_index, end_index arguments.
3586         (gl_linked_remove): Update.
3587         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
3588         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
3589         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
3590         field to 'size_t'.
3591         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
3592         gl_tree_search. Add start_index, end_index arguments.
3593         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
3594         start_index, end_index arguments.
3595         (gl_tree_remove): Update.
3596         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
3597         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
3598         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
3599         function.
3600         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
3601         gl_tree_search. Add start_index, end_index arguments.
3602         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
3603         start_index, end_index arguments.
3604         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
3605         Update.
3606         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
3607
3608 2006-10-05  Bruno Haible  <bruno@clisp.org>
3609
3610         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
3611
3612         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
3613         fwriteerror_temp): New declarations.
3614         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
3615         (descriptors): New variable.
3616         (cleanup): First, close the descriptors.
3617         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
3618         fclose_temp, fwriteerror_temp): New functions.
3619
3620 2006-10-04  Jim Meyering  <jim@meyering.net>
3621
3622         * lib/fts.c (fts_open): Tiny comment change.
3623
3624 2006-10-04  Bruno Haible  <bruno@clisp.org>
3625
3626         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
3627         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
3628         gl_LOCK_BODY.
3629         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
3630         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
3631         gl_LOCK_EARLY_BODY.
3632         (gl_LOCK): Require gl_LOCK_BODY.
3633
3634 2006-10-04  Bruno Haible  <bruno@clisp.org>
3635
3636         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
3637         (gl_oset_search_atleast): New declaration.
3638         (struct gl_oset_implementation): Add field 'search_atleast'.
3639         (gl_oset_search_atleast): New inline function.
3640         * lib/gl_oset.c (gl_oset_search_atleast): New function.
3641         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
3642         (gl_array_oset_implementation): Update.
3643         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
3644         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
3645         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
3646
3647 2006-10-04  Bruno Haible  <bruno@clisp.org>
3648
3649         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
3650
3651 2006-10-03  Bruno Haible  <bruno@clisp.org>
3652
3653         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
3654         from gl_avltreehash_list_implementation.
3655
3656 2006-10-03  Bruno Haible  <bruno@clisp.org>
3657
3658         * lib/gl_oset.c (gl_oset_add): Fix return type.
3659
3660 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
3661
3662         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
3663
3664 2006-10-02  Eric Blake  <ebb9@byu.net>
3665
3666         * modules/strnlen (Depends-on): Add extensions.
3667
3668 2006-10-02  Eric Blake  <ebb9@byu.net>
3669
3670         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
3671         definition in 2.60+.
3672
3673 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
3674
3675         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
3676         checks.
3677
3678 2006-10-02  Bruno Haible  <bruno@clisp.org>
3679
3680         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
3681         to the AUTOMAKE_OPTIONS.
3682         Reported by Jim Meyering.
3683
3684 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
3685
3686         Work around bug in Solaris 10 /proc file system:
3687         /proc/self/fd/NNN/.. isn't the parent directory of
3688         the directory whose file descriptor is NNN.  This needs to
3689         be worked around at run time, not compile time, since a
3690         program might be built on Solaris 8, where things work, and
3691         run on Solaris 10.
3692         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
3693         to use the following interface instead:
3694         (OPENAT_BUFFER_SIZE): New macro.
3695         (openat_proc_name): New function.
3696         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
3697         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
3698         Likewise.
3699         * lib/openat-proc.c: New file.
3700         * modules/openat (Files): Add lib/openat-proc.c.
3701         (Depends-on): Add same-inode, stdbool.
3702         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
3703
3704 2006-09-29  Bruno Haible  <bruno@clisp.org>
3705
3706         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
3707         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
3708         argument. Set stdout_closed before testing for ferror, not after.
3709         (fwriteerror, fwriteerror_no_ebadf): New functions.
3710
3711 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3712
3713         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
3714
3715 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
3716
3717         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
3718         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
3719
3720 2006-09-28  Jim Meyering  <jim@meyering.net>
3721
3722         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
3723         Include <unistd.h>.
3724
3725 2006-09-28  Bruno Haible  <bruno@clisp.org>
3726
3727         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
3728         * modules/linkedhash-list (Depends-on): Likewise.
3729         * modules/rbtreehash-list (Depends-on): Likewise.
3730
3731 2006-09-28  Bruno Haible  <bruno@clisp.org>
3732
3733         * lib/strndup.h: Simplify the redefinition of strndup.
3734         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
3735         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
3736
3737 2006-09-28  Bruno Haible  <bruno@clisp.org>
3738
3739         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
3740         * lib/gl_linkedhash_list.c: Likewise.
3741         * lib/gl_rbtreehash_list.c: Likewise.
3742
3743 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
3744
3745         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
3746         getaddrinfo.
3747
3748         * lib/__fpending.h: Don't include <stdio_ext.h> unless
3749         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
3750         it causes <stdio_ext.h> to cause a compile-time error.
3751         Problem reported by Nelson H. F. Beebe.
3752         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
3753         of HAVE_DECL___PENDING.
3754
3755         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
3756         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
3757         declaration.
3758
3759 2006-09-27  Jim Meyering  <jim@meyering.net>
3760
3761         This file could end up with a definition for a function
3762         named __strndup, rather than rpl_strndup on a system with
3763         incomplete weak_alias support.
3764         * lib/strndup.c (strndup): Rename from __strndup.
3765         Remove #defines that used to map __strndup to strndup.
3766         Don't use K&R prototypes.
3767         Remove LIBC-related code, since this file is not sync'd with glibc.
3768         * lib/strndup.h: Revamp, accordingly.
3769         * m4/strndup.m4: Modernize.
3770
3771 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3772
3773         * modules/savewd (Depends-on): Add 'raise'.
3774         * lib/savewd.c: Include <signal.h>, for 'raise'.
3775
3776 2006-09-26  Jim Meyering  <jim@meyering.net>
3777
3778         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
3779         when we detect Darwin 8.7.0's acl_get_file bug.
3780         Rearrange to perform the new (below) run-test while $LIBS
3781         contains any acl-related library.  Set USE_ACL at the end.
3782         (gl_ACL_GET_FILE): New function.
3783
3784 2006-09-26  Eric Blake  <ebb9@byu.net>
3785
3786         * lib/verror.c: Include <config.h> unconditionally.
3787
3788 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
3789
3790         * modules/clock-time (Maintainer): Add self.
3791         * modules/getlogin_r (Depends-on): Add extensions.
3792
3793 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3794
3795         * modules/clock-time: New module.
3796         * modules/nanosleep (Depends-on): Add clock-time.
3797         * modules/gethrxtime (Depends-on): Likewise.
3798         * modules/gettime (Depends-on): Likewise.
3799         * modules/settime (Depends-on): Likewise.
3800
3801         * modules/fts-lgpl: Depend on openat.
3802         * modules/mkancesdirs: Depend on savewd.
3803         * modules/mkdir-p: Likewise.
3804
3805 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3806
3807         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
3808
3809         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
3810         `gl_have_arbitrary_file_name_length_limit' to
3811         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
3812         actually works between configure runs.
3813
3814 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3815             Bruno Haible  <bruno@clisp.org>
3816
3817         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
3818
3819 2006-09-25  Jim Meyering  <jim@meyering.net>
3820
3821         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
3822         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
3823
3824 2006-09-25  Eric Blake  <ebb9@byu.net>
3825
3826         * gnulib-tool (func_import, func_create_testdir): Fix typos in
3827         exec's in 2006-09-18 patch when shuffling fds.
3828
3829 2006-09-25  Bruno Haible  <bruno@clisp.org>
3830
3831         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
3832         Reported by Jim Meyering.
3833
3834 2006-09-24  Jim Meyering  <jim@meyering.net>
3835
3836         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
3837         compare a pointer against a literal "0".  That caused failures with
3838         at least HP-UX's hpcc.
3839
3840 2006-09-22  Simon Josefsson  <jas@extundo.com>
3841
3842         * modules/gc-sha1:
3843         * modules/gc-md4:
3844         * modules/gc-hmac-sha1:
3845         * modules/gc-hmac-md5:
3846         * modules/gc-des:
3847         * modules/gc-arcfour: Distribute more files.
3848
3849 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3850
3851         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
3852         (gl_linked_iterator_from_to): Initialize struct completely.
3853         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
3854         (gl_tree_iterator_from_to): Likewise
3855         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
3856         * lib/gl_array_list.c [lint] (gl_array_iterator)
3857         (gl_array_iterator_from_to): Likewise.
3858         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
3859         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
3860         (gl_carray_iterator_from_to): Likewise.
3861
3862         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
3863         * lib/md4.c (md4_process_block): Remove unused variable.
3864         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
3865         parentheses for clarity.
3866
3867 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3868
3869         * modules/bison-i18n (Depends-on): Add gettext.
3870
3871 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3872
3873         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
3874         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
3875         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
3876         also add missing comma that caused broken test.
3877         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
3878         stdlib.h, for `abort'.
3879         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
3880         variables.
3881         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
3882         include unistd.h if present, for `rmdir'.
3883         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
3884         variables.
3885         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
3886         in the process include standard headers for prototypes.
3887         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
3888         gets declared on GNU/Linux.
3889         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
3890         unistd.h, for `rmdir'.
3891         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
3892
3893         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
3894         always true.
3895         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
3896
3897         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
3898
3899 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3900
3901         * gnulib-tool (func_version): Create output all at once.  This
3902         may help avoid triggering unnecessary SIGPIPEs, and at any
3903         rate it doesn't hurt.
3904
3905 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3906             Bruno Haible  <bruno@clisp.org>
3907
3908         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
3909         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
3910         * m4/signed.m4 (bh_C_SIGNED): Likewise.
3911
3912         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
3913         (gl_FUNC_VASPRINTF): Invoke it.
3914
3915 2006-09-22  Bruno Haible  <bruno@clisp.org>
3916
3917         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
3918         getloadavg.c as first argument.
3919
3920 2006-09-22  Bruno Haible  <bruno@clisp.org>
3921
3922         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
3923         at the beginning of the gl_INIT macro.
3924         * modules/getloadavg (configure.ac): Pass $gl_source_base to
3925         gl_GETLOADAVG.
3926
3927 2006-09-22  Bruno Haible  <bruno@clisp.org>
3928
3929         * gnulib-tool (func_create_megatestdir): Don't include the config-h
3930         module.
3931         Suggested by Ralf Wildenhues.
3932
3933 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
3934
3935         Import this patch from libc:
3936
3937         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
3938
3939         * lib/regex_internal.c (re_string_reconstruct): Handle
3940         offset < pstr->valid_raw_len && pstr->offsets_needed case.
3941         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
3942         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
3943         re_string_context_at.
3944
3945         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
3946         now requires it.
3947         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
3948         gl_REGEX now does it for us.
3949         (gl_REGEX): Add test taken from
3950         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
3951
3952         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
3953         Check that large offsets work.  Modernize Autoconf usages.
3954         Prefer "yes" to mean a good thing rather than a bad.
3955         Don't put "#define mkstemp" in config.h, as this might interfere
3956         with standard system headers that "#define mkstemp mkstemp64".
3957
3958         * modules/mkstemp (Depends-on): Add extensions, so that
3959         mkstemp is visible on some platforms.
3960         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
3961         (Include): Change to "mkstemp.h" from <stdlib.h>.
3962         (Files): Add mkstemp.h.
3963
3964         * lib/mkstemp.h: New file, since some standard headers
3965         #define mkstemp.
3966         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
3967         Include "mkstemp.h".
3968         Make the _LIBC code resemble glibc original more,
3969         e.g., use K&R style.
3970         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
3971         (mkstemp): Remove, since mkstemp.h does this for us.
3972         * lib/stdlib--.h: Include mkstemp.h.
3973
3974         Import this patch from libc:
3975
3976         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
3977
3978         * lib/tempname.c (__gen_tempname): Change attempts_min
3979         into a macro.  Use preprocessor to decide how to initialize
3980         attempts [Coverity CID 67].
3981
3982 2006-09-20  Bruno Haible  <bruno@clisp.org>
3983
3984         * lib/mkdtemp.c: Import from libc.
3985         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
3986                 * sysdeps/posix/tempname.c (__gen_tempname): Change
3987                 attempts_min into a macro.  Use preprocessor to decide how to
3988                 initialize attempts [Coverity CID 67].
3989         2001-11-27  Paul Eggert  <eggert@twinsun.com>
3990                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
3991                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
3992
3993 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3994
3995         * gnulib-tool (func_exit): New function, to allow to pass the
3996         exit status portably through the trap.  Use everywhere.
3997         (--help, --version): Signal a write error.
3998         (trap): catch SIGPIPE, for write errors.
3999         Exit at the end of the trap, with the correct exit status.
4000
4001 2006-09-19  Karl Berry  <karl@gnu.org>
4002
4003         * doc/gnulib.texi: note about the license texinfo files.
4004
4005 2006-09-19  Eric Blake  <ebb9@byu.net>
4006
4007         * gnulib-tool: Avoid space-tab.
4008
4009 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
4010
4011         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
4012         that prevented coreutils 6.1 from building.  Problem reported
4013         by Petter Reinholdtsen.
4014
4015 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
4016
4017         * gnulib-tool (avoidlist): Fix typo that broke options like
4018         --avoid=lock that are used by coreutils bootstrap.
4019
4020 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
4021
4022         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
4023         more systematically.
4024
4025 2006-09-18  Jim Meyering  <jim@meyering.net>
4026
4027         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
4028
4029 2006-09-18  Bruno Haible  <bruno@clisp.org>
4030
4031         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
4032
4033 2006-09-18  Bruno Haible  <bruno@clisp.org>
4034
4035         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
4036         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
4037         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
4038         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
4039         * m4/gettext.m4: Require autoconf >= 2.52.
4040         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
4041         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
4042         of gl_cv_header_inttypes_h.
4043
4044 2006-09-18  Bruno Haible  <bruno@clisp.org>
4045
4046         * lib/javaversion.c: Include configmake.h.
4047
4048 2006-09-18  Bruno Haible  <bruno@clisp.org>
4049
4050         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
4051         avoid that the while loops be executed in a subshell.
4052
4053 2006-09-18  Bruno Haible  <bruno@clisp.org>
4054
4055         * MODULES.html.sh (func_module): Break long lines.
4056         Suggested by Bruce Korb <bkorb@gnu.org>.
4057
4058 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4059
4060         Speed up by a factor of 1.12.
4061         * gnulib-tool (nl): New variable.
4062         (func_import): Rewrite include directive extraction to only read each
4063         directive once.
4064
4065 2006-09-17  Bruno Haible  <bruno@clisp.org>
4066
4067         * modules/javaversion (Makefile.am): Remove DEFS setting.
4068         (Depends-on): Add configmake, for PKGDATADIR definition.
4069
4070 2006-09-17  Bruno Haible  <bruno@clisp.org>
4071
4072         * gnulib-tool (func_create_testdir): Rewrite all files at once.
4073
4074 2006-09-17  Bruno Haible  <bruno@clisp.org>
4075
4076         * gnulib-tool (func_append): New function, stolen from libtool.m4.
4077         (func_modules_transitive_closure, func_modules_add_dummy,
4078         func_modules_to_filelist, func_import, func_create_testdir,
4079         func_create_megatestdir, ...): Use it wherever possible.
4080         Suggested by Ralf Wildenhues.
4081
4082 2006-09-16  Karl Berry  <karl@gnu.org>
4083
4084         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
4085         to avoid sectioning errors.
4086         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
4087         [ifinfo]: blank line after @center-ed titles.
4088         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
4089         Spell FSF address consistently with others.
4090         (These changes approved by rms.)
4091
4092 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4093
4094         Speed up by a factor of 1.61.
4095         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
4096         already checked module names again.
4097
4098 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4099
4100         Speed up by a factor of 1.13.
4101         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
4102         for new_files, and the input to func_add_or_update.
4103
4104 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4105
4106         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
4107         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
4108
4109 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4110
4111         * modules/mkancesdirs (Depends-on): Add fcntl.
4112         * modules/savewd: New file.
4113         * MODULES.html.sh (File system functions): Add savewd.
4114
4115         * modules/configmake (Makefile.am): Add support for the
4116         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
4117
4118 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4119
4120         * m4/savewd.m4: New file.
4121
4122 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4123
4124         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
4125         (dirchownmod): New arg FD.  All callers changed.
4126         Use FD rather than opening the directory ourself, as opening is
4127         now the caller's responsibility.
4128         * lib/dirchownmod.h: Likewise.
4129         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
4130         hosts that require <sys/types.h> before <sys/stat.h>.  Include
4131         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
4132         (test_dir): Remove.
4133         (mkancesdirs): Return length of prefix of FILE that has already
4134         been made, or -2 if there is a child doing the work.  Redo
4135         algorithm so that it is O(N) rather than O(N**2).  Optimize away
4136         ".", and treat ".." specially since it might stray back into
4137         already-created areas.  Use a subprocess if necessary.  New arg
4138         WD; all users changed.  MAKE_DIR function should now return 1
4139         if it creates a directory that is not readable.  Return -2 if
4140         a child process is spun off.
4141         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
4142         Adjust signature to match code.
4143         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
4144         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
4145         all users changed.
4146         * lib/savewd.c, lib/savewd.h: New files.
4147
4148 2006-09-15  Jim Meyering  <jim@meyering.net>
4149
4150         * modules/rename-dest-slash: New module.
4151         * MODULES.html.sh (posix_compat): Add it here.
4152
4153         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
4154
4155 2006-09-15  Jim Meyering  <jim@meyering.net>
4156
4157         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
4158         file.
4159
4160         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
4161
4162 2006-09-15  Jim Meyering  <jim@meyering.net>
4163
4164         * lib/rename-dest-slash.c (has_trailing_slash): Use
4165         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
4166         (rpl_rename_dest_slash): Perform the cheaper trailing slash
4167         test before testing whether SRC is a directory.
4168         Suggestions from Bruno Haible.
4169
4170         Avoid a warning about an unused variable.
4171         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
4172         into the #ifdef block where it's used.
4173
4174         * lib/rename-dest-slash.c: New file.
4175
4176 2006-09-14  Bruno Haible  <bruno@clisp.org>
4177
4178         * lib/allocsa.c: Include <config.h> unconditionally.
4179         * lib/asnprintf.c: Likewise.
4180         * lib/asprintf.c: Likewise.
4181         * lib/c-strcasecmp.c: Likewise.
4182         * lib/c-strcasestr.c: Likewise.
4183         * lib/c-strncasecmp.c: Likewise.
4184         * lib/c-strstr.c: Likewise.
4185         * lib/classpath.c: Likewise.
4186         * lib/clean-temp.c: Likewise.
4187         * lib/concatpath.c: Likewise.
4188         * lib/copy-file.c: Likewise.
4189         * lib/csharpcomp.c: Likewise.
4190         * lib/csharpexec.c: Likewise.
4191         * lib/execute.c: Likewise.
4192         * lib/fatal-signal.c: Likewise.
4193         * lib/findprog.c: Likewise.
4194         * lib/fwriteerror.c: Likewise.
4195         * lib/gl_array_list.c: Likewise.
4196         * lib/gl_array_oset.c: Likewise.
4197         * lib/gl_avltree_list.c: Likewise.
4198         * lib/gl_avltree_oset.c: Likewise.
4199         * lib/gl_avltreehash_list.c: Likewise.
4200         * lib/gl_carray_list.c: Likewise.
4201         * lib/gl_linked_list.c: Likewise.
4202         * lib/gl_linkedhash_list.c: Likewise.
4203         * lib/gl_list.c: Likewise.
4204         * lib/gl_oset.c: Likewise.
4205         * lib/gl_rbtree_list.c: Likewise.
4206         * lib/gl_rbtree_oset.c: Likewise.
4207         * lib/gl_rbtreehash_list.c: Likewise.
4208         * lib/imaxabs.c: Likewise.
4209         * lib/imaxdiv.c: Likewise.
4210         * lib/javacomp.c: Likewise.
4211         * lib/javaexec.c: Likewise.
4212         * lib/javaversion.c: Likewise.
4213         * lib/linebreak.c: Likewise.
4214         * lib/localcharset.c: Likewise.
4215         * lib/lock.c: Likewise.
4216         * lib/mbchar.c: Likewise.
4217         * lib/mbswidth.c: Likewise.
4218         * lib/mkdtemp.c: Likewise.
4219         * lib/pipe.c: Likewise.
4220         * lib/printf-args.c: Likewise.
4221         * lib/printf-parse.c: Likewise.
4222         * lib/progname.c: Likewise.
4223         * lib/progreloc.c: Likewise.
4224         * lib/readlink.c: Likewise.
4225         * lib/sh-quote.c: Likewise.
4226         * lib/stpcpy.c: Likewise.
4227         * lib/stpncpy.c: Likewise.
4228         * lib/strcasecmp.c: Likewise.
4229         * lib/strcasestr.c: Likewise.
4230         * lib/strcspn.c: Likewise.
4231         * lib/striconv.c: Likewise.
4232         * lib/strncasecmp.c: Likewise.
4233         * lib/strnlen1.c: Likewise.
4234         * lib/strstr.c: Likewise.
4235         * lib/strtok_r.c: Likewise.
4236         * lib/tls.c: Likewise.
4237         * lib/tmpdir.c: Likewise.
4238         * lib/unicodeio.c: Likewise.
4239         * lib/unsetenv.c: Likewise.
4240         * lib/vasnprintf.c: Likewise.
4241         * lib/vasprintf.c: Likewise.
4242         * lib/wait-process.c: Likewise.
4243         * lib/xallocsa.c: Likewise.
4244         * lib/xsetenv.c: Likewise.
4245         * lib/xstriconv.c: Likewise.
4246
4247 2006-09-13  Simon Josefsson  <jas@extundo.com>
4248
4249         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
4250         that internally, suggested by Ralf Wildenhues
4251         <Ralf.Wildenhues@gmx.de>.
4252
4253 2006-09-13  Simon Josefsson  <jas@extundo.com>
4254
4255         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
4256         @LIBOBJS@.
4257         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4258
4259 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4260
4261         * lib/_fpending.c: Include <config.h> unconditionally, since we no
4262         longer worry about uses that don't define HAVE_CONFIG_H.
4263         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
4264         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
4265         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
4266         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
4267         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
4268         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
4269         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
4270         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
4271         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
4272         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
4273         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
4274         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
4275         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
4276         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
4277         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
4278         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
4279         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
4280         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
4281         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
4282         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
4283         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
4284         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
4285         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
4286         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
4287         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
4288         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
4289         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
4290         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
4291         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
4292         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
4293         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
4294         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
4295         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
4296         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
4297         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
4298         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
4299         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
4300         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
4301         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
4302         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
4303         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
4304         Likewise.
4305
4306 2006-09-13  Eric Blake  <ebb9@byu.net>
4307
4308         * lib/getopt.c: Fix typo in last commit.
4309
4310 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
4311
4312         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
4313         dgettext.
4314
4315 2006-09-12  Jim Meyering  <jim@meyering.net>
4316
4317         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
4318         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
4319         Reported by Nelson H. F. Beebe.
4320
4321 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
4322
4323         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
4324         program_invocation_name and program_invocation_short_name are
4325         initialized.
4326         * lib/argp-namefrob.h: Move declarations of program_invocation_name
4327         and program_invocation_short_name to argp.h, so they are visible
4328         to user programs.
4329         * lib/argp.h: Likewise
4330
4331 2006-09-10  Bruno Haible  <bruno@clisp.org>
4332
4333         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
4334         m4/inttypes_h.m4, m4/uintmax_t.m4.
4335
4336 2006-09-10  Bruno Haible  <bruno@clisp.org>
4337
4338         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
4339         gl_AC_TYPE_UINTMAX_T.
4340
4341 2006-09-10  Bruno Haible  <bruno@clisp.org>
4342
4343         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
4344
4345 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
4346
4347         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
4348         convention.  Text proposed by Bruno Haible.
4349         (struct argp_option): Document the use of N_() wrappers.
4350
4351         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
4352         '\v', and translate the two parts separately, instead of feeding
4353         the whole string to gettext.  This allows to exclude
4354         '\v' from the strings visible to the translator by writing doc
4355         strings as N_("..") "\v" N_("..").
4356
4357 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
4358
4359         * config/srclist.txt: Undo latest change; the bug was fixed.
4360
4361 2006-09-09  Bruno Haible  <bruno@clisp.org>
4362
4363         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
4364         assignments if building a library without libtool.
4365         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
4366         in func_emit_lib_Makefile_am.
4367         (func_import): When building a static library libfoo.a, arrange to
4368         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
4369         (func_create_testdir): Likewise.
4370         * modules/gc (configure.ac, Makefile.am): If building statically,
4371         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
4372         * modules/iconvme (configure.ac, Makefile.am): Likewise.
4373         * modules/striconv (configure.ac, Makefile.am): Likewise.
4374         Based on a suggestion by Ralf Wildenhues.
4375
4376 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4377
4378         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
4379         Check for unistd.h too, since Autoconf doesn't assume POSIX.
4380         Also:
4381
4382         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4383         Add year_2050_test to catch glibc bug 2821
4384         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
4385
4386         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4387         Prefer #ifdef to #if.
4388
4389         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
4390         Return from 'main' instead of calling 'exit'.
4391
4392 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4393
4394         * lib/mktime.c (guess_time_tm): Fix bug where mktime
4395         returned the maximum time_t value rather than (time_t) -1.
4396         Problem originally reported by William Bardwell
4397         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
4398
4399         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
4400         Moved to here ...
4401         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
4402         ... from here.
4403
4404 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4405
4406         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
4407         2821 is fixed.
4408
4409 2006-09-08  Jim Meyering  <jim@meyering.net>
4410
4411         Don't make generated files read-only.  That would bother too many
4412         people.  However, do retain the ability to work when targets are
4413         read-only: remove the destination and temporary files before writing
4414         them (when generated via sed or echo), or by using the -f option for
4415         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
4416         * modules/alloca-opt, modules/argz, modules/arpa_inet:
4417         * modules/byteswap, modules/configmake, modules/fcntl:
4418         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
4419         * modules/localcharset, modules/netinet_in, modules/poll:
4420         * modules/stdbool, modules/stdint, modules/sys_select:
4421         * modules/sys_socket, modules/sys_stat, modules/sysexits:
4422
4423 2006-09-08  Jim Meyering  <jim@meyering.net>
4424
4425         Avoid new build failure on FreeBSD 6.0.
4426         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
4427         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
4428         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
4429
4430 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4431
4432         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
4433
4434 2006-09-07  Jim Meyering  <jim@meyering.net>
4435
4436         Fix global typo in last change: use chmod u-w, not chmod u-x.
4437         Spotted by Paul Eggert and Bruce Korb.
4438         * modules/alloca-opt, modules/argz, modules/arpa_inet:
4439         * modules/byteswap, modules/configmake, modules/fcntl:
4440         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
4441         * modules/localcharset, modules/netinet_in, modules/poll:
4442         * modules/stdbool, modules/stdint, modules/sys_select:
4443         * modules/sys_socket, modules/sys_stat, modules/sysexits:
4444
4445 2006-09-06  Jim Meyering  <jim@meyering.net>
4446
4447         Make generated files be read-only.
4448         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
4449         Ensure that each generated file is now read-only.
4450         * modules/argz: Likewise.
4451         * modules/arpa_inet: Likewise.
4452         * modules/byteswap: Likewise.
4453         * modules/configmake: Likewise.
4454         * modules/fcntl: Likewise.
4455         * modules/fnmatch: Likewise.
4456         * modules/getopt: Likewise.
4457         * modules/glob: Likewise.
4458         * modules/inttypes: Likewise.
4459         * modules/netinet_in: Likewise.
4460         * modules/poll: Likewise.
4461         * modules/stdbool: Likewise.
4462         * modules/stdint: Likewise.
4463         * modules/sys_select: Likewise.
4464         * modules/sys_socket: Likewise.
4465         * modules/sys_stat: Likewise.
4466         * modules/sysexits: Likewise.
4467         * modules/localcharset: Same as above, but continue using temporary
4468         file named "t-$@" (why different?) rather than the "$@-t" used
4469         everywhere else.
4470
4471         * modules/sysexits (Makefile.am): Replace literal occurrences
4472         of "sysexit.h" more readable, and more consistent, "$@".
4473
4474 2006-09-06  Bruno Haible  <bruno@clisp.org>
4475
4476         * modules/striconv: New file.
4477         * modules/xstriconv: New file.
4478         * MODULES.html.sh (Internationalization functions): Add striconv,
4479         xstriconv.
4480
4481 2006-09-06  Bruno Haible  <bruno@clisp.org>
4482
4483         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
4484         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
4485         not using libtool correctly.
4486
4487 2006-09-06  Bruno Haible  <bruno@clisp.org>
4488
4489         * lib/striconv.h: New file.
4490         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
4491         iconvstring.c.
4492         * lib/xstriconv.h: New file.
4493         * lib/xstriconv.c: New file.
4494
4495 2006-09-06  Bruno Haible  <bruno@clisp.org>
4496
4497         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
4498         lib_..._LDFLAGS.
4499
4500 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4501
4502         * lib/argz_.h: Sync from Libtool.
4503
4504         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
4505                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4506
4507         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
4508
4509 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
4510
4511         * modules/trim: New file.
4512
4513 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
4514
4515         * lib/trim.h: New file.
4516         * lib/trim.c: New file.
4517
4518 2006-09-05  Bruno Haible  <bruno@clisp.org>
4519
4520         * MODULES.html.sh (String handling): Add trim.
4521
4522 2006-09-04  Karl Berry  <karl@gnu.org>
4523
4524         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
4525         until next release.
4526
4527 2006-09-03  Bruno Haible  <bruno@clisp.org>
4528
4529         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
4530         correctly.
4531
4532 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4533
4534         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
4535         not gl_GETLOADAVG.  Omit unneeded semicolons.
4536         Problems reported by Ralf Wildenhues in
4537         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
4538         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
4539         at the end, which is the usual gnulib style.
4540
4541         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
4542         of doing all the work ourselves.
4543         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
4544         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
4545
4546 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4547
4548         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
4549         Problem reported by Ralf Wildenhues in
4550         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
4551
4552         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
4553         HAVE_STRUCT_STATFS_F_FSTYPENAME.
4554
4555 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4556
4557         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
4558         yesterday's patch by changing test -n to test -z.
4559
4560 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4561
4562         * modules/getloadavg (Files): Add m4/getloadavg.m4.
4563         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
4564         the former is now obsolescent.
4565
4566         * modules/chdir-long (Depends-on): Add fcntl.
4567
4568 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4569
4570         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
4571         obsolescent, and programs should use gnulib instead.
4572         * m4/getloadavg.m4: New file, with contents taken from Autoconf
4573         but with prefixes changed.
4574
4575 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4576
4577         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
4578         or stdbool.h, because they might not exist while configuring.
4579
4580         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
4581         Don't include unistd.h or limits.h; not needed, since chdir-long.h
4582         does that for us.
4583         (O_DIRECTORY): Remove.
4584
4585 2006-08-31  Eric Blake  <ebb9@byu.net>
4586
4587         * gnulib-tool: Don't let emacs change spaces to TAB.
4588
4589 2006-08-31  Bruno Haible  <bruno@clisp.org>
4590
4591         * gnulib-tool: When calling func_import more than once, do it in a
4592         subshell.
4593         Reported by Eric Blake <ebb9@byu.net>.
4594
4595 2006-08-31  Bruno Haible  <bruno@clisp.org>
4596
4597         * gnulib-tool (nl): Remove variable.
4598         (sed_transform_lib_file): Use more robust test for config-h module.
4599         (func_import): Fix typo in 2006-08-25 patch.
4600
4601 2006-08-31  Bruno Haible  <bruno@clisp.org>
4602
4603         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
4604         specified, augment Makefile.am variables instead of assigning them.
4605
4606 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4607
4608         Work around a bug in both the Linux and SunOS 64-bit kernels:
4609         nanosleep mishandles sleeps for longer than 2**31 seconds.
4610         Problem reported by Frank v Waveren in
4611         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
4612         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
4613         Check for nanosleep bug.
4614         (LIB_NANOSLEEP): Append clock_gettime library if needed.
4615
4616 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4617
4618         Work around a bug in both the Linux and SunOS 64-bit kernels:
4619         nanosleep mishandles sleeps for longer than 2**31 seconds.
4620         Problem reported by Frank v Waveren in
4621         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
4622         * lib/nanosleep.c (BILLION): New constant.
4623         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
4624         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
4625         implementation.
4626
4627 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4628
4629         * modules/nanosleep (Depends-on): Add gettime.
4630
4631 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4632         and Simon Josefsson  <jas@extundo.com>
4633         and Oskar Liljeblad  <oskar@osk.mine.nu>
4634
4635         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
4636         * gnulib-tool (func_import): New license type 'unmodifiable license
4637         text'.
4638         * modules/fdl: Use it.  Longer description.
4639         * module/gpl, module/lgpl: New files.
4640
4641 2006-08-30  Jim Meyering  <jim@meyering.net>
4642
4643         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
4644         shadowing the parameter.
4645
4646 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4647
4648         Sync from Libtool:
4649
4650         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4651
4652         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
4653         sharing with gnulib.  Report by Eric Blake.
4654
4655 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4656
4657         * modules/isapipe: New file.
4658         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
4659
4660 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4661
4662         * modules/configmake (Makefile.am): Add a comment, and omit
4663         the CONFIGMAKE_ prefix from generated macro names.  Suggested
4664         by Bruno Haible.
4665
4666 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4667
4668         * m4/isapipe.m4: New file.
4669
4670 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4671
4672         * lib/isapipe.c, lib/isapipe.h: New files.
4673
4674 2006-08-29  Jim Meyering  <jim@meyering.net>
4675
4676         * modules/configmake (Makefile.am): Make configmake.h depend on
4677         Makefile.  Otherwise, a stale configmake.h could hang around.
4678
4679 2006-08-29  Eric Blake  <ebb9@byu.net>
4680
4681         * lib/error.c (error_at_line, print_errno_message): Match libc, after
4682         resolution of upstream bug 3044.
4683
4684 2006-08-29  Bruno Haible  <bruno@clisp.org>
4685
4686         * modules/localcharset (Depends-on): Add configmake.
4687         (Makefile.am): Remove setting of LIBDIR through DEFS.
4688
4689 2006-08-29  Bruno Haible  <bruno@clisp.org>
4690
4691         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
4692         defined.
4693
4694 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4695
4696         * modules/fcntl: New file.
4697         * modules/chdir-safer (Depends-on): Add fcntl.
4698         * modules/fts: Likewise.
4699         * modules/mkdir-p: Likewise.
4700
4701         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
4702         This undoes the most recent change, since we're now addressing the
4703         problem in a different way.
4704
4705         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
4706         into output, since the output might be called Makefile.am even
4707         if $makefile_name is something different.
4708         (func_import): Use $makefile_am rather than
4709         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
4710         empty.
4711
4712         * modules/inttypes (Files): Add m4/inttypes-h.m4.
4713
4714 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4715
4716         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
4717         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
4718         recent change to stdint.m4, since we're now addressing the problem in a
4719         different way.
4720
4721 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4722
4723         * m4/fcntl_h.m4: New file.
4724
4725 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4726
4727         * lib/fcntl_.h: New file.
4728         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
4729         the fcntl module.
4730         * lib/dirchownmod.c: Likewise.
4731         * lib/fts.c: Likewise.
4732
4733         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
4734         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
4735         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
4736         just before including <inttypes.h>, to avoid circular inclusion.
4737
4738 2006-08-28  Jim Meyering  <jim@meyering.net>
4739
4740         * doc/visibility.texi: Actually read and correct the grammar of the
4741         sentence affected by yesterday's change.
4742
4743 2006-08-28  Eric Blake  <ebb9@byu.net>
4744
4745         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
4746         needs wrapper.
4747
4748 2006-08-28  Eric Blake  <ebb9@byu.net>
4749
4750         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
4751
4752 2006-08-28  Eric Blake  <ebb9@byu.net>
4753
4754         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
4755
4756 2006-08-28  Bruno Haible  <bruno@clisp.org>
4757
4758         * modules/c-strstr: New file, from GNU gettext.
4759         * MODULES.html.sh (String handling): Add c-strstr.
4760
4761 2006-08-28  Bruno Haible  <bruno@clisp.org>
4762
4763         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
4764         macros.
4765         Reported by Eric Blake.
4766
4767 2006-08-28  Bruno Haible  <bruno@clisp.org>
4768
4769         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
4770         (VASNPRINTF): Return a string of length > INT_MAX without failing.
4771         * lib/vasprintf.c: Include errno.h, limits.h.
4772         (EOVERFLOW): New fallback definition.
4773         (vasprintf): Test here whether the string length is > INT_MAX.
4774         * lib/vsnprintf.c: Include errno.h, limits.h.
4775         (EOVERFLOW): New fallback definition.
4776         (vsnprintf): Fix bug when generated string was too long for the buffer.
4777         Test here whether the string length is > INT_MAX.
4778
4779 2006-08-28  Bruno Haible  <bruno@clisp.org>
4780
4781         * lib/inttypes_.h (SCNX*): Remove definitions.
4782         Reported by Eric Blake.
4783
4784 2006-08-28  Bruno Haible  <bruno@clisp.org>
4785
4786         * lib/c-strstr.h: New file, from GNU gettext.
4787         * lib/c-strstr.c: New file, from GNU gettext.
4788
4789 2006-08-28  Bruno Haible  <bruno@clisp.org>
4790
4791         * gnulib-tool: Reorder some statements.
4792
4793 2006-08-28  Bruno Haible  <bruno@clisp.org>
4794
4795         * gnulib-tool: New option --makefile-name.
4796         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
4797         $makefile_name.
4798         (func_import): Write $makefile_name to the cache file, and read it from
4799         there unless explicitly specified. Use $makefile_name as file name
4800         instead of Makefile.am. Adjust the recommendations accordingly.
4801
4802 2006-08-28  Bruno Haible  <bruno@clisp.org>
4803
4804         * gnulib-tool (func_verify_module): Check against misapplying patch.
4805
4806 2006-08-28  Bruno Haible  <bruno@clisp.org>
4807
4808         * gnulib-tool (func_relativize, func_relconcat): New functions.
4809         Give an error if --local-dir is given with --update.
4810         Remove trailing slashes from $local_gnulib_dir.
4811         (func_import): Store the relativized $local_gnulib_dir in
4812         gnulib-cache.m4, and read it from there if not specified explicitly.
4813
4814 2006-08-28  Bruno Haible  <bruno@clisp.org>
4815
4816         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
4817         is the current directory. Respect also $local_gnulib_dir.
4818
4819 2006-08-28  Bruno Haible  <bruno@clisp.org>
4820             Simon Josefsson  <jas@extundo.com>
4821
4822         BeOS portability.
4823         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
4824
4825 2006-08-27  Jim Meyering  <jim@meyering.net>
4826
4827         * doc/visibility.texi: Remove duplicate word: "pointer".
4828
4829 2006-08-26  Bruno Haible  <bruno@clisp.org>
4830
4831         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
4832         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
4833         (Makefile.am): Create inttypes.h from inttypes_.h.
4834         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
4835
4836         * modules/imaxabs: New file.
4837
4838         * modules/imaxdiv: New file.
4839
4840 2006-08-26  Bruno Haible  <bruno@clisp.org>
4841
4842         * m4/inttypes.m4: New file.
4843         * m4/_inttypes_h.m4: Remove file.
4844         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
4845         PRI_MACROS_BROKEN.
4846         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
4847
4848         * m4/imaxabs.m4: New file.
4849
4850         * m4/imaxdiv.m4: New file.
4851
4852 2006-08-26  Bruno Haible  <bruno@clisp.org>
4853
4854         * lib/inttypes_.h: New file.
4855         * lib/inttypes.h: Remove file.
4856         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
4857
4858         * lib/imaxabs.c: New file.
4859
4860         * lib/imaxdiv.c: New file.
4861
4862 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
4863
4864         New config-h module, so that "make" output needn't be cluttered
4865         by -DHAVE_CONFIG_H.
4866         * MODULES.html.sh (Support for building libraries and executables):
4867         Add config-h.
4868         * modules/config-h: New file.
4869         * gnulib-tool (nl, sed_transform_lib_file): New vars.
4870         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
4871         the config-h module is used.
4872
4873         New configmake module, so that "make" output needn't be cluttered
4874         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
4875         * MODULES.html.sh (Support for building libraries and executables):
4876         Add configmake.
4877         * modules/configmake: New file.
4878
4879 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
4880
4881         * m4/config-h.m4: New file.
4882
4883 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4884
4885         * config/srclist.txt: Add elisp-comp.
4886
4887 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4888
4889         * MODULES.html.sh (Support for building libraries and executables):
4890         Add elisp-comp.
4891         * build-aux/elisp-comp: New file.
4892         * modules/elisp-comp: New file.
4893
4894 2006-08-24  Bruno Haible  <bruno@clisp.org>
4895
4896         * gnulib-tool (func_create_testdir): Use non-default values of
4897         sourcebase and m4base.
4898
4899 2006-08-24  Bruno Haible  <bruno@clisp.org>
4900
4901         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
4902         HTML structure.
4903
4904 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4905
4906         * modules/openat (Depends-on): Add lchown.
4907
4908 2006-08-23  Bruno Haible  <bruno@clisp.org>
4909
4910         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
4911         of gl_LOCK_EARLY instead of gl_LOCK.
4912
4913 2006-08-23  Bruno Haible  <bruno@clisp.org>
4914
4915         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
4916         on OSF/1 to no.
4917         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
4918
4919 2006-08-23  Bruno Haible  <bruno@clisp.org>
4920
4921         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
4922         as unusable.
4923
4924         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
4925         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
4926         (gl_LOCK): New macro.
4927
4928 2006-08-22  Simon Josefsson  <jas@extundo.com>
4929
4930         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
4931         to md5 module.
4932
4933 2006-08-22  Simon Josefsson  <jas@extundo.com>
4934
4935         * MODULES.html.sh: Add "Support for maintaining and release
4936         projects".
4937
4938         * build-aux/gnupload: New file, from coreutils.
4939
4940 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
4941
4942         Avoid the need for AC_LIBSOURCES in m4 macros.
4943         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
4944         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
4945         * modules/check-version (EXTRA_DIST): Add check-version.h.
4946         * modules/crc (EXTRA_DIST): Add crc.h.
4947         * modules/des (EXTRA_DIST): Add des.h.
4948         * modules/gc (EXTRA_DIST): Add gc.h.
4949         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
4950         * modules/getline (EXTRA_DIST): Add getline.h.
4951         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
4952         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
4953         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
4954         * modules/md2 (EXTRA_DIST): Add md2.h.
4955         * modules/md4 (EXTRA_DIST): Add md4.h.
4956         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
4957         * modules/read-file (EXTRA_DIST): Add read-file.h.
4958         * modules/readline (EXTRA_DIST): Add readline.h.
4959         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
4960         rijndael-api-fst.h.
4961
4962 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
4963
4964         * m4/rijndael.m4 (gl_ARCFOUR):
4965         * m4/arctwo.m4 (gl_ARCTWO):
4966         * m4/check-version.m4 (gl_CHECK_VERSION):
4967         * m4/crc.m4 (gl_CRC):
4968         * m4/des.m4 (gl_DES):
4969         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
4970         * m4/gc.m4 (gl_GC):
4971         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
4972         * m4/getline.m4 (gl_FUNC_GETLINE):
4973         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
4974         * m4/hmac-md5.m4 (gl_HMAC_MD5):
4975         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
4976         * m4/md2.m4 (gl_MD2):
4977         * m4/md4.m4 (gl_MD4):
4978         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
4979         * m4/read-file.m4 (gl_FUNC_READ_FILE):
4980         * m4/readline.m4 (gl_FUNC_READLINE):
4981         * m4/rijndael.m4 (gl_RIJNDAEL):
4982         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
4983         to get the necessary .h files and whatnot.
4984
4985 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
4986
4987         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
4988         gnulib rather than the other way around.
4989         * config/srclistvars.sh (COREUTILS): Remove.
4990
4991 2006-08-22  Jim Meyering  <jim@meyering.net>
4992
4993         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
4994
4995         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
4996
4997 2006-08-22  Eric Blake  <ebb9@byu.net>
4998
4999         * modules/regexprops-generic: New file.
5000         * MODULES.html.sh (Support for building documentation): List it.
5001
5002 2006-08-22  Eric Blake  <ebb9@byu.net>
5003
5004         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
5005         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
5006         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
5007         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
5008
5009 2006-08-22  Bruno Haible  <bruno@clisp.org>
5010
5011         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
5012         and lib_LTLIBRARIES like the other lib_* variables.
5013
5014 2006-08-22  Bruno Haible  <bruno@clisp.org>
5015
5016         * build-aux/x-to-1.in: New file, from GNU gettext.
5017
5018 2006-08-22  Bruno Haible  <bruno@clisp.org>
5019
5020         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
5021         <utmpx.h> exists.
5022
5023 2006-08-22  Bruno Haible  <bruno@clisp.org>
5024
5025         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
5026         <utmpx.h> exists.
5027
5028 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5029
5030         BeOS portability.
5031         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
5032         exist.
5033         Problem reported by Bruno Haible.
5034
5035 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5036
5037         Avoid the need for AC_LIBSOURCES in m4 macros.
5038         * modules/acl (EXTRA_DIST): Add acl.h.
5039         * modules/argmatch (Files): Add m4/argmatch.m4.
5040         (configure.ac): Add gl_ARGMATCH.
5041         (EXTRA_DIST): Renamed from lib_SOURCES, for
5042         consistency with the other modules.  Remove argmatch.c.
5043         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
5044         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
5045         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
5046         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
5047         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
5048         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
5049         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
5050         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
5051         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
5052         * modules/closeout (EXTRA_DIST): Add closeout.h.
5053         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
5054         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
5055         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
5056         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
5057         dirname.h; remove basename.c and stripslash.c.
5058         * modules/exclude (EXTRA_DIST): Add exclude.h.
5059         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
5060         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
5061         * modules/file-type (EXTRA_DIST): Add file-type.h.
5062         * modules/filemode (EXTRA_DIST): Add filemode.h.
5063         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
5064         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
5065         * modules/fpending (EXTRA_DIST): Add __fpending.h.
5066         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
5067         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
5068         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
5069         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
5070         * modules/getdate (EXTRA_DIST): Add getdate.c.
5071         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
5072         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
5073         * modules/getpass (EXTRA_DIST): Add getpass.h.
5074         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
5075         * modules/group-member (EXTRA_DIST): Add group-member.h.
5076         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
5077         * modules/hash (EXTRA_DIST): Add hash.h.
5078         * modules/human (EXTRA_DIST): Add human.h.
5079         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
5080         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
5081         * modules/lchown (EXTRA_DIST): Add lchown.h.
5082         * modules/long-options (EXTRA_DIST): Add long-options.h.
5083         * modules/lstat (EXTRA_DIST): Add lstat.h.
5084         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
5085         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
5086         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
5087         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
5088         * modules/memxor (EXTRA_DIST): Add memxor.h.
5089         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
5090         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
5091         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
5092         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
5093         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
5094         * modules/physmem (EXTRA_DIST): Add physmem.h.
5095         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
5096         * modules/posixver (EXTRA_DIST): Add posixver.h.
5097         * modules/quote (EXTRA_DIST): Add quote.h.
5098         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
5099         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
5100         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
5101         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
5102         regex_internal.h regexec.c.
5103         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
5104         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
5105         * modules/same (EXTRA_DIST): Add same.h.
5106         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
5107         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
5108         * modules/savedir (EXTRA_DIST): Add savedir.h.
5109         * modules/sha1 (EXTRA_DIST): Add sha1.h.
5110         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
5111         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
5112         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
5113         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
5114         * modules/strdup (EXTRA_DIST): Add strdup.h.
5115         * modules/strftime (EXTRA_DIST): Add strftime.h.
5116         * modules/strndup (EXTRA_DIST): Add strndup.h.
5117         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
5118         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
5119         * modules/time_r (EXTRA_DIST): Add time_r.h.
5120         * modules/timespec (EXTRA_DIST): Add timespec.h.
5121         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
5122         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
5123         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
5124         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
5125         * modules/userspec (EXTRA_DIST): Add userspec.h.
5126         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
5127         * modules/utimens (EXTRA_DIST): Add utimens.h.
5128         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
5129         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
5130         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
5131         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
5132         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
5133         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
5134         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
5135         * modules/yesno (EXTRA_DIST): Add yesno.h.
5136
5137 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5138
5139         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
5140
5141         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
5142         * m4/dev-ino.m4, same-inode.m4: Remove.
5143
5144         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
5145         * m4/acl.m4 (AC_FUNC_ACL):
5146         * m4/backupfile.m4 (gl_BACKUPFILE):
5147         * m4/c-strtod.m4 (gl_C99_STRTOLD):
5148         * m4/canon-host.m4 (gl_CANON_HOST):
5149         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
5150         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
5151         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
5152         * m4/cloexec.m4 (gl_CLOEXEC):
5153         * m4/close-stream.m4 (gl_CLOSE_STREAM):
5154         * m4/closeout.m4 (gl_CLOSEOUT):
5155         * m4/dirfd.m4 (gl_FUNC_DIRFD):
5156         * m4/dirname.m4 (gl_DIRNAME):
5157         * m4/exclude.m4 (gl_EXCLUDE):
5158         * m4/exitfail.m4 (gl_EXITFAIL):
5159         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
5160         * m4/file-type.m4 (gl_FILE_TYPE):
5161         * m4/filemode.m4 (gl_FILEMODE):
5162         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
5163         * m4/fpending.m4 (gl_FUNC_FPENDING):
5164         * m4/fprintftime.m4 (gl_FPRINTFTIME):
5165         * m4/fts.m4 (gl_FUNC_FTS):
5166         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
5167         * m4/getdate.m4 (gl_GETDATE):
5168         * m4/gethrxtime.m4 (gl_GETHRXTIME):
5169         * m4/getpagesize.m4 (gl_GETPAGESIZE):
5170         * m4/getpass.m4 (gl_FUNC_GETPASS):
5171         * m4/gettime.m4 (gl_GETTIME):
5172         * m4/getugroups.m4 (gl_GETUGROUPS):
5173         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
5174         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
5175         * m4/hard-locale.m4 (gl_HARD_LOCALE):
5176         * m4/hash.m4 (gl_HASH):
5177         * m4/idcache.m4 (gl_IDCACHE):
5178         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
5179         * m4/lchown.m4 (gl_FUNC_LCHOWN):
5180         * m4/long-options.m4 (gl_LONG_OPTIONS):
5181         * m4/lstat.m4 (gl_FUNC_LSTAT):
5182         * m4/md5.m4 (gl_MD5):
5183         * m4/memcasecmp.m4 (gl_MEMCASECMP):
5184         * m4/memcoll.m4 (gl_MEMCOLL):
5185         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
5186         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
5187         * m4/memxor.m4 (gl_MEMXOR):
5188         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
5189         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
5190         * m4/modechange.m4 (gl_MODECHANGE):
5191         * m4/mountlist.m4 (gl_MOUNTLIST):
5192         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
5193         * m4/openat.m4 (gl_FUNC_OPENAT):
5194         * m4/pathmax.m4 (gl_PATHMAX):
5195         * m4/physmem.m4 (gl_PHYSMEM):
5196         * m4/posixtm.m4 (gl_POSIXTM):
5197         * m4/posixver.m4 (gl_POSIXVER):
5198         * m4/quote.m4 (gl_QUOTE):
5199         * m4/quotearg.m4 (gl_QUOTEARG):
5200         * m4/readtokens.m4 (gl_READTOKENS):
5201         * m4/readutmp.m4 (gl_READUTMP):
5202         * m4/regex.m4 (gl_REGEX):
5203         * m4/safe-read.m4 (gl_SAFE_READ):
5204         * m4/safe-write.m4 (gl_SAFE_WRITE):
5205         * m4/same.m4 (gl_SAME):
5206         * m4/save-cwd.m4 (gl_SAVE_CWD):
5207         * m4/savedir.m4 (gl_SAVEDIR):
5208         * m4/settime.m4 (gl_SETTIME):
5209         * m4/sha1.m4 (gl_SHA1):
5210         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
5211         * m4/stat-macros.m4 (gl_STAT_MACROS):
5212         * m4/stat-time.m4 (gl_STAT_TIME):
5213         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
5214         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
5215         * m4/strdup.m4 (gl_FUNC_STRDUP):
5216         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
5217         * m4/strndup.m4 (gl_FUNC_STRNDUP):
5218         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
5219         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
5220         * m4/time_r.m4 (gl_TIME_R):
5221         * m4/timespec.m4 (gl_TIMESPEC):
5222         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
5223         * m4/unlinkdir.m4 (gl_UNLINKDIR):
5224         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
5225         * m4/userspec.m4 (gl_USERSPEC):
5226         * m4/utimecmp.m4 (gl_UTIMECMP):
5227         * m4/utimens.m4 (gl_UTIMENS):
5228         * m4/xalloc.m4 (gl_XALLOC):
5229         * m4/xgetcwd.m4 (gl_XGETCWD):
5230         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
5231         * m4/xreadlink.m4 (gl_XREADLINK):
5232         * m4/xstrtod.m4 (gl_XSTRTOD):
5233         * m4/yesno.m4 (gl_YESNO):
5234         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
5235         to get the necessary .h files and whatnot.
5236
5237 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
5238             Bruno Haible  <bruno@clisp.org>
5239
5240         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
5241         /bin/sh understanding of '!' conditional negation.
5242
5243 2006-08-21  Jim Meyering  <jim@meyering.net>
5244
5245         * modules/openat (Depends-on): Really alphabetize.
5246
5247         * modules/acl (Depends-on): Add error and quote.
5248
5249         * check-module (find_included_lib_files): Add at-func.c to the
5250         ok-to-include-more-than-once white list.
5251
5252         * modules/openat (Depends-on): Add lstat.  Alphabetize.
5253
5254 2006-08-21  Bruno Haible  <bruno@clisp.org>
5255
5256         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5257         Emit a pkgdata_DATA variable only if some snippets add contents to it.
5258         Reported by Martin Lambers <marlam@marlam.de>.
5259
5260 2006-08-21  Bruno Haible  <bruno@clisp.org>
5261
5262         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
5263         specify an installation location, don't emit a noinst_LIBRARIES or
5264         noinst_LTLIBRARIES assignment.
5265
5266 2006-08-21  Bruno Haible  <bruno@clisp.org>
5267
5268         BeOS portability.
5269         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
5270         BeOS has mbrtowc() but no <wctype.h>.
5271
5272 2006-08-21  Bruno Haible  <bruno@clisp.org>
5273
5274         BeOS portability.
5275         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
5276         exist.
5277
5278 2006-08-21  Bruno Haible  <bruno@clisp.org>
5279
5280         BeOS portability.
5281         * lib/mbchar.h: Include <wctype.h> only if it exists.
5282
5283 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5284
5285         Remove files that are no longer needed by their respective modules.
5286         * m4/obstack.m4: Remove.
5287         * m4/strerror_r.m4: Remove.
5288         * m4/uint32_t.m4: Remove.
5289         * m4/uintptr_t.m4: Remove.
5290         * m4/ullong_max.m4: Remove.
5291         * m4/xstrtoimax.m4: Remove.
5292         * m4/xstrtoumax.m4: Remove.
5293
5294         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
5295         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
5296         dependencies now capture this.
5297
5298         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
5299         Do not use AC_LIBSOURCES, since gnulib modules now do this.
5300         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
5301         * m4/human.m4 (gl_HUMAN): Likewise.
5302         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
5303         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
5304
5305         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
5306
5307         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
5308         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
5309         stdint.
5310         * m4/human.m4 (gl_HUMAN): Likewise.
5311         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
5312         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
5313         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
5314         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
5315         * m4/xstrtol (gl_XSTRTOL): Likewise.
5316
5317         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
5318         AC_TYPE_LONG_LONG_INT.
5319         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
5320         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
5321         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
5322         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
5323
5324         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
5325         on stdbool.
5326
5327         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
5328         (gl_PREREQ_XSTRTOUL): Remove.
5329
5330         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
5331
5332         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
5333         mode.
5334
5335 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5336
5337         Add and change modules to make it easier for coreutils to use
5338         gnulib-tool.
5339         * modules/backupfile (Files): Remove m4/d-ino.m4.
5340         (Depends-on): Add d-ino.
5341         * modules/cycle-check (Depends-on): Add stdint.
5342         (lib_SOURCES): Add cycle-check.h.
5343         * modules/d-ino: New module.
5344         * modules/d-type: New module.
5345         * modules/error (Files): Remove m4/strerror_r.m4.
5346         * modules/filemode (Files): Add m4/st_dm_mode.m4.
5347         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
5348         m4/inttypes_h.m4, m4/uintmax_t.m4.
5349         (Depends-on): Add stdint.
5350         (lib_SOURCES): Add fsusage.h.
5351         * modules/getcwd (Files): Remove d-ino.m4.
5352         (Depends-on): Add d-ino.
5353         * modules/getndelim2 (Depends-on): Add stdint.
5354         * modules/glob (Files): Remove m4/d-type.m4.
5355         (Depends-on): Add d-type.
5356         * modules/host-os: New module.
5357         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
5358         m4/inttypes_h.m4, m4/uintmax_t.m4.
5359         * Depends-on: Add stdint.
5360         (lib_SOURCES): Add human.h.
5361         * modules/inttostr (Files): Remove m4/intmax_t.m4,
5362         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
5363         m4/uintmax_t.m4, m4/ulonglong.m4.
5364         (Depends-on): Add stdint.
5365         (EXTRA_DIST): Add inttostr.h.
5366         * modules/lchmod: New module.
5367         * modules/link-follow: New module.
5368         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
5369         (Depends-on): Add lchmod.
5370         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
5371         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
5372         (Depends-on): Add stdint.
5373         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
5374         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
5375         (Depends-on): Add stdint.
5376         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
5377         * modules/perl: New module.
5378         * modules/regex (Depends-on): Add stdint.
5379         * modules/rmdir-errno: New module.
5380         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
5381         m4/intmax_t.m4.
5382         (Depends-on): Add stdint.
5383         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
5384         m4/uintmax_t.m4.
5385         (Depends-on): Add stdint.
5386         * modules/unlink-busy: New module.
5387         * modules/utimecmp (Depends-on): Add stdint.
5388         * modules/uptime: New module.
5389         * modules/winsz-ioctl: New module.
5390         * modules/winsz-termios: New module.
5391         * modules/xnanosleep (Depends-on): Add nanosleep.
5392         * modules/ullong_max: Remove.
5393         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
5394         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
5395         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
5396         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
5397         (Depends-on): Add inttypes.
5398         (lib_SOURCES): Add xstrtol.h.
5399         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
5400         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
5401         * MODULES.html.sh: Move 'assert' into the assert section.
5402         Move 'dummy' into the linking section.
5403         Remove ullong_max.
5404         Add section for compatibility checks for POSIX:2001 functions,
5405         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
5406         winsz-ioctl, and winsz-termios into it.
5407         Add lchmod.
5408         Add top-level Misc section and put host-os, perl, and uptime
5409         into it.
5410
5411 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5412
5413         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
5414         now assume the stdint module.  Do not include inttypes.h.
5415         * lib/fsusage.h: Likewise.
5416         * lib/getndelim2.c: Likewise.
5417         * lib/human.h: Likewise.
5418         * lib/inttostr.h: Likewise.
5419         * lib/obstack.c: Likewise.
5420         * lib/regex_internal.h: Likewise.
5421         * lib/tempname.c: Likewise.
5422         * lib/utimecmp.c: Likewise.
5423         * lib/xstrtol.h: Likewise.
5424
5425         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
5426
5427         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
5428         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
5429         * lib/xtime.h: Likewise.
5430
5431 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5432
5433         * modules/openat (Files): Add lib/fchmodat.c.
5434         Fixes problem reported by Jay Youngman.
5435
5436 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5437
5438         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
5439         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
5440
5441 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
5442             Bruno Haible  <bruno@clisp.org>
5443
5444         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
5445         and is a script that invokes bison. Tighten the code. Add comments.
5446
5447 2006-08-18  Jim Meyering  <jim@meyering.net>
5448
5449         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
5450         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
5451         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
5452         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
5453
5454 2006-08-18  Bruno Haible  <bruno@clisp.org>
5455
5456         * modules/bison-i18n: New file.
5457         * MODULES.html.sh (Internationalization functions): Add it.
5458
5459 2006-08-18  Bruno Haible  <bruno@clisp.org>
5460
5461         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
5462         sys/statvfs.h. When getmntinfo was found, check its declaration and
5463         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
5464
5465 2006-08-18  Bruno Haible  <bruno@clisp.org>
5466
5467         * m4/bison-i18n.m4: New file, from bison.
5468
5469 2006-08-18  Bruno Haible  <bruno@clisp.org>
5470
5471         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
5472         (ME_DUMMY): Treat "kernfs" as a dummy.
5473         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
5474
5475 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
5476
5477         Update from coreutils.
5478
5479         2006-08-15  Jim Meyering  <jim@meyering.net>
5480
5481         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
5482
5483         2006-01-17  Jim Meyering  <jim@meyering.net>
5484
5485         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
5486
5487         2006-01-11  Jim Meyering  <jim@meyering.net>
5488
5489         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
5490         Check for the lchmod function.
5491
5492 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
5493
5494         Update from coreutils.
5495
5496         * lib/__fpending.h: Add copyright notice.
5497         * lib/fprintftime.h: Likewise.
5498         * lib/savedir.c: Use (C) in copyright notice.
5499         * lib/savedir.h: Likewise.
5500
5501         2006-08-15  Jim Meyering  <jim@meyering.net>
5502
5503         * lib/at-func.c: New file, with the logic of all emulated at-functions.
5504         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
5505         in support of the EXPECTED_ERRNO macro.
5506         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
5507         definitions.  Instead, define the appropriate symbols and include
5508         "at-func.c".
5509         * lib/mkdirat.c (mkdirat): Likewise.
5510         * lib/fchmodat.c (fchmodat): Likewise.
5511         (ENOSYS): Remove definition.
5512         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
5513         it.  Don't include "unistd--.h" -- it wasn't ever used.
5514
5515         2006-01-17  Jim Meyering  <jim@meyering.net>
5516
5517         Rewrite fts.c not to change the current working directory,
5518         by using openat, fstatat, fdopendir, etc..
5519
5520         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
5521         (HAVE_OPENAT_SUPPORT): Define.
5522         [_LIBC] (fchdir): Don't undef or define; no longer used.
5523         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
5524         Now, this `function' always succeeds, and consumes its file descriptor
5525         parameter -- so callers must not close such FDs.  Update callers.
5526         (diropen_fd, opendirat, cwd_advance_fd): New functions.
5527         (diropen): Add parameter, SP.  Adjust all callers.
5528         Implement using diropen_fd, rather than open.
5529         (fts_open): Initialize new member, fts_cwd_fd.
5530         Remove fts_rft-setting code.
5531         (fts_close): Close fts_cwd_fd, if necessary.
5532         (__opendir2): Define in terms of opendir or opendirat,
5533         depending on whether the FST_NOCHDIR flag is set.
5534         (fts_build): Since fts_safe_changedir consumes its FD, and since
5535         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
5536         and close the dup'd file descriptor upon failure.
5537         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
5538         (fts_safe_changedir): Tweak semantics to reflect that this function
5539         now calls cwd_advance_fd and hence consumes its FD argument.
5540         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
5541         [struct FTS] (fts_rft): Remove now-unused member.
5542         [struct FTS] (fts_cycle.state): Improve comment.
5543
5544         * lib/openat.c (openat_needs_fchdir): New function.
5545         * lib/openat.h (openat_needs_fchdir): Declare it.
5546
5547 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
5548
5549         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
5550         Problem and fix reported by Pádraig Brady in
5551         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
5552
5553 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5554
5555         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
5556
5557 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5558
5559         * lib/memcoll.c (memcoll): Optimize for the common case where the
5560         arguments are bytewise equal.
5561
5562 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5563
5564         * doc/regexprops-generic.texi: Add a copyright notice.
5565
5566 2006-08-15  Bruno Haible  <bruno@clisp.org>
5567
5568         * modules/tmpdir (License): Change to LGPL.
5569
5570 2006-08-15  Bruno Haible  <bruno@clisp.org>
5571
5572         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
5573         module.
5574
5575 2006-08-14  Simon Josefsson  <jas@extundo.com>
5576
5577         * config/srclist.txt: Add gnupload.
5578
5579 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5580
5581         Change copyright notice from LGPL 2 to GPL 2, since that's the
5582         standard form used in the gnulib repository.
5583         * tests/test-lock.c: Likewise.
5584         * tests/test-stdint.c: Likewise.
5585         * tests/test-tls.c: Likewise.
5586
5587         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
5588         prelude-manager.  User shorter URLs for GNU projects, without '?'.
5589         Add copyright notice.
5590
5591         * check-module: Add copyright notice.  Output a copyright
5592         notice if "--version" is specified.
5593         * modules/COPYING: New file.
5594         * tests/test-getaddrinfo.c: Add copyright notice.
5595         * tests/test-verify.c: Likewise.
5596
5597 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5598
5599         Change copyright notice from LGPL 2 to GPL 2, since that's the
5600         standard form used in the gnulib repository.
5601         * lib/lock.c: LGPL -> GPL.
5602         * lib/lock.h: Likewise.
5603         * lib/strnlen1.c: Likewise.
5604         * lib/strnlen1.h: Likewise.
5605         * lib/tls.c: Likewise.
5606         * lib/tls.h: Likewise.
5607         * lib/tmpdir.c: Likewise.
5608
5609         * lib/TODO: Remove; this belongs only in coreutils.
5610
5611 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5612
5613         Add copyright notices to long-enough files that lack them, since
5614         otherwise the files aren't clearly free.  Use the same notice that
5615         getdate.texi already uses.
5616         * doc/alloca-opt.texi: Add copyright notice.
5617         * doc/alloca.texi: Likewise.
5618         * doc/ctime.texi: Likewise.
5619         * doc/functions.texi: Likewise.
5620         * doc/gcd.texi: Likewise.
5621         * doc/gnulib-tool.texi: Likewise.
5622         * doc/inet_ntoa.texi: Likewise.
5623         * doc/visibility.texi: Likewise.
5624
5625         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
5626         * doc/quote.texi: Add copyright notice.
5627
5628         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
5629         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
5630         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
5631         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
5632         is now obsolete, and give a pointer to the Sun list.
5633         Add copyright notice.
5634
5635 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5636
5637         * config/srclistvars.sh: Add copyright notice.
5638
5639 2006-08-14  Eric Blake  <ebb9@byu.net>
5640
5641         Import the following change from libc:
5642
5643         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
5644
5645         Upstream bug 2997.
5646         * lib/misc/error.c: Add space between program name and message if file
5647         name is missing.
5648
5649 2006-08-12  Karl Berry  <karl@gnu.org>
5650
5651         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
5652         remove, these originate in gnulib now.
5653
5654 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5655
5656         * doc/Makefile (standards.info standards.html standards.dvi):
5657         Also depend on make-stds.texi.
5658
5659 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
5660
5661         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
5662         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
5663
5664         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
5665         in wchar_t.  Problem reported by Eric Blake.
5666
5667         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
5668         LEN is smaller than SIZE.  Suggested by Bruno Haible.
5669         Also, help the compiler to keep LEN in a register.
5670
5671 2006-08-11  Eric Blake  <ebb9@byu.net>
5672
5673         * users.txt: Sort.  Add tar.
5674
5675 2006-08-11  Bruno Haible  <bruno@clisp.org>
5676
5677         * users.txt: New file.
5678
5679 2006-08-11  Bruno Haible  <bruno@clisp.org>
5680
5681         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
5682         before <wchar.h>. Needed for OSF/1 and BSD/OS.
5683
5684 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5685
5686         * modules/snprintf (Depends-on): Remove minmax.
5687         (Maintainer): Add self and Bruno.
5688
5689 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5690
5691         * lib/.cppi-disable: Add snprintf.h, socket_.h.
5692         * lib/snprintf.c: Include <errno.h> and <limits.h>.
5693         (EOVERFLOW): Define if the system does not.
5694         Do not include "minmax.h"; it wasn't used.
5695         (snprintf): Don't assume size_t promotes to an unsigned type.
5696         Fix bug when generated string was too long for the buffer: the
5697         buffer's contents are supposed to be the initial prefix of the
5698         output.  Don't assume vasnprintf returns EOVERFLOW if the size
5699         exceeds INT_MAX; do the check ourselves.
5700
5701         Import the following changes from libc:
5702
5703         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
5704
5705         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
5706         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
5707         set wc to the byte which couldn't be converted.
5708         (re_string_reconstruct): Don't clear valid_raw_len before calling
5709         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
5710         tip_context using re_string_context_at.
5711
5712         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
5713
5714         * lib/posix/regex.h: g++ still cannot handled [restrict].
5715
5716         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
5717
5718         * lib/posix/regex.h: Remove special handling for VMS.
5719
5720 2006-08-10  Jim Meyering  <jim@meyering.net>
5721
5722         * modules/same-inode: New module.
5723         * modules/dev-ino: New module.
5724         * modules/cycle-check: Depend on these modules, rather than simply
5725         including their .h files.
5726         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
5727         required via m4/cycle-check.m4.
5728         * modules/same: Depend on new same-inode module, rather than
5729         including same-inode.h.
5730         * modules/chdir-safer: New file.
5731
5732         * modules/chown (Depends-on): Add stat-macros.
5733
5734 2006-08-10  Jim Meyering  <jim@meyering.net>
5735
5736         * m4/cycle-check.m4: New file.
5737         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
5738         * m4/dev-ino.m4, m4/same-inode.m4: New files.
5739
5740 2006-08-10  Eric Blake  <ebb9@byu.net>
5741
5742         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
5743         in from original proposal.
5744
5745 2006-08-10  Eric Blake  <ebb9@byu.net>
5746         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5747
5748         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
5749         namespace.
5750
5751 2006-08-10  Bruno Haible  <bruno@clisp.org>
5752
5753         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
5754         as well.
5755
5756 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5757
5758         Sync from coreutils.
5759
5760         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
5761
5762         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
5763         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
5764
5765 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5766
5767         * modules/restrict: Remove; no longer needed now that we assume
5768         Autoconf 2.59 or later.
5769         * MODULES.html.sh: Remove 'restrict'.
5770         * modules/argp (Depends-on): Remove 'restrict'.
5771         * modules/base64 (Depends-on): Likewise.
5772         * modules/gc (Depends-on): Likewise.
5773         * modules/getaddrinfo (Depends-on): Likewise.
5774         * modules/glob (Depends-on): Likewise.
5775         * modules/inet_ntop (Depends-on): Likewise.
5776         * modules/inet_pton (Depends-on): Likewise.
5777         * modules/memxor (Depends-on): Likewise.
5778         * modules/regex (Depends-on): Likewise.
5779         * modules/strtok_r (Depends-on): Likewise.
5780         * modules/time_r (Depends-on): Likewise.
5781
5782 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5783
5784         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
5785         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
5786         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
5787         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
5788         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
5789         * m4/memxor.m4 (gl_MEMXOR): Likewise.
5790         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
5791         gl_C_RESTRICT replaced by AC_C_RESTRICT.
5792
5793         Merge from coreutils.
5794         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
5795         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
5796         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
5797         * m4/time_r.m4 (gl_TIME_R): Likewise.
5798
5799 2006-08-09  Karl Berry  <karl@gnu.org>
5800
5801         * config/srclist.txt: no more gettext-tools, per Bruno.
5802
5803 2006-08-08  Eric Blake  <ebb9@byu.net>
5804
5805         * modules/verror: New module.
5806         * MODULES.html.sh: Document it.
5807
5808 2006-08-08  Eric Blake  <ebb9@byu.net>
5809
5810         * lib/verror.h, lib/verror.c: New files.
5811
5812 2006-08-08  Eric Blake  <ebb9@byu.net>
5813
5814         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
5815         verror_at_line output complies with GNU Coding Standards even when
5816         file is NULL.
5817
5818 2006-08-07  Bruno Haible  <bruno@clisp.org>
5819
5820         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
5821         versions of AIX.
5822         Reported by Ralf Wildenhues.
5823
5824 2006-08-07  Bruno Haible  <bruno@clisp.org>
5825
5826         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
5827         in an AC_DEFUN. Needed so that the autoconf snippets can use
5828         AC_REQUIRE.
5829
5830 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5831
5832         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5833         Initialize pkgdata_DATA.
5834         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
5835         overriding it.
5836
5837 2006-08-06  Eric Blake  <ebb9@byu.net>
5838
5839         * lib/error.h: Fold in some upstream changes from glibc.
5840         * lib/error.c: Likewise.
5841
5842 2006-08-04  Bruno Haible  <bruno@clisp.org>
5843
5844         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5845         Make the mostlyclean-local rule depend on mostlyclean-generic.
5846         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
5847
5848 2006-07-31  Bruno Haible  <bruno@clisp.org>
5849
5850         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
5851         <stdlib.h>, <string.h>.
5852
5853 2006-07-30  Bruno Haible  <bruno@clisp.org>
5854
5855         * modules/readlink (License): Change to LGPL.
5856
5857 2006-07-30  Bruno Haible  <bruno@clisp.org>
5858
5859         * modules/javaversion (Makefile.am): Distribute javaversion.java and
5860         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
5861         set PKGDATADIR to point to it.
5862
5863 2006-07-30  Bruno Haible  <bruno@clisp.org>
5864
5865         * modules/csharpexec (configure.ac): Comment out macro invocation.
5866         * modules/javaexec (configure.ac): Likewise.
5867         * modules/javacomp-script (configure.ac): Likewise.
5868
5869         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
5870
5871 2006-07-30  Bruno Haible  <bruno@clisp.org>
5872
5873         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
5874         linked-list.
5875
5876 2006-07-30  Bruno Haible  <bruno@clisp.org>
5877
5878         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
5879
5880 2006-07-30  Bruno Haible  <bruno@clisp.org>
5881
5882         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5883         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
5884         get removed.
5885
5886 2006-07-29  Bruno Haible  <bruno@clisp.org>
5887
5888         Make it possible for gnulib-tool to work with locally modified or
5889         augmented gnulib repositories.
5890         * gnulib-tool (func_usage): Document --local-dir option.
5891         (local_gnulib_dir): New variable.
5892         Handle --local-dir option.
5893         (func_lookup_file): New function.
5894         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
5895         (func_get_description, func_get_filelist, func_get_description,
5896         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
5897         func_get_automake_snippet, func_get_include_directive,
5898         func_get_license, func_get_maintainer): Use func_lookup_file.
5899         (func_import, func_create_testdir): Use func_lookup_file.
5900
5901 2006-07-29  Bruno Haible  <bruno@clisp.org>
5902
5903         * modules/setenv (Depends-on): Add unistd.
5904
5905 2006-07-29  Bruno Haible  <bruno@clisp.org>
5906
5907         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
5908
5909 2006-07-29  Bruno Haible  <bruno@clisp.org>
5910
5911         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
5912
5913 2006-07-29  Bruno Haible  <bruno@clisp.org>
5914
5915         * gnulib-tool (import, update): If there is no Makefile.am, look at
5916         aclocal.m4, instead of bailing out.
5917
5918 2006-07-29  Bruno Haible  <bruno@clisp.org>
5919
5920         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
5921         Categorize the options by when they are useful.
5922
5923 2006-07-29  Bruno Haible  <bruno@clisp.org>
5924
5925         * gnulib-tool (func_usage): Document option --no-libtool.
5926         Handle option --no-libtool.
5927         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
5928         for changed semantics of $libtool variable.
5929         (func_import): Likewise. If libtool is not used, show this through
5930         an option --no-libtool.
5931         (func_create_testdir): Update.
5932
5933 2006-07-29  Bruno Haible  <bruno@clisp.org>
5934
5935         * gnulib-tool (func_import): Extend error message about missing
5936         --doc-base.
5937
5938 2006-07-29  Bruno Haible  <bruno@clisp.org>
5939
5940         * gnulib-tool (func_import): Don't create the $docbase directory if
5941         there is no file to store there.
5942
5943 2006-07-29  Bruno Haible  <bruno@clisp.org>
5944
5945         * gnulib-tool (autoconf_minversion): If a --dir option is given and
5946         relevant, look for configure.ac there, not in the current directory.
5947         Also use a simple search for AC_PREREQ, not "autoconf --trace".
5948
5949 2006-07-29  Bruno Haible  <bruno@clisp.org>
5950
5951         * gnulib-tool (SORT): New variable.
5952         (func_usage): Undocument --assume-autoconf option.
5953         Remove --assume-autoconf option handling.
5954         (autoconf_minversion): Determine from the contents of configure.ac.
5955         (func_import): Remove autoconf_minversion handling.
5956         Suggested by Eric Blake.
5957
5958 2006-07-29  Bruno Haible  <bruno@clisp.org>
5959
5960         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
5961
5962 2006-07-29  Bruno Haible  <bruno@clisp.org>
5963
5964         * config/srclist.txt (*setenv.[ch]): Remove rules.
5965
5966 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
5967
5968         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
5969
5970 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
5971
5972         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
5973         arpa/inet.h.
5974
5975 2006-07-28  Simon Josefsson  <jas@extundo.com>
5976
5977         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
5978         * modules/inet_pton (Depends-on): Likewise.
5979
5980 2006-07-28  Simon Josefsson  <jas@extundo.com>
5981
5982         * m4/netinet_in_h.m4: New file.
5983
5984 2006-07-28  Simon Josefsson  <jas@extundo.com>
5985
5986         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
5987         #include's.
5988
5989 2006-07-28  Simon Josefsson  <jas@extundo.com>
5990
5991         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
5992         #include's.
5993
5994 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
5995
5996         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
5997         setgid on directories only if they set these bits.
5998         * lib/modechange.h: Remove obsolete comment about masks.
5999
6000 2006-07-28  Eric Blake  <ebb9@byu.net>
6001
6002         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
6003         macro expansion.
6004
6005 2006-07-28  Bruno Haible  <bruno@clisp.org>
6006
6007         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
6008
6009 2006-07-28  Bruno Haible  <bruno@clisp.org>
6010
6011         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
6012
6013 2006-07-28  Bruno Haible  <bruno@clisp.org>
6014
6015         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
6016         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
6017         Define fallbacks.
6018         Avoids link error on FreeBSD 4.x.
6019         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
6020
6021         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
6022         encoding.
6023         * lib/mbswidth.c (iswcntrl): Likewise.
6024
6025 2006-07-27  Bruno Haible  <bruno@clisp.org>
6026
6027         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
6028         test.
6029
6030 2006-07-27  Bruno Haible  <bruno@clisp.org>
6031
6032         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
6033         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
6034         defined.
6035
6036 2006-07-26  Eric Blake  <ebb9@byu.net>
6037
6038         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
6039
6040 2006-07-26  Eric Blake  <ebb9@byu.net>
6041
6042         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
6043         like mingw that lack mkstemp.
6044         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
6045         avoid compilation warning on mingw.
6046
6047 2006-07-26  Bruno Haible  <bruno@clisp.org>
6048
6049         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
6050         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
6051         INT_FAST*_MIN, INTPTR_MIN.
6052
6053 2006-07-25  Bruno Haible  <bruno@clisp.org>
6054
6055         * modules/version-etc (Depends-on): Add stdarg.
6056
6057 2006-07-25  Bruno Haible  <bruno@clisp.org>
6058
6059         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
6060         complex commands.
6061
6062 2006-07-25  Bruno Haible  <bruno@clisp.org>
6063
6064         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
6065         defined in <stdarg.h> or config.h.
6066
6067 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
6068
6069         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
6070         (gl_STDIO_SAFER): Remove.
6071
6072 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
6073
6074         * MODULES.html.sh (File stream based Input/Output):
6075         Add fopen-safer, tmpfile-safer; remove stdio-safer.
6076         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
6077         * modules/fopen-safer, modules/tmpfile-safer: New files.
6078         * modules/stdio-safer: Remove.
6079
6080 2006-07-24  Bruno Haible  <bruno@clisp.org>
6081
6082         * modules/tmpdir: New file.
6083         * MODULES.html.sh (File system functions): Add it.
6084
6085 2006-07-24  Bruno Haible  <bruno@clisp.org>
6086
6087         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
6088         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
6089
6090 2006-07-24  Bruno Haible  <bruno@clisp.org>
6091
6092         * modules/clean-temp: New file.
6093
6094 2006-07-24  Bruno Haible  <bruno@clisp.org>
6095
6096         * m4/tmpdir.m4: New file, from GNU gettext.
6097
6098 2006-07-24  Bruno Haible  <bruno@clisp.org>
6099
6100         * lib/tmpdir.h: New file, from GNU gettext.
6101         * lib/tmpdir.c: New file, from GNU gettext.
6102
6103 2006-07-24  Bruno Haible  <bruno@clisp.org>
6104
6105         * lib/clean-temp.h: New file, from GNU gettext.
6106         * lib/clean-temp.c: New file, from GNU gettext.
6107
6108 2006-07-23  Eric Blake  <ebb9@byu.net>
6109
6110         * modules/stdio-safer (Files): Add tmpfile-safer.c.
6111         (Depends-on): Add binary-io.
6112
6113 2006-07-23  Eric Blake  <ebb9@byu.net>
6114
6115         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
6116
6117 2006-07-23  Eric Blake  <ebb9@byu.net>
6118
6119         * lib/tmpfile-safer.c: New file.
6120         * lib/stdio-safer.h (fopen_safer): Add prototype.
6121         * lib/stdio--.h (tmpfile): Make safer.
6122
6123 2006-07-23  Bruno Haible  <bruno@clisp.org>
6124
6125         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
6126         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
6127         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
6128         gl_linked_remove_at): Use it.
6129
6130 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6131         and Simon Josefsson <jas@extundo.com>
6132
6133         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
6134
6135         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
6136
6137 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
6138
6139         * modules/close-stream: New file.
6140         * modules/closeout (Description): Make it clear that it exits
6141         with a diagnostic on error.
6142         (Depends-on): Add close-stream.  Remove fpending, stdbool.
6143         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
6144
6145 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
6146
6147         * m4/close-stream.m4: New file.
6148
6149 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
6150
6151         * lib/close-stream.c, lib/close-stream.h: New files.
6152
6153 2006-07-22  Bruno Haible  <bruno@clisp.org>
6154
6155         Merge from GNU gettext 0.15.
6156
6157         2006-05-01  Bruno Haible  <bruno@clisp.org>
6158
6159                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
6160
6161         2006-07-22  Bruno Haible  <bruno@clisp.org>
6162
6163                 * modules/javaversion: New file.
6164                 * MODULES.html.sh (Java): Add javaversion.
6165
6166         2006-03-12  Bruno Haible  <bruno@clisp.org>
6167
6168                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
6169
6170         2005-12-04  Bruno Haible  <bruno@clisp.org>
6171
6172                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
6173                 (untested).
6174
6175         2006-06-21  Bruno Haible  <bruno@clisp.org>
6176
6177                 Avoid warnings from recent versions of mcs.
6178                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
6179                 -o, -L, -r any more. Use options documented since mcs-1.0
6180                 instead. Similarly for -g.
6181
6182         2005-12-04  Bruno Haible  <bruno@clisp.org>
6183
6184                 * build-aux/csharpcomp.sh.in: Suffix for resources is
6185                 .resources, not .resource.
6186
6187         2005-07-09  Bruno Haible  <bruno@clisp.org>
6188
6189                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
6190                 add a .dll suffix.
6191                 Reported by Mark Junker <mjscod@gmx.de>.
6192
6193         2006-07-22  Bruno Haible  <bruno@clisp.org>
6194
6195                 * modules/gettext: Upgrade to gettext-0.15.
6196                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
6197                 m4/visibility.m4.
6198                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
6199
6200 2006-07-22  Bruno Haible  <bruno@clisp.org>
6201
6202         Merge from GNU gettext 0.15.
6203
6204         2006-03-25  Bruno Haible  <bruno@clisp.org>
6205
6206                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
6207
6208         2006-07-21  Bruno Haible  <bruno@clisp.org>
6209
6210                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
6211                 "1.1".
6212
6213         2006-05-09  Bruno Haible  <bruno@clisp.org>
6214
6215                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
6216                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
6217                 for the conftestver execution.
6218
6219         2006-05-01  Bruno Haible  <bruno@clisp.org>
6220
6221                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
6222                 optional target-version argument. Verify that the compiler
6223                 groks source of the specified source-version, or add -source
6224                 option as necessary. Verify that the compiler produces
6225                 bytecode in the specified target-version, or add -target and
6226                 -source options as necessary. Make the result of the test
6227                 available as variable CONF_JAVAC. Also log error output in
6228                 config.log.
6229
6230         2006-03-11  Bruno Haible  <bruno@clisp.org>
6231
6232                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
6233
6234         2006-05-09  Bruno Haible  <bruno@clisp.org>
6235
6236                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
6237                 CLASSPATH_SEPARATOR to a semicolon.
6238
6239         2006-03-12  Bruno Haible  <bruno@clisp.org>
6240
6241                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
6242                 available as variable CONF_JAVA, for subsequent autoconf
6243                 tests. Also log error output in config.log.
6244
6245         2006-07-19  Bruno Haible  <bruno@clisp.org>
6246
6247                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
6248                 that getline works on glibc2 systems. Needed to avoid trouble
6249                 in relocatable.c.
6250                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
6251
6252         2005-12-04  Bruno Haible  <bruno@clisp.org>
6253
6254                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
6255                 launcher (untested).
6256
6257         2005-12-04  Bruno Haible  <bruno@clisp.org>
6258
6259                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
6260
6261         2006-07-22  Bruno Haible  <bruno@clisp.org>
6262
6263                 * gettext.m4: Update from GNU gettext-0.15.
6264                 * nls.m4: Likewise.
6265                 * po.m4: Likewise.
6266                 * inttypes-pri.m4: Likewise.
6267                 * inttypes-h.m4: Renamed from inttypes.m4.
6268                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
6269
6270 2006-07-22  Bruno Haible  <bruno@clisp.org>
6271
6272         Merge from GNU gettext 0.15.
6273
6274         2005-07-05  Bruno Haible  <bruno@clisp.org>
6275
6276                 * printf-args.c (printf_fetchargs): Work around broken
6277                 definition of wint_t on mingw.
6278
6279         2005-02-12  Bruno Haible  <bruno@clisp.org>
6280
6281                 * xallocsa.h: Add extern "C" for C++.
6282
6283         2006-05-17  Bruno Haible  <bruno@clisp.org>
6284
6285                 Cygwin portability.
6286                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
6287
6288         2006-04-30  Bruno Haible  <bruno@clisp.org>
6289
6290                 * progreloc.c: Include <mach-o/dyld.h> if available.
6291                 (find_executable): Use _NSGetExecutablePath when possible.
6292
6293         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
6294
6295                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
6296                 function.
6297
6298         2005-12-29  Bruno Haible  <bruno@clisp.org>
6299
6300                 * progreloc.c (set_program_name_and_installdir): Fix
6301                 compilation error.
6302
6303         2005-12-04  Bruno Haible  <bruno@clisp.org>
6304
6305                 Cygwin portability.
6306                 * progreloc.c: Include <windows.h> also on Cygwin.
6307                 (find_executable): Add support for Cygwin.
6308                 (set_program_name_and_installdir): Handle also platforms with
6309                 nonempty EXEEXT.
6310
6311         2006-07-11  Bruno Haible  <bruno@clisp.org>
6312
6313                 * javacomp.c: Fix a comment.
6314                 Reported by Jim Meyering.
6315
6316         2006-04-30  Bruno Haible  <bruno@clisp.org>
6317
6318                 * javacomp.h (compile_java_class): Add source_version,
6319                 target_version arguments.
6320                 * javacomp.c: Rewritten to choose only a compiler that
6321                 respects the specified source_version and target_version.
6322
6323         2006-06-27  Bruno Haible  <bruno@clisp.org>
6324
6325                 Assume correct S_ISDIR macro.
6326                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
6327
6328         2006-07-22  Bruno Haible  <bruno@clisp.org>
6329
6330                 * javaversion.h: New file, from GNU gettext.
6331                 * javaversion.c: New file, from GNU gettext.
6332                 * javaversion.java: New file, from GNU gettext.
6333                 * javaversion.class: New file, from GNU gettext.
6334
6335         2006-05-17  Bruno Haible  <bruno@clisp.org>
6336
6337                 Cygwin portability.
6338                 * javaexec.c (execute_java_class): Test for jview program
6339                 also on Cygwin.
6340
6341         2006-04-09  Bruno Haible  <bruno@clisp.org>
6342
6343                 * fatal-signal.c: Don't include string.h.
6344                 (at_fatal_signal): Use a copying loop instead of memcpy.
6345
6346         2005-12-04  Bruno Haible  <bruno@clisp.org>
6347
6348                 * csharpexec.c: Add support for 'clix' launcher (untested).
6349                 (execute_csharp_using_sscli): New function.
6350                 (execute_csharp_program): Call it.
6351
6352         2006-06-21  Bruno Haible  <bruno@clisp.org>
6353
6354                 Avoid warnings from recent versions of mcs.
6355                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
6356                 -o, -L, -r any more. Use options documented since mcs-1.0
6357                 instead. Similarly for -g.
6358
6359         2005-07-09  Bruno Haible  <bruno@clisp.org>
6360
6361                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
6362                 add a .dll suffix.
6363                 Reported by Mark Junker <mjscod@gmx.de>.
6364
6365         2006-06-17  Bruno Haible  <bruno@clisp.org>
6366
6367                 * config.charset: Update for NetBSD 3.0.
6368
6369         2006-05-17  Bruno Haible  <bruno@clisp.org>
6370
6371                 Cygwin portability.
6372                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
6373
6374         2006-05-16  Bruno Haible  <bruno@clisp.org>
6375
6376                 * localcharset.c [CYGWIN]: Include <windows.h>.
6377                 (get_charset_aliases): For Cygwin, return the same CPxxx
6378                 aliases list as under WIN32.
6379                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
6380                 the environment variables. Fall back to GetACP().
6381
6382         2006-04-05  Bruno Haible  <bruno@clisp.org>
6383
6384                 * config.charset: Update Juan Manuel Guerrero's address.
6385
6386         2005-02-12  Bruno Haible  <bruno@clisp.org>
6387
6388                 * allocsa.h: Add extern "C" for C++.
6389
6390         2005-02-10  Bruno Haible  <bruno@clisp.org>
6391
6392                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
6393                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
6394
6395         2006-07-22  Bruno Haible  <bruno@clisp.org>
6396
6397                 * gettext.h: Update to GNU gettext-0.15.
6398
6399 2006-07-22  Bruno Haible  <bruno@clisp.org>
6400
6401         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
6402         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
6403         lib-prefix.m4, longdouble.m4, ssize_t.m4.
6404
6405 2006-07-21  Eric Blake  <ebb9@byu.net>
6406
6407         * modules/stdlib-safer: New file.
6408         * MODULES.html.sh (File stream based Input/Output): Add
6409         stdlib-safer.
6410
6411 2006-07-21  Eric Blake  <ebb9@byu.net>
6412
6413         * lib/stdlib-safer.h: New file from coreutils, required by
6414         stdlib--.h.
6415
6416 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
6417
6418         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
6419
6420 2006-07-20  Bruno Haible  <bruno@clisp.org>
6421
6422         * gnulib-tool: Recognize new option --assume-autoconf.
6423         (autoconf_minversion): New variable.
6424         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
6425
6426 2006-07-20  Bruno Haible  <bruno@clisp.org>
6427
6428         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
6429
6430 2006-07-19  Derek R. Price  <derek@ximbiot.com>
6431
6432         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
6433         Reindent and repaginate.
6434
6435 2006-07-19  Derek Price  <derek@ximbiot.com>
6436
6437         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
6438         Correct grammar.
6439
6440 2006-07-17  Bruno Haible  <bruno@clisp.org>
6441
6442         * modules/list: New file.
6443         * modules/array-list: New file.
6444         * modules/carray-list, modules/carray-list-tests: New files.
6445         * modules/linked-list, modules/linked-list-tests: New files.
6446         * modules/avltree-list, modules/avltree-list-tests: New files.
6447         * modules/rbtree-list, modules/rbtree-list-tests: New files.
6448         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
6449         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
6450         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
6451         * modules/oset: New file.
6452         * modules/array-oset: New file.
6453         * modules/avltree-oset, modules/avltree-oset-tests: New files.
6454         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
6455         * tests/test-carray_list.c: New file.
6456         * tests/test-linked_list.c: New file.
6457         * tests/test-avltree_list.c: New file.
6458         * tests/test-rbtree_list.c: New file.
6459         * tests/test-linkedhash_list.c: New file.
6460         * tests/test-avltreehash_list.c: New file.
6461         * tests/test-rbtreehash_list.c: New file.
6462         * tests/test-avltree_oset.c: New file.
6463         * tests/test-rbtree_oset.c: New file.
6464         * MODULES.html.sh (Container data structures): New section.
6465
6466 2006-07-17  Bruno Haible  <bruno@clisp.org>
6467
6468         * m4/gl_list.m4: New file.
6469
6470 2006-07-17  Bruno Haible  <bruno@clisp.org>
6471
6472         * lib/gl_list.h: New file.
6473         * lib/gl_list.c: New file.
6474         * lib/gl_array_list.h: New file.
6475         * lib/gl_array_list.c: New file.
6476         * lib/gl_carray_list.h: New file.
6477         * lib/gl_carray_list.c: New file.
6478         * lib/gl_linked_list.h: New file.
6479         * lib/gl_linked_list.c: New file.
6480         * lib/gl_anylinked_list1.h: New file.
6481         * lib/gl_anylinked_list2.h: New file.
6482         * lib/gl_avltree_list.h: New file.
6483         * lib/gl_avltree_list.c: New file.
6484         * lib/gl_anyavltree_list1.h: New file.
6485         * lib/gl_anyavltree_list2.h: New file.
6486         * lib/gl_rbtree_list.h: New file.
6487         * lib/gl_rbtree_list.c: New file.
6488         * lib/gl_anyrbtree_list1.h: New file.
6489         * lib/gl_anyrbtree_list2.h: New file.
6490         * lib/gl_anytree_list1.h: New file.
6491         * lib/gl_anytree_list2.h: New file.
6492         * lib/gl_linkedhash_list.h: New file.
6493         * lib/gl_linkedhash_list.c: New file.
6494         * lib/gl_anyhash_list1.h: New file.
6495         * lib/gl_anyhash_list2.h: New file.
6496         * lib/gl_avltreehash_list.h: New file.
6497         * lib/gl_avltreehash_list.c: New file.
6498         * lib/gl_rbtreehash_list.h: New file.
6499         * lib/gl_rbtreehash_list.c: New file.
6500         * lib/gl_anytreehash_list1.h: New file.
6501         * lib/gl_anytreehash_list2.h: New file.
6502
6503         * lib/gl_oset.h: New file.
6504         * lib/gl_oset.c: New file.
6505         * lib/gl_array_oset.h: New file.
6506         * lib/gl_array_oset.c: New file.
6507         * lib/gl_avltree_oset.h: New file.
6508         * lib/gl_avltree_oset.c: New file.
6509         * lib/gl_rbtree_oset.h: New file.
6510         * lib/gl_rbtree_oset.c: New file.
6511         * lib/gl_anytree_oset.h: New file.
6512
6513 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6514
6515         * m4/mkancesdirs.m4: New file.
6516         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
6517         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
6518         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
6519         it.
6520
6521 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6522
6523         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
6524         * lib/mkancesdirs.h: New files.
6525         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
6526         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
6527         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
6528         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
6529         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
6530         callers changed.  Revamp internals significantly, by not
6531         attempting to create directories that are temporarily more
6532         permissive than the final results.  Do not attempt to use
6533         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
6534         This removes some race conditions, fixes some bugs, and simplifies
6535         things.  Use new dirchownmod function to do owner and mode changes.
6536         * lib/mkdir-p.h: Likewise.
6537         * lib/modechange.c (octal_to_mode): New function.
6538         (struct mode_change): New member mentioned.
6539         (make_node_op_equals): New arg mentioned.  All callers changed.
6540         (mode_compile): Keep track of which mode bits the user has explicitly
6541         mentioned.
6542         (mode_adjust): New arg DIR, so that we implement the X op correctly.
6543         New arg PMODE_BITS, to keep track of which mode bits the user
6544         mentioned; it treats S_ISUID and S_ISGID speciall.
6545         All callers changed.
6546         * lib/modechange.h: Likewise.
6547
6548 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6549
6550         * MODULES.html.sh: Add mkancestors.
6551         * modules/mkancesdirs: New module.
6552         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
6553         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
6554         The chdir-safer and afs files are now orphans; I'll remove them
6555         unless someone speaks up.
6556         Add lib/dirchownmod.c, lib/dirchownmod.h.
6557         (Depends-on): Remove alloca, chown, save-cwd, dirname.
6558         Add lchown, mkancesdirs.
6559         (Maintainer): Add self.
6560
6561 2006-07-15  Karl Berry  <karl@gnu.org>
6562
6563         * gnulib-tool: help message wording/arrangement.
6564
6565 2006-07-14  Simon Josefsson  <jas@extundo.com>
6566
6567         * doc/gnulib.texi (Libtool and Windows): New section.
6568
6569 2006-07-12  Simon Josefsson  <jas@extundo.com>
6570
6571         * modules/gendocs (License): Fix license, approved by Karl.
6572
6573 2006-07-12  Eric Blake  <ebb9@byu.net>
6574
6575         * MODULES.html.sh: Add gendocs.
6576
6577 2006-07-11  Eric Blake  <ebb9@byu.net>
6578
6579         * modules/fdl: New module, to install doc/fdl.texi.
6580         * MODULES.html.sh: Add new section for documentation modules.
6581         * gnulib-tool: Avoid space-tab.
6582         (--doc-base): New option, to manage files from doc.
6583
6584 2006-07-11  Eric Blake  <ebb9@byu.net>
6585
6586         * m4/absolute-header.m4: Fix comments to match recent change.
6587
6588 2006-07-11  Eric Blake  <ebb9@byu.net>
6589
6590         * gnulib-tool: List --doc-base before --tests-base.
6591
6592 2006-07-11  Derek R. Price  <derek@ximbiot.com>
6593
6594         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
6595
6596 2006-07-11  Bruno Haible  <bruno@clisp.org>
6597
6598         * README: Mention where to put documentation.
6599
6600 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6601
6602         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
6603
6604 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
6605
6606         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
6607         to stdint.m4.
6608
6609 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
6610
6611         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
6612         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
6613         "no/such/file/stdint.h" when there is no such file, so that
6614         the resulting C code can be parsed by dodgy compilers.
6615         Problems reported by Bob Proulx.
6616
6617 2006-07-10  Derek R. Price  <derek@ximbiot.com>
6618
6619         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
6620         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
6621         macros into the GNU _D_EXACT_NAMLEN.
6622         * lib/savedir.c:  Likewise.
6623         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
6624
6625 2006-07-10  Derek R. Price  <derek@ximbiot.com>
6626         and Paul Eggert  <eggert@cs.ucla.edu>
6627
6628         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
6629         * m4/savedir.m4:
6630         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
6631         macros into the GNU _D_EXACT_NAMLEN.
6632
6633 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6634
6635         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
6636         around the absolute name, to work around a problem with the HP-UX
6637         11.23 native C compiler, reported by Bob Proulx.
6638
6639 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6640
6641         * doc/maintain.texi, make-stds.texi: Sync from
6642         <http://savannah.gnu.org/projects/gnustandards>.
6643
6644 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6645
6646         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
6647
6648 2006-07-09  Jim Meyering  <jim@meyering.net>
6649
6650         * m4/glob.m4: Remove a doubled word in a comment.
6651
6652 2006-07-09  Jim Meyering  <jim@meyering.net>
6653
6654         * lib/argp-pv.c: Remove a doubled word in a comment.
6655         * lib/check-version.c (check_version): Likewise.
6656         * lib/javacomp.c (compile_java_class): Likewise.
6657
6658 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
6659
6660         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
6661         for the benefit of people using Autoconf 2.60.  If you want to
6662         support older Autoconf versions you can copy m4/onceonly_2_57.m4
6663         (or m4/onceonly.m4, if pre-2.57) manually.
6664
6665 2006-07-08  Jim Meyering  <jim@meyering.net>
6666
6667         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
6668         comment.
6669         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
6670         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
6671         comment.
6672
6673 2006-07-08  Jim Meyering  <jim@meyering.net>
6674
6675         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
6676
6677 2006-07-07  Simon Josefsson  <jas@extundo.com>
6678
6679         * tests/test-crc.c: Change expected crc value, the test vector
6680         were probably computed using the old broken crc.c?
6681
6682 2006-07-06  Simon Josefsson  <jas@extundo.com>
6683
6684         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
6685         now the canonical place for the M4 file).
6686
6687         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
6688         from the sys_socket dependency now.
6689
6690         * modules/inet_pton (Files): Ditto.
6691
6692         * modules/inet_ntop (Files): Ditto.
6693
6694 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
6695
6696         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
6697         not gl_PREREQ_GETUSERSHELL.
6698
6699 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6700
6701         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
6702         with only one argument, for Autoconf 2.60.
6703         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
6704         expand to nothing, so add a shell command to avoid syntax error.
6705         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6706
6707 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6708
6709         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
6710
6711 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6712
6713         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
6714         no longer needed.  Check for isblank decl.
6715         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
6716         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
6717         of existence.
6718
6719 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6720
6721         * lib/getloadavg.c: Use __VMS, not VMS.
6722         * lib/getopt.c: Likewise.
6723         * lib/getpagesize.h: Likewise.
6724         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
6725         and probably does not work.
6726
6727 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6728
6729         * lib/.cppi-disable: Add wcwidth.
6730         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
6731         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
6732         (ISGRAPH): Remove.  All uses changed to isgraph.
6733         (FOLD) [!defined _LIBC]: Remove special case.
6734         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
6735         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
6736         HAVE_ISBLANK.
6737         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
6738         case.
6739
6740 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
6741
6742         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
6743         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
6744         brackets.  Other minor changes to suppress some compiler
6745         warnings.
6746
6747 2006-07-06  Derek R. Price  <derek@ximbiot.com>
6748         and Paul Eggert  <eggert@cs.ucla.edu>
6749
6750         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
6751         of invoking obsolescent AC_HEADER_DIRENT macro.
6752         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
6753         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
6754         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6755         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
6756         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
6757         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
6758         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
6759         * m4/readdir.m4: Remove; no longer needed.
6760
6761 2006-07-06  Derek R. Price  <derek@ximbiot.com>
6762         and Paul Eggert  <eggert@cs.ucla.edu>
6763
6764         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
6765         Don't worry about this obsolete case any more.
6766         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
6767         directories.
6768         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
6769         worry about this obsolete case any more.
6770         * lib/fts.c: Likewise.
6771         * lib/getcwd.c: Likewise.
6772         * lib/glob.h: Likewise.
6773         * lib/savedir.c: Likewise.
6774
6775 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
6776
6777         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
6778         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
6779         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
6780         needed.
6781         All uses removed.
6782         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
6783         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
6784         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
6785         needed.
6786         * m4/getdate.m4 (gl_GETDATE): Likewise.
6787         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
6788         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
6789         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6790         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
6791         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
6792         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
6793         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
6794         needed.
6795
6796 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
6797
6798         * lib/memcasecmp.c: Include <limits.h>.
6799         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
6800         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
6801         Don't assume isdigit succeeds only on '0' through '9'.
6802
6803 2006-07-05  Eric Blake  <ebb9@byu.net>
6804
6805         * modules/getaddrinfo (Depends-on): Add snprintf.
6806
6807 2006-07-05  Eric Blake  <ebb9@byu.net>
6808
6809         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
6810         to avoid 'header present but could not be compiled' on cygwin.
6811
6812 2006-07-05  Eric Blake  <ebb9@byu.net>
6813
6814         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
6815         missing from netdb.h.
6816         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
6817
6818 2006-07-05  Derek R. Price  <derek@ximbiot.com>
6819
6820         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
6821         no longer needed.
6822         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
6823         * m4/getdate.m4 (gl_GETDATE): Likewise.
6824         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
6825         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
6826         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6827         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
6828         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
6829
6830 2006-07-05  Derek R. Price  <derek@ximbiot.com>
6831
6832         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
6833         All uses of is_space replaced by isspace.
6834         * lib/exit.h: Don't talk about STDC_HEADERS.
6835         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
6836         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
6837         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
6838         replaced by isprint etc.
6839         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
6840         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
6841         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
6842         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
6843         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
6844         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
6845
6846 2006-07-05  Bruno Haible  <bruno@clisp.org>
6847
6848         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
6849         the function exists, before testing against AIX.
6850         Reported by Martin Lambers <marlam@marlam.de>.
6851
6852 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
6853
6854         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
6855         From Mark D. Baushke.
6856
6857 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
6858
6859         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
6860         to the absolute name, not just one, to bypass Sun C 5.8's
6861         "warning: #include of /usr/include/... may be non-portable".
6862
6863 2006-07-04  Eric Blake  <ebb9@byu.net>
6864
6865         * modules/dirname-tests: New test module.
6866         * tests/test-dirname.c: New file, replacing dirname.c
6867         TEST_DIRNAME section that was recently deleted.
6868
6869 2006-07-04  Bruno Haible  <bruno@clisp.org>
6870
6871         Assume ANSI C header files and <ctype.h> functions.
6872         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
6873         (mbsnwidth): Use isprint, iscntrl instead.
6874
6875 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
6876
6877         Merge from coreutils.
6878         * MODULES.html.sh: Add xstrtold.
6879         * modules/xstrtold: New file.
6880         * modules/cycle-check (Files): Add lib/same-inode.h.
6881         * modules/dirname (Files): Add m4/double-slash-root.m4.
6882         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
6883         * modules/mkdir-p (Files): Add lib/same-inode.h.
6884         * modules/same (Files): Add lib/same-inode.h.
6885
6886 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
6887
6888         * m4/absolute-header.m4: Renamed from full-header-path.m4.
6889         This is to keep the terminology clean; POSIX talks about
6890         "absolute pathnames", not "full pathnames", but the GNU
6891         Coding Standards say to use "path" for something else;
6892         so use "absolute" to keep both sides happy.
6893         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
6894         Set gl_absolute_header, not gl_full_header_path.
6895         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
6896         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
6897         All uses changed.
6898
6899         Merge from coreutils.
6900
6901         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
6902
6903         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
6904         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
6905         want to require the building of c-strtod.o.
6906         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
6907         needs -lm directly.
6908         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
6909
6910         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
6911
6912         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
6913         --as-needed option if available.  Problem reported by Albert Chin in
6914         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
6915         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
6916         cc merely issues a bunch of annoying warnings for --as-needed
6917         (this problem was reported by Bob Proulx).  Also, try linking with
6918         -lm to detect a bug in binutils 2.16 (this problem was reported
6919         by Ralf Wildenhues).
6920
6921         2006-06-18  Jim Meyering  <jim@meyering.net>
6922
6923         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
6924         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
6925         macro.
6926         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
6927         also check for glibc-2.4's abort-inducing bug.
6928
6929         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
6930         Low-probability clean-up should be to use rmdir to get rid of
6931         the just-created directory, not unlink.
6932
6933         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
6934         configure fail, and request a bug report to inform us about it.
6935         Add a comment that, barring reports to the contrary, in 2007 we'll
6936         assume ftruncate is universally available.
6937
6938         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
6939
6940         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
6941
6942         2006-03-12  Jim Meyering  <jim@meyering.net>
6943
6944         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
6945         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
6946         * m4/same.m4 (gl_SAME): Likewise.
6947         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
6948
6949         2006-03-11  Eric Blake  <ebb9@byu.net>
6950
6951         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
6952         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
6953         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
6954         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
6955
6956 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
6957
6958         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
6959         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
6960         reported by Mark D. Baushke, one in
6961         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
6962
6963         Merge from coreutils.
6964
6965         * lib/.cppi-disable: Add stdint_.h.
6966         * lib/.cvsignore: Add stdint.h.
6967
6968         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
6969
6970         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
6971         both double and long double versions.
6972         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
6973         * lib/xstrtold.c: New file.
6974         * lib/xstrtod.h (xstrtold): New decl.
6975
6976         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
6977
6978         * lib/filemode.c (setst): Remove.
6979         (strmode): Rewrite to avoid setst.  This makes the code shorter,
6980         (arguably) clearer, and the generated code is a bit smaller on my
6981         Debian GNU/Linux stable x86 host.
6982
6983         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
6984
6985         * lib/filemode.c: Include "filemode.h" first, to test the interface.
6986         Assume that filemode.h includes sys/types.h and sys/stat.h.
6987         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
6988         (ftypelet): Reorder to put common cases first, for efficiency.
6989         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
6990         to do 'M'.
6991         (strmode): Renamed from mode_string, and now stores 12 bytes instead
6992         of 10, for compatibility with FreeBSD.  All callers changed.
6993         (filemodestring): Now stores 12 bytes instead of 10, and sets file
6994         types that can't be deduced solely from st_mode.  First arg is now a
6995         const pointer.
6996         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
6997         (strmode): Renamed from mode_string.
6998         (filemodestring): New decl.
6999         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
7000         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
7001         needed.
7002         (S_ISPORT, S_ISWHT): New macros, if not already defined.
7003
7004         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
7005
7006         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
7007         fsusage.h now does that.  Include fsusage.h first, to test interface.
7008         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
7009         at most one method (the old code could have generated decls that
7010         didn't conform to C89, not that this was ever exercised).
7011         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
7012
7013         2006-03-19  Jim Meyering  <jim@meyering.net>
7014
7015         Work even in a chroot where d_ino values for entries in "/"
7016         don't match the stat.st_ino values for the same names.
7017         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
7018         number, iterate through all entries again, using lstat instead.
7019         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
7020         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
7021
7022         * lib/getcwd.c (__getcwd): Clarify a comment.
7023         Use memcpy in place of a call to strcpy.
7024
7025         2006-03-12  Jim Meyering  <jim@meyering.net>
7026
7027         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
7028         matches that of the current directory (which we're about to chdir ".."
7029         out of), then save the dev-ino of the parent, instead.
7030
7031         * lib/same-inode.h (SAME_INODE): New file/macro.
7032         * lib/chdir-safer.c (SAME_INODE): Remove definition.
7033         Include "same-inode.h", instead.
7034         * lib/same.c: Likewise.
7035         * lib/cycle-check.h: Include "same-inode.h".
7036         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
7037         * lib/cycle-check.c (SAME_INODE): Remove definition.
7038         * lib/root-dev-ino.h: Include "same-inode.h".
7039
7040         2006-03-11  Eric Blake  <ebb9@byu.net>
7041
7042         * lib/same.c (same_name): s/base_name/last_component/
7043         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
7044         * lib/filenamecat.c (file_name_concat): Likewise.
7045
7046         2006-03-11  Eric Blake  <ebb9@byu.net>,
7047                     Paul Eggert  <eggert@cs.ucla.edu>
7048
7049         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
7050         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
7051         drive prefix.
7052         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
7053         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
7054         (last_component): New method.
7055         * lib/dirname.c (dir_len): Determine when drive letters need a
7056         subsequent slash.  Preserve // when it is special.
7057         (dir_name): Don't append dot when drive letter is absolute.
7058         [TEST_DIRNAME]: Move into a full-blown gnulib test.
7059         * lib/basename.c (base_name): New semantics - malloc the result.
7060         Preserve // when it is special.  Preserve relative files that look
7061         like drive letters.
7062         (base_len): Preserve // when it is special.
7063         (last_component): New method, similar to old base_name semantics.
7064         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
7065         base_name.  Strip redundant slashes from ///.
7066
7067 2006-07-03  Jim Meyering  <jim@meyering.net>
7068
7069         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
7070         macro is used before the first cycle_check call.
7071
7072 2006-07-03  Eric Blake  <ebb9@byu.net>
7073
7074         * modules/dirname (Depends-on): Add xstrndup.
7075
7076 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
7077
7078         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
7079         test cases, so that config.log is a bit easier to follow.
7080
7081 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
7082
7083         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
7084         both are 64 bits, since this seems to be the tradition, and this
7085         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
7086         we ever run into a host that prefers long long to long in this
7087         case, we'll need another configure-time test.  Problem reported by
7088         Jim Meyering.
7089
7090 2006-07-02  Eric Blake  <ebb9@byu.net>
7091
7092         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
7093
7094 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
7095
7096         * modules/inttypes (Depends-on): No longer depends on stdint.
7097         * modules/stdint (Description): Say more about assumptions.
7098         Say that the fast types might differ.  Say macros are used.
7099         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
7100         (Makefile.am): Revise list of substituted symbols to match
7101         new stdint.m4.
7102         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
7103         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
7104         * tests/test-stdint.c (verify_same_types)
7105         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
7106         the code conforms to C99/C89.
7107         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
7108         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
7109
7110 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
7111
7112         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
7113         but fix a bug, by requiring at least 64 bits.
7114         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
7115         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
7116         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
7117         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
7118
7119         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
7120         changes.  Make 2.59 a prerequisite.  Check and substitute for
7121         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
7122         inttypes.h.  Do not use special include files; just use the
7123         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
7124         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
7125         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
7126         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
7127         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
7128         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
7129         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
7130         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
7131         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
7132         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
7133         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
7134         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
7135         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
7136         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
7137         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
7138         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
7139         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
7140         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
7141         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
7142         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
7143         WINT_MAX.  Check for C99 conformance more strictly, by detecting
7144         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
7145         not check for things that C99 does not require, e.g., int8_t.  If
7146         a test isn't needed unless <stdint.h> isn't working, and is
7147         unlikely to be needed for any other reason, then don't do it
7148         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
7149         size_t, since we assume C89 freestanding at least.  Do not check
7150         for sig_atomic_t, wchar_t, or wint_t, since the code now does
7151         the right thing even if the types are not defined.  Instead use:
7152         (gl_STDINT_TYPE_PROPERTIES): New macro.
7153         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
7154         testing whether <sys/types.h> clashes, as Autoconf does this for
7155         us now.  All uses removed.
7156         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
7157         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
7158         (gl_CHECK_TYPE_SAME):
7159         Remove; no longer needed.
7160         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
7161         exists, since we'll return 0 anyway in that case.
7162         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
7163
7164 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
7165
7166         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
7167         possible collision with system files.
7168         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
7169         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
7170         WCHAR_MIN and WCHAR_MAX in this case.
7171         (<stddef.h>): Do not include; no longer needed.
7172         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
7173         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
7174         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
7175         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
7176         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
7177         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
7178         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
7179         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
7180         !defined(__c99))]: Include in this case too, since it's harmless
7181         now.
7182         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
7183         dangerous to do so.
7184         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
7185         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
7186         (_STDINT_MIN, _STDINT_MAX): New macros.
7187         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
7188         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
7189         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
7190         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
7191         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
7192         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
7193         macros, not typedefs; this simplifies things quite a bit.
7194         Use long int for all types narrower than int64_t.
7195         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
7196         Define in terms of long long int or int64_t or long int,
7197         not int64_t or int32_t.  This saves some compile-time testing.
7198         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
7199         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
7200         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
7201         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
7202         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
7203         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
7204         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
7205         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
7206         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
7207         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
7208         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
7209         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
7210         undef any previous version and define our own version, for
7211         simplicity and consistency with the new macros for types.
7212         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
7213         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
7214         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
7215         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
7216         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
7217         @WINT_T_SUFFIX@ to keep things simple here.
7218         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
7219         Simplify by assuming typical 8/16/32/64 host, since we're
7220         already doing that elsewhere anyway.
7221         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
7222         and assume long long int is 64 bits if available.  This
7223         speeds up 'configure'.
7224
7225 2006-07-01  Eric Blake  <ebb9@byu.net>
7226
7227         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
7228         Reported by Andreas Buening.
7229
7230 2006-07-01  Eric Blake  <ebb9@byu.net>
7231
7232         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
7233
7234 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
7235
7236         * lib/getaddrinfo.c: fixed typo
7237
7238 2006-06-29  Jim Meyering  <jim@meyering.net>
7239
7240         * modules/strftime (Maintainer): Add my name, since with the
7241         FPRINTFTIME changes strftime.c has forked from glibc.
7242
7243 2006-06-29  Eric Blake  <ebb9@byu.net>
7244
7245         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
7246
7247 2006-06-29  Eric Blake  <ebb9@byu.net>
7248
7249         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
7250
7251 2006-06-29  Eric Blake  <ebb9@byu.net>
7252
7253         * lib/stat_.h: New file.
7254
7255 2006-06-29  Eric Blake  <ebb9@byu.net>
7256
7257         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
7258         unused static function.
7259
7260 2006-06-29  Eric Blake  <ebb9@byu.net>
7261
7262         * doc/functions.texi (Function Portability): Document missing lstat
7263         on mingw.
7264
7265 2006-06-29  Eric Blake  <ebb9@byu.net>
7266
7267         * MODULES.html.sh: Add sys_stat.
7268         * modules/sys_stat: New module.
7269         * modules/mkstemp (Depends-on): Add sys_stat.
7270
7271 2006-06-29  Derek R. Price  <derek@ximbiot.com>
7272
7273         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
7274
7275 2006-06-29  Derek R. Price  <derek@ximbiot.com>
7276
7277         * m4/c-bs-a.m4: Removed.
7278
7279 2006-06-29  Derek R. Price  <derek@ximbiot.com>
7280
7281         * lib/strftime.c: Assume strftime() exists.
7282
7283 2006-06-29  Derek Price  <derek@ximbiot.com>
7284
7285         * modules/c-bs-a: Removed - \a is C89.
7286         * MODULES.html.sh: Remove c-bs-a.
7287
7288 2006-06-29  Bruno Haible  <bruno@clisp.org>
7289
7290         * modules/wcwidth (License): Change to LGPL.
7291
7292 2006-06-28  Simon Josefsson  <jas@extundo.com>
7293
7294         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
7295         on _WIN32.
7296
7297         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
7298         getnameinfo.
7299
7300 2006-06-28  Simon Josefsson  <jas@extundo.com>
7301
7302         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
7303
7304 2006-06-28  Simon Josefsson  <jas@extundo.com>
7305
7306         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
7307         functions there.  It will succeed on Windows XP, but on Windows
7308         2000 and (presumably) earlier, it will fail, and use the internal
7309         re-implementation.
7310         (use_win32_p): New function.
7311         (getaddrinfo): Use strtoul on servname, to support numeric ports.
7312         Support AI_NUMERICSERV to disable getservbyname.
7313         (getnameinfo): New function, only supports
7314         NI_NUMERICHOST|NI_NUMERICSERV for now.
7315
7316         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
7317         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
7318         getnameinfo.
7319
7320 2006-06-28  Eric Blake  <ebb9@byu.net>
7321
7322         * modules/wcwidth: New file.
7323         * modules/mbchar (Depends-on): Add wcwidth.
7324         * modules/mbswidth (Depends-on): Add wcwidth.
7325         * MODULES.html.sh: Add wcwidth.
7326
7327 2006-06-28  Eric Blake  <ebb9@byu.net>
7328
7329         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
7330         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
7331
7332 2006-06-28  Eric Blake  <ebb9@byu.net>
7333
7334         * lib/xvasprintf.h: Fix comments.
7335
7336 2006-06-28  Eric Blake  <ebb9@byu.net>
7337
7338         * lib/mbchar.h (wcwidth): Include wcwidth.h.
7339         * lib/mbswidth.c (wcwidth): Move from here...
7340         * lib/wcwidth.h: ...to this new file.
7341
7342 2006-06-28  Derek R. Price  <derek@ximbiot.com>
7343
7344         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
7345
7346         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
7347         it's obsolete.
7348         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
7349
7350 2006-06-28  Derek R. Price  <derek@ximbiot.com>
7351
7352         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
7353         Autoconf 2.60 says this stuff was obsolete.
7354
7355 2006-06-28  Bruno Haible  <bruno@clisp.org>
7356
7357         * modules/wcwidth (Files): Add m4/wchar_t.m4.
7358
7359 2006-06-28  Bruno Haible  <bruno@clisp.org>
7360
7361         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
7362         gt_TYPE_WCHAR_T.
7363
7364 2006-06-28  Bruno Haible  <bruno@clisp.org>
7365
7366         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
7367         declaration for wcwidth.
7368         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
7369
7370 2006-06-28  Bruno Haible  <bruno@clisp.org>
7371
7372         * lib/mkdtemp.c [MINGW]: Include <io.h>.
7373         (mkdir): Define using _mkdir.
7374
7375 2006-06-28  Bruno Haible  <bruno@clisp.org>
7376
7377         * lib/getaddrinfo.h: Fix POSIX URL.
7378         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
7379         _WIN32.
7380         (use_win32_p): Make static.
7381         (getaddrinfo): Reject service name if it is empty or does not consist
7382         solely of decimal digits, or if its value is > 65535.
7383         (getnameinfo): Remove useless casts.
7384
7385 2006-06-27  Simon Josefsson  <jas@extundo.com>
7386
7387         * modules/sys_select: New file, suggested by Bruno Haible, Paul
7388         Eggert and Martin Lambers.
7389
7390 2006-06-27  Simon Josefsson  <jas@extundo.com>
7391
7392         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
7393         Eggert and Martin Lambers.
7394
7395 2006-06-27  Bruno Haible  <bruno@clisp.org>
7396
7397         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
7398         result to 0, not to empty.
7399         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
7400
7401 2006-06-27  Bruno Haible  <bruno@clisp.org>
7402
7403         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
7404
7405 2006-06-26  Simon Josefsson  <jas@extundo.com>
7406
7407         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
7408         present.
7409
7410 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
7411
7412         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
7413         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
7414         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
7415
7416 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
7417
7418         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
7419
7420 2006-06-26  Bruno Haible  <bruno@clisp.org>
7421
7422         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
7423
7424 2006-06-26  Bruno Haible  <bruno@clisp.org>
7425
7426         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
7427
7428 2006-06-26  Bruno Haible  <bruno@clisp.org>
7429
7430         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
7431         SGI C compiler in pre-C99 mode.
7432         Suggested by Mark D. Baushke and Larry Jones.
7433
7434 2006-06-26  Bruno Haible  <bruno@clisp.org>
7435
7436         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
7437         WCHAR_MAX.
7438         Reported by Mark D. Baushke and Larry Jones.
7439
7440 2006-06-26  Bruno Haible  <bruno@clisp.org>
7441
7442         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
7443         in pre-C99 mode.
7444         Suggested by Mark D. Baushke and Larry Jones.
7445
7446 2006-06-23  Simon Josefsson  <jas@extundo.com>
7447             Bruno Haible  <bruno@clisp.org>
7448
7449         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
7450         Emit mostlyclean-local rule.
7451         (func_emit_tests_Makefile_am): Likewise.
7452         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
7453
7454 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
7455
7456         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
7457
7458 2006-06-23  Bruno Haible  <bruno@clisp.org>
7459
7460         * tests/test-stdint.c: Update to match ISO C 99 Technical
7461         Corrigendum 1.
7462
7463 2006-06-23  Bruno Haible  <bruno@clisp.org>
7464
7465         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
7466
7467 2006-06-23  Bruno Haible  <bruno@clisp.org>
7468
7469         * lib/stdint_.h: Treat IRIX like OpenBSD.
7470
7471 2006-06-23  Bruno Haible  <bruno@clisp.org>
7472
7473         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
7474         ISO C 99 Technical Corrigendum 1.
7475
7476 2006-06-22  Simon Josefsson  <jas@extundo.com>
7477
7478         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
7479         MinGW.
7480
7481 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
7482
7483         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
7484         needed.  Some compiler complained about some of them.  Problem reported
7485         by Larry Jones in
7486         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
7487
7488 2006-06-21  Simon Josefsson  <jas@extundo.com>
7489
7490         * tests/test-getaddrinfo.c: New file.
7491
7492         * modules/getaddrinfo-tests: New file.
7493
7494         * MODULES.html.sh: Add inet_pton.
7495
7496         * modules/inet_pton: New file.
7497
7498 2006-06-21  Simon Josefsson  <jas@extundo.com>
7499
7500         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
7501         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
7502         of using the (limited) gnulib implementation on Windows XP.
7503
7504         * m4/inet_pton.m4: New file.
7505
7506 2006-06-21  Simon Josefsson  <jas@extundo.com>
7507
7508         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
7509         variable.
7510
7511         * lib/socket_.h: Don't define WINVER.
7512
7513         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
7514         slightly modified to work in gnulib.
7515
7516 2006-06-21  Simon Josefsson  <jas@extundo.com>
7517
7518         * doc/gnulib.texi (Windows sockets): Add.
7519
7520 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
7521
7522         * lib/read-file.c (fread_file): Start with buffer allocation of
7523         0 bytes rather than 1 byte; this simplifies the code.
7524         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
7525         code to free buffer and save/restore errno.
7526         (internal_read_file): Remove unused local.
7527
7528 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
7529
7530         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
7531         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
7532         Problem reported by Denis Excoffier in
7533         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
7534
7535 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7536
7537         * modules/sys_socket, modules/socklen: Include sys/types since
7538         FreeBSD 4.x's sys/socket.h needs it.
7539
7540 2006-06-19  Simon Josefsson  <jas@extundo.com>
7541
7542         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
7543
7544 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
7545
7546         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
7547
7548 2006-06-19  Bruno Haible  <bruno@clisp.org>
7549
7550         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
7551         and FULL_PATH_INTTYPES_H in angle brackets.
7552         Reported by Mark D. Baushke <mdb@gnu.org>.
7553
7554 2006-06-17  Eric Blake  <ebb9@byu.net>
7555
7556         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
7557         errno.
7558
7559 2006-06-17  Bruno Haible  <bruno@clisp.org>
7560
7561         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
7562         <sys/inttypes.h>.
7563
7564 2006-06-17  Bruno Haible  <bruno@clisp.org>
7565
7566         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
7567         whether errno is declared. Assume <errno.h> declares errno.
7568
7569 2006-06-17  Bruno Haible  <bruno@clisp.org>
7570
7571         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
7572
7573 2006-06-17  Bruno Haible  <bruno@clisp.org>
7574
7575         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
7576         problem on Solaris 2.5.1.
7577
7578 2006-06-16  Eric Blake  <ebb9@byu.net>
7579
7580         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
7581         * lib/unicodeio.c [!defined errno]: Likewise.
7582         * lib/strtol.c [!defined errno]: Likewise.
7583         * lib/strtod.c [!defined errno]: Likewise.
7584
7585 2006-06-15  Eric Blake  <ebb9@byu.net>
7586
7587         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
7588
7589 2006-06-15  Eric Blake  <ebb9@byu.net>
7590
7591         * config/srclist.txt (ssize_t.m4): Lose sync.
7592
7593 2006-06-15  Bruno Haible  <bruno@clisp.org>
7594
7595         * modules/stdint (Files): Include m4/full-header-path.m4,
7596         m4/size_max.m4, m4/wchar_t.m4.
7597         (Makefile.am): Many more substitutions.
7598         * modules/stdint-tests: New file.
7599         * tests/test-stdint.c: New file.
7600
7601 2006-06-15  Bruno Haible  <bruno@clisp.org>
7602
7603         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
7604         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
7605         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
7606         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
7607         gl_CHECK_TYPE_SAME): New macros.
7608
7609 2006-06-15  Bruno Haible  <bruno@clisp.org>
7610
7611         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
7612
7613 2006-06-15  Bruno Haible  <bruno@clisp.org>
7614
7615         * lib/stdint_.h: Rewritten to be fully auto-configured.
7616         Fixes bug on HP-UX/IA64.
7617
7618 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
7619
7620         * lib/getdate.y (__attribute__): Don't define if already defined.
7621         Problem reported by Larry Jones.
7622         * lib/utimens.c (__attribute__): Likewise.
7623
7624 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
7625
7626         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
7627         reported by Andreas Schwab.
7628
7629 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7630             Bruno Haible  <bruno@clisp.org>
7631
7632         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
7633         check for the declaration of strnlen and a run test that exposes the
7634         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
7635         rpl_strndup.
7636
7637 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7638             Bruno Haible  <bruno@clisp.org>
7639
7640         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
7641
7642 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7643
7644         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
7645         compile test, for Tru64 4.0D.
7646
7647 2006-05-28  Karl Berry  <karl@gnu.org>
7648
7649         * config/srclist.txt (printf-args.c): lose sync.
7650
7651 2006-05-26  Martin Lambers  <marlam@marlam.de>
7652
7653         * lib/getpass.c: Updates the test for the native W32 API, and adds
7654         missing includes, thus fixing compilation warnings.
7655
7656 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
7657
7658         * lib/exclude.c (exclude_fnmatch): New function.
7659         (excluded_file_name): Call exclude_fnmatch.
7660         * lib/exclude.h (excluded_file_name): New prototype
7661
7662 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7663
7664         * lib/tempname.c (small_open, large_open): New macros.
7665         (__open, __open64) [!_LIBC]: Remove.
7666         (__gen_tempname): Use small_open and large_open instead of __open
7667         and __open64.  This fixes a portability bug on HP-UX 11.11i
7668         reported by Simon Wing-Tang in
7669         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
7670
7671 2006-05-24  Bruno Haible  <bruno@clisp.org>
7672
7673         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
7674         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
7675         Reported by Thorsten Maerz <torte@netztorte.de> via
7676         Aaron Stone <aaron@serendipity.cx>.
7677
7678 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7679
7680         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
7681         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
7682         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
7683         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
7684         not really conditional on the cache.
7685         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
7686
7687 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7688
7689         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
7690         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
7691         (my_usleep): Don't mishandle maximum value.
7692
7693 2006-05-19  Jim Meyering  <jim@meyering.net>
7694
7695         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
7696
7697 2006-05-17  Bruno Haible  <bruno@clisp.org>
7698
7699         Cygwin portability.
7700         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
7701
7702 2006-05-17  Bruno Haible  <bruno@clisp.org>
7703
7704         * lib/stdint_.h: Fix recognition of Cygwin.
7705
7706 2006-05-15  Bruno Haible  <bruno@clisp.org>
7707
7708         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
7709         on libtool patch by Ralf Wildenhues.
7710
7711 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
7712
7713         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
7714         test for C99 conformance; (bool) 0.5 is an integer constant
7715         expression, but (bool) -0.5 is not.  Problem reported by Fedor
7716         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
7717
7718 2006-05-11  Simon Josefsson  <jas@extundo.com>
7719
7720         * m4/xvasprintf.m4: Fix obvious typo.
7721
7722 2006-05-11  Jim Meyering  <jim@meyering.net>
7723
7724         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
7725         James Lemley.
7726
7727 2006-05-10  Simon Josefsson  <jas@extundo.com>
7728
7729         * lib/md4.c: Typo fix, update copyright years.
7730         (K1, K2): Don't use L because it turn computations into 64-bit on
7731         64-bit platforms.
7732
7733 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
7734
7735         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
7736         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
7737         unwanted sign propagation, e.g., on hosts with 64-bit int.
7738         There still are some problems with reeelly weird theoretical hosts
7739         (e.g., 33-bit int) but it's not worth worrying about now.
7740         * lib/sha1.c (rol): Likewise.
7741         (K1, K2, K3, K4): Remove unnecessary L suffix.
7742
7743 2006-05-10  Bruno Haible  <bruno@clisp.org>
7744
7745         * lib/des.c: Cast to avoid warnings.
7746
7747 2006-05-09  Bruno Haible  <bruno@clisp.org>
7748
7749         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
7750         (Depends-on): Depend also on xsize, stdarg.
7751         (configure.ac): Add gl_XVASPRINTF.
7752
7753 2006-05-09  Bruno Haible  <bruno@clisp.org>
7754
7755         * m4/xvasprintf.m4: New file.
7756
7757 2006-05-09  Bruno Haible  <bruno@clisp.org>
7758
7759         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
7760         (EOVERFLOW): Define fallback value.
7761         (xstrcat): New function.
7762         (xvasprintf): Recognize the special case of a string concatenation.
7763
7764 2006-05-08  Eric Blake  <ebb9@byu.net>
7765
7766         * gnulib-tool (func_version): Base copyright year on CVS date.
7767         (func_emit_copyright_notice): New function.
7768         (func_emit_lib_Makefile_am): Use it.
7769         (func_emit_tests_Makefile_am): Likewise.
7770         (func_import): Likewise.
7771
7772 2006-05-08  Bruno Haible  <bruno@clisp.org>
7773
7774         * modules/stdarg: New file.
7775         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
7776
7777 2006-05-08  Bruno Haible  <bruno@clisp.org>
7778
7779         * m4/stdarg.m4: New file, from GNU gettext.
7780
7781 2006-05-08  Bruno Haible  <bruno@clisp.org>
7782
7783         * config/srclist.txt (build-aux/config.rpath): different from latest
7784         release.
7785
7786 2006-05-08  Bruno Haible  <bruno@clisp.org>
7787
7788         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
7789
7790 2006-05-05  Jim Meyering  <jim@meyering.net>
7791
7792         * m4/warning.m4: New file, derived from bison's file by the same name.
7793
7794 2006-05-03  Bruno Haible  <bruno@clisp.org>
7795
7796         * lib/stdint_.h: Shorter URL.
7797         * lib/inttypes.h: Likewise.
7798
7799 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7800
7801         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
7802
7803 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7804
7805         * lib/verify.h: Document the internals better.  Most of this change
7806         was written by Bruno Haible.
7807
7808 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7809
7810         * doc/verify.texi: New file, partly based on a proposal by
7811         Bruno Haible.
7812
7813 2006-05-02  Bruno Haible  <bruno@clisp.org>
7814
7815         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
7816         test from here...
7817         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
7818
7819 2006-04-29  Bruno Haible  <bruno@clisp.org>
7820
7821         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
7822         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
7823
7824 2006-04-29  Bruno Haible  <bruno@clisp.org>
7825
7826         * gnulib-tool: Make --update option actually work.
7827
7828 2006-04-29  Bruno Haible  <bruno@clisp.org>
7829
7830         * doc/gcd.texi: New file.
7831         * doc/gnulib.texi: Include it.
7832
7833 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7834
7835         * lib/getdate.y (get_date): When adding relative date, start with the
7836         initial time, not with the result of the first mktime call.
7837
7838 2006-04-25  Bruno Haible  <bruno@clisp.org>
7839
7840         * gnulib-tool (func_import): Output the include directives in three
7841         blocks, sorted separately.
7842         Reported by Ben Pfaff <blp@cs.stanford.edu>.
7843
7844 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7845
7846         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
7847         to define main with arguments, for C++.  Reported by Eric Blake.
7848         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
7849         Prefer 'int main ()' to 'int main (void)', for C++.
7850         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7851         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
7852         for 'main', for C99 and C++.
7853
7854 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7855
7856         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
7857         Don't assume that exit status -1 is valid.
7858         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7859         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
7860         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
7861         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
7862         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
7863         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
7864         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
7865         functions can be used without declaring them, or that you can
7866         exit with status -1.
7867         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
7868
7869 2006-04-24  Karl Berry  <karl@gnu.org>
7870
7871         * config/srclist.txt (longdouble.m4): sync lost.
7872
7873 2006-04-24  Eric Blake  <ebb9@byu.net>
7874
7875         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
7876
7877 2006-04-24  Bruno Haible  <bruno@clisp.org>
7878
7879         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
7880         poll() implementation in AIX.
7881         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7882
7883 2006-04-24  Bruno Haible  <bruno@clisp.org>
7884
7885         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
7886         assigned exactly once.
7887
7888 2006-04-23  Claudio Fontana  <claudio@gnu.org>
7889             Bruno Haible  <bruno@clisp.org>
7890
7891         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
7892         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
7893         for AM_CPPFLAGS.
7894
7895 2006-04-23  Bruno Haible  <bruno@clisp.org>
7896
7897         * modules/copy-file: Depend on unistd.
7898         * modules/execute: Likewise.
7899         * modules/fatal-signal: Likewise.
7900         * modules/findprog: Likewise.
7901         * modules/mkdtemp : Likewise.
7902         * modules/pipe: Likewise.
7903         * modules/wait-process: Likewise.
7904
7905 2006-04-23  Bruno Haible  <bruno@clisp.org>
7906
7907         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
7908         condition was already detected.
7909         Reported by Ben Pfaff <blp@cs.stanford.edu>.
7910
7911 2006-04-23  Bruno Haible  <bruno@clisp.org>
7912
7913         * lib/copy-file.c: Include <unistd.h> unconditionally.
7914         * lib/execute.c: Likewise.
7915         * lib/fatal-signal.c: Likewise.
7916         * lib/findprog.c: Likewise.
7917         * lib/mkdtemp.c: Likewise.
7918         * lib/pipe.h: Likewise.
7919         * lib/pipe.c: Likewise.
7920         * lib/wait-process.h: Likewise.
7921
7922 2006-04-23  Bruno Haible  <bruno@clisp.org>
7923
7924         * gnulib-tool (func_usage): Fix --import description. Document
7925         --update.
7926         (func_import): Create temporary file in a temporary directory, if
7927         --dry-run is specified. Silence errors from 'grep' when there are no
7928         m4 files in $m4dir.
7929         (func_create_testdir): Silence errors from 'grep' when there are no
7930         m4 files in $m4dir.
7931         Reported by Karl Berry <karl@freefriends.org>.
7932
7933 2006-04-20  Bruno Haible  <bruno@clisp.org>
7934
7935         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
7936         one argument, so that the code will be portable to Autoconf 2.60.
7937         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
7938         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
7939         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
7940
7941 2006-04-19  Derek Price  <derek@ximbiot.com>
7942             Eric Blake  <ebb9@byu.net>
7943
7944         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
7945         rather than "/full/path.h".  Update comment to match.  Shorten &
7946         generalize m4_translit call via AS_TR_CPP.
7947
7948 2006-04-19  Derek Price  <derek@ximbiot.com>
7949             Eric Blake  <ebb9@byu.net>
7950
7951         * lib/inttypes.h: Correct grammar in comment.
7952
7953 2006-04-18  Derek Price  <derek@ximbiot.com>
7954             Paul Eggert  <eggert@cs.ucla.edu>
7955
7956         * modules/inttypes: New file.
7957         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
7958
7959 2006-04-18  Derek Price  <derek@ximbiot.com>
7960             Paul Eggert  <eggert@cs.ucla.edu>
7961
7962         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
7963         New files.
7964
7965 2006-04-18  Derek Price  <derek@ximbiot.com>
7966             Paul Eggert  <eggert@cs.ucla.edu>
7967
7968         * lib/inttypes.h: New file.
7969         * lib/strtoimax.c: Assume <inttypes.h>.
7970
7971 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7972
7973         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
7974         isn't mounted.  Problem reported by Kir Kolyshkin.
7975
7976 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7977
7978         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
7979         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
7980         Derek R. Price.
7981         * lib/regex.h (RE_DUP_MAX): Update comment to match current
7982         implementation.
7983
7984 2006-04-12  Eric Blake  <ebb9@byu.net>
7985
7986         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
7987         is now done automatically by the corresponding Autoconf macro.
7988
7989 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
7990
7991         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
7992         time_r.h.
7993
7994 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7995
7996         Merge regex changes from libc, removing some of our
7997         POSIX-conformance changes that were rejected and redoing them in a
7998         less-intrusive way.
7999
8000         * lib/regcomp.c (re_compile_internal, init_dfa):
8001         Length arg is now size_t, not Idx.  All uses changed.
8002         (peek_token): Forward decl now says internal_function.
8003         (__re_error_msgid, __re_error_msgid_idx):
8004         Now static rather than extern with attribute_hidden.
8005         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
8006         For some reason libc prefers K&R style defns for external functions.
8007         (regerror) [!defined _LIBC]: Likewise.
8008         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
8009         (seek_collating_symbol_entry, lookup_collation_sequence_value):
8010         (build_range_exp, build_collating_symbol):
8011         Use K&R-style defn.
8012         (re_compile_fastmap): Use '\0' to memset, not 0.
8013         (utf8_sb_map): Make the calculations more obvious.
8014         (init_dfa, parse_bracket_exp, build_charclass_op):
8015         Call calloc and cast result, as glibc does.
8016         (init_word_char, fetch_token, peek_token, peek_token_bracket):
8017         (build_range_exp, build_collating_symbol):
8018         Now internal functions.
8019
8020         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
8021
8022         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
8023         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
8024         Don't depend on VMS; depend on __VMS instead, for POSIX
8025         namespace cleanness.
8026         (regoff_t): Define to ssize_t, not long int.
8027
8028         Remove the REG_ macros named below.  Instead, make the old names
8029         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
8030         __USE_GNU_REGEX.
8031         (REG_BACKSLASH_ESCAPE_IN_LISTS):
8032         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
8033         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
8034         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
8035         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
8036         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
8037         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
8038         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
8039         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
8040         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
8041         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
8042         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
8043         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
8044         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
8045         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
8046         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
8047         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
8048         (REG_NREGS):
8049         Remove.  All uses replaced by the old RE_* names.
8050         (RE_BACKSLASH_ESCAPE_IN_LISTS):
8051         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
8052         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
8053         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
8054         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
8055         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
8056         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
8057         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
8058         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
8059         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
8060         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
8061         Don't bother having these macros be independent of each others'
8062         values, since they no longer exist in the POSIX name space.
8063
8064         Rename the following member names back to their old names,
8065         unless !__USE_GNU_REGEX.  All uses changed back.
8066         (buffer): Renamed from re_buffer.
8067         (allocated): Renamed from re_allocated.
8068         (used): Renamed from re_used.
8069         (syntax): Renamed from re_syntax.
8070         (fastmap): Renamed from re_fastmap.
8071         (translate): Renamed from re_translate.
8072         (can_be_null): Renamed from re_can_be_null.
8073         (regs_allocated): Renamed from re_regs_allocated.
8074         (fastmap_accurate): Renamed from re_fastmap_accurate.
8075         (no_sub): Renamed from re_no_sub.
8076         (not_bol): Renamed from re_not_bol.
8077         (not_eol): Renamed from re_not_eol.
8078         (newline_anchor): Renamed from re_newline_anchor.
8079         (num_regs): Renamed from rm_num_regs.
8080         (start): Renamed from rm_start.
8081         (end): Renamed from rm_end.
8082
8083         (free_state): Move up a bit.
8084
8085         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
8086         #define to be empty.
8087         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
8088         when that is what is intended.
8089         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
8090         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
8091         (MAX): New macro.
8092         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
8093         All uses changed back to re_malloc, etc.  It's now the caller's
8094         responsibility to check for overflow; all callers changed.
8095         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
8096         (re_x2nrealloc): Remove.
8097         (free_state): Remove decl.
8098
8099         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
8100         (re_set_registers, re_exec):
8101         Use K&R-style defn.
8102
8103         2006-01-31  Roland McGrath  <roland@redhat.com>
8104
8105         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
8106         Reported by Mike Frysinger <vapier@gentoo.org>.
8107
8108         2006-01-15  Andreas Jaeger  <aj@suse.de>
8109
8110         [BZ #1950]
8111         * lib/regex_internal.c (re_string_reconstruct): Adjust for
8112         build_wcs_upper_buffer change.
8113         (build_wcs_upper_buffer): Change return type.
8114
8115         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
8116
8117         * lib/regex_internal.h: Include <stdint.h> if available.
8118
8119         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
8120
8121         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
8122
8123         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
8124
8125         * lib/regcomp.c: Adjust for changed secondary hash function.
8126
8127         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
8128
8129         * lib/regex.h: Pretty printing.
8130         Clean up namespace a bit.
8131
8132         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
8133
8134         * lib/regexec.c (update_cur_sifted_state, check_arrival,
8135         check_arrival_add_next_nodes): Avoid using uninitialized variable.
8136
8137         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
8138                     Ulrich Drepper  <drepper@redhat.com>
8139
8140         [BZ #1302]
8141         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
8142         changed.
8143         (bitset_word_t): Renamed from bitset_word.  All uses changed.
8144
8145         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
8146
8147         [BZ #281]
8148         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
8149         * lib/regcomp.c: Remove unnecessary uses of
8150         unsigned RE_TRANSLATE_TYPE.
8151         * lib/regex_internal.h: Likewise.
8152         * lib/regex_internal.c: Likewise.
8153         * lib/regexec.c: Likewise.
8154         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
8155
8156         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
8157
8158         * lib/regexec.c (find_recover_state): Remove unnecessary
8159         initialization.
8160         (transit_state_bkref): Make DFA a const pointer.
8161         (get_subexp): Likewise.
8162         (check_arrival): Likewise.
8163         (update_cur_sifted_state): Likewise.
8164         (re_search_internal): Likewise.
8165         (prune_impossible_nodes): Likewise.
8166         (acquire_init_state_context): Likewise.
8167         (proceed_next_node): Likewise.
8168         (set_regs): Likewise.
8169         (free_fail_stack_return): Likewise.
8170         (check_arrival_expand_ecl): Mark DFA parameter as const.
8171         (check_arrival_expand_ecl_sub): Likewise.
8172         (check_subexp_limits): Likewise.
8173         (sub_epsilon_src_nodes):  Likewise.
8174         (add_epsilon_src_nodes):  Likewise.
8175         (merge_state_array): Likewise.
8176         (update_regs): Likewise.
8177         (build_trtable): Likewise.
8178         (sift_states_backward): Mark MCTX parameter as const.
8179         (build_sifted_states): Likewise.
8180         (update_cur_sifted_state): Likewise.
8181         (sift_states_mkref): Likewise.
8182         (check_arrival_expand_ecl): Mark eclosure as const.
8183         (check_dst_limits_calc_pos_1): Likewise.
8184         * lib/regex_internal.h (re_match_context_t): Make dfa a const
8185         pointer.
8186
8187         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
8188
8189         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
8190         (transit_state_sb): Likewise.
8191         (transit_state_mb): Likewise.
8192         (sift_states_iter_mb): Likewise.
8193         (check_arrival_add_next_nodes): Likewise.
8194         (check_node_accept_bytes): Change first parameter to pointer-to-const.
8195         [_LIBC] (re_search_2_stub): Use mempcpy.
8196
8197         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
8198         mbrtowc for very simple UTF-8 case.
8199
8200         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
8201         a pointer-to-const.
8202         (re_acquire_state_context): Likewise.
8203         * lib/regex_internal.h: Adjust prototypes.
8204
8205         * lib/regex.c: Prevent using C++ compilers.
8206
8207         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
8208         (re_acquire_state_context): Likewise.
8209
8210 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8211
8212         * modules/regex (Depends-on): Add ssize_t.
8213
8214 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8215
8216         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
8217         translation table.
8218
8219 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8220
8221         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
8222
8223 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
8224             Bruno Haible  <bruno@clisp.org>
8225
8226         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
8227         <sys/types.h> and <inttypes.h>.
8228
8229 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8230
8231         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
8232         `__error_t_defined', so argp.h will not typedef the former.
8233
8234 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
8235
8236         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
8237         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
8238         glibc names.  Even if glibc is changed to conform to POSIX, the
8239         traditional names will be available anyway, since regex depends on
8240         the extensions module.  Also, fix a longstanding typo in the
8241         implementation of Spencer ERE test #75 from grep 2.3.  Problems
8242         reported by Emanuele Giaquinta.  Also, change sense of cached
8243         variable, so that the message makes sense.
8244
8245 2006-03-24  Simon Josefsson  <jas@extundo.com>
8246
8247         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
8248         including some doc fixes.
8249         (base64_encode_alloc): Fix +1 bug on allocation failures.
8250
8251 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8252
8253         * lib/base64.c (base64_encode): Do not read past end of array with
8254         unsanitized input on systems with CHAR_BIT > 8.
8255
8256 2006-03-24  Eric Blake  <ebb9@byu.net>
8257
8258         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
8259
8260 2006-03-22  Karl Berry  <karl@gnu.org>
8261
8262         * config/srclist.txt (*setenv.[ch]): get from coreutils.
8263         * config/srclistvars.sh (COREUTILS): new var.
8264
8265 2006-03-17  Jim Meyering  <jim@meyering.net>
8266
8267         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
8268         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
8269
8270 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
8271
8272         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
8273         no longer needs it.  Instead, check that regoff_t is as least
8274         as wide as ptrdiff_t.
8275
8276         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
8277         so that our regex.h stays compatible with the installed regex.
8278         This is helpful for installers who configure --without-included-regex.
8279         Problem reported by Emanuele Giaquinta.
8280
8281 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
8282
8283         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
8284         Typedef to long int, not to off_, as POSIX will likely change
8285         in that direction.
8286
8287 2006-03-15  Eric Blake  <ebb9@byu.net>
8288
8289         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
8290
8291 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
8292
8293         * lib/argp-help.c (validate_uparams): Fix typo
8294         * lib/argp-parse.c (argp_default_options): Consistently begin help
8295         messages with a lowercase letter.
8296
8297 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
8298
8299         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
8300         overrun buffers and shouldn't be used (much as gets shouldn't be
8301         used).
8302         * lib/time_r.c (asctime_r, ctime_r): Likewise.
8303
8304 2006-03-08  Simon Josefsson  <jas@extundo.com>
8305
8306         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
8307         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8308
8309 2006-03-08  Simon Josefsson  <jas@extundo.com>
8310
8311         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
8312         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8313
8314 2006-03-08  Simon Josefsson  <jas@extundo.com>
8315
8316         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
8317         signal that configure disabled the device.
8318
8319 2006-03-08  Simon Josefsson  <jas@extundo.com>
8320
8321         * build-aux/maint.mk: Fix refresh-po, to handle no translated
8322         languages.
8323
8324 2006-03-07  Simon Josefsson  <jas@extundo.com>
8325
8326         * modules/getopt (Depends-on): Add unistd.
8327
8328         * modules/unistd: New file.
8329
8330 2006-03-07  Simon Josefsson  <jas@extundo.com>
8331
8332         * modules/gc-random: New file.
8333
8334 2006-03-07  Simon Josefsson  <jas@extundo.com>
8335
8336         * m4/unistd_h.m4: New file.
8337
8338 2006-03-07  Simon Josefsson  <jas@extundo.com>
8339
8340         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
8341         test to be side-effect free by storing the result in the cache
8342         variable gl_cv_lib_readline, and moving the assignment of
8343         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
8344         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8345
8346 2006-03-07  Simon Josefsson  <jas@extundo.com>
8347
8348         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
8349         error on missing devices (the functions will return an error).
8350
8351         * m4/gc.m4: Move random stuff to gc-random.m4
8352
8353 2006-03-07  Simon Josefsson  <jas@extundo.com>
8354
8355         * lib/unistd_.h: New file.
8356
8357 2006-03-07  Simon Josefsson  <jas@extundo.com>
8358
8359         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
8360
8361 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8362
8363         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
8364         Problem reported by Juan Manuel Guerrero.
8365
8366 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8367
8368         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
8369         the unistd module.
8370         * lib/getlogin_r.c: Likewise.
8371         * lib/getlogin_r.h: Likewise.
8372         * lib/glob.c: Likewise.
8373         * lib/pagealign_alloc.c: Likewise.
8374         * lib/unistd_.h: Remove; no longer needed.
8375
8376 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8377
8378         * MODULES.html.sh (Support for systems lacking POSIX:2001):
8379         Add unistd.
8380         * modules/c-stack (Depends-on): Add unistd.
8381         * modules/getlogin_r: Likewise.
8382         * modules/glob: Likewise.
8383         * modules/pagealign_alloc: Likewise.
8384         * modules/unistd (Files): Remove lib/unistd_.h.
8385         (EXTRA_DIST): Remove.
8386         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
8387         need unistd_.h.
8388         (MOSTLYCLEANFILES): Remove unistd.h-t.
8389
8390 2006-03-03  Simon Josefsson  <jas@extundo.com>
8391
8392         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
8393
8394 2006-03-03  Simon Josefsson  <jas@extundo.com>
8395
8396         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
8397         libidn and bison.
8398
8399 2006-03-03  Simon Josefsson  <jas@extundo.com>
8400
8401         * build-aux/maint.mk: Add indent target.
8402
8403 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
8404
8405         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
8406         our replacement poll.h in any case, to avoid a differing
8407         declaration from a system header.  Seen on AIX.
8408
8409 2006-03-01  Simon Josefsson  <jas@extundo.com>
8410
8411         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
8412         <kasal@ucw.cz>.
8413
8414 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
8415
8416         * modules/gettime (Depends-on): Add extensions module.
8417         * modules/nanosleep (Depends-on): Likewise.
8418         * modules/settime (Depends-on): Likewise.
8419
8420 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
8421
8422         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
8423         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
8424         pedantically.
8425         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8426         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
8427
8428         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
8429         not "==".  Reported by Ralf Wildenhues.
8430
8431 2006-03-01  Karl Berry  <karl@gnu.org>
8432
8433         * doc/Copyright/request-*: new files, synced from gnuorg.
8434
8435 2006-03-01  Karl Berry  <karl@gnu.org>
8436
8437         * config/srclist.txt (Copyright/*): new entries.
8438
8439 2006-02-28  Simon Josefsson  <jas@extundo.com>
8440
8441         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
8442
8443 2006-02-27  Simon Josefsson  <jas@extundo.com>
8444
8445         * lib/base64.h: Indent #define's.  From Jim Meyering
8446         <jim@meyering.net>.
8447
8448 2006-02-27  Jim Meyering  <jim@meyering.net>
8449
8450         Revert the change of 2006-02-24, so these files can continue
8451         to be sync'd from gettext.
8452         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
8453         of `config.h'.
8454
8455 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
8456
8457         * modules/intprops: New file.
8458         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
8459         Add intprops.
8460         * modules/getloadavg (Files): Remove lib/intprops.h.
8461         (Depends-on): Add intprops.
8462         * modules/human: Likewise.
8463         * modules/inttostr: Likewise.
8464         * modules/openat: Likewise.
8465         * modules/sig2str: Likewise.
8466         * modules/userspec: Likewise.
8467         * modules/utimecmp: Likewise.
8468         * modules/xnanosleep: Likewise.
8469         * modules/xstrtol: Likewise.
8470
8471 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
8472
8473         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
8474         * modules/lock-tests (TESTS): Use $(EXEEXT).
8475         * modules/tls-tests: Likewise.
8476         * modules/argp-tests: Likewise.
8477         (check_PROGRAMS): New var, replacing...
8478         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
8479
8480 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8481
8482         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
8483         `config.h'.
8484
8485 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8486
8487         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
8488
8489 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8490
8491         Sync from coreutils.
8492         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
8493         gl_CHDIR_SAFER.
8494
8495 2006-02-22  Jim Meyering  <jim@meyering.net>
8496
8497         Sync from coreutils.
8498         * m4/chdir-safer.m4: New file.
8499
8500 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
8501
8502         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
8503         AT_FDCWD exceeds INT_MAX.
8504         * lib/openat.h (AT_FDCWD): Likewise.
8505
8506 2006-02-17  Eric Blake  <address@hidden>
8507
8508         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
8509
8510 2006-02-16  Simon Josefsson  <jas@extundo.com>
8511
8512         * modules/getaddrinfo (Depends-on): Add sys_socket.
8513
8514 2006-02-15  Simon Josefsson  <jas@extundo.com>
8515
8516         * build-aux/maint.mk: Add dsyntax-check rule.
8517
8518 2006-02-15  Eric Blake  <ebb9@byu.net>
8519
8520         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
8521         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
8522         'present but cannot compile' warnings on cygwin.
8523         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
8524         use ws2tcpip.h if sys/socket.h works.
8525         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
8526         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
8527
8528 2006-02-14  Simon Josefsson  <jas@extundo.com>
8529
8530         * modules/maintainer-makefile (Files): Rename.
8531
8532         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
8533         and (the local) Makefile.cfg to maint-cfg.mk.
8534
8535         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
8536         to the latter.
8537
8538         * modules/maintainer-makefile: New module.
8539
8540         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
8541         severaly stripped to make it possible to build it up from scratch
8542         with reliable tests.
8543
8544         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
8545         fixes to permit overriding the default actions when configure and
8546         makefile are not available.
8547
8548 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
8549
8550         Sync from coreutils.
8551         * modules/lstat (Depends-on): Don't depend on xalloc.
8552         (License): Change from GPL to LGPL, since this is now simply a
8553         replacement for a libc function.
8554
8555 2006-02-14  Jim Meyering  <jim@meyering.net>
8556
8557         Sync from coreutils.
8558
8559         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
8560         failure on deficient systems, and simplify gnulib lgpl dependencies.
8561         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
8562         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
8563
8564         * lib/xalloc-die.c: Remove unused definition of N_.
8565
8566 2006-02-14  Jim Meyering  <jim@meyering.net>
8567
8568         Sync from coreutils.
8569         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
8570         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
8571         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
8572         double-quote uses of that variable, to accommodate the rare case in
8573         which getmntent is available in none of the libraries checked.  This
8574         happens at least on FreeBSD 5.0.
8575
8576 2006-02-13  Simon Josefsson  <jas@extundo.com>
8577
8578         * gnulib-tool (Usage): Fix --import, from
8579         karl@freefriends.org (Karl Berry).
8580
8581 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
8582
8583         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
8584
8585 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
8586
8587         * lib/argp-namefrob.h: Restore changes accidentally lost during the
8588         "autoupdate" on 2005-12-12.
8589
8590 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8591
8592         * modules/closeout (Depends-on): Remove atexit.
8593
8594 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8595
8596         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
8597         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
8598
8599 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
8600
8601         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
8602         __EXTENSIONS__ if this causes compilation to fail.  Problem
8603         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
8604         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
8605
8606 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8607
8608         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
8609         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
8610         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
8611         All uses changed.
8612
8613 2006-01-26  Simon Josefsson  <jas@extundo.com>
8614
8615         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
8616         prototype is visible on mingw32.
8617
8618         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
8619         for mingw32.
8620
8621         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
8622         mingw32).
8623
8624 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
8625
8626         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
8627         attempt to open for write; this always fails, at least on POSIX
8628         hosts.  This reinstates the 2006-01-09 change, which was
8629         inadvertently removed.
8630
8631 2006-01-26  Bruno Haible  <bruno@clisp.org>
8632
8633         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
8634         Reported by Paul Eggert.
8635
8636 2006-01-26  Bruno Haible  <bruno@clisp.org>
8637             Paul Eggert  <eggert@cs.ucla.edu>
8638
8639         * lib/stdbool_.h (_Bool)
8640         [(! (defined __cplusplus || defined __BEOS__)
8641           && !defined __GNUC__
8642           && !(defined __HP_cc || defined __xlc__
8643                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
8644                || defined __sgi))]:
8645         #define to signed char in these cases too; this simplifies
8646         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
8647         etc., separately) and makes it more conservative.
8648
8649 2006-01-25  Simon Josefsson  <jas@extundo.com>
8650
8651         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
8652         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
8653         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
8654
8655 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
8656
8657         * lib/argp-namefrob.h: Bugfix. Remove stray #
8658
8659 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8660
8661         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
8662         so that we test the test.
8663         Check for yet another HP-UX cc bug involving *bool |= bool.
8664
8665 2006-01-25  Karl Berry  <karl@gnu.org>
8666
8667         * config/srclist.txt (vasnprintf.c): sync lost.
8668
8669 2006-01-25  Jim Meyering  <jim@meyering.net>
8670
8671         Sync from the stable (b5) branch of coreutils:
8672
8673         * lib/fts.c (fts_children): Don't let close() clobber errno from
8674         failed fchdir().
8675
8676         * lib/fts.c (fts_stat): When following a symlink-to-directory,
8677         don't necessarily interpret stat-fails+lstat-succeeds as indicating
8678         a dangling symlink.  That can also happen at least for ELOOP.
8679         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
8680         FYI, this bug predates the inclusion of fts.c in coreutils.
8681
8682         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
8683         in their own block, so pre-c99 compilers don't object.
8684
8685         Avoid the double-free (first in fts_read, second in fts_close) that
8686         would occur when an `active' directory is made inaccessible (e.g.,
8687         via chmod a-x) during a traversal.
8688         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
8689         before returning.  Reproduce this failure by
8690         mkdir -p a/b; cd a; chmod a-x . b
8691         Reported by Stavros Passas.
8692
8693 2006-01-25  Jim Meyering  <jim@meyering.net>
8694
8695         * lib/fileblocks.c: Remove more useless parentheses.
8696         * lib/readutmp.h: Likewise.
8697
8698 2006-01-25  Bruno Haible  <bruno@clisp.org>
8699
8700         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
8701         warnings.
8702         Reported by Paul Eggert.
8703
8704 2006-01-25  Bruno Haible  <bruno@clisp.org>
8705
8706         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
8707         rid of a trap command. For Solaris sh.
8708         Reported by Mark D. Baushke <mdb@gnu.org>.
8709
8710 2006-01-24  Simon Josefsson  <jas@extundo.com>
8711
8712         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
8713         Bruno.
8714
8715 2006-01-24  Karl Berry  <karl@gnu.org>
8716
8717         * config/srclist.txt (argp-namefrob.h): sync lost.
8718
8719 2006-01-24  Jim Meyering  <jim@meyering.net>
8720
8721         * modules/openat (Files): Add lib/intprops.h.
8722         From Mark D. Baushke.
8723
8724 2006-01-24  Jim Meyering  <jim@meyering.net>
8725
8726         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
8727         Reported by Mark D. Baushke.
8728
8729 2006-01-24  Jim Meyering  <jim@meyering.net>
8730
8731         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
8732
8733 2006-01-24  Bruno Haible  <bruno@clisp.org>
8734
8735         * modules/strnlen (Maintainer): Change from glibc to all.
8736
8737 2006-01-24  Bruno Haible  <bruno@clisp.org>
8738
8739         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
8740         Patch by Paul Eggert.
8741
8742 2006-01-24  Bruno Haible  <bruno@clisp.org>
8743
8744         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
8745         already has it.
8746         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
8747         2005-11-26.
8748
8749         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
8750         'signed char' to avoid problems with the built-in _Bool type.
8751         Reported by Paul Eggert on 2005-11-26.
8752
8753 2006-01-24  Bruno Haible  <bruno@clisp.org>
8754
8755         * gnulib-tool (func_import): Avoid constructing complicated sed
8756         expressions inside backquote.
8757         Report and solution by Mark D. Baushke <mdb@gnu.org>.
8758
8759 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
8760
8761         These changes imported from libc.
8762         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
8763         test and two separate function calls.
8764         * lib/strndup.c (__strndup): Add libc_hidden_def.
8765
8766 2006-01-23  Simon Josefsson  <jas@extundo.com>
8767
8768         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
8769         Remove the test_*_SOURCES variable: automake infers it by default.
8770         * modules/tls-tests: Likewise.
8771
8772 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8773
8774         Work around porting bugs reported by Dieter in
8775         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
8776         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
8777         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
8778         Include "getopt.h" first, to check interface.
8779         (getenv): Declare only if defined HAVE_DECL_GETENV &&
8780         !HAVE_DECL_GETENV.
8781         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
8782         (__strndup): Revert to K&R-style function dfns, the glibc style.
8783         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
8784         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
8785         Include strnlen.h first, to get prototype properly.
8786         (strnlen): Renamed from __strnlen.
8787         Remove weak alias.
8788
8789 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8790
8791         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
8792
8793 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8794
8795         * config/srclist.txt: Adjust to reflect glibc reorganization.
8796         This affects only comments.
8797
8798 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
8799
8800          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
8801          Reported by Bruce Korb <bkorb@gnu.org>.
8802
8803 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
8804
8805         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
8806         to pacify gcc -Wswitch-default.
8807
8808 2006-01-22  Bruno Haible  <bruno@clisp.org>
8809
8810         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
8811         temporary buffer for sprintf, take into account the precision also
8812         for 'd', 'i', 'u', 'o', 'x', 'X'.
8813
8814 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
8815
8816         * modules/argp-tests: New module
8817         * tests/test-argp.c: New file
8818         * tests/test-argp-2.sh: New file
8819
8820 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
8821
8822         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
8823         (__argp_base_name): Removed
8824         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
8825         typo.
8826         (__argp_base_name): Provide macro definition or extern declaration
8827         depending on the configuration
8828
8829 2006-01-20  Simon Josefsson  <jas@extundo.com>
8830
8831         * modules/inet_ntop (Depends-on): Depend on sys_socket.
8832
8833 2006-01-20  Simon Josefsson  <jas@extundo.com>
8834
8835         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
8836
8837 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
8838
8839         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
8840         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
8841         Suggested by Bruno Haible.
8842
8843 2006-01-20  Karl Berry  <karl@gnu.org>
8844
8845         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
8846         until changes propagate, I guess.
8847
8848 2006-01-19  Simon Josefsson  <jas@extundo.com>
8849
8850         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
8851
8852 2006-01-19  Simon Josefsson  <jas@extundo.com>
8853
8854         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
8855
8856 2006-01-19  Simon Josefsson  <jas@extundo.com>
8857
8858         * gnulib-tool: Set check_PROGRAMS.
8859
8860         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
8861         modules/des-tests, modules/gc-arcfour-tests,
8862         modules/gc-arctwo-tests, modules/gc-des-tests,
8863         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
8864         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
8865         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
8866         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
8867         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
8868         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
8869         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
8870         test_*_SOURCES.
8871
8872 2006-01-18  Simon Josefsson  <jas@extundo.com>
8873
8874         * modules/socklen (Depends-on): Depend on sys_socket.
8875
8876 2006-01-18  Simon Josefsson  <jas@extundo.com>
8877
8878         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
8879         modules/des-tests, modules/gc-arcfour-tests,
8880         modules/gc-arctwo-tests, modules/gc-des-tests,
8881         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
8882         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
8883         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
8884         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
8885         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
8886         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
8887         $(EXEEXT) to automake TESTS variable, for mingw32.
8888
8889 2006-01-17  Simon Josefsson  <jas@extundo.com>
8890
8891         * modules/socklen (Include): Need sys/socket.h.
8892
8893 2006-01-17  Bruno Haible  <bruno@clisp.org>
8894
8895         * modules/ssize_t (Include): Add <sys/types.h>.
8896
8897 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
8898
8899         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
8900         it's not portable and it doesn't work with cross-compiles.
8901         Problem reported by Bruno Haible.  Fix missing-$ typo in
8902         'test "gl_cv_ignore_unused_libraries" ...' that prevented
8903         -zignore from being used with Sun's C compiler.
8904
8905 2006-01-12  Simon Josefsson  <jas@extundo.com>
8906
8907         * lib/base64.c: Fix warning, reported by Bruno Haible
8908         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
8909
8910 2006-01-12  Bruno Haible  <bruno@clisp.org>
8911
8912         * modules/ldd: New file.
8913         * build-aux/ldd.sh.in: New file.
8914         * MODULES.html.sh (Support for building libraries and executables): Add
8915         ldd.
8916
8917 2006-01-12  Bruno Haible  <bruno@clisp.org>
8918
8919         * m4/ldd.m4: New file.
8920
8921 2006-01-12  Bruno Haible  <bruno@clisp.org>
8922
8923         * gnulib-tool (func_import, func_create_testdir): Don't go into an
8924         endless loop while replacing $auxdir with build-aux.
8925
8926 2006-01-11  Simon Josefsson  <jas@extundo.com>
8927
8928         * lib/stdint_.h (SIZE_MAX): Add missing (.
8929
8930 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
8931
8932         Sync from coreutils.
8933         * lib/md5.c: Fix commentary typos.
8934         (alignof, UNALIGNED_P): No need for a GCC-specific version.
8935         * lib/md5.h (__attribute__): Remove; unused.
8936         * lib/sha1.c: Fix commentary to match md5 better.
8937         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
8938         so that we don't need to worry about alignment.  All uses changed.
8939         This merges the 2005-10-28 md5 change into sha1.
8940
8941 2006-01-11  Jim Meyering  <jim@meyering.net>
8942
8943         Sync from coreutils.
8944         * lib/md5.c (OP): Fix spacing.
8945
8946 2006-01-11  Bruno Haible  <bruno@clisp.org>
8947
8948         Ensure automatic ordering between gl_LOCK and gl_ARGP.
8949         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
8950         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
8951
8952 2006-01-11  Bruno Haible  <bruno@clisp.org>
8953
8954         Ensure automatic ordering between gl_LOCK and gl_ARGP.
8955         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
8956         the "early" section as well.
8957
8958 2006-01-11  Bruno Haible  <bruno@clisp.org>
8959
8960         Avoid "ar: no archive members specified" error on MacOS X.
8961         * gnulib-tool (func_modules_add_dummy): New function.
8962         (func_import, func_create_testdir): Invoke it.
8963
8964 2006-01-11  Bruno Haible  <bruno@clisp.org>
8965
8966         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
8967         with $auxdir in AC_CONFIG_FILES statements.
8968
8969 2006-01-11  Bruno Haible  <bruno@clisp.org>
8970
8971         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
8972         Initialize also noinst_HEADERS to empty.
8973
8974 2006-01-11  Bruno Haible  <bruno@clisp.org>
8975
8976         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
8977         variables.
8978         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
8979         autoreconf.
8980
8981 2006-01-11  Bruno Haible  <bruno@clisp.org>
8982
8983         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
8984         overridable by the user.
8985         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8986
8987 2006-01-10  Simon Josefsson  <jas@extundo.com>
8988
8989         * modules/sys_socket: New file.
8990
8991 2006-01-10  Simon Josefsson  <jas@extundo.com>
8992
8993         * m4/sys_socket_h.m4: New file.
8994
8995 2006-01-10  Simon Josefsson  <jas@extundo.com>
8996
8997         * lib/socket_.h: New file.
8998
8999 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9000
9001         * modules/readutmp (Maintainer): Add myself.
9002
9003 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9004
9005         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
9006         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
9007         People who are still concerned with buggy memcmp implementations
9008         can invoke gl_FUNC_MEMCMP themselves.
9009
9010 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9011
9012         * lib/regex_internal.h (BITSET_WORD_BITS):
9013         Work around a bug in 64-bit PGC (before version 6.1-2), where the
9014         preprocessor mishandles large unsigned values as if they were signed.
9015         Problem reported by Claudio Fontana in
9016         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
9017
9018 2006-01-10  Jim Meyering  <jim@meyering.net>
9019
9020         Avoid the double-free (first in fts_read, second in fts_close) that
9021         would occur when an `active' directory is made inaccessible (e.g.,
9022         via chmod a-x) during a traversal.
9023         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
9024         before returning.  Reproduce this failure by
9025         mkdir -p a/b; cd a; chmod a-x . b
9026         Reported by Stavros Passas.
9027
9028         Sync from coreutils.
9029         * lib/sha1.c: Tweak grammar in a comment.
9030
9031 2006-01-10  Jim Meyering  <jim@meyering.net>
9032
9033         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
9034         Patch by Joerg Sonnenberger.
9035
9036 2006-01-10  Bruno Haible  <bruno@clisp.org>
9037
9038         * modules/readutmp: Depend on module free.
9039         * modules/strtok_r: Depend on module restrict.
9040
9041 2006-01-10  Bruno Haible  <bruno@clisp.org>
9042
9043         * modules/gettext (configure.ac): Add an invocation of
9044         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
9045
9046 2006-01-10  Bruno Haible  <bruno@clisp.org>
9047
9048         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
9049         Reported by Werner Lemberg <wl@gnu.org>.
9050
9051 2006-01-10  Bruno Haible  <bruno@clisp.org>
9052
9053         * lib/localcharset.c: Update from GNU gettext.
9054
9055 2006-01-10  Bruno Haible  <bruno@clisp.org>
9056
9057         * lib/argp.h (__const): Remove macro. Use const instead.
9058         * lib/argp-fmtstream.h (__const): Likewise.
9059         * lib/glob_.h (__const): Remove macro.
9060         * lib/glob-libc.h: Use const instead of __const.
9061
9062 2006-01-10  Bruno Haible  <bruno@clisp.org>
9063
9064         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
9065         variable.
9066         Needed to avoid an automake error regarding the 'gettext' module.
9067
9068 2006-01-09  Simon Josefsson  <jas@extundo.com>
9069
9070         * modules/inet_ntop (Depends-on): Add restrict.
9071
9072 2006-01-09  Simon Josefsson  <jas@extundo.com>
9073
9074         * modules/gc-rijndael-tests (License): Put under LGPL.
9075
9076         * modules/gc-des-tests (License): Likewise.
9077
9078         * modules/gc-arcfour-tests (License): Likewise.
9079
9080         * modules/gc-arctwo-tests (License): Likewise.
9081
9082         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
9083
9084         * modules/gc-hmac-sha1-tests (Files): Likewise.
9085
9086         * modules/gc-hmac-md5-tests (License): Likewise.
9087
9088         * modules/gc-sha1-tests (License): Likewise.
9089
9090         * modules/gc-md5-tests (License): Likewise.
9091
9092         * modules/gc-md4-tests (License): Likewise.
9093
9094         * modules/gc-md2-tests (License): Likewise.
9095
9096         * modules/gc-tests (License): Likewise.
9097
9098         * modules/des-tests (License): Likewise.
9099
9100         * modules/md4-tests (License): Likewise.
9101
9102         * modules/md2-tests (License): Likewise.
9103
9104 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
9105
9106         Sync from coreutils:
9107
9108         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
9109         * modules/lib-ignore: New file.
9110         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
9111         chdir-safer.m4, lchmod.m4.
9112         * modules/openat: Add mkdirat.c, openat-priv.h.
9113
9114 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
9115
9116         Sync from coreutils.
9117         * m4/lib-ignore.m4: New file.
9118         * m4/lchmod.m4: New file.
9119
9120 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
9121
9122         Sync from coreutils.
9123         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
9124         for write access: POSIX says that must fail.
9125         * lib/fts.c (diropen): Likewise.
9126         * lib/save-cwd.c (save_cwd): Likewise.
9127         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
9128         well, for minor improvements on hosts that lack O_DIRECTORY.
9129         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
9130         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
9131         Fall back on chown if open failed with EACCES.
9132
9133         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
9134         Report an error at compile-time if only a 1-second nominal clock
9135         resolution is found.
9136
9137         * lib/lchmod.h: New file.
9138         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
9139         (make_dir_parents): Use lchown rather than chown, and
9140         lchmod rather than chmod.
9141
9142         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
9143         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
9144         "proc" reported by n0dalus.
9145
9146         * lib/mountlist.c: Include <limits.h>.
9147         (dev_from_mount_options)
9148         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
9149         New function.  It no longer assumes "dev=" has the System V meaning
9150         on Linux (since it doesn't).  It also parses "dev=" more carefully.
9151         (read_file_system_list)
9152         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
9153         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
9154         dev= in that case.
9155
9156         * lib/posixtm.h (PDS_PRE_2000): New macro.
9157         * lib/posixtm.c (year): Arg is now syntax_bits rather than
9158         allow_century.  All usages changed.  Reject dates outside the range
9159         1969-1999 if PDS_PRE_2000 is used.
9160
9161 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
9162
9163         Sync from coreutils.
9164         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
9165         (Time of day items): Mention the possibility of leap seconds.
9166         Problem reported by Dr. David Alan Gilbert.
9167
9168 2006-01-09  Jim Meyering  <jim@meyering.net>
9169
9170         Sync from coreutils.
9171
9172         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
9173
9174         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
9175
9176         * lib/modechange.c (mode_compile): Reject an invalid mode string
9177         that starts with an octal digit.  From Andreas Gruenbacher.
9178
9179         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
9180         and dup to open_safer and dup_safer, respectively.
9181         (openat_permissive): Fix typo in comment.
9182
9183         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
9184         "gettext.h"; either no longer needed or are guaranteed by openat.h.
9185         (_): Remove; no longer needed.
9186         (openat): Renamed from rpl_openat; no need for rpl_openat
9187         since openat.h renames openat for us.
9188         Replace most of the body with a call to openat_permissive,
9189         to avoid duplicate code.
9190         Port to (probably hypothetical) environments were mode_t is
9191         wider than int.
9192         (openat_permissive): Require mode arg, so that we can check
9193         types better.  Put it just after flags.  Change cwd failure
9194         indicator from pointer-to-bool to pointer-to-errno-value.
9195         All callers changed.
9196         Invoke openat_save_fail and/or openat_restore_fail if
9197         cwd_errno is null, so that openat can call us.
9198         (openat_permissive, fdopendir, fstatat, unlinkat):
9199         Simplify errno handling to avoid some duplicate code,
9200         as it's OK to set errno on success.
9201         * lib/openat.h: Revamp code so that function macros depend on
9202         __OPENAT_PREFIX only, not also on AT_FDCWD.
9203         (openat_ro): Remove.  Caller changed to use openat_permissive.
9204         (openat_permissive): Now a macro, if not a function.
9205         (openat_restore_fail, openat_save_fail): Now always functions,
9206         since mkdirat needs them even if __OPENAT_PREFIX is defined.
9207
9208         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
9209         and openat.c.
9210         * lib/mkdirat.c: Include openat-priv.h.
9211         Remove definitions of macros defined therein.
9212         * lib/openat.c: Likewise.
9213
9214         * lib/mkdirat.c (mkdirat): New file and function.
9215         * lib/openat.h (mkdirat): Declare.
9216
9217         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
9218
9219         * lib/openat.h (openat_permissive): Declare.
9220         (openat_ro): Define.
9221
9222         * lib/openat.c (EXPECTED_ERRNO): New macro.
9223         (openat_permissive): New function -- used in remove.c rewrite.
9224         (all functions): Set errno just before returning, only if there
9225         was an actual failure.
9226         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
9227
9228         Emulate openat-family functions using Linux's procfs, if possible.
9229         Idea and some code based on Ulrich Drepper's glibc changes.
9230
9231         * lib/openat.c: (BUILD_PROC_NAME): New macro.
9232         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
9233         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
9234         before falling back on save_cwd and restore_cwd.
9235         (fdopendir, fstatat, unlinkat): Likewise.
9236
9237         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
9238         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
9239
9240         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
9241         as second argument to va_arg.  Otherwise, some versions of gcc
9242         warn that `if this code is reached, the program will abort'.
9243
9244 2006-01-09  Jim Meyering  <jim@meyering.net>
9245
9246         Sync from coreutils.
9247         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
9248         Require openat-priv.h.
9249
9250 2006-01-09  Bruno Haible  <bruno@clisp.org>
9251
9252         * modules/strnlen (Include): Use strnlen.h.
9253
9254 2006-01-09  Bruno Haible  <bruno@clisp.org>
9255
9256         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
9257
9258 2006-01-09  Bruno Haible  <bruno@clisp.org>
9259
9260         * lib/sysexit_.h (EX_OK): New macro.
9261         Suggested by Martin Lambers <marlam@marlam.de>.
9262
9263 2006-01-09  Bruno Haible  <bruno@clisp.org>
9264
9265         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
9266         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
9267
9268 2006-01-09  Bruno Haible  <bruno@clisp.org>
9269
9270         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
9271         numbers.
9272
9273 2006-01-09  Bruno Haible  <bruno@clisp.org>
9274
9275         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
9276         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
9277         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
9278         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
9279
9280 2006-01-09  Bruno Haible  <bruno@clisp.org>
9281
9282         * build-aux/javacomp.sh.in: New file, moved from lib/.
9283         * modules/javacomp-script (Files): Update.
9284         (configure.ac): Add AC_CONFIG_FILES invocation.
9285         (EXTRA_DIST): Remove variable.
9286
9287         * build-aux/javaexec.sh.in: New file, moved from lib/.
9288         * modules/javaexec (Files): Update.
9289         (configure.ac): Add AC_CONFIG_FILES invocation.
9290         (EXTRA_DIST): Remove javaexec.sh.in.
9291
9292         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
9293         * modules/csharpcomp-script (Files): Update.
9294         (configure.ac): Add AC_CONFIG_FILES invocation.
9295         (EXTRA_DIST): Remove variable.
9296
9297         * build-aux/csharpexec.sh.in: New file, moved from lib/.
9298         * modules/csharpexec (Files): Update.
9299         (configure.ac): Add AC_CONFIG_FILES invocation.
9300         (EXTRA_DIST): Remove csharpexec.sh.in.
9301
9302 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
9303
9304         Sync from coreutils.
9305
9306         Add POSIX ACL support
9307         * lib/acl.h (copy_acl, set_acl): Add declarations.
9308         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
9309         systems other than Linux.
9310         (chmod_or_fchmod): New function: use fchmod when possible,
9311         and chmod otherwise.
9312         (file_has_acl): Add a POSIX ACL implementation, with a
9313         Linux-specific subcase.
9314         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
9315         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
9316         acls are unsupported.
9317         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
9318         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
9319         are unsupported.
9320
9321 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
9322
9323         Sync from coreutils.
9324         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
9325
9326 2006-01-07  Bruno Haible  <bruno@clisp.org>
9327
9328         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
9329         gl_EARLY.
9330
9331 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9332
9333         * lib/strftime.c (tzname): Don't declare if it is already #defined.
9334         Problem reported for Mingw by Mark Junker.
9335
9336 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9337
9338         * README: Gnulib normally doesn't generate a tarball.
9339
9340 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
9341
9342         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
9343         long int, not int, for nanosecond counts, so that people who are
9344         used to POSIX struct timespec won't be surprised.  Reported by Jim
9345         Meyering.
9346
9347 2005-12-28  Bruno Haible  <bruno@clisp.org>
9348
9349         * build-aux/config.rpath: Update from GNU gettext.
9350
9351 2005-12-16  Jim Meyering  <jim@meyering.net>
9352
9353         * modules/fprintftime: New module.
9354         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
9355
9356 2005-12-16  Jim Meyering  <jim@meyering.net>
9357
9358         * m4/fprintftime.m4: New file.
9359
9360 2005-12-16  Jim Meyering  <jim@meyering.net>
9361
9362         * lib/fprintftime.c, lib/fprintftime.h: New files.
9363
9364 2005-12-15  Simon Josefsson  <jas@extundo.com>
9365
9366         * modules/socklen (configure.ac): Fix M4 macro name, to align with
9367         new m4/socklen.m4.
9368
9369 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
9370
9371         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
9372         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
9373
9374 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
9375
9376         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
9377         * lib/argp-help.c (fill_in_uparams): Check if the constructed
9378         struct uparams is valid. Fall back to the default values if it is
9379         not.
9380
9381 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9382
9383         * modules/argp (Files): Add argp-pin.c
9384         (Depends-on): dirname
9385         (lib_SOURCES): Add argp-pin.c
9386
9387 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9388
9389         * m4/argp.m4:  Check if program_invocation_name and
9390         program_invocation_short_name are declared and define appropriate
9391         macros if they are not.
9392
9393 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9394
9395         * lib/argp-help.c (__argp_base_name): New function
9396         (__argp_short_program_name): Rewrite using __argp_base_name
9397         * lib/argp-namefrob.h: Define program_invocation_name and
9398         program_invocation_short_name if requested
9399         (__argp_base_name): Add prototype
9400         * lib/argp-parse.c (argp_def): Use gettext wrappers
9401         (argp_default_parser): Use __argp_base_name
9402         * lib/argp-pin.c: New file. Defines program_invocation_name and
9403         program_invocation_short_name on systems that lack them.
9404
9405 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
9406
9407         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
9408         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
9409         porting problem reported by Georg Schwarz in
9410         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
9411
9412 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
9413
9414         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
9415         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
9416         porting problem reported by Georg Schwarz in
9417         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
9418
9419 2005-12-05  Bruno Haible  <bruno@clisp.org>
9420
9421         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
9422         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
9423         Reported by Mark Junker <mjscod@gmx.de>.
9424
9425 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9426
9427         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
9428         Use implementation from Albert Chin, with some
9429         comments/corrections by Stepan Kasal and myself.
9430
9431 2005-12-02  Bruno Haible  <bruno@clisp.org>
9432
9433         * gnulib-tool (func_import): Accept GPLed build tool modules when
9434         --lgpl is given.
9435         * modules/csharpcomp-script: New file.
9436         * modules/csharpcomp: Depend on it.
9437         * modules/javacomp-script: New file.
9438         * modules/javacomp: Depend on it.
9439         Suggested by Simon Josefsson.
9440
9441 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
9442
9443         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
9444         statement, to work around an HP-UX 10.20 compiler bug reported by
9445         Peter O'Gorman.
9446
9447 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
9448
9449         * modules/savedir (Depends-on): Add openat.
9450
9451 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
9452
9453         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
9454         (uintmax_t) [defined uintmax_t]: Do not declare.
9455         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
9456         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
9457         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
9458         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
9459         sake of portability to weird hosts that C allows (though we don't
9460         know of any practical examples).
9461
9462         * lib/savedir.h (fdsavedir): New decl.
9463         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
9464         contains most of the former guts of savedir.
9465         (savedir): Use savedirstream.
9466         Include "openat.h".
9467
9468 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9469
9470         * modules/obstack (Files): Add m4/ulonglong.m4.
9471         Problem reported by Davide Angelocola.
9472
9473 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
9474
9475         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
9476         coreutils no longer futzes with rounding modes.
9477
9478 2005-11-14  Jim Meyering  <jim@meyering.net>
9479
9480         * lib/mkstemp-safer.c: Include <config.h>, required for possible
9481         replacement of mkstemp.
9482
9483 2005-11-10  Simon Josefsson  <jas@extundo.com>
9484
9485         * lib/readline.c: Remove EOL.
9486
9487 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9488
9489         * modules/gethrxtime (Depends-on): Add gettime.
9490
9491 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9492
9493         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
9494         or gettimeofday; no longer needed.
9495
9496 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9497
9498         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
9499         time business.
9500         (gethrxtime) [! (HAVE_NANOUPTIME
9501         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
9502         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
9503         our own approximation.
9504
9505 2005-11-08  Eric Blake  <ebb9@byu.net>
9506
9507         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
9508
9509 2005-11-08  Eric Blake  <ebb9@byu.net>
9510
9511         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
9512
9513 2005-11-04  Bruno Haible  <bruno@clisp.org>
9514
9515         * gnulib-tool: Implement --update mode.
9516
9517 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
9518
9519         Fix porting problem reported by Theodoros V. Kalamatianos.
9520         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
9521         Don't assume that futimes failing means we must fail.
9522
9523 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
9524
9525         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
9526         variables to suggest the intended function of the PATH_MAX check.
9527
9528 2005-10-30  Kean Johnston  <jkj@sco.com>
9529
9530         Trivial changes to support SCO systems.
9531         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
9532         as PATH_MAX.
9533         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
9534         where __ptr is null when no I/O is pending.
9535
9536 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
9537
9538         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
9539         leave errno alone.  Problem reported by Dmitry V. Levin.
9540
9541 2005-10-28  Simon Josefsson  <jas@extundo.com>
9542
9543         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
9544         Test more.
9545
9546         * tests/test-gc-md2.c, tests/test-md2.c: New files.
9547
9548         * modules/md2, modules/md2-tests: New files.
9549
9550 2005-10-28  Simon Josefsson  <jas@extundo.com>
9551
9552         * m4/inet_ntop.m4: More tests.
9553
9554         * m4/gc-md2.m4, md2.m4: New file.
9555
9556 2005-10-28  Simon Josefsson  <jas@extundo.com>
9557
9558         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
9559         "restrict" keywords, as per POSIX.  Protect the function
9560         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
9561         Don't use K&R prototypes.  Check the sprintf return values.
9562         Re-define EAFNOSUPPORT if not present.  Indent.
9563
9564         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
9565         suggested by Bruno Haible <bruno@clisp.org>.
9566
9567         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
9568
9569         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
9570
9571         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
9572         libgcrypt).
9573
9574         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
9575
9576         * lib/md2.h, lib/md2.c: New files.
9577
9578 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
9579
9580         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
9581         errno alone.  Problem reported by Frederic Jolliton.
9582
9583 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
9584
9585         * modules/verify (License): Change from GPL to LGPL.  This is a
9586         tiny module and there are apparently near-equivalents that are
9587         under the BSD license.
9588
9589 2005-10-24  Simon Josefsson  <jas@extundo.com>
9590
9591         * modules/sha1: Relicense to LGPL.
9592
9593 2005-10-24  Simon Josefsson  <jas@extundo.com>
9594
9595         * lib/md4.h: Shrink buffer size, now that we changed the type.
9596
9597 2005-10-23  Simon Josefsson  <jas@extundo.com>
9598
9599         * gnulib-tool (func_import): Fix --tests-base.
9600
9601 2005-10-22  Simon Josefsson  <jas@extundo.com>
9602
9603         * modules/arcfour (Depends-on): Need stdint.
9604
9605 2005-10-22  Simon Josefsson  <jas@extundo.com>
9606
9607         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
9608         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
9609
9610 2005-10-22  Simon Josefsson  <jas@extundo.com>
9611
9612         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
9613         suggested by Bruno Haible <bruno@clisp.org>.
9614
9615 2005-10-22  Simon Josefsson  <jas@extundo.com>
9616
9617         * lib/crc.h: Include stddef.h, for size_t.
9618
9619 2005-10-22  Simon Josefsson  <jas@extundo.com>
9620
9621         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
9622         arcfour_context struct (simplify test vector testing in GNU
9623         Shishi).
9624
9625 2005-10-21  Simon Josefsson  <jas@extundo.com>
9626
9627         * modules/des, modules/des-tests: New files.
9628
9629         * modules/gc-des, modules/gc-des-tests: New files.
9630
9631         * tests/test-des.c, tests/test-gc-des.c: New file.
9632
9633 2005-10-21  Simon Josefsson  <jas@extundo.com>
9634
9635         * modules/arctwo, modules/arctwo-tests: New files.
9636
9637         * tests/test-arctwo.c: New file.
9638
9639         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
9640
9641         * tests/test-gc-arctwo.c: New file.
9642
9643 2005-10-21  Simon Josefsson  <jas@extundo.com>
9644
9645         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
9646         Bruno Haible <bruno@clisp.org>.
9647
9648         * m4/gc-des.m4: New file.
9649
9650 2005-10-21  Simon Josefsson  <jas@extundo.com>
9651
9652         * m4/arctwo.m4: New file.
9653
9654         * m4/gc-arctwo.m4: New file.
9655
9656 2005-10-21  Simon Josefsson  <jas@extundo.com>
9657
9658         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
9659         block.
9660
9661 2005-10-21  Simon Josefsson  <jas@extundo.com>
9662
9663         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
9664         <bruno@clisp.org>.
9665
9666         * lib/hmac-sha1.c (hmac_sha1): Likewise.
9667
9668         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
9669         Bruno Haible <bruno@clisp.org>.
9670
9671         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
9672         <bruno@clisp.org>.
9673
9674 2005-10-21  Simon Josefsson  <jas@extundo.com>
9675
9676         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
9677
9678 2005-10-21  Simon Josefsson  <jas@extundo.com>
9679
9680         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
9681
9682 2005-10-21  Simon Josefsson  <jas@extundo.com>
9683
9684         * lib/des.h, lib/des.c: New files.
9685
9686         * lib/gc-gnulib.c: Support DES.c
9687
9688 2005-10-21  Simon Josefsson  <jas@extundo.com>
9689
9690         * lib/arctwo.h, lib/arctwo.c: New files.
9691
9692         * lib/gc-gnulib.c: Support ARCTWO.
9693
9694 2005-10-21  Simon Josefsson  <jas@extundo.com>
9695
9696         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
9697         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9698
9699 2005-10-21  Simon Josefsson  <jas@extundo.com>
9700
9701         * gnulib-tool (func_import, func_create_testdir): Define automake
9702         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
9703         Makefile.am snippet),
9704         suggested by Bruno Haible <bruno@clisp.org>.
9705
9706         * modules/gc (Makefile.am): Use it.
9707
9708 2005-10-21  Bruno Haible  <bruno@clisp.org>
9709
9710         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
9711         patch.
9712
9713 2005-10-19  Simon Josefsson  <jas@extundo.com>
9714
9715         * tests/test-gc-rijndael.c: New file.
9716
9717         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
9718
9719 2005-10-19  Simon Josefsson  <jas@extundo.com>
9720
9721         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
9722         interface too.
9723
9724 2005-10-19  Simon Josefsson  <jas@extundo.com>
9725
9726         * tests/test-gc-arcfour.c: New file.
9727
9728         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
9729
9730 2005-10-19  Simon Josefsson  <jas@extundo.com>
9731
9732         * modules/gc-md4, modules/gc-md4-tests: New file.
9733
9734         * tests/test-gc-md4.c: New file.
9735
9736 2005-10-19  Simon Josefsson  <jas@extundo.com>
9737
9738         * m4/gc-md4.m4: New file.
9739
9740 2005-10-19  Simon Josefsson  <jas@extundo.com>
9741
9742         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
9743         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
9744         <kasal@ucw.cz>.
9745
9746 2005-10-19  Simon Josefsson  <jas@extundo.com>
9747
9748         * m4/gc-arcfour.m4: New file.
9749
9750         * m4/gc-rijndael.m4: New file.
9751
9752 2005-10-19  Simon Josefsson  <jas@extundo.com>
9753
9754         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
9755
9756 2005-10-19  Simon Josefsson  <jas@extundo.com>
9757
9758         * lib/gc-gnulib.c: Support ARCFOUR.
9759
9760 2005-10-19  Simon Josefsson  <jas@extundo.com>
9761
9762         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
9763         support.
9764
9765         * lib/gc.h: Add ECB enum type.
9766
9767         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
9768
9769 2005-10-18  Simon Josefsson  <jas@extundo.com>
9770
9771         * tests/test-md5.c: New file.
9772
9773         * modules/md5-tests: New file.
9774
9775 2005-10-18  Simon Josefsson  <jas@extundo.com>
9776
9777         * tests/test-md4.c: New file.
9778
9779         * modules/md4, modules/md4-tests: New files.
9780
9781 2005-10-18  Simon Josefsson  <jas@extundo.com>
9782
9783         * m4/md4.m4: New file.
9784
9785 2005-10-18  Simon Josefsson  <jas@extundo.com>
9786
9787         * lib/md4.h, lib/md4.c: New files, based on md5.?.
9788
9789 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
9790
9791         * gnulib-tool (func_create_testdir): Omit the second check whether
9792         BUILT_SOURCES in nonempty.
9793
9794 2005-10-17  Simon Josefsson  <jas@extundo.com>
9795
9796         * tests/test-rijndael.c: New file.
9797
9798 2005-10-17  Simon Josefsson  <jas@extundo.com>
9799
9800         * modules/sha1: Depend on stdint instead of md5.
9801
9802         * modules/md5: Depend on stdint, remove uint32_t.
9803
9804 2005-10-17  Simon Josefsson  <jas@extundo.com>
9805
9806         * modules/gc-sha1-tests: New file.
9807
9808         * tests/test-gc-sha1.c: New file.
9809
9810 2005-10-17  Simon Josefsson  <jas@extundo.com>
9811
9812         * m4/md5.m4: Remove call to uint32_t.m4.
9813
9814 2005-10-17  Simon Josefsson  <jas@extundo.com>
9815
9816         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
9817
9818         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
9819         md5.h.
9820
9821         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
9822
9823         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
9824
9825 2005-10-17  Simon Josefsson  <jas@extundo.com>
9826
9827         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
9828
9829 2005-10-17  Simon Josefsson  <jas@extundo.com>
9830
9831         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
9832
9833 2005-10-17  Simon Josefsson  <jas@extundo.com>
9834
9835         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
9836
9837         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
9838
9839 2005-10-17  Bruno Haible  <bruno@clisp.org>
9840
9841         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
9842         that it can also be used in a test.
9843
9844 2005-10-16  Bruno Haible  <bruno@clisp.org>
9845
9846         * gnulib-tool (func_emit_tests_Makefile_am): Also define
9847         TESTS_ENVIRONMENT, so that individual tests can augment it.
9848
9849         * gnulib-tool (func_create_testdir): Use an intermediate target for
9850         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
9851         macros, like $(ALLOCA_H), which cannot be passed through the command
9852         line.
9853
9854 2005-10-15  Simon Josefsson  <jas@extundo.com>
9855
9856         * modules/rijndael-tests: New file.
9857
9858         * modules/rijndael: New file.
9859
9860 2005-10-15  Simon Josefsson  <jas@extundo.com>
9861
9862         * m4/rijndael.m4: New file.
9863
9864 2005-10-15  Simon Josefsson  <jas@extundo.com>
9865
9866         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
9867
9868         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
9869
9870 2005-10-14  Simon Josefsson  <jas@extundo.com>
9871
9872         * tests/test-arcfour.c: New file.
9873
9874         * modules/arcfour, modules/arcfour-tests: New files.
9875
9876 2005-10-14  Simon Josefsson  <jas@extundo.com>
9877
9878         * m4/arcfour.m4: New file.
9879
9880 2005-10-14  Simon Josefsson  <jas@extundo.com>
9881
9882         * lib/arcfour.h, lib/arcfour.c: New files.
9883
9884 2005-10-14  Roland McGrath  <roland@redhat.com>
9885
9886         Import from libc.  [BZ #1331]
9887         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
9888         macro argument.
9889         Reported by Matej Vela <vela@debian.org>.
9890
9891 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9892
9893         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
9894         include <wchar.h>; no longer needed.
9895
9896 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9897
9898         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
9899
9900 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
9901         and  Ulrich Drepper  <drepper@redhat.com>
9902
9903         Import from libc.
9904         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
9905         instead of inline stream orientation test and two separate
9906         function calls.  Pay no attention to USE_IN_LIBIO.
9907
9908 2005-10-13  Simon Josefsson  <jas@extundo.com>
9909
9910         * modules/gc-hmac-md5-tests: New file.
9911
9912         * tests/test-gc-hmac-sha1.c: New file.
9913
9914         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
9915
9916         * modules/gc-hmac-md5-tests: New file.
9917
9918         * tests/test-gc-md5.c: New file.
9919
9920         * modules/gc-md5-tests: New file.
9921
9922 2005-10-13  Simon Josefsson  <jas@extundo.com>
9923
9924         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
9925         Move memory allocation outside of loop.
9926
9927 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
9928
9929         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
9930         intermediate directory is in a read-only file system.  Problem
9931         reported by Eric Blake.
9932
9933 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
9934
9935         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
9936
9937 2005-10-12  Simon Josefsson  <jas@extundo.com>
9938
9939         * tests/test-hmac-sha1.c: New file.
9940
9941         * modules/hmac-sha1-tests: New file.
9942
9943         * modules/hmac-sha1: New file.
9944
9945 2005-10-12  Simon Josefsson  <jas@extundo.com>
9946
9947         * modules/gc-sha1: New file.
9948
9949 2005-10-12  Simon Josefsson  <jas@extundo.com>
9950
9951         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
9952
9953         * tests/test-gc-pbkdf2-sha1.c: New file.
9954
9955 2005-10-12  Simon Josefsson  <jas@extundo.com>
9956
9957         * modules/gc-md5, modules/gc-hmac-md5: New files.
9958
9959         * modules/gc (Files): Remove md5, memxor and hmac files.
9960
9961 2005-10-12  Simon Josefsson  <jas@extundo.com>
9962
9963         * m4/gc-pbkdf2-sha1.m4: New file.
9964
9965         * m4/gc-hmac-sha1.m4: New file.
9966
9967         * m4/gc-sha1: New file.
9968
9969         * m4/hmac-sha1.m4: New file.
9970
9971 2005-10-12  Simon Josefsson  <jas@extundo.com>
9972
9973         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
9974
9975         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
9976
9977 2005-10-12  Simon Josefsson  <jas@extundo.com>
9978
9979         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
9980         suggested by Bruno Haible <bruno@clisp.org>.
9981
9982 2005-10-12  Simon Josefsson  <jas@extundo.com>
9983
9984         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
9985
9986 2005-10-12  Simon Josefsson  <jas@extundo.com>
9987
9988         * lib/gc-pbkdf2-sha1.c: New file.
9989
9990         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
9991
9992 2005-10-12  Simon Josefsson  <jas@extundo.com>
9993
9994         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
9995
9996         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
9997
9998 2005-10-12  Simon Josefsson  <jas@extundo.com>
9999
10000         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
10001         GC_USE_HMAC_MD5, respectively.
10002
10003         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
10004         (gc_md5): Fix typo.
10005
10006         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
10007
10008         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
10009
10010         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
10011
10012 2005-10-12  Bruno Haible  <bruno@clisp.org>
10013
10014         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
10015         Reported by Stepan Kasal <kasal@ucw.cz>.
10016
10017 2005-10-11  Simon Josefsson  <jas@extundo.com>
10018
10019         * tests/test-crc.c: New file.
10020
10021         * modules/crc, modules/crc-tests: New files.
10022
10023 2005-10-11  Simon Josefsson  <jas@extundo.com>
10024
10025         * m4/crc.m4: New file.
10026
10027 2005-10-11  Simon Josefsson  <jas@extundo.com>
10028
10029         * lib/gc.h: Add gc_hash and gc_hash_buffer.
10030
10031         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
10032
10033         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
10034
10035 2005-10-11  Simon Josefsson  <jas@extundo.com>
10036
10037         * lib/crc.h, lib/crc.c: New files.
10038
10039         * lib/gc.h (gc_hash_buffer): Add doc.
10040
10041 2005-10-11  Bruno Haible  <bruno@clisp.org>
10042
10043         * modules/c-strcasestr: New file.
10044         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
10045
10046 2005-10-11  Bruno Haible  <bruno@clisp.org>
10047
10048         * modules/c-strcase: New file.
10049         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
10050
10051 2005-10-11  Bruno Haible  <bruno@clisp.org>
10052
10053         * lib/strcasecmp.c: Include limits.h.
10054         (strcasecmp): Avoid integer overflow on exotic platforms.
10055         * lib/strncasecmp.c: Include limits.h.
10056         (strncasecmp): Avoid integer overflow on exotic platforms.
10057         Reported by Paul Eggert.
10058
10059 2005-10-11  Bruno Haible  <bruno@clisp.org>
10060
10061         * lib/c-strcasestr.h: New file, from GNU gettext.
10062         * lib/c-strcasestr.c: New file, from GNU gettext.
10063
10064 2005-10-11  Bruno Haible  <bruno@clisp.org>
10065
10066         * lib/c-strcase.h: New file, from GNU gettext.
10067         * lib/c-strcasecmp.c: New file, from GNU gettext.
10068         * lib/c-strncasecmp.c: New file, from GNU gettext.
10069
10070 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10071
10072         * modules/mempcpy (License): GPL -> LGPL.
10073         * modules/strchrnul (License): Likewise.
10074         * modules/sysexits (License): Likewise.
10075
10076 2005-10-08  Simon Josefsson  <jas@extundo.com>
10077
10078         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
10079
10080 2005-10-07  Simon Josefsson  <jas@extundo.com>
10081
10082         * m4/memxor.m4: Remove gl_C_RESTRICT call.
10083
10084 2005-10-06  Simon Josefsson  <jas@extundo.com>
10085
10086         * tests/test-hmac-md5.c: New file.
10087
10088         * modules/hmac-md5-tests: New file.
10089
10090         * modules/hmac-md5: New file.
10091
10092 2005-10-06  Simon Josefsson  <jas@extundo.com>
10093
10094         * m4/hmac-md5.m4: New file.
10095
10096         * m4/memxor.m4: Require gl_C_RESTRICT.
10097
10098 2005-10-06  Simon Josefsson  <jas@extundo.com>
10099
10100         * lib/memxor.c (memxor): Avoid casts and warnings.
10101
10102 2005-10-06  Simon Josefsson  <jas@extundo.com>
10103
10104         * lib/hmac-md5.c: New file.
10105
10106         * lib/hmac.h: New file.
10107
10108 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
10109
10110         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
10111         promotes to int, not unsigned int, to catch the AIX 5.3
10112         compiler bug.
10113
10114 2005-10-05  Simon Josefsson  <jas@extundo.com>
10115
10116         * modules/memxor: New file.
10117
10118         * modules/iconv (Files): Move config.rpath to havelib, it is used
10119         there.
10120
10121         * modules/havelib (Files): Add config.rpath.
10122
10123 2005-10-05  Simon Josefsson  <jas@extundo.com>
10124
10125         * m4/memxor.m4: New file.
10126
10127 2005-10-05  Simon Josefsson  <jas@extundo.com>
10128
10129         * lib/memxor.c (memxor): Fix compiler error.
10130
10131         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
10132         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
10133
10134         * lib/memxor.h, lib/memxor.c: New files.
10135
10136         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
10137         we assume all systems have it, suggested by Jim Meyering
10138         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
10139         any systems lack sys/socket.h; mingw32 is known to lack it, but we
10140         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
10141         same reasons.
10142
10143 2005-10-05  Simon Josefsson  <jas@extundo.com>
10144
10145         * config/srclist.txt: Add glibc bug 1423 for md5.h.
10146
10147 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10148
10149         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
10150         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
10151         needed, since the source code now assumes these .h files.
10152
10153 2005-10-05  Derek Price  <derek@ximbiot.com>
10154
10155         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
10156
10157 2005-10-05  Bruno Haible  <bruno@clisp.org>
10158
10159         * modules/stdint (License): Change to LGPL.
10160
10161 2005-10-04  Simon Josefsson  <jas@extundo.com>
10162
10163         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
10164         D. Baushke" <mdb@gnu.org>.
10165
10166 2005-10-04  Bruno Haible  <bruno@clisp.org>
10167
10168         * lib/verify.h (verify_true): Provide alternative definition for C++.
10169
10170 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
10171
10172         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
10173         (SSIZE_MAX): New macro, if not already defined.
10174         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
10175         than 2 GiB.
10176
10177 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10178
10179         Sync from coreutils.
10180         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
10181         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
10182         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
10183         ULLONG_MAX doesn't work with 2.7.2.1.
10184
10185 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10186
10187         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
10188         From Ben Pfaff.
10189
10190         * modules/exclude (Depends-on): Depend on verify.
10191         * modules/strtoimax (Depends-on): Likewise.
10192         * modules/utimecmp (Depends-on): Likewise.
10193
10194 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10195
10196         * lib/exclude.c: Include verify.h.
10197         (verify): Remove.  All callers changed to use verify.h's version.
10198         * lib/strtoimax.c: Likewise.
10199         * lib/utimecmp.c: Likewis.e
10200
10201         Sync from coreutils.
10202         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
10203         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
10204         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
10205         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
10206         bother returning ENOSYS if settimeofday or stime fails; just let
10207         them return whatever errno they want to return.
10208         * lib/utimens.c: Include unistd.h, for dup2.
10209         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
10210         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
10211
10212 2005-10-02  Jim Meyering  <jim@meyering.net>
10213
10214         Sync from coreutils.
10215         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
10216         from glibc-2.2.5 that fails for read-only files.
10217
10218 2005-10-02  Jim Meyering  <jim@meyering.net>
10219
10220         Sync from coreutils.
10221         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
10222         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
10223         `#if HAVE_CONFIG_H'.
10224         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
10225         Remove AT_FDCWD test.
10226         Do not consume the fd unless successful.
10227         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
10228         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
10229         block, so that we don't even try to compile it if settimeofday is
10230         available.  This works around a compilation failure on OSF1 V5.1,
10231         due to stime requiring a `long int*' while tv_sec is `int'.
10232
10233 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
10234
10235         Sync from coreutils.
10236         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
10237         against `yes', rather than just testing for nonempty.
10238
10239 2005-10-01  Simon Josefsson  <jas@extundo.com>
10240
10241         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
10242         and Darwin.
10243
10244         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
10245         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
10246         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
10247         freeaddrinfo and gai_strerror are declared by the POSIX headers.
10248         Check if struct addrinfo is declared.
10249
10250 2005-10-01  Simon Josefsson  <jas@extundo.com>
10251
10252         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
10253         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
10254         AI_* and EAI_* definitions.  Protect function declarations.
10255
10256 2005-10-01  Jim Meyering  <jim@meyering.net>
10257
10258         Sync from coreutils.
10259
10260         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
10261         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
10262         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
10263         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
10264         in the inet and nsl libraries.  Required on Solaris 5.7.
10265
10266 2005-10-01  Jim Meyering  <jim@meyering.net>
10267
10268         Sync from coreutils.
10269         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
10270         in the inet and nsl libraries.  Required on Solaris 5.7.
10271
10272 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
10273
10274         * lib/getdelim.c (getdelim): Remove unused variables.
10275
10276 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
10277
10278         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
10279         so that the code works even with ancient cpp.  Portability problem
10280         with GCC 2.7.2.1 reported by Thomas M.Ott.
10281
10282 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
10283
10284         * modules/regex (Depends-on): Add strcase.
10285
10286         * modules/gethostname (Licence): Change from GPL to LGPL, since
10287         gethostname.c is a trivial implementation of a standard library
10288         function.
10289         * modules/poll (License): Change from GPL to LGPL, since it's
10290         derived from LGPL code.
10291
10292 2005-09-27  Jim Meyering  <jim@meyering.net>
10293
10294         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
10295         HAVE_CONFIG_H.
10296
10297         * lib/intprops.h (signed_type_or_expr__): Define.
10298         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
10299         for unsigned types.
10300
10301 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10302
10303         * lib/verify.h (verify_expr): Remove, replacing with:
10304         (verify_true): New macro that returns true instead of void.
10305         (verify_type__): Remove.
10306         (verify): Use verify_true rather than verify_type__.
10307
10308 2005-09-26  Bruno Haible  <bruno@clisp.org>
10309
10310         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
10311         is necessary.
10312         (lib_SOURCES): Remove mbchar.c.
10313         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
10314         (Files): Add m4/mbrtowc.m4.
10315         * modules/mbiter: Likewise.
10316         * modules/mbuiter: Likewise.
10317
10318 2005-09-26  Bruno Haible  <bruno@clisp.org>
10319
10320         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
10321         compile mbchar.c if they are not both present.
10322         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
10323         * m4/mbiter.m4 (gl_MBITER): Likewise.
10324         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
10325         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
10326         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
10327
10328 2005-09-25  Jim Meyering  <jim@meyering.net>
10329
10330         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
10331         also uses socklen_t.
10332
10333 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10334
10335         * lib/utimens.c (ENOSYS): Define if not already defined.
10336         (futimens): Support having a null PATH if the file descriptor
10337         is nonnegative.
10338
10339         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
10340         Remove.
10341         (__attribute): Define to empty unless GCC 3.1 or later.
10342         This works around a core dump on OpenBSD 3.4, which has GCC
10343         2.95.3, which dumps core when given __attribute__(()).  It also
10344         simplifies other tests, since we really don't want to bother with
10345         worrying about which ancient version of GCC supported what.
10346         Original problem reported by Yoann Vandoorselaere, with part of
10347         the fix suggested by Derek Price.
10348
10349 2005-09-24  Jim Meyering  <jim@meyering.net>
10350
10351         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
10352         so we can once again use a positive bitfield width of 1 -- now we
10353         don't have to explain why we were using a bitfield width of 2.
10354
10355 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10356
10357         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
10358         and similarly for the other external symbols.  Problem reported
10359         by James Gallager.
10360
10361         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
10362         bug reported by Jim Meyering.
10363
10364         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
10365         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
10366         not needed, since socklen is a prerequisite module.
10367
10368 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10369
10370         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
10371         Problem reported by Eric Blake.
10372         (getaddrinfo): Initialize se so that it's not garbage.
10373         Redo internal storage allocation so that it doesn't make unportable
10374         assumptions about alignment.
10375         Fix a memory leak.
10376
10377         * lib/utimens.c (futimens): Use futimesat if available.
10378         Prefer it to futimes since it doesn't have the futimes bug.
10379
10380         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
10381         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
10382         Instead, declare a function that returns a pointer to an array,
10383         and use verify_type__ to declare the size of the array.
10384         Problem and germ of a solution reported by Bruno Haible.
10385         (verify_type__): Use 2, not 1, for bitfield size, to avoid
10386         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
10387
10388 2005-09-23  Jim Meyering  <jim@meyering.net>
10389
10390         Sync from coreutils.
10391         Correct build failure (socklen_t not defined) on at least
10392         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
10393         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
10394
10395 2005-09-23  Jim Meyering  <jim@meyering.net>
10396
10397         * modules/getaddrinfo (Depends-on): Add socklen.
10398
10399 2005-09-23  Bruno Haible  <bruno@clisp.org>
10400
10401         * tests/test-verify.c: New file.
10402
10403 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10404
10405         Sync from coreutils.
10406
10407         * modules/argmatch (Depends-on): Add verify.
10408         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
10409         unistd-safer.
10410         * modules/save-cwd (Depends-on): Likewise.
10411
10412         * modules/openat (Files): Add lib/openat-die.c.
10413         (Depends-on): Remove error, exitfail.
10414         Add dirname.
10415
10416         * modules/verify: New file.
10417         * MODULES.html.sh (Diagnostics <assert.h>): New section,
10418         with "verify" module.
10419
10420 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10421
10422         Sync from coreutils.
10423
10424         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
10425         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
10426         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
10427         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
10428         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
10429         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
10430         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
10431         Don't bother checking for string.h, stdlib.h, unistd.h.
10432         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
10433         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
10434         module's job.
10435         * m4/jm-macros.m4 (gl_MACROS): Likewise.
10436         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
10437
10438         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
10439         (gl_GETDATE): Use it.
10440
10441         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
10442
10443 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10444
10445         Sync from coreutils.
10446
10447         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
10448         stat-time.h.
10449         * lib/argmatch.h: Include verify.h
10450         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
10451         (ARGMATCH_ASSERT): Remove; unused.
10452         * lib/canonicalize.c: Assume STDC_HEADERS.
10453         * lib/exclude.c: Include "strcase.h".
10454         * lib/regex_internal.h [!defined _LIBC]: Likewise.
10455         * lib/getusershell.c: Include stdio--.h rather than stdio.h
10456         and stdio-safer.h.
10457         (getusershell): Call fopen, not fopen_safer.
10458         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
10459         Do not include unistd-safer.h.
10460         (save_cwd): Don't call fd_safer; no longer needed
10461         now that we include fcntl--.h.
10462
10463         * lib/getdate.y (relative_time): New type.
10464         (RELATIVE_TIME_0): New constant.
10465         (parser_control): Use relative_time instead of doing it ourselves.
10466         (%union): Add new relative_time rel member.
10467         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
10468         Now typeless.
10469         (relunit, relunit_snumber): Now of type rel.
10470         (zone, rel, relunit, get_date): Adjust to above changes.
10471
10472         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
10473         Do not include unistd-safer.h.
10474         (getloadavg): Don't call fd_safer; no longer needed
10475         now that we include fcntl--.h.
10476
10477         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
10478         (make_dir_parents): Treat ENOSYS like EEXIST.
10479
10480         Improve quality of diagnostics on restore_cwd failure.
10481         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
10482         (make_dir_parents): Last arg is now int * (for errno), not bool *.
10483         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
10484         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
10485         each time through the loop.  Do not diagnose restore_cwd failure;
10486         that is the caller's job (and perhaps the caller does not care).
10487
10488         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
10489         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
10490         If the file already exists but is not a directory, don't bother
10491         to try to make its parents.
10492         Close potential file descriptor leak if we can't chdir("/") (!).
10493         Don't always return true if chdir($PWD) fails; return true only
10494         if the requested action was done successfully (except for the
10495         chdir($PWD)).
10496         Don't log final directory unless we actually made it.
10497         Refactor to avoid duplicate code to fix up permissions.
10498         Don't attempt to fix up parent permissions if chdir($PWD) fails.
10499
10500         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
10501         to make it a bit faster and (I hope) clearer.
10502         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
10503         Fix bug in formats like %2N.
10504
10505         * lib/verify.h: New file.
10506
10507 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10508
10509         Sync from coreutils.
10510         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
10511
10512 2005-09-22  Jim Meyering  <jim@meyering.net>
10513
10514         Sync from coreutils.
10515
10516         * m4/lstat.m4 (gl_FUNC_LSTAT):
10517         Use AC_LIBSOURCES to require lstat.c and lstat.h.
10518         Remove obsolete comment.
10519         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
10520         * m4/xstrtod.m4: Likewise.
10521
10522         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
10523
10524 2005-09-22  Jim Meyering  <jim@meyering.net>
10525
10526         Sync from coreutils.
10527
10528         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
10529
10530         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
10531         the .tm_year member, since otherwise gcc-4.0 would now warn about
10532         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
10533
10534         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
10535         order to avoid an unsuppressible warning from gcc on 64-bit systems.
10536
10537         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
10538         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
10539         when run in a time zone for which daylight savings time is in effect
10540         for the starting date.
10541
10542         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
10543         stop us from restricting permissions of just-created absolute-named
10544         directories.
10545         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
10546         to restore initial working directory.
10547         * lib/mkdir-p.c (make_dir_parents): New parameter:
10548         different_working_dir, to tell caller if/when we change the working
10549         directory and are unable to return to the initial one.
10550         * lib/mkdir-p.h (make_dir_parents): Update prototype.
10551         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
10552         `return false'.  This fixes a bug introduced on 2004-07-30.
10553
10554         * lib/openat.c (fdopendir): Be sure to close the supplied
10555         file descriptor before returning.  This makes our replacement
10556         implementation a little closer to Solaris's, where fdopendir
10557         ties the file descriptor to the returned DIR* pointer.
10558         * lib/openat.c (unlinkat): New function.
10559         * lib/openat.h (unlinkat): Add prototype.
10560         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
10561         (openat_restore_fail): Rename from openat_restore_die.
10562         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
10563
10564         Provide an alternative to exiting immediately upon save_cwd or
10565         restore_cwd failure.  Now, an application can arrange e.g.,
10566         to perform a longjump in that case.
10567         * lib/openat.c: Include dirname.h.
10568         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
10569         (rpl_openat, fdopendir, fstatat): Call openat_save_die
10570         and openat_restore_die rather than calling error directly.
10571         Don't include "error.h" or "exitfail.h"; they're no longer needed.
10572
10573         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
10574         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
10575         define.
10576
10577         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
10578         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
10579                             int utc, int nanoseconds);
10580         Background:
10581         date should not have to allocate a megabyte of virtual memory to
10582         handle a format argument like +%1048575T.  When implemented with
10583         strftime, it must allocate such a buffer, use strftime to fill it
10584         in, print it, then free it.
10585         With fprintftime, it simply prints everything and exits.
10586         With no need for memory allocation, that's one fewer way to fail.
10587         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
10588         optional field width, not before, so we accept %9:z, not %:9z.
10589         (my_strftime): Be sure to use L_('x') for literals.
10590
10591         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
10592         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
10593         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
10594         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
10595         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
10596         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
10597         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
10598         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
10599         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
10600         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
10601         * lib/xgethostname.c, lib/xreadlink.c:
10602         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
10603
10604         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
10605         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
10606         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
10607         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
10608         and don't include <sys/file.h>).
10609
10610 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
10611
10612         Sync from coreutils.
10613
10614         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
10615         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
10616         [!LDAV_DONE]: Avoid unused variable warning.
10617
10618 2005-09-21  Bruno Haible  <bruno@clisp.org>
10619
10620         * lib/unicodeio.h (unicode_to_mb): New declaration.
10621
10622 2005-09-20  Derek Price  <derek@ximbiot.com>
10623
10624         * lib/getaddrinfo.c: Don't include <netdb.h> included from
10625         getaddrinfo.h.
10626
10627 2005-09-20  Bruno Haible  <bruno@clisp.org>
10628
10629         * gnulib-tool: Remove trailing slashes from the values specified for
10630         --source-base, --m4-base, --tests-base, --aux-dir.
10631         Suggested by Simon Josefsson <jas@extundo.com>.
10632
10633 2005-09-20  Bruno Haible  <bruno@clisp.org>
10634
10635         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
10636         func_modules_to_filelist, func_import, func_create_testdir): Make all
10637         sorting results locale-independent, so that gnulib-cache.m4 doesn't
10638         change when gnulib-tool is invoked in a different locale.
10639
10640 2005-09-19  Simon Josefsson  <jas@extundo.com>
10641
10642         * m4/socklen.m4: Fix typo.
10643
10644 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10645
10646         Use a consistent style for including <config.h>.
10647         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
10648         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
10649         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
10650         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
10651         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
10652         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
10653         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
10654         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
10655         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
10656         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
10657         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
10658         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
10659         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
10660         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
10661         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
10662         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
10663         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
10664         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
10665         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
10666         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
10667         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
10668         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
10669         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
10670         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
10671         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
10672         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
10673         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
10674         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
10675         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
10676         lib/xstrtoumax.c, lib/yesno.c:
10677         Standardize inclusion of config.h.
10678         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
10679         lib/inttostr.h:  Removed inclusion of config.h from header files.
10680         * lib/inttostr.c:  Adjusted in-tree users.
10681         * lib/timespec.h: Remove superfluous warning to include config.h.
10682         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
10683         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
10684         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
10685         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
10686         config.h with HAVE_CONFIG_H.
10687
10688 2005-09-19  Jim Meyering  <jim@meyering.net>
10689
10690         * modules/pathmax (License): Change to LGPL.
10691
10692 2005-09-19  Derek Price  <derek@ximbiot.com>
10693
10694         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
10695
10696 2005-09-19  Bruno Haible  <bruno@clisp.org>
10697
10698         * gnulib-tool (import): Provide default for --tests-base.
10699
10700 2005-09-19  Bruno Haible  <bruno@clisp.org>
10701
10702         * doc/quote.texi: New file, extracted from gnulib.texi.
10703         * doc/ctime.texi: New file, extracted from gnulib.texi.
10704         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
10705         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
10706         * doc/gnulib.texi: Include them.
10707
10708 2005-09-18  Bruno Haible  <bruno@clisp.org>
10709
10710         Portability fix.
10711         * gnulib-tool (func_readlink): New function.
10712         (func_ln_if_changed): Use it.
10713
10714 2005-09-18  Bruno Haible  <bruno@clisp.org>
10715
10716         * gnulib-tool: Support --with-tests also with --import.
10717         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
10718         (func_import): Use variables $testsbase and $inctests. Emit a
10719         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
10720         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
10721         SUBDIRS += $testsdir.
10722         (func_create_testdir): Update.
10723
10724 2005-09-18  Bruno Haible  <bruno@clisp.org>
10725
10726         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
10727         instead of $dry_run.
10728         (func_cp_if_changed, func_mv_if_changed): Remove functions.
10729         (func_ln_if_changed): Don't handle dry-run here.
10730         (func_import): In dry-run mode, detect more precisely which actions
10731         would be performed, and don't use "...ing" verbs.
10732
10733 2005-09-18  Bruno Haible  <bruno@clisp.org>
10734
10735         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
10736         (func_import): Use join on two temporary files instead of three nested
10737         loops, in order to determine which files are new or old.
10738
10739 2005-09-18  Bruno Haible  <bruno@clisp.org>
10740
10741         * gnulib-tool (func_import): Comment out code that spits out the
10742         new files with --dry-run.
10743
10744 2005-09-18  Bruno Haible  <bruno@clisp.org>
10745
10746         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
10747
10748 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10749
10750         * lib/stat-time.h: New file.
10751         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
10752         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
10753         in a different way.
10754         (timespec_cmp): New function.
10755         * lib/utimecmp.c: Include stat-time.h.
10756         (SYSCALL_RESOLUTION): Depend on whether various struct stat
10757         members exist, not on the obsolescent ST_MTIM_NSEC.
10758         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
10759
10760 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10761
10762         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
10763
10764 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10765
10766         * MODULES.html.sh (File system functions): Add stat-time.
10767         * modules/stat-time: New file.
10768         * modules/timespec (Files): Remove m4/st_mtim.m4; this
10769         is now done in a different way, by the stat-time module.
10770         * modules/utimecmp (Depends-on): Add stat-time.
10771
10772 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10773
10774         * m4/st_mtim.m4: Remove.  Superseded by...
10775         * m4/stat-time.m4: New file.
10776         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
10777         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
10778
10779 2005-09-15  Derek Price  <derek@ximbiot.com>
10780
10781         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
10782
10783 2005-09-15  Derek Price  <derek@ximbiot.com>
10784
10785         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
10786         * lib/regex_internal.c: Ditto, using this...
10787         (__GNUC_PREREQ): ...new macro.
10788         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
10789         using...
10790         (__GNUC_PREREQ): ...this new macro.
10791
10792         * lib/strstr.h: Include string.h. Define strstr as a macro here.
10793
10794 2005-09-15  Derek Price  <derek@ximbiot.com>
10795             Paul Eggert  <eggert@cs.ucla.edu>
10796
10797         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
10798         changes, consolidating in...
10799         * lib/regex_internal.h: ...this file.
10800
10801 2005-09-13  Jim Meyering  <jim@meyering.net>
10802
10803         * lib/canon-host.c: Filter through gnu indent and reword comments
10804         slightly.
10805         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
10806
10807 2005-09-13  Derek Price  <derek@ximbiot.com>
10808
10809         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
10810         failure.
10811         Reported by Jim Meyering  <jim@meyering.net>.
10812
10813 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
10814
10815         * lib/base64.c: Typo.
10816         (base64_encode): Put b64str in initialized data section.
10817
10818 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
10819
10820         Merge glibc and coreutils changes into gnulib, plus a few
10821         extra fixes.
10822         * lib/md5.c: Use #error rather than a string.
10823         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
10824         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
10825         (__attribute__): Define to empty for non recent-GCC.
10826         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
10827         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
10828         Renamed from their non-__ counterparts, with new macros replacing
10829         them if not _LIBC.  Add __THROW attribute.
10830         (rol): Remove.
10831         (struct md5_ctx): Align buffer if using GCC.
10832         * lib/sha1.h (struct sha1_ctx): Likewise.
10833         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
10834         The old name was backwards.
10835         (NOTSWAP): Remove; not used.
10836         (rol): New macro, moved here from md5.h.
10837         (sha1_process_block): Remove a FIXME that doesn't make sense.
10838
10839 2005-09-12  Derek Price  <derek@ximbiot.com>
10840
10841         Return usable errors from canon-host.
10842         * lib/canon-host.h: New file.
10843         * lib/canon-host.c (canon_host): Wrap...
10844         (canon_host_r): ...this new function, which now relies exclusively on
10845         getaddrinfo.
10846         (ch_strerror): New function.
10847         (last_cherror): New global.
10848         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
10849         interface.
10850         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
10851         void *.
10852         (freeaddrinfo): Free ai->ai_canonname when set.
10853
10854 2005-09-12  Derek Price  <derek@ximbiot.com>
10855
10856         Make canon-host require getaddrinfo.
10857         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
10858         AC_LIBSOURCE canon-host.h.  Call...
10859         (gl_PREREQ_CANON_HOST): ...this new function, which requires
10860         gl_GETADDRINFO.
10861         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
10862
10863 2005-09-12  Derek Price  <derek@ximbiot.com>
10864
10865         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
10866         LGPL.
10867         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
10868
10869 2005-09-12  Derek Price  <derek@ximbiot.com>
10870
10871         * lib/gai_strerror.c: Include config.h when available.  Include
10872         getaddrinfo.h before other headers to test interface.
10873         Reported by Larry Jones <lawrence.jones@ugs.com>.
10874
10875 2005-09-12  Derek Price  <derek@ximbiot.com>
10876             Paul Eggert  <eggert@cs.ucla.edu>
10877
10878         * modules/glob (Files): Add glob-libc.h.
10879
10880 2005-09-12  Derek Price  <derek@ximbiot.com>
10881             Paul Eggert  <eggert@cs.ucla.edu>
10882
10883         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
10884         glob_.h, glob-libc.h.
10885         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
10886
10887 2005-09-12  Derek Price  <derek@ximbiot.com>
10888             Paul Eggert  <eggert@cs.ucla.edu>
10889
10890         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
10891         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
10892         protecting things that should be done only in gnulib contexts.
10893         * lib/glob_.h: New file, containing only the glob things needed for
10894         gnulib.
10895         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
10896         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
10897         (glob, globfree, glob_pattern_p): Now defined simply in terms of
10898         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
10899         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
10900         and to respect the namespace rules better.
10901
10902 2005-09-08  Simon Josefsson  <jas@extundo.com>
10903
10904         * modules/socklen: New file.
10905
10906 2005-09-08  Simon Josefsson  <jas@extundo.com>
10907
10908         * m4/socklen.m4: New file.
10909
10910 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10911
10912         * modules/utimens (Files): Add m4/utimbuf.m4, since
10913         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
10914         Reported by Sergey Poznyakoff.
10915
10916 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10917
10918         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
10919         definitions, since that's the preferred style in glibc.
10920         Fix a minor spacing issue, and update copyright notice to match
10921         glibc's.
10922
10923 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10924
10925         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
10926
10927 2005-09-06  Simon Josefsson  <jas@extundo.com>
10928
10929         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
10930         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
10931
10932 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10933
10934         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
10935         warning.
10936
10937 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10938
10939         * config/srclist.txt: Add glibc bug 1302.
10940
10941 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
10942
10943         Change bitset word type from unsigned int to unsigned long int,
10944         as this has better performance on typical 64-bit hosts.
10945         Port bitset code to hosts with unusual word sizes.
10946         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
10947         (build_collating_symbol):
10948         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
10949         argument is a bitset.  This is merely a style issue, but it makes
10950         it clearer that an entire array is expected.
10951         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
10952         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
10953         Port to the case where bitset_word is not the same as unsigned int.
10954         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
10955         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
10956         Likewise.
10957         * lib/regexec.c (check_dst_limits_calc_pos_1,
10958         check_subexp_matching_top):
10959         (build_trtable, group_nodes_into_DFAstates):
10960         Likewise.
10961         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
10962         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
10963         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
10964         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
10965         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
10966         * lib/regcomp.c (optimize_subexps, lower_subexp):
10967         Work even if bitset_word has holes in its bitwise representation.
10968         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
10969         * lib/regexec.c (check_dst_limits_calc_pos_1,
10970         check_subexp_matching_top):
10971         Likewise.
10972         * lib/regex_internal.c (re_string_reconstruct):
10973         Don't assume UCHAR_MAX == 255.
10974         * lib/regex_internal.h (bitset_set_all): Likewise.
10975         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
10976         All uses changed.
10977         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
10978         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
10979         All uses changed.
10980         (BITSET_WORD_MAX): New macro.
10981         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
10982         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
10983         (bitset_empty, bitset_copy):
10984         Prefer sizeof (bitset) to multiplying it out ourselves.
10985         (bitset_not_merge): Remove; unused.
10986         (bitset_contain): Return bool, not unsigned int with one bit on.
10987         All callers changed.
10988         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
10989         alignment than re_node_set; do this by defining a new internal
10990         type struct dests_alloc and using it to allocate memory.
10991
10992 2005-09-05  Bruno Haible  <bruno@clisp.org>
10993
10994         * gnulib-tool (func_import): Fix comparison in handling of symbolic
10995         links.
10996
10997 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
10998
10999         * modules/size_max (Makefile.am): Add size_max.h
11000
11001 2005-09-04  Derek Price  <derek@ximbiot.com>
11002
11003         * gnulib-tool (func_import): Fix reversed $symbolic logic.
11004
11005 2005-09-03  Simon Josefsson  <jas@extundo.com>
11006
11007         * gnulib-tool: Fix typo.
11008
11009 2005-09-03  Simon Josefsson  <jas@extundo.com>
11010
11011         * config/srclist.txt: Add glibc bug 1293.
11012
11013 2005-09-03  Derek Price  <derek@ximbiot.com>
11014
11015         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
11016         From Larry Jones <lawrence.jones@ugs.com>.
11017
11018 2005-09-02  Simon Josefsson  <jas@extundo.com>
11019
11020         * modules/socklen: New file.
11021
11022 2005-09-02  Simon Josefsson  <jas@extundo.com>
11023
11024         * modules/havelib: New module.
11025
11026         * modules/gettext, modules/iconv, modules/lock, modules/readline:
11027         Use havelib.
11028
11029 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
11030
11031         Check for arithmetic overflow when calculating sizes, to prevent
11032         some buffer-overflow issues.  These patches are conservative, in the
11033         sense that when I couldn't determine whether an overflow was possible,
11034         I inserted a run-time check.
11035         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
11036         macros.
11037         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
11038         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
11039         (re_xnrealloc, re_x2nrealloc): New inline functions.
11040         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
11041         parse_bracket_exp):
11042         (build_equiv_class, build_charclass): Check for arithmetic overflow
11043         in size expression calculations.
11044         * lib/regex_internal.c (re_string_realloc_buffers):
11045         (build_wcs_upper_buffer, re_node_set_add_intersect):
11046         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
11047         (re_dfa_add_node, register_state): Likewise.
11048         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
11049         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
11050         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
11051         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
11052
11053 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
11054
11055         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
11056         m4/ulonglong.m4.  Problem reported by Martin Lambers.
11057
11058 2005-09-02  Bruno Haible  <bruno@clisp.org>
11059
11060         Support for lib vs. lib64 distinction on biarch platforms.
11061         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
11062         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
11063         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
11064
11065 2005-09-02  Bruno Haible  <bruno@clisp.org>
11066
11067         * gnulib-tool (import): In the other first-use case, provide defaults
11068         as well.
11069
11070 2005-09-02  Bruno Haible  <bruno@clisp.org>
11071
11072         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
11073         patches not yet found in the latest gettext release.
11074
11075 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11076
11077         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
11078         to avoid a collision with bits/local_lim.h in glibc.
11079         All uses changed.  Problem reported by Dmitry V. Levin in
11080         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
11081
11082         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
11083         bugs in int versus size_t comparisons.
11084         (re_string_context_at): Fix bug where the code assumed that
11085         Idx is signed.
11086
11087         Use bool where appropriate.
11088         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
11089         All callers changed.
11090         (calc_eclosure_iter): Likewise, for ROOT arg.
11091         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
11092         (build_charclass_op): Likewise, for NON_MATCH arg.
11093         * lib/regex_internal.c (re_string_allocate, re_string_construct):
11094         (re_string_construct_common): Likewise, for ICASE arg.
11095         * lib/regexec.c (re_search_2_stub, re_search_stub):
11096         Likewise, for RET_LEN arg.
11097         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
11098         (set_regs): Likewise, for FL_BACKTRACK arg.
11099         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
11100         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
11101         (calc_eclosure_iter, parse_bracket_exp):
11102         Use bool for internal variables that are booleans.
11103         * lib/regexec.c (re_search_internal, check_matching,
11104         proceed_next_node):
11105         (set_regs, build_sifted_states, sift_states_bkref):
11106         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
11107         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
11108         (find_collation_sequence_value):
11109         Likewise.
11110         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
11111         (re_node_set_compare):
11112         Return bool, not int. All callers changed.
11113         * lib/regexec.c (check_halt_node_context, check_dst_limits):
11114         (build_trtable, check_node_accept): Likewise.
11115         * lib/regex_internal.h: Include stdbool.h.
11116
11117         Fix bugs uncovered when converting to bool.
11118         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
11119         failure instead of charging ahead blindly.
11120         * lib/regex_internal.c (register_state): Likewise.
11121         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
11122         for freeing internal storage.
11123         (group_nodes_into_DFA_states): Use unsigned int, not int, for
11124         bitset pieces used as boolean, to avoid undefined behavior
11125         on hosts that do int overflow checking.
11126
11127 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11128
11129         * config/srclist.txt: Add glibc bugs 1285-1287.
11130
11131 2005-09-01  Jim Meyering  <jim@meyering.net>
11132
11133         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
11134         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
11135         Require gl_STAT_MACROS, too.
11136
11137 2005-09-01  Bruno Haible  <bruno@clisp.org>
11138
11139         * gnulib-tool (import): In the first-use case, provide defaults.
11140
11141 2005-09-01  Bruno Haible  <bruno@clisp.org>
11142
11143         * gnulib-tool (func_import): Remove the .tmp files.
11144
11145 2005-09-01  Bruno Haible  <bruno@clisp.org>
11146
11147         * gnulib-tool (func_import): Fix handling of symbolic links.
11148
11149 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11150
11151         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
11152         old glibc regex code mishandles strings longer than 2**31 bytes.
11153         This patch fixes this when the regex code is used in gnulib
11154         (i.e., outside glibc).
11155
11156         This patch should not affect the use of the regex code inside
11157         glibc.  No doubt this problem also needs to be handled for glibc
11158         as well, but the result will be an incompatible change to the
11159         glibc ABI, and the old ABI will have to be supported too.  That
11160         can be the the subject for another patch.
11161
11162         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
11163         governing whether the rest of this patch is active.  By default,
11164         the macro is disabled and the patch has no effect.
11165         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
11166         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
11167         (struct re_pattern_buffer, re_search, re_search_2, re_match):
11168         (re_match_2, re_set_registers): Use the new types.
11169         * lib/regex_internal.h (Idx, re_hashval_t): New types.
11170         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
11171         New macros.
11172         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
11173         (re_string_context_at, bin_tree_t, re_dfastate_t):
11174         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
11175         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
11176         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
11177         (re_string_char_size_at, re_string_wchar_at):
11178         (re_string_elem_size_at):
11179         Use the new types and macros to port to 64-bit hosts.
11180         Use unsigned types for internal values, so that the code
11181         mostly works even for arrays larger than SSIZE_MAX.
11182         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
11183         (search_duplicated_node, calc_eclosure_iter, fetch_number):
11184         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
11185         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
11186         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
11187         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
11188         (calc_inveclosure, parse_dup_op, build_range_exp):
11189         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
11190         (fetch_number, create_token_tree, mark_opt_subexp):
11191         Likewise.
11192         * lib/regex_internal.c (re_string_construct_common,
11193         create_ci_newstate):
11194         (create_cd_newstate, re_string_allocate, re_string_construct):
11195         (re_string_realloc_buffers, build_wcs_upper_buffer):
11196         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
11197         (re_string_reconstruct, re_string_peek_byte_case):
11198         (re_string_fetch_byte_case, re_string_context_at):
11199         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
11200         (re_node_set_init_copy, re_node_set_add_intersect):
11201         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
11202         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
11203         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
11204         (re_acquire_state, re_acquire_state_context, register_state):
11205         Likewise.
11206         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
11207         search_cur_bkref_entry):
11208         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
11209         (re_search_internal, re_search_2_stub, re_search_stub)
11210         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
11211         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
11212         (update_cur_sifted_state, check_dst_limits):
11213         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
11214         (check_subexp_limits, sift_states_bkref, merge_state_array):
11215         (check_subexp_matching_top, get_subexp, get_subexp_sub):
11216         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
11217         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
11218         (expand_bkref_cache, check_node_accept_bytes):
11219         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
11220         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
11221         (acquire_init_state_context, check_halt_node_context):
11222         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
11223         (sift_states_backward, clean_state_log_if_needed):
11224         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
11225         (find_recover_state, transit_state_sb, transit_state_mb):
11226         (transit_state_bkref, build_trtable, match_ctx_clean):
11227         Likewise.
11228         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
11229         to work around an assumption that REG_MISSING is negative.
11230
11231         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
11232         (seek_collating_symbol_entry) [defined _LIBC]:
11233         (lookup_collation_sequence_value) [defined _LIBC]:
11234         (build_range_exp, build_collating_symbol) [defined _LIBC]:
11235         Use prototypes rather than old-style function definitions.
11236         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
11237         (transit_state_sb) [0]:
11238         (find_collation_sequence_value) [defined _LIBC]: Likewise.
11239
11240         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
11241         rm_eo.
11242
11243         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
11244         (optimize_subexps, lower_subexp):
11245         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
11246         since the signed shift might overflow.  Use 1u<<31 instead.
11247         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
11248         Likewise.
11249         * lib/regexec.c (check_dst_limits_calc_pos_1,
11250         check_subexp_matching_top): Likewise.
11251
11252         * lib/regcomp.c (optimize_subexps, lower_subexp):
11253         Use CHAR_BIT rather than 8, for clarity.
11254         * lib/regexec.c (check_dst_limits_calc_pos_1):
11255         (check_subexp_matching_top): Likewise.
11256         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
11257         have to worry about portability issues when shifting it left.
11258         Remove no-longer-needed test for table_size > 0.
11259         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
11260         in a word, as the resulting behavior is undefined.
11261         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
11262         in one case, a <= should have been an <, and in another case the
11263         whole test was missing.
11264         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
11265         the standard name CHAR_BIT.
11266         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
11267         this is not true on one's complement and signed-magnitude hosts.
11268
11269         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
11270         next_last_offset.
11271         (struct re_dfa_t): Remove unused member states_alloc.
11272         * lib/regcomp.c (init_dfa): Don't initialize unused members.
11273
11274 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11275
11276         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
11277         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
11278         and large-file glibc and in 32-bit large-file Solaris.
11279
11280 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11281
11282         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
11283         lengths fit in regoff_t; this isn't true if regoff_t is the same
11284         width as size_t.
11285         * lib/regex.c (re_search_internal): 5th arg is LAST_START
11286         (= START + RANGE) instead of RANGE.  This avoids overflow
11287         problems when regoff_t is the same width as size_t.
11288         All callers changed.
11289         (re_search_2_stub): Check for overflow when adding the
11290         sizes of the two strings.
11291         (re_search_stub): Check for overflow when adding START
11292         to RANGE; if it occurs, substitute the extreme value.
11293
11294 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11295
11296         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
11297
11298 2005-08-31  Jim Meyering  <jim@meyering.net>
11299
11300         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
11301         a pointer-to-const.
11302         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
11303         (register_state): Likewise.
11304         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
11305         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
11306         (group_nodes_into_DFAstates): Likewise.
11307
11308 2005-08-31  Jim Meyering  <jim@meyering.net>
11309
11310         * check-module: Add a FIXME comment.
11311
11312 2005-08-31  Eric Blake  <ebb9@byu.net>
11313
11314         * modules/unistd-safer (Files): Add unistd--.h.
11315         * modules/stdio-safer (Files): Add stdio--.h.
11316
11317 2005-08-31  Derek Price  <derek@ximbiot.com>
11318
11319         * lib/getdelim.c (getdelim): Return EOF on EOF.
11320         Reported by Larry Jones <lawrence.jones@ugs.com>.
11321
11322 2005-08-31  Bruno Haible  <bruno@clisp.org>
11323
11324         Avoid unnecessary diffs in the generated lib/Makefile.am.
11325         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
11326         the generated files.
11327         (func_import): Don't set cmd.
11328
11329 2005-08-31  Bruno Haible  <bruno@clisp.org>
11330
11331         * lib/strstr.c: Include <stddef.h>, for NULL.
11332         * lib/strcasestr.c: Likewise.
11333         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
11334
11335 2005-08-31  Bruno Haible  <bruno@clisp.org>
11336
11337         * gnulib-tool: New option --macro-prefix.
11338         (func_import): Use macro_prefix.
11339         (import): Handle option --macro-prefix.
11340
11341 2005-08-31  Bruno Haible  <bruno@clisp.org>
11342
11343         * gnulib-tool (import): Rename most ac_* variables to cached_*.
11344         Also use new variables cached_lgpl, cached_libtool.
11345
11346 2005-08-31  Bruno Haible  <bruno@clisp.org>
11347
11348         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
11349         always instantiating them.
11350
11351 2005-08-31  Bruno Haible  <bruno@clisp.org>
11352
11353         * gnulib-tool (func_import): Read the previous cached settings
11354         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
11355         earlier added by gnulib but are now dropped. Warn when a gnulib file
11356         overwrites a non-gnulib file.
11357
11358 2005-08-31  Bruno Haible  <bruno@clisp.org>
11359
11360         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
11361         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
11362         projects that don't keep autogenerated files in CVS. Put into
11363         actioncmd only the specified modules, not the transitive closure.
11364
11365 2005-08-31  Bruno Haible  <bruno@clisp.org>
11366
11367         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
11368         Create directories that shall be filled.
11369         (import): Don't look for gl_* macros in configure.ac. Recurse across
11370         all directories containing a gnulib-cache.m4 files, if meaningful.
11371
11372 2005-08-31  Bruno Haible  <bruno@clisp.org>
11373
11374         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
11375         (import): Set seen_libtool when we see gl_LIBTOOL.
11376
11377 2005-08-31  Bruno Haible  <bruno@clisp.org>
11378
11379         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
11380         declaration macro definitions from generated gnulib.m4.
11381
11382 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
11383
11384         * lib/iconvme.h: Add prototype for iconv_alloc.
11385
11386 2005-08-29  Simon Josefsson  <jas@extundo.com>
11387
11388         * lib/iconvme.c: Fix errno.
11389
11390 2005-08-29  Bruno Haible  <bruno@clisp.org>
11391
11392         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
11393         that it works when the directory contains spaces.
11394
11395 2005-08-29  Bruno Haible  <bruno@clisp.org>
11396
11397         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
11398
11399 2005-08-29  Bruno Haible  <bruno@clisp.org>
11400
11401         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
11402         Emit more advice.
11403
11404 2005-08-29  Bruno Haible  <bruno@clisp.org>
11405         and Stepan Kasal  <kasal@ucw.cz>
11406
11407         * check-module: If more parameters are given, check each of them
11408         separately; add more exceptions, as noted by Jim Meyering.
11409         (check_module): New procedure.
11410         (%exempt_header): Now contains all exceptions.
11411
11412 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
11413
11414         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
11415
11416 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
11417
11418         * lib/iconvme.c: Split iconv_string into iconv_alloc.
11419
11420 2005-08-28  Bruno Haible  <bruno@clisp.org>
11421
11422         * m4/gnulib-tool.m4: New file.
11423
11424 2005-08-27  Jim Meyering  <jim@meyering.net>
11425
11426         * modules/unistd-safer (Files): Add pipe-safer.c.
11427         * modules/fcntl-safer (Files): Add creat-safer.c.
11428
11429 2005-08-27  Jim Meyering  <jim@meyering.net>
11430
11431         * m4/stdlib-safer.m4: New file.  From coreutils.
11432         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
11433         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
11434         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
11435         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
11436         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
11437
11438 2005-08-27  Jim Meyering  <jim@meyering.net>
11439
11440         * lib/fopen-safer.c: Merge minor changes from coreutils.
11441         * lib/dup-safer.c: Likewise.
11442         * lib/fd-safer.c: Likewise.
11443
11444         Merge from coreutils.
11445         * lib/stdio--.h: New file.
11446         * lib/stdlib--.h: New file.
11447         * lib/mkstemp-safer.c: New file.
11448
11449         GNU tar needs these.
11450         * lib/pipe-safer.c: New file.
11451         * lib/creat-safer.c: New file.
11452         * lib/fcntl--.h (creat): Define to creat_safer.
11453         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
11454         * lib/unistd--.h (pipe): Define to pipe_safer.
11455         * lib/unistd-safer.h: Declare pipe_safer.
11456
11457 2005-08-26  Simon Josefsson  <jas@extundo.com>
11458
11459         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
11460         Haible <bruno@clisp.org>.
11461
11462 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
11463
11464         * lib/regex_internal.h: Remove all references to
11465         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
11466         or better.
11467         (bitset_not, bitset_merge, bitset_not_merge):
11468         (bitset_mask, re_string_allocate, re_string_construct):
11469         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
11470         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
11471         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
11472         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
11473         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
11474         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
11475         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
11476         (re_acquire_state_context):
11477         Remove unnecessary forward decls.
11478         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
11479         Put __attribute at function definition,
11480         now that the function decl has been removed.
11481         * lib/regex_internal.c (re_string_peek_byte_case):
11482         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
11483         Likewise.
11484
11485 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
11486
11487         * m4/regex.m4: Add AC_PREREQ(2.50).
11488         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
11489
11490 2005-08-25  Simon Josefsson  <jas@extundo.com>
11491
11492         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
11493         __fsetlocking.
11494
11495 2005-08-25  Simon Josefsson  <jas@extundo.com>
11496
11497         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
11498         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
11499         GLIBC specific code.
11500
11501 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11502
11503         Make regex safe for g++.  This fixes one real bug (an "err"
11504         that should have been "*err").  g++ problem reported by
11505         Sam Steingold.
11506         * lib/regex_internal.h (re_calloc): New macro, consistent with
11507         re_malloc etc.  All callers of calloc changed to use re_calloc.
11508         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
11509         not int.  All callers changed.
11510         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
11511         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
11512         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
11513         (find_recover_state): Change "err" to "*err"; this fixes what
11514         appears to be a real bug.
11515         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
11516         versus int.
11517
11518 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11519
11520         * modules/regex (Depends-on): Add malloc, since the code
11521         assumes that !malloc(0) means failure.
11522
11523 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11524
11525         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
11526
11527         alloca modernization/simplification for regex.
11528         * lib/regex.c: Remove portability cruft for alloca.  This no longer
11529         needs to be at the start of the file, and can be moved into
11530         regex_internal.h and simplified.
11531         * lib/regex_internal.h: Include <alloca.h>.
11532         (__libc_use_alloca) [!defined _LIBC]: New macro.
11533         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
11534         now works outside glibc.
11535
11536 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11537
11538         * config/srclist.txt: Add glibc bugs 1241, 1245.
11539
11540 2005-08-25  Jim Meyering  <jim@meyering.net>
11541
11542         * lib/open-safer.c: Include <config.h>.
11543         Otherwise, we'd lose LARGEFILE support in any file using
11544         e.g. "fcntl--.h"
11545
11546 2005-08-25  Bruno Haible  <bruno@clisp.org>
11547
11548         * m4/minmax.m4: Require autoconf 2.52.
11549         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
11550         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
11551         alternatives of translit over the alphabet.
11552         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
11553
11554 2005-08-24  Simon Josefsson  <jas@extundo.com>
11555
11556         * tests/test-getpass.c: New file.
11557
11558 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11559
11560         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
11561         for GNU regex features.
11562
11563 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11564
11565         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
11566         * lib/regex.h (regerror): Likewise.
11567
11568         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
11569         requires this.  (The code never needed it.)
11570
11571         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
11572         All uses of recently-renamed identifiers changed to use the new,
11573         POSIX-compliant names.  The code will build and run just fine
11574         without these changes, but it's better to eat our own dog food
11575         and use the standard-conforming names.
11576
11577         * lib/regex.h: Fix a multitude of POSIX name space violations.
11578         These changes have an effect only for programs that define
11579         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
11580         do not change anything for programs compiled in the normal way.
11581         Also, there is no effect on the ABI.
11582
11583         (_REGEX_SOURCE): New macro.
11584         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
11585         defined and _GNU_SOURCE is not; this fixes a name space violation.
11586
11587         Rename the following macros to obey POSIX requirements.
11588         The old names are still visible as macros if _REGEX_SOURCE is defined.
11589         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
11590         RE_BACKSLASH_ESCAPE_IN_LISTS.
11591         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
11592         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
11593         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
11594         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
11595         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
11596         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
11597         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
11598         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
11599         (REG_INTERVALS): renamed from RE_INTERVALS.
11600         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
11601         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
11602         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
11603         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
11604         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
11605         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
11606         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
11607         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
11608         RE_UNMATCHED_RIGHT_PAREN_ORD.
11609         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
11610         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
11611         (REG_DEBUG): renamed from RE_DEBUG.
11612         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
11613         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
11614         unusual, since we can't clash with the POSIX REG_ICASE.
11615         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
11616         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
11617         (REG_NO_SUB): renamed from RE_NO_SUB.
11618         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
11619         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
11620         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
11621         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
11622         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
11623         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
11624         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
11625         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
11626         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
11627         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
11628         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
11629         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
11630         RE_SYNTAX_POSIX_MINIMAL_BASIC.
11631         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
11632         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
11633         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
11634         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
11635         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
11636         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
11637         (REG_FIXED): Renamed from REGS_FIXED.
11638         (REG_NREGS): Renamed from RE_NREGS.
11639
11640         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
11641         of other REG_* macros, since POSIX says the user is allowed to
11642         #undef these macros selectively.
11643
11644         (reg_errcode_t): Update comment stating what other tables need
11645         to be consistent.
11646
11647         Rename the following enum values to obey POSIX requirements.
11648         The old names are still visible as macros.
11649         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
11650         is not defined, since GNU is supposed to be a superset of POSIX as
11651         much as possible, and since we want reg_errcode_t to be a signed
11652         type for implementation consistency.
11653         (_REG_NOERROR): Renamed from REG_NOERROR.
11654         (_REG_NOMATCH): Renamed from REG_NOMATCH.
11655         (_REG_BADPAT): Renamed from REG_BADPAT.
11656         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
11657         (_REG_ECTYPE): Renamed from REG_ECTYPE.
11658         (_REG_EESCAPE): Renamed from REG_EESCAPE.
11659         (_REG_ESUBREG): Renamed from REG_ESUBREG.
11660         (_REG_EBRACK): Renamed from REG_EBRACK.
11661         (_REG_EPAREN): Renamed from REG_EPAREN.
11662         (_REG_EBRACE): Renamed from REG_EBRACE.
11663         (_REG_BADBR): Renamed from REG_BADBR.
11664         (_REG_ERANGE): Renamed from REG_ERANGE.
11665         (_REG_ESPACE): Renamed from REG_ESPACE.
11666         (_REG_BADRPT): Renamed from REG_BADRPT.
11667         (_REG_EEND): Renamed from REG_EEND.
11668         (_REG_ESIZE): Renamed from REG_ESIZE.
11669         (_REG_ERPAREN): Renamed from REG_ERPAREN.
11670         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
11671         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
11672         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
11673         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
11674
11675         (_REG_RE_NAME, _REG_RM_NAME): New macros.
11676         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
11677         changed.  But support the old name if the new one is not defined
11678         and if _REGEX_SOURCE.
11679
11680         Change the following member names in struct re_pattern_buffer.
11681         The old names are still supported if !_REGEX_SOURCE.
11682         The new names are always supported, regardless of _REGEX_SOURCE.
11683         (re_buffer): Renamed from buffer.
11684         (re_allocated): Renamed from allocated.
11685         (re_used): Renamed from used.
11686         (re_syntax): Renamed from syntax.
11687         (re_fastmap): Renamed from fastmap.
11688         (re_translate): Renamed from translate.
11689         (re_can_be_null): Renamed from can_be_null.
11690         (re_regs_allocated): Renamed from regs_allocated.
11691         (re_fastmap_accurate): Renamed from fastmap_accurate.
11692         (re_no_sub): Renamed from no_sub.
11693         (re_not_bol): Renamed from not_bol.
11694         (re_not_eol): Renamed from not_eol.
11695         (re_newline_anchor): Renamed from newline_anchor.
11696
11697         Change the following member names in struct re_registers.
11698         The old names are still supported if !_REGEX_SOURCE.
11699         The new names are always supported, regardless of _REGEX_SOURCE.
11700         (rm_num_regs): Renamed from num_regs.
11701         (rm_start): Renamed from start.
11702         (rm_end): Renamed from end.
11703
11704         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
11705         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
11706         Prepend __ to parameter names.
11707
11708         Undo yesterday's changes.
11709
11710 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11711
11712         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
11713         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
11714         lib/regex.c.
11715
11716 2005-08-24  Jim Meyering  <jim@meyering.net>
11717
11718         Sync from coreutils.
11719         * m4/fcntl-safer.m4: New file.
11720
11721         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
11722         and object files for this module.
11723
11724 2005-08-24  Jim Meyering  <jim@meyering.net>
11725
11726         Sync from coreutils.
11727         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
11728
11729 2005-08-24  Jim Meyering  <jim@meyering.net>
11730
11731         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
11732         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
11733
11734 2005-08-24  Jim Meyering  <jim@meyering.net>
11735
11736         * modules/fcntl-safer: New module.
11737         * modules/fts (Depends-on): Add fcntl-safer.
11738         * MODULES.html.sh (File descriptor based Input/Output):
11739         Add fcntl-safer.
11740
11741 2005-08-24  Bruno Haible  <bruno@clisp.org>
11742
11743         Support for unit test modules.
11744         * modules/README: Mention tests modules.
11745         * modules/TEMPLATE-TESTS: New file.
11746         * gnulib-tool: New options --extract-tests-module, --with-tests and
11747         --tests-base (unused for the moment).
11748         (testsbase, inctests): New variables.
11749         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
11750         (func_verify_module): Exclude TEMPLATE-TESTS.
11751         (func_verify_nontests_module, func_verify_tests_module): New functions.
11752         (func_get_dependencies): Add implicit dependency for tests modules.
11753         (func_get_tests_module): New function.
11754         (func_modules_transitive_closure): When --with-tests was specified,
11755         include the unit tests as well, unless explicitly avoided.
11756         (func_emit_lib_Makefile_am): Ignore the tests modules here.
11757         (func_emit_tests_Makefile_am): New function.
11758         (func_create_testdir): When --with-tests was specified, emit a
11759         tests/ directory.
11760         * MODULES.html.sh (Future developments): Update.
11761
11762 2005-08-24  Bruno Haible  <bruno@clisp.org>
11763
11764         * modules/tls-tests: New file.
11765         * tests/test-tls.c: New file, from GNU gettext.
11766
11767 2005-08-24  Bruno Haible  <bruno@clisp.org>
11768
11769         * modules/lock-tests: New file.
11770         * tests/test-lock.c: New file, from GNU gettext.
11771
11772 2005-08-24  Bruno Haible  <bruno@clisp.org>
11773
11774         * lib/lock.h: Add multiple inclusion guard.
11775         * lib/tls.h: Add multiple inclusion guard.
11776
11777 2005-08-24  Bruno Haible  <bruno@clisp.org>
11778
11779         * gnulib-tool: Add support for the --aux-dir option to
11780         --create-testdir, --create-megatestdir, --test, --megatest.
11781         (func_create_testdir, func_create_megatestdir): Optionally emit a
11782         AC_CONFIG_AUX_DIR directive.
11783         (create-testdir, create-megatestdir, test, megatest): Provide a
11784         default value for $auxdir.
11785
11786 2005-08-24  Bruno Haible  <bruno@clisp.org>
11787
11788         * gnulib-tool (import): Use compound statement instead of subshell
11789         where possible.
11790
11791 2005-08-24  Bruno Haible  <bruno@clisp.org>
11792
11793         * gnulib-tool (import): Change --aux-dir default to "build-aux".
11794
11795 2005-08-24  Bruno Haible  <bruno@clisp.org>
11796
11797         * gnulib-tool (func_version): Update.
11798
11799 2005-08-24  Bruno Haible  <bruno@clisp.org>
11800
11801         * gnulib-tool (func_import, func_create_testdir,
11802         func_create_megatestdir): Quote all autoconf macro arguments.
11803
11804 2005-08-24  Bruno Haible  <bruno@clisp.org>
11805
11806         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
11807         option --force, because --force causes the aclocal.m4 of each
11808         subdirectory to be newer than the corresponding config.h.in.
11809
11810 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11811
11812         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
11813         All contents moved to gl_REGEX.
11814         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
11815         assume that it does.
11816
11817 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11818
11819         * lib/regex.h (REG_NOSYS)
11820         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
11821         Define, since POSIX requires it as of 2001.
11822         (_REG_ENOSYS)
11823         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
11824         New private symbol, used to keep the enum signed in all cases.
11825         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
11826         Youngman in
11827         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
11828
11829         * lib/regex_internal.c (re_string_skip_chars, register_state):
11830         (calc_state_hash):
11831         Remove forward decls; no longer needed now that we use prototypes.
11832         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
11833         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
11834         (clean_state_log_if_needed): Likewise.
11835
11836 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11837
11838         * config/srclist.txt: Add glibc bugs 1231-1233.
11839
11840 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11841
11842         Fix problems reported by Sam Steingold in
11843         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
11844         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
11845         assumed that reg_errcode_t is a signed type, which is not
11846         necessarily true if _XOPEN_SOURCE is not defined.
11847         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
11848         since some compilers warn about it otherwise.
11849
11850 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11851
11852         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
11853         (init_word_char, create_initial_state, duplicate_node_closure):
11854         (fetch_token, peek_token_bracket, build_range_exp):
11855         (build_collating_symbol): Remove forward decls; no longer needed
11856         now that we use prototypes.
11857
11858         * lib/regcomp.c:
11859         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
11860         (re_compile_fastmap_iter, regcomp, regerror, regfree):
11861         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
11862         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
11863         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
11864         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
11865         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
11866         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
11867         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
11868         (build_range_exp, build_collating_symbol, parse_bracket_exp):
11869         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
11870         (build_charclass, build_charclass_op, fetch_number, create_tree):
11871         (create_token_tree, mark_opt_subexp, duplicate_tree):
11872         Use prototypes rather than old-style definitions.
11873
11874         * lib/regex_internal.c:
11875         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
11876         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
11877         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
11878         (re_string_reconstruct, re_string_peek_byte_case):
11879         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
11880         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
11881         (re_node_set_init_copy, re_node_set_add_intersect):
11882         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
11883         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
11884         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
11885         (re_acquire_state, re_acquire_state_context, register_state):
11886         (create_ci_newstate, create_cd_newstate, free_state):
11887         Likewise.
11888         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
11889         re_search_2):
11890         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
11891         (re_search_internal, prune_impossible_nodes):
11892         (acquire_init_state_context, check_matching, static):
11893         (check_halt_node_context, check_halt_state_context, proceed_next_node):
11894         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
11895         (update_regs, sift_states_backward, build_sifted_states):
11896         (clean_state_log_if_needed, merge_state_array):
11897         (update_cur_sifted_state, add_epsilon_src_nodes):
11898         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
11899         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
11900         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
11901         (find_recover_state, check_subexp_matching_top, transit_state_mb):
11902         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
11903         (check_arrival, check_arrival_add_next_nodes):
11904         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
11905         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
11906         (check_node_accept_bytes, check_node_accept, extend_buffers):
11907         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
11908         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
11909         (sift_ctx_init):
11910         Likewise.
11911
11912         * lib/regex_internal.h:
11913         (re_string_allocate, re_string_construct, re_string_reconstruct):
11914         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
11915         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
11916         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
11917         (re_string_context_at, re_string_peek_byte_case):
11918         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
11919         is defined, since we now use prototypes always.
11920
11921         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
11922         C89 or better.  All uses removed.
11923
11924 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11925
11926         * config/srclist.txt: Add glibc bugs 1220-1227.
11927
11928 2005-08-20  Jim Meyering  <jim@meyering.net>
11929
11930         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
11931         of unused local, dfa.
11932
11933 2005-08-20  Bruno Haible  <bruno@clisp.org>
11934
11935         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
11936
11937 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
11938
11939         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
11940         (re_node_set_insert_last, re_dfa_add_node):
11941         Rename local variables to avoid GCC shadowing warnings.
11942
11943 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
11944
11945         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
11946         [defined lint]: Suppress bogus uninitialized-variable warnings.
11947
11948         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
11949         and let the caller return REG_ESPACE if out of space.  This
11950         removes an uninitialied-variable warning with GCC 4.0.1, and also
11951         avoids taking the address of a local variable.  All callers
11952         changed.
11953
11954 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
11955
11956         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
11957         $LIBCSRC/posix/regexec.c.
11958         Add glibc bug 1217 for regcomp.c.
11959
11960 2005-08-19  Jim Meyering  <jim@meyering.net>
11961
11962         * lib/regexec.c (proceed_next_node): Redo local variables to
11963         avoid GCC shadowing warnings.
11964
11965 2005-08-18  Bruno Haible  <bruno@clisp.org>
11966
11967         * lib/strstr.c (strstr): Fix return value in multibyte case.
11968         * lib/strcasestr.c (strcasestr): Likewise.
11969
11970 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11971
11972         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
11973
11974 2005-08-17  Jim Meyering  <jim@meyering.net>
11975
11976         Make the %s format (seconds since the epoch) work for a negative
11977         number and when used with a zero-padded field width, e.g. %015s.
11978
11979         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
11980         label so that it precedes the code to set `digits'.  Otherwise,
11981         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
11982         print `00-22'.  Now, it prints `-0022', as it should.
11983
11984 2005-08-17  Bruno Haible  <bruno@clisp.org>
11985
11986         * modules/strstr (Files): Add m4/mbrtowc.m4.
11987         (Depends-on): Add mbuiter.
11988
11989 2005-08-17  Bruno Haible  <bruno@clisp.org>
11990
11991         * modules/strcasestr: New file.
11992         * MODULES.html.sh (String handling, based on ANSI C 89): Add
11993         strcasestr.
11994
11995 2005-08-17  Bruno Haible  <bruno@clisp.org>
11996
11997         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
11998
11999 2005-08-17  Bruno Haible  <bruno@clisp.org>
12000
12001         * modules/mbuiter: New file.
12002         * MODULES.html.sh (Extended multibyte and wide character utilities):
12003         Add mbuiter.
12004
12005 2005-08-17  Bruno Haible  <bruno@clisp.org>
12006
12007         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
12008         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
12009
12010 2005-08-17  Bruno Haible  <bruno@clisp.org>
12011
12012         * m4/strcasestr.m4: New file.
12013
12014 2005-08-17  Bruno Haible  <bruno@clisp.org>
12015
12016         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
12017         * lib/strstr.c: Completely rewritten, with multibyte locale support.
12018
12019 2005-08-17  Bruno Haible  <bruno@clisp.org>
12020
12021         * lib/strcasestr.h: New file.
12022         * lib/strcasestr.c: New file.
12023
12024 2005-08-17  Bruno Haible  <bruno@clisp.org>
12025
12026         * lib/strcasecmp.c: Use mbuiter.h.
12027
12028 2005-08-17  Bruno Haible  <bruno@clisp.org>
12029
12030         * lib/mbuiter.h: New file.
12031
12032 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
12033
12034         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
12035         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
12036         and gl_GETOPT are both invoked via different paths (as happens
12037         with GNU tar CVS because it uses both argp and getopt), the former
12038         wins.
12039
12040 2005-08-16  Bruno Haible  <bruno@clisp.org>
12041
12042         * modules/tls: New file.
12043         * MODULES.html.sh (Multithreading): Add tls.
12044
12045 2005-08-16  Bruno Haible  <bruno@clisp.org>
12046
12047         * modules/strnlen1: New file.
12048         * MODULES.html.sh (String handling): Add strnlen1.
12049
12050 2005-08-16  Bruno Haible  <bruno@clisp.org>
12051
12052         * modules/strcase (Files): Add m4/mbrtowc.m4.
12053         (Depends-on): Add strnlen1, mbchar.
12054
12055 2005-08-16  Bruno Haible  <bruno@clisp.org>
12056
12057         * modules/mbiter: New file.
12058         * MODULES.html.sh (Extended multibyte and wide character utilities):
12059         Add mbiter.
12060
12061 2005-08-16  Bruno Haible  <bruno@clisp.org>
12062
12063         * modules/mbfile: New file.
12064         * MODULES.html.sh (Extended multibyte and wide character utilities):
12065         Add mbfile.
12066
12067 2005-08-16  Bruno Haible  <bruno@clisp.org>
12068
12069         * modules/mbchar: New file.
12070         * MODULES.html.sh (Extended multibyte and wide character utilities):
12071         New section.
12072
12073 2005-08-16  Bruno Haible  <bruno@clisp.org>
12074
12075         * m4/tls.m4: New file, from GNU gettext.
12076
12077 2005-08-16  Bruno Haible  <bruno@clisp.org>
12078
12079         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
12080         always.
12081         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
12082
12083 2005-08-16  Bruno Haible  <bruno@clisp.org>
12084
12085         * m4/mbiter.m4: New file.
12086
12087 2005-08-16  Bruno Haible  <bruno@clisp.org>
12088
12089         * m4/mbfile.m4: New file.
12090
12091 2005-08-16  Bruno Haible  <bruno@clisp.org>
12092
12093         * m4/mbchar.m4: New file.
12094
12095 2005-08-16  Bruno Haible  <bruno@clisp.org>
12096
12097         * lib/tls.h: New file, from GNU gettext.
12098         * lib/tls.c: New file, from GNU gettext.
12099
12100 2005-08-16  Bruno Haible  <bruno@clisp.org>
12101
12102         * lib/strnlen1.h: New file.
12103         * lib/strnlen1.c: New file.
12104
12105 2005-08-16  Bruno Haible  <bruno@clisp.org>
12106
12107         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
12108         (mbi_init): Update.
12109         (mbi_avail, mbi_advance): Let the iteration end before the terminating
12110         NUL byte, not after it.
12111
12112 2005-08-16  Bruno Haible  <bruno@clisp.org>
12113
12114         * lib/strcase.h (strcasecmp): Add note in comments.
12115         * lib/strncasecmp.c: Use code from strcasecmp.c.
12116         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
12117         (strcasecmp): Work correctly in multibyte locales.
12118
12119 2005-08-16  Bruno Haible  <bruno@clisp.org>
12120
12121         * lib/mbiter.h: New file.
12122
12123 2005-08-16  Bruno Haible  <bruno@clisp.org>
12124
12125         * lib/mbfile.h: New file.
12126
12127 2005-08-16  Bruno Haible  <bruno@clisp.org>
12128
12129         * lib/mbchar.h: New file.
12130         * lib/mbchar.c: New file.
12131
12132 2005-08-16  Bruno Haible  <bruno@clisp.org>
12133
12134         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
12135         the valid ones. Makes the comparison operations transitive:
12136         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
12137         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
12138
12139 2005-08-15  Simon Josefsson  <jas@extundo.com>
12140
12141         * modules/ssize_t (License): Change to 'unlimited'.
12142
12143         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
12144
12145 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
12146
12147         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
12148         Add comments for each pending glibc patch.
12149
12150 2005-08-15  Bruno Haible  <bruno@clisp.org>
12151
12152         * lib/regex.h (__restrict_arr): Don't define to __restrict if
12153         __cplusplus is defined.
12154
12155 2005-08-14  Jim Meyering  <jim@meyering.net>
12156
12157         Sync from coreutils.
12158
12159         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
12160         Use the hash-table-based cycle-detection code not just when
12161         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
12162         Reported by James Youngman in
12163         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
12164         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
12165         FTS_TIGHT_CYCLE_CHECK.
12166         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
12167         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
12168         once again.
12169         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
12170         * lib/fts.c (fd_safer): Remove decl.
12171         Include fcntl--.h rather than unistd-safer.h
12172         (fts_safe_changedir): Don't call fd_safer; no longer needed
12173         now that we include fcntl--.h.
12174
12175 2005-08-12  Simon Josefsson  <jas@extundo.com>
12176
12177         * modules/getndelim2: Use ssize_t module.
12178         * modules/getnline: Likewise.
12179         * modules/safe-read: Likewise.
12180         * modules/xreadlink: Likewise.
12181
12182         * modules/ssize_t: New file.
12183
12184 2005-08-12  Simon Josefsson  <jas@extundo.com>
12185
12186         * m4/readline.m4: Look for termcap, curses or ncurses if required.
12187
12188 2005-08-12  Simon Josefsson  <jas@extundo.com>
12189
12190         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12191         ssize_t.
12192
12193 2005-08-12  Simon Josefsson  <jas@extundo.com>
12194
12195         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
12196         readline, getdelim and check_version.
12197         (Support for systems lacking ISO C 99: Sizes of integer types):
12198         Add size_max.
12199
12200 2005-08-12  Bruno Haible  <bruno@clisp.org>
12201
12202         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
12203
12204 2005-08-11  Simon Josefsson  <jas@extundo.com>
12205
12206         * modules/readline: New file.
12207
12208         * modules/strnlen (Files): Add strnlen.h.
12209
12210 2005-08-11  Simon Josefsson  <jas@extundo.com>
12211
12212         * m4/readline.m4: New file.
12213
12214 2005-08-11  Simon Josefsson  <jas@extundo.com>
12215
12216         * lib/readline.h, readline.c: New file.
12217
12218 2005-08-11  Simon Josefsson  <jas@extundo.com>
12219
12220         * doc/gnulib.texi (Initial import, Finishing touches): Mention
12221         gl_AVOID.
12222
12223 2005-08-11  Bruno Haible  <bruno@clisp.org>
12224
12225         * lib/strnlen.h (strnlen): Change parameter name to match comment.
12226
12227 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
12228
12229         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
12230
12231 2005-08-10  Simon Josefsson  <jas@extundo.com>
12232
12233         * tests/test-iconvme.c: New file.
12234
12235 2005-08-10  Simon Josefsson  <jas@extundo.com>
12236
12237         * m4/strnlen.m4: New file.
12238
12239         * m4/strndup.m4: Don't check for strnlen declaration, done in
12240         strnlen.m4.
12241
12242 2005-08-10  Simon Josefsson  <jas@extundo.com>
12243
12244         * lib/strndup.c: Use strnlen.h.
12245
12246         * lib/strnlen.h: New file.
12247
12248 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
12249
12250         * README: Typos.
12251
12252 2005-08-02  Simon Josefsson  <jas@extundo.com>
12253
12254         * modules/readline: New file.
12255
12256 2005-08-02  Simon Josefsson  <jas@extundo.com>
12257
12258         * modules/getdelim: New file.
12259
12260         * modules/getline: Rewrite, don't use getndelim2.
12261
12262 2005-08-02  Simon Josefsson  <jas@extundo.com>
12263
12264         * m4/getline.m4: Separate out getdelim stuff into separate module.
12265
12266         * m4/getdelim.m4: New file.
12267
12268 2005-08-02  Simon Josefsson  <jas@extundo.com>
12269
12270         * lib/getline.h, getline.c: Rewrite.
12271
12272         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
12273
12274 2005-07-31  Bruno Haible  <bruno@clisp.org>
12275
12276         * lib/lock.h (gl_lock_initializer): New macro.
12277         (gl_lock_define_initialized): Use it.
12278         (gl_rwlock_initializer): New macro.
12279         (gl_rwlock_define_initialized): Use it.
12280         (gl_recursive_lock_initializer): New macro.
12281         (gl_recursive_lock_define_initialized): Use it.
12282
12283 2005-07-30  Karl Berry  <karl@gnu.org>
12284
12285         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
12286         Report from Ben Pfaff, regarding getopt.
12287
12288 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
12289
12290         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
12291         normal way.
12292         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
12293         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
12294         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
12295         (gl_GETOPT): Use the new macros.  Most of the implementation
12296         is moved to the new macros.  This is for programs like Emacs
12297         that don't want all the functionality of gl_GETOPT.
12298
12299 2005-07-26  Bruno Haible  <bruno@clisp.org>
12300
12301         * m4/lock.m4: Update from GNU gettext.
12302
12303 2005-07-26  Bruno Haible  <bruno@clisp.org>
12304
12305         * lib/lock.h: Update from GNU gettext.
12306         * lib/lock.c: Update from GNU gettext.
12307
12308 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12309
12310         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
12311         obsolescent AC_TRY_RUN.  Include the default includes files, for
12312         'exit'.
12313
12314 2005-07-24  Bruno Haible  <bruno@clisp.org>
12315
12316         * modules/visibility: New file.
12317         * MODULES.html.sh (Misc): Add visibility.
12318
12319 2005-07-24  Bruno Haible  <bruno@clisp.org>
12320
12321         * m4/visibility.m4: New file.
12322
12323 2005-07-24  Bruno Haible  <bruno@clisp.org>
12324
12325         * doc/visibility.texi: New file.
12326
12327 2005-07-22  Bruno Haible  <bruno@clisp.org>
12328
12329         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
12330         $(ALLOCA_H), redundant through BUILT_SOURCES.
12331         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
12332         redundant through BUILT_SOURCES.
12333         * modules/byteswap (Makefile.am): Remove explicit dependency on
12334         $(BYTESWAP_H), redundant through BUILT_SOURCES.
12335         * modules/fnmatch (Makefile.am): Remove explicit dependency on
12336         $(FNMATCH_H), redundant through BUILT_SOURCES.
12337         * modules/getopt (Makefile.am): Remove explicit dependency on
12338         $(GETOPT_H), redundant through BUILT_SOURCES.
12339         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
12340         redundant through BUILT_SOURCES.
12341         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
12342         redundant through BUILT_SOURCES.
12343         * modules/stdbool (Makefile.am): Remove explicit dependency on
12344         $(STDBOOL_H), redundant through BUILT_SOURCES.
12345         * modules/stdint (Makefile.am): Remove explicit dependency on
12346         $(STDINT_H), redundant through BUILT_SOURCES.
12347         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
12348         Remove explicit dependency on $(SYSEXITS_H).
12349         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
12350
12351 2005-07-18  Simon Josefsson  <jas@extundo.com>
12352
12353         * lib/check-version.c (check_version): Accept identical versions too.
12354
12355 2005-07-18  Bruno Haible  <bruno@clisp.org>
12356
12357         * modules/lock: New file.
12358         * MODULES.html.sh (Multithreading): New section.
12359
12360 2005-07-18  Bruno Haible  <bruno@clisp.org>
12361
12362         * m4/lock.m4: New file, from GNU gettext.
12363
12364 2005-07-18  Bruno Haible  <bruno@clisp.org>
12365
12366         * lib/lock.h: New file, from GNU gettext.
12367         * lib/lock.c: New file, from GNU gettext.
12368
12369 2005-07-18  Bruno Haible  <bruno@clisp.org>
12370
12371         * lib/lock.h (gl_once_t): New type.
12372         (gl_once_define, gl_once): New macros.
12373         * lib/lock.c (fresh_once): New variable.
12374         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
12375         functions.
12376
12377 2005-07-16  Simon Josefsson  <jas@extundo.com>
12378
12379         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
12380         workaround, suggested by Bruno.
12381
12382 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12383
12384         * modules/xalloc (Depends-on): Add xalloc-die.
12385         * modules/xvasprintf (Depends-on): Add xalloc-die.
12386
12387 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12388
12389         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
12390         with a minor change.
12391
12392 2005-07-15  Bruno Haible  <bruno@clisp.org>
12393
12394         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
12395         When using lib/poll.c, define poll as rpl_poll.
12396
12397 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
12398
12399         * modules/argp (Depends-on): Remove unlocked-io.
12400
12401 2005-07-14  Derek Price  <derek@ximbiot.com>
12402
12403         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
12404         for glob symlink bug.
12405
12406 2005-07-14  Bruno Haible  <bruno@clisp.org>
12407
12408         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
12409         Instead, test for *_unlocked function declarations directly.
12410
12411 2005-07-11  Simon Josefsson  <jas@extundo.com>
12412
12413         * modules/size_max: New file.
12414
12415         * modules/xsize: Depend on size_max module for size_max.m4.
12416
12417 2005-07-11  Simon Josefsson  <jas@extundo.com>
12418
12419         * lib/size_max.h: New file.
12420
12421 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
12422
12423         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
12424         copyright symbol and the year.
12425         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
12426         (version_etc_va): Use parameterized copyright notice.
12427         Reword to conform to the current GNU coding standards.
12428
12429 2005-07-11  Karl Berry  <karl@gnu.org>
12430
12431         * doc/gnulib.texi (Quoting): new node.
12432         (Initial import): more info, from Patrice.
12433
12434 2005-07-11  Bruno Haible  <bruno@clisp.org>
12435
12436         * gnulib-tool (func_usage): Document option --avoid.
12437         (Command line options): Handle --avoid.
12438         (func_acceptable): New function.
12439         (func_modules_transitive_closure): Use it.
12440
12441 2005-07-11  Bruno Haible  <bruno@clisp.org>
12442
12443         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
12444         Reported by Jim Meyering.
12445
12446 2005-07-10  Bruno Haible  <bruno@clisp.org>
12447
12448         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
12449         Needed when size_t is smaller than 'unsigned int'.
12450         Reported by Paul Eggert.
12451
12452 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
12453
12454         * modules/argp (Depends-on): Add unlocked-io
12455
12456 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
12457
12458         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
12459         block of defines.
12460
12461 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12462
12463         * config/srclist.txt: Comment out regcomp.c, since we have a porting
12464         fix now.
12465
12466 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
12467         and Paul Eggert  <eggert@cs.ucla.edu>
12468
12469         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
12470         in wint_t, not wchar_t.  Remove now-unnecessary cast.
12471
12472 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12473
12474         * modules/regex (Files): Add lib/regex_internal.c,
12475         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
12476         (Depends-on): Add extensions.
12477         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
12478
12479 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12480
12481         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
12482         pathconf.
12483         * m4/same.m4 (gl_SAME): Likewise.
12484         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
12485
12486         * m4/regex.m4: Adjust to new libc regex implementation.
12487         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
12488         all the .c and .h parts of (the new) regex.
12489         Quote the m4 stuff better.
12490         Check for RE_ICASE bug of old gnulib.
12491         Check for REG_STARTEND of recent libc.
12492         Rename local variables from jm_* to gl_*.
12493         Quote operand of "test -f".
12494         Say "recent enough" version of libc, not "version 2".
12495         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
12496         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
12497         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
12498         Remove check for btowc, isascii.
12499         Require AM_LANGINFO_CODESET.
12500
12501 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12502
12503         * lib/regex.c, regex.h: Sync from libc.
12504         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
12505         * lib/regexec.c:
12506         New files, synced from libc, except that regex_internal.h
12507         currently has a small porting fix.
12508
12509 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12510
12511         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
12512         regex_internal.c, regexec.c.
12513         Add regex_internal.h too, but as a comment, since the libc version
12514         is currently broken in gnulib mode.
12515
12516 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12517
12518         Support programs like Emacs that use gnulib but not gettext.
12519         * MODULES.html.sh (Internationalization functions): Add gettext-h.
12520         * modules/gettext-h: New file.
12521         * modules/gettext (Files): Remove lib/gettext.h.
12522         (Depends-on): Add gettext-h.
12523         (Makefile.am): Remove lib_SOURCES.
12524         * modules/argmatch, modules/c-stack, modules/closeout:
12525         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
12526         * modules/execute, modules/file-type, modules/getaddrinfo:
12527         * modules/getopt, modules/human, modules/javacomp:
12528         * modules/javaexec, modules/mkdir-p, modules/obstack:
12529         * modules/openat, modules/pagealign_alloc, modules/pipe:
12530         * modules/quotearg, modules/regex, modules/rpmatch:
12531         * modules/unicodeio, modules/userspec, modules/version-etc:
12532         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
12533         * modules/xsetenv:
12534         Depend on gettext-h, not gettext.
12535
12536 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
12537
12538         * gnulib-tool (func_import): Add support for 'public domain' license.
12539         * modules/alloca, modules/atexit, modules/memmove:
12540         Now public domain, not GPL.
12541         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
12542         * modules/realloc, modules/strerror, modules/strtod:
12543         Now LGPL, not GPL.
12544
12545 2005-07-05  Bruno Haible  <bruno@clisp.org>
12546
12547         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
12548         autoconf CVS. Needed for mingw.
12549
12550 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
12551
12552         Remove the dependency of the strftime module on the tzset module.
12553         * modules/strftime (Depends-on): Remove dependency on tzset.
12554
12555 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
12556
12557         Remove the dependency of the strftime module on the tzset module.
12558         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
12559         gl_FUNC_TZSET_CLOBBER.
12560
12561 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
12562
12563         Remove the dependency of the strftime module on the tzset module.
12564         * lib/strftime.c (my_strftime)
12565         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
12566         Copy the input structure, to work around some of the bug with
12567         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
12568         Solaris releases, you should also use the tzset module, but we won't
12569         require it as a dependency any more since we don't want LGPLed code
12570         to depend on GPLed code.
12571
12572 2005-07-02  Jim Meyering  <jim@meyering.net>
12573
12574         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
12575         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
12576         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
12577         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
12578
12579 2005-07-02  Jim Meyering  <jim@meyering.net>
12580
12581         * lib/backupfile.c (backup_args): Change a `0' to NULL.
12582
12583 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
12584
12585         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
12586         declares only 'struct timespec;' (!).
12587
12588 2005-07-01  Jim Meyering  <jim@meyering.net>
12589
12590         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
12591         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
12592         * lib/save-cwd.c, tempname.c:
12593         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
12594         and don't include <sys/file.h>).
12595
12596 2005-06-29  Jim Meyering  <jim@meyering.net>
12597
12598         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
12599         type name.  Use the variable name instead.
12600         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
12601         Likewise.
12602
12603 2005-06-28  Simon Josefsson  <jas@extundo.com>
12604
12605         * modules/check-version (Files): Add check-version.m4.
12606
12607 2005-06-28  Simon Josefsson  <jas@extundo.com>
12608
12609         * m4/check-version.m4: New file, suggested by Jim Meyering
12610         <jim@meyering.net>.
12611
12612 2005-06-28  Simon Josefsson  <jas@extundo.com>
12613
12614         * lib/check-version.h, lib/check-version.c: New files.
12615
12616 2005-06-28  Simon Josefsson  <jas@extundo.com>
12617
12618         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
12619         collision with global variable.  Better indentation.  Don't
12620         increment buffer pointer beyond buffer end.  Based on comments
12621         from Paul Eggert <eggert@cs.ucla.edu>.
12622
12623         * lib/base64.h: Indent.
12624
12625 2005-06-28  Simon Josefsson  <jas@extundo.com>
12626
12627         * doc/gnulib.texi (Library version handling): New section.
12628
12629 2005-06-28  Jim Meyering  <jim@meyering.net>
12630
12631         * check-module (find_included_lib_files): Hard-code another
12632         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
12633         but modules/fts-lgpl (correctly) does not list those files.
12634
12635         * modules/canonicalize (Files): Add lib/pathmax.h.
12636
12637 2005-06-25  Simon Josefsson  <jas@extundo.com>
12638
12639         * modules/check-version: New file.
12640
12641 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
12642
12643         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
12644         initializer of struct addrinfo, as an indication that we don't
12645         care how many members the structure has.
12646
12647 2005-06-24  Derek Price  <derek@ximbiot.com>
12648         and Bruno Haible  <bruno@clisp.org>
12649
12650         Remove stat module & update lstat.
12651         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
12652         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
12653         * m4/stat.m4: Remove this file.
12654
12655 2005-06-24  Derek Price  <derek@ximbiot.com>
12656         and Bruno Haible  <bruno@clisp.org>
12657
12658         Remove stat module & update lstat.
12659         * lib/stat.c: Remove this file...
12660         (slash_aware_lstat): ...moving this content and its support...
12661         * lib/lstat.c (rpl_lstat): ...into here.
12662         * lib/lstat.h: New file.
12663
12664 2005-06-24  Derek Price  <derek@ximbiot.com>
12665         and Bruno Haible  <bruno@clisp.org>
12666
12667         Remove stat module & update lstat.
12668         * config/srclist.txt (libc sources): Remove stat.
12669
12670 2005-06-24  Derek Price  <derek@ximbiot.com>
12671         and Bruno Haible  <bruno@clisp.org>
12672
12673         Remove stat module & update lstat.
12674         * MODULES.html.sh (stat): Remove.
12675         * MODULES.html: Regenerated.
12676         * modules/lstat (Description): Correct function name.
12677         (Files): Add "lstat.h".
12678         (Depends-on): Remove stat, add xalloc, stat-macros.
12679         * modules/stat: Remove this file.
12680         (Include): Add "lstat.h", remove <sys/stat.h>.
12681
12682 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
12683
12684         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
12685         (ranged_convert): Don't save conversion in a temporary struct.
12686         This causes a warning with GCC 4.0.0, and anyway in the typical
12687         case it's not worth the extra 100 bytes or so of code.
12688         (ranged_convert, __mktime_internal): When calling a function via a
12689         pointer P, use P () rather than (*P) (), as we now assume C89 or
12690         better.
12691
12692 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
12693
12694         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
12695         "who -r" failed to give output.  Problem reported by Tim Waugh.
12696
12697         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
12698         (xcalloc): Use it to avoid needless tests.
12699         Problem reported by Jim Meyering.
12700
12701 2005-06-20  Derek Price  <derek@ximbiot.com>
12702
12703         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
12704         unnecessary for Autoconfs > 2.59c.
12705
12706 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12707
12708         * lib/argp.h (__option_is_short): Check upper limit of
12709         __key. Isprint() requires its argument to have the value
12710         of an unsigned char or EOF.
12711
12712 2005-06-16  Jim Meyering  <jim@meyering.net>
12713
12714         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
12715         when either N or S is zero.
12716
12717 2005-06-16  Derek Price  <derek@ximbiot.com>
12718
12719         * m4/bison.m4: Declare YACC & YFLAGS precious.
12720
12721 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
12722
12723         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
12724         multibyte string or pattern, fall back on unibyte matching.
12725         Problem reported by James Youngman.
12726
12727 2005-06-08  Bruno Haible  <bruno@clisp.org>
12728
12729         * modules/csharpcomp: New file.
12730         * MODULES.html.sh (C#): Add csharpcomp.
12731
12732 2005-06-08  Bruno Haible  <bruno@clisp.org>
12733
12734         * m4/csharpcomp.m4: New file, from GNU gettext.
12735
12736 2005-06-08  Bruno Haible  <bruno@clisp.org>
12737
12738         * lib/csharpcomp.h: New file, from GNU gettext.
12739         * lib/csharpcomp.c: New file, from GNU gettext.
12740         * lib/csharpcomp.sh.in: New file, from GNU gettext.
12741
12742 2005-06-08  Bruno Haible  <bruno@clisp.org>
12743
12744         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
12745         warning on mingw.
12746
12747 2005-06-07  Derek Price  <derek@ximbiot.com>
12748
12749         Sync from CVS.
12750         * lib/glob_.h: Indent nested #ifdef.
12751
12752 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12753
12754         Sync from coreutils.
12755         Use "file name" when talking about file names, instead of "filename"
12756         or "path", as per the GNU coding standards.
12757         * lib/mkdir-p.c: Renamed from makepath.c.
12758         (make_dir_parents): Renamed from make_path.  All callers changed.
12759         * lib/mkdir-p.h: Likewise.  All includers changed.
12760         * lib/filenamecat.c: Renamed from path-concat.c.
12761         (file_name_concat): Renamed from path_concat.  All callers changed.
12762         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
12763         * lib/filenamecat.h: Likewise.  All includers changed.
12764         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
12765         in comments or local variable names.
12766         * lib/basename.c: Likewise.
12767         * lib/canonicalize.c, canonicalize.h: Likewise.
12768         * lib/dirname.c, dirname.h: Likewise.
12769         * lib/euidaccess.c: Likewise.
12770         * lib/exclude.c: Likewise
12771         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
12772         * lib/fsusage.c, fsuage.h: Likewise.
12773         * lib/fts.c, fts_.h: Likewise.
12774         * lib/getcwd.c: Likewise.
12775         * lib/getloadavg.c: Likewise.
12776         * lib/mkstemp.c: Likewise.
12777         * lib/mountlist.c, mountlist.h: Likewise.
12778         * lib/openat.c, openat.h: Likewise.
12779         * lib/readlink-stub.c: Likewise.
12780         * lib/readutmp.c, readutmp.h: Likewise.
12781         * lib/rename.c: Likewise.
12782         * lib/rmdir.c: Likewise.
12783         * lib/same.c: Likewise.
12784         * lib/savedir.c: Likewise.
12785         * lib/stripslash.c: Likewise.
12786         * lib/tempname.c: Likewise.
12787         * lib/xreadlink.c: Likewise.
12788         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
12789         All uses changed.
12790         * lib/exclude.h: Likewise.
12791
12792         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
12793         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
12794         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
12795         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
12796         * lib/pathmax.h: Include <limits.h> unconditionally, since other
12797         files have been getting away with it for years (MORE/BSD 4.3
12798         is extinct now).
12799         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
12800         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
12801
12802         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
12803         Define to 256, not 255, as per modern POSIX.
12804
12805 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12806
12807         Sync from coreutils.
12808         Use "file name" when talking about file names, instead of "filename"
12809         or "path", as per the GNU coding standards.
12810         * MODULES.html.sh: mkdir-p renamed from makepath.
12811         filenamecat renamed from path-concat.
12812         * modules/filenamecat: Renamed from modules/path-concat.
12813         (Files): filenamecat.h and filenamecat.c renamed from
12814         path-concat.h and path-concat.c.
12815         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
12816         (Include): filenamecat.h, not path-concat.h.
12817         * modules/mkdir-p: Renamed from modules/makepath.
12818         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
12819         makepath.c.
12820         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
12821         (Include): mkdir-p.h, not makepath.h.
12822
12823 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12824
12825         Sync from coreutils.
12826         * m4/mkdir-p.m4: Renamed from makepath.m4.
12827         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
12828         Rename files from makepath.c to mkdir-p.c, and from
12829         makepath.h to mkdir-p.h.
12830         * m4/filenamecat.m4: Renamed from path-concat.m4.
12831         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
12832         Rename files from path-concat.c to filenamecat.c,
12833         and from path-concat.h to filenamecat.h.
12834         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
12835         "file name" in local variables or comments.
12836         * m4/rename.m4: Likewise.
12837
12838 2005-06-01  Bruno Haible  <bruno@clisp.org>
12839
12840         * modules/csharpexec: New file.
12841         * MODULES.html.sh (C#): New section.
12842
12843 2005-06-01  Bruno Haible  <bruno@clisp.org>
12844
12845         * m4/csharp.m4: New file, from GNU gettext.
12846         * m4/csharpexec.m4: New file, from GNU gettext.
12847
12848 2005-06-01  Bruno Haible  <bruno@clisp.org>
12849
12850         * lib/csharpexec.h: New file, from GNU gettext.
12851         * lib/csharpexec.c: New file, from GNU gettext.
12852         * lib/csharpexec.sh.in: New file, from GNU gettext.
12853
12854 2005-05-31  Derek Price  <derek@ximbiot.com>
12855             Paul Eggert  <eggert@cs.ucla.edu>
12856
12857         Sync from cvs.
12858         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
12859
12860 2005-05-31  Derek Price  <derek@ximbiot.com>
12861             Paul Eggert  <eggert@cs.ucla.edu>
12862
12863         Sync from cvs.
12864         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
12865
12866 2005-05-29  Derek Price  <derek@ximbiot.com>
12867
12868         * config/srclist.txt (glob_.h, glob.c): Add these files.
12869
12870 2005-05-29  Derek Price  <derek@ximbiot.com>
12871
12872         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
12873         * modules/glob: New file.
12874         * modules/getlogin_r: Add link to POSIX spec in description.
12875
12876 2005-05-29  Derek Price  <derek@ximbiot.com>
12877             Paul Eggert  <eggert@cs.ucla.edu>
12878
12879         * m4/glob.m4: New file.
12880
12881 2005-05-29  Derek Price  <derek@ximbiot.com>
12882             Paul Eggert  <eggert@cs.ucla.edu>
12883
12884         * lib/glob_.h, lib/glob.c: New files.
12885
12886 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12887
12888         * modules/fts (Files): Remove m4/inttypes-pri.m4.
12889         * modules/fts-lgpl (Depends-on): Remove gettext.
12890
12891 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12892
12893         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
12894         and don't require gt_INTTYPES_PRI.
12895
12896 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12897
12898         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
12899
12900         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
12901         the configuration hassle isn't worth it.
12902         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
12903         (LONGEST_MODIFIER, PRIuMAX): Remove.
12904
12905 2005-05-27  Bruno Haible  <bruno@clisp.org>
12906
12907         * lib/getlogin_r.h: Remove second include of <stddef.h>.
12908
12909 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
12910
12911         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
12912         _POSIX_PTHREAD_SEMANTICS for Solaris.
12913
12914 2005-05-25  Derek Price  <derek@ximbiot.com>
12915
12916         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
12917
12918 2005-05-25  Derek Price  <derek@ximbiot.com>
12919             Paul Eggert  <eggert@cs.ucla.edu>
12920
12921         * modules/getlogin_r, m4/getlogin_r.m4: New files.
12922         * lib/getlogin_r.c, getlogin_r.h: New files.
12923
12924 2005-05-25  Bruno Haible  <bruno@clisp.org>
12925             Derek Price  <derek@ximbiot.com>
12926
12927         * lib/getlogin_r.h: Simplify API documentation.
12928
12929 2005-05-23  Derek Price  <derek@ximbiot.com>
12930
12931         * modules/minmax (Files): Add m4/minmax.m4.
12932         (configure.ac): Add gl_MINMAX.
12933
12934 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
12935
12936         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
12937         so that unistd-safer.h (GPL'ed code) need not be included.
12938
12939 2005-05-22  Bruno Haible  <bruno@clisp.org>
12940
12941         * m4/minmax.m4: New file.
12942         Based on a patch by Derek Price <derek@ximbiot.com>.
12943
12944 2005-05-22  Bruno Haible  <bruno@clisp.org>
12945
12946         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
12947         (INT64_MIN): Fix definition.
12948         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
12949
12950         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
12951         NEED_SIGNED_INT_TYPES.
12952
12953         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
12954         HAVE_SYSTEM_INTTYPES.
12955
12956 2005-05-22  Bruno Haible  <bruno@clisp.org>
12957
12958         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
12959         Also include <sys/param.h> if it defines MIN, MAX.
12960         Based on a patch by Derek Price <derek@ximbiot.com>.
12961
12962 2005-05-21  Jim Meyering  <jim@meyering.net>
12963
12964         * modules/fts (Files): Add m4/inttypes-pri.m4.
12965         (Depends-on): Add lstat and remove gettext.  Alphabetize.
12966
12967 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12968
12969         New fts module.
12970         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
12971         (setup_dir, free_dir): New functions.
12972         (enter_dir, leave_dir): Define trivial
12973         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
12974         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
12975         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
12976         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
12977         Move to fts-cycle.c.
12978         (fts_open): Use setup_dir.
12979         (fts_close): Use free_dir.
12980         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
12981         This adds a label and some gotos, but the alternatives were messier.
12982         Check for memory allocation failure when entering a dir.
12983         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
12984         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
12985         (FTS): New member fts_cycle, that is a union that contains the
12986         old active_dir_ht and cycle_state.  All uses changed to mention
12987         fts_cycle.ht and fts_cycle.state.
12988         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
12989         fts.c, with the following changes:
12990         (setup_dir, free_dir): New functions.
12991         (enter_dir): Now returns bool.  Return true if successful, false
12992         if memory exhausted.  All callers changed.
12993         Do not bother partly cleaning up on
12994         memory allocation failure; that is free_dir's job.
12995         However, free ad if hash_insert fails, to avoid memory leak.
12996         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
12997         fts->fts_options to see which union member to use.
12998
12999 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13000
13001         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
13002         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
13003
13004 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13005
13006         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
13007
13008 2005-05-20  Jim Meyering  <jim@meyering.net>
13009
13010         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
13011         Now a macro, to pacify GCC.
13012
13013 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
13014
13015         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
13016         of -1.
13017
13018 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
13019
13020         * lib/chown.c (rpl_chown): Return -1 on failure.
13021
13022 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
13023
13024         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
13025         Don't check for stddef.h.
13026         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
13027         don't use its results.
13028         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
13029         since we include them unconditionally.  Don't require
13030         AM_STDBOOL_H, since stdbool is a prerequisite.
13031         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
13032         since we assume C89 or better.
13033         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
13034         as we don't use their results.
13035         Don't check for fchdir, memmove, memset, strrchr, as we use
13036         them unconditionally.
13037         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
13038         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
13039
13040 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
13041
13042         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
13043         Include <stddef.h> unconditionally, since we assume C89 now.
13044         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
13045         * lib/fts.c: Include fts_.h first, to check interface.
13046         Do not include intprops.h; no longer needed.
13047         Include cycle-check.h and hash.h, since fts_.h no longer does.
13048         Remove unnecessary casts of closedir to void.
13049         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
13050         decide whether to decrement nlinks.
13051         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
13052         (FTS): Use struct hash_table * instead of Hash_table, so that
13053         we no longer need to include hash.h here.
13054
13055 2005-05-18  Jim Meyering  <jim@meyering.net>
13056
13057         * modules/dirfd (License): Change to LGPL.  Most of the code
13058         is already in the public domain.
13059
13060 2005-05-18  Jim Meyering  <jim@meyering.net>
13061
13062         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
13063         Reported by Yoann Vandoorselaere.
13064
13065 2005-05-17  Jim Meyering  <jim@meyering.net>
13066
13067         * m4/fts.m4: New file, from coreutils.
13068
13069 2005-05-17  Jim Meyering  <jim@meyering.net>
13070
13071         * lib/fts.c, lib/fts_.h: New files, from coreutils.
13072
13073 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13074
13075         Sync from coreutils.
13076         * m4/unlinkdir.m4: New file.
13077
13078 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13079
13080         Sync from coreutils.
13081         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
13082         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
13083         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
13084         White space changes only.
13085         * lib/makepath.c (make_path): Port to hosts where leading "//" is
13086         special.
13087         * lib/yesno.c: Include getline.h, not ctype.h.
13088         (yesno): Don't remove leading white space; POSIX doesn't allow it.
13089         Use getline to remove arbitrary restriction on response length.
13090
13091 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13092
13093         * config/srclist-update: Spell out "Street" in FSF postal
13094         mail address; this is the style the FSF seems to prefer.
13095
13096         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
13097         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
13098         this updates FSF postal mail address.
13099
13100         Sync from coreutils.
13101         * modules/unlinkdir: New file.
13102         * modules/yesno (Depends-on): Add getline.
13103         * MODULES.html.sh (File system functions): Add unlinkdir.
13104
13105 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13106
13107         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
13108         lib/strsep.h:
13109         Change the initial comment to refer to GPL, not LGPL.
13110         gnulib-tool will change it to LGPL as needed.
13111
13112         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
13113         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
13114         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
13115         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
13116         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
13117         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
13118         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
13119         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
13120         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
13121         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
13122         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
13123         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
13124         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
13125         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
13126         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
13127         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
13128         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
13129         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
13130         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
13131         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
13132         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
13133         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
13134         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
13135         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
13136         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
13137         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
13138         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
13139         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
13140         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
13141         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
13142         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
13143         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
13144         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
13145         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
13146         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
13147         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
13148         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
13149         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
13150         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
13151         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
13152         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
13153         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
13154         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
13155         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
13156         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
13157         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
13158         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
13159         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
13160         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
13161         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
13162         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
13163         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
13164         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
13165         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
13166         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
13167         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
13168         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
13169         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
13170         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
13171         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
13172         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
13173         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
13174         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
13175         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
13176         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
13177         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
13178         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
13179         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
13180         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
13181         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
13182         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
13183         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
13184         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
13185         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
13186         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
13187         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
13188         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
13189         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
13190         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
13191         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
13192         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
13193         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
13194         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
13195         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
13196         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
13197         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
13198         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
13199         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
13200         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
13201         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
13202         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
13203         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
13204         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
13205         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
13206         lib/yesno.c, lib/yesno.h:
13207         Update FSF postal mail address.
13208
13209 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13210
13211         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
13212         tests/test-memmem.c, tests/test-stpncpy.c:
13213         Update FSF postal mail address.
13214
13215 2005-05-13  Bruno Haible  <bruno@clisp.org>
13216
13217         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
13218         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
13219         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
13220         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
13221         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
13222         Add support for 64-bit integers in the MSVC compiler.
13223
13224 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13225
13226         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
13227
13228 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
13229
13230         * gnulib-tool (func_import): Sort and uniquify recommended includes.
13231
13232 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
13233
13234         * doc/getdate.texi (General date syntax): Don't say that date
13235         date --iso-8601=ns generates acceptable dates; it doesn't yet.
13236         Problem reported by Nic Ferrier.
13237
13238 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13239
13240         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
13241         specified in ai_socktype. Fix invalid ai_protocol
13242         check. ai_protocol is usually set to 0 or depending on
13243         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
13244         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
13245         ai_socktype / ai_protocol in the returned addrinfo structure.
13246
13247 2005-05-10  Simon Josefsson  <jas@extundo.com>
13248
13249         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
13250         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13251
13252 2005-05-10  Karl Berry  <karl@gnu.org>
13253
13254         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
13255         (from http://www.gnu.org/licenses).
13256         * doc/COPYING.LIB: also rename to COPYING.LESSER.
13257         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
13258         fdl.texi suffices.
13259
13260 2005-05-10  Karl Berry  <karl@gnu.org>
13261
13262         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
13263         (COPYING.DOC): remove.
13264
13265         * config/srclist-update: new FSF address.
13266
13267 2005-05-10  Derek Price  <derek@ximbiot.com>
13268
13269         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
13270         possible.
13271
13272 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13273             Bruno Haible  <bruno@clisp.org>
13274
13275         * modules/inet_ntop: New file.
13276         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13277         inet_ntop.
13278
13279 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13280             Bruno Haible  <bruno@clisp.org>
13281
13282         * m4/inet_ntop.m4: New file.
13283
13284 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13285             Bruno Haible  <bruno@clisp.org>
13286
13287         * lib/inet_ntop.h: New file.
13288         * lib/inet_ntop.c: New file, from glibc with modifications.
13289
13290 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
13291
13292         * modules/time_r (License): Change to LGPL.
13293         * modules/extensions (License): Change to LGPL.  Actually,
13294         the license is more permissive than that, but currently gnulib-tool
13295         doesn't know how to handle more-permissive licenses.
13296
13297         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
13298         Problem reported by Dave Love.
13299
13300 2005-05-08  Jim Meyering  <jim@meyering.net>
13301
13302         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
13303         blank.
13304
13305 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
13306
13307         * modules/argmatch (Depends-on): Add stdbool.
13308         * modules/backupfile (Depends-on): Likewise.
13309         * modules/chdir-long (Depends-on): Likewise.
13310         * modules/closeout (Depends-on): Likewise.
13311         * modules/cycle-check (Depends-on): Likewise.
13312         * modules/dirname (Depends-on): Likewise.
13313         * modules/fnmatch (Depends-on): Likewise.
13314         * modules/fsusage (Depends-on): Likewise.
13315         * modules/fwriteerror (Depends-on): Likewise.
13316         * modules/getcwd (Depends-on): Likewise.
13317         * modules/getloadavg (Depends-on): Likewise.
13318         * modules/hard-locale (Depends-on): Likewise.
13319         * modules/makepath (Depends-on): Likewise.
13320         * modules/mountlist (Depends-on): Likewise.
13321         * modules/nanosleep (Depends-on): Likewise.
13322         * modules/posixtm (Depends-on): Likewise.
13323         * modules/quotearg (Depends-on): Likewise.
13324         * modules/readtokens (Depends-on): Likewise.
13325         * modules/readtokens0 (Depends-on): Likewise.
13326         * modules/readutmp (Depends-on): Likewise.
13327         * modules/save-cwd (Depends-on): Likewise.
13328         * modules/strftime (Depends-on): Likewise.
13329         * modules/userspec (Depends-on): Likewise.
13330         * modules/utimecmp (Depends-on): Likewise.
13331         * modules/xgetcwd (Depends-on): Likewise.
13332         * modules/xnanosleep (Depends-on): Likewise.
13333         * modules/xstrtod (Depends-on): Likewise.
13334         * modules/yesno (Depends-on): Likewise.
13335
13336 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13337
13338         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
13339         needless checks.
13340
13341 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13342
13343         Merge from coreutils.  Among other things,
13344         add bulletproofing for cases where stdin, stdout, or stderr are closed.
13345         * lib/fd-safer.c: New file.
13346         * lib/fcntl-safer.h, open-safer.c: Remove.
13347         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
13348         * lib/dup-safer.c: Include unistd-safer.h first.
13349         Don't include errno.h.
13350         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
13351         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
13352         * lib/file-type.c: Rely on file-type.h change.
13353         * lib/getloadavg.c: Include unistd-safer.h.
13354         (getloadavg): Use safer open.
13355         * lib/getusershell.c: Include "stdio-safer.h".
13356         (getusershell): Use safer fopen.
13357         * lib/long-options.c (long_options): Use NULL rather than 0.
13358         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
13359         'free'.
13360         * lib/modechange.c: Likewise.
13361         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
13362         (MODE_DONE): New constant.
13363         (struct mode_change): Remove 'next' member.
13364         (make_node_op_equals): New function; like the old one of the
13365         same name, except it allocates an array.
13366         (mode_compile, mode_create_from_ref): Use it.
13367         (mode_compile): Allocate result as an array, not a linked list.
13368         Parse octal string ourself, so that we catch mistakes like "+0".
13369         (mode_adjust): Arg is an array, not a linked list.
13370         * lib/modechange.c: Include stat-macros.h, xalloc.h.
13371         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
13372         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
13373         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
13374         Remove.  This is now stat-macros.h's job.
13375         (talloc): Remove.  All callers replaced by xalloc, so that
13376         our invokers don't have to worry about reporting memory failures.
13377         (make_node_op_equals): Remove.
13378         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
13379         New constants.
13380         (struct mode_change): Moved here from modechange.h.
13381         (mode_append_entry): Remove.
13382         (mode_compile): Remove MASKED_OPS arg, since it encouraged
13383         apps to have incorrect behavior.  Use simpler algorithm for head
13384         and tail.  Don't futz with umask; that's now the job of mode_adjust.
13385         Detect more invalid usages rather than having somewhat-random behavior.
13386         Don't insert an "a=" action, as that leads to incorrect behavior.
13387         (mode_compile, mode_create_from_ref): Return NULL on error instead
13388         of an enum, since now there's only one way to have an error.  All
13389         callers changed.
13390         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
13391         at the correct time.  Simplify calculation of "+u" and its ilk.
13392         Don't mishandle "+X".
13393         (mode_free): Remove "register" and localize decls.
13394         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
13395         (struct mode_change): Move to modechange.c; callers don't
13396         need to see this stuff.
13397         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
13398         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
13399         (mode_change, mode_adjust): Reflect the new signatures noted above.
13400         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
13401         that might redefine system include files.
13402         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
13403         (my_usleep): Use NULL rather than (void *) 0.
13404         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
13405         Use siginterrupt to specify that system calls should be interrupted.
13406         (rpl_nanosleep): Move initialization of suspended closer to call of
13407         my_usleep.
13408         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
13409         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
13410         (desirable_utmp_entry): New function.
13411         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
13412         using x2nrealloc, to simplify logic.
13413         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
13414         size calculation.  Do not assume utmp file is a regular file.
13415         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
13416         (READ_UTMP_CHECK_PIDS): New constant.
13417         * lib/save-cwd.c: Include unistd-safer.h.
13418         (save_cwd): Use fd_safer.
13419         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
13420         [!_LIBC] Include "stat-macros.h" instead.
13421         * lib/unistd-safer.h (fd_safer): New decl.
13422
13423 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13424
13425         * modules/getloadavg (Depends-on): Add unistd-safer.
13426         * modules/getusershell (Depends-on): Add stdio-safer.
13427         * modules/lstat (Depends-on): Remove xalloc.
13428         * modules/mkstemp (Depends-on): Add stat-macros.
13429         * modules/modechange (Depends-on): Remove xstrtol.
13430         Add stat-macros, xalloc.
13431         * modules/save-cwd (Depends-on): Add unistd-safer.
13432         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
13433         * modules/unistd-safer (Files): Add lib/fd-safer.c
13434         (Makefile.am): Remove lib_SOURCES.
13435
13436         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
13437         Remove fcntl-safer; unistd-safer supersedes it.
13438
13439 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13440
13441         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
13442         AC_HEADER_STAT.
13443         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
13444         (gl_PREREQ_CHOWN): Remove.
13445         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
13446         it.  Don't require AC_HEADER_STAT.
13447         (gl_PREREQ_LSTAT): Remove.
13448         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
13449         Don't require AC_HEADER_STAT.
13450         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
13451         (gl_PREREQ_RMDIR): Remove.
13452         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
13453         mention stat-macros.h or AC_HEADER_STAT, since we'll make
13454         the stat-macros module a prerequisite.
13455         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
13456         * m4/filemode.m4 (gl_FILEMODE): Likewise.
13457         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
13458         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
13459         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
13460         variable names.
13461         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
13462         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
13463         variable prefixes.
13464         * m4/fcntl-safer.m4: Remove.
13465         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
13466         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
13467         Invoke gl_PREREQ_FD_SAFER.
13468         (gl_PREREQ_FD_SAFER): New macro.
13469         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
13470         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
13471         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
13472         Remove duplicate call to AC_LIBOBJ(readutmp).
13473         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
13474
13475         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
13476         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
13477
13478 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13479
13480         * MODULES.html.sh (Misc): Add byteswap.
13481
13482 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13483
13484         * modules/getcwd (Depends-on): Add extensions.
13485         * modules/openat (Depends-on): Likewise.
13486
13487 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13488
13489         * modules/byteswap: New file.
13490
13491 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13492
13493         * m4/byteswap.m4: New file.
13494
13495 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13496
13497         * lib/byteswap_.h: New file.
13498
13499 2005-04-25  Karl Berry  <karl@gnu.org>
13500
13501         * m4/gettext.m4: Update from GNU gettext 0.14.4.
13502
13503 2005-04-25  Albert Chin  <china@thewrittenword.com>
13504
13505         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
13506         Toolkit C bug.
13507
13508 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
13509
13510         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
13511         (func_ln_if_changed) Remove forcibly for no error message
13512         in case file does not exist.
13513
13514 2005-04-19  Simon Josefsson  <jas@extundo.com>
13515
13516         * gnulib-tool (Options): Make --symlink mean --symbolic.
13517
13518 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
13519
13520         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
13521
13522 2005-04-16  Simon Josefsson  <jas@extundo.com>
13523
13524         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
13525
13526 2005-04-15  Simon Josefsson  <jas@extundo.com>
13527
13528         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
13529
13530 2005-04-15  Simon Josefsson  <jas@extundo.com>
13531
13532         * gnulib-tool: Rename --symlink to --symbolic.
13533
13534 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
13535
13536         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
13537         symbolic links to files instead of copying/moving.  Add --aux-dir,
13538         specifying directory relative --dir where auxiliary build tools
13539         are placed.
13540
13541 2005-04-14  Bruno Haible  <bruno@clisp.org>
13542
13543         * modules/allocsa (License): Change to LGPL.
13544         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
13545
13546 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
13547
13548         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
13549         that "UTC +1 second" continues to work.  Problem reported
13550         by Dmitry V. Levin.
13551         (relunit_snumber): New rule.
13552         (relunit): Use it.
13553
13554 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
13555
13556         * lib/getdate.y (universal_time_zone_table): New constant.
13557         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
13558         universal_time_zone_table.
13559         (lookup_zone): Prefer universal_time_zone_table to
13560         local_time_zone_table, so that "GMT" time stamps are allowed in
13561         London during the summer.  Problem reported by Ian Abbott.
13562
13563 2005-04-12  Jim Meyering  <jim@meyering.net>
13564
13565         * lib/human.c (humblock): Set *options even when returning due to
13566         xstrtoumax conversion failure.  Thanks to a used-uninitialized
13567         warning from gcc-4.
13568
13569 2005-04-09  Jim Meyering  <jim@meyering.net>
13570
13571         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
13572         -Wuninitialized: initialize tm0.tm_year.
13573
13574 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
13575
13576         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
13577         count, since there's no maximum.  All uses changed.
13578         Add member dsts_seen.
13579         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
13580         not being INT_MAX.
13581         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
13582         Use pc_rels_seen to decide whther a date is absolute.
13583
13584         * lib/getdate.y (number): Don't overwrite year.
13585         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
13586         check.
13587
13588 2005-04-02  Simon Josefsson  <jas@extundo.com>
13589
13590         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
13591         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
13592
13593 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
13594
13595         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
13596         where no absolute path name can be longer than PATH_MAX.
13597
13598 2005-03-27  Jim Meyering  <jim@meyering.net>
13599
13600         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
13601
13602 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
13603
13604         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
13605         "one's complement" -> "ones' complement" in comment, as per Knuth.
13606         "value of type" -> "type or expression" in comment.
13607         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
13608
13609 2005-03-26  Jim Meyering  <jim@meyering.net>
13610
13611         Comment nits.
13612         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
13613         Correct typos: s/or/of/.
13614
13615 2005-03-26  Jim Meyering  <jim@meyering.net>
13616
13617         * modules/check-include-files: Move to ../ and rename to...
13618         * check-module: ...this.
13619
13620 2005-03-25  Jim Meyering  <jim@meyering.net>
13621
13622         * modules/xvasprintf (Files): Add xalloc.h.
13623
13624 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
13625
13626         * modules/gettext (Files): config/config.rpath ->
13627         build-aux/config.rpath
13628         * modules/iconv (Files): Likewise.
13629         Problem reported by Oskar Liljeblad.
13630
13631 2005-03-23  Jim Meyering  <jim@meyering.net>
13632
13633         * modules/check-include-files: New script to check for
13634         missing dependencies, multiple includes, etc.
13635
13636         * modules/c-strtold (Depends-on): Add xalloc.
13637         * modules/c-strtod (Depends-on): Add xalloc.
13638         * modules/hash (Depends-on): Add xalloc.
13639         (Files): Remove lib/xalloc.h.
13640
13641         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
13642         * modules/userspec (Files): Add lib/inttostr.h.
13643
13644 2005-03-23  Jim Meyering  <jim@meyering.net>
13645
13646         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
13647
13648 2005-03-22  Jim Meyering  <jim@meyering.net>
13649
13650         * modules/stat-macros: New module.
13651         * modules/canonicalize, modules/euidaccess, modules/file-type,
13652         * modules/filemode, modules/lchown, modules/makepath,
13653         * modules/rmdir, modules/stat: Depend on new stat-macros module
13654         rather than listing lib/stat-macros.h manually.
13655         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
13656
13657 2005-03-22  Jim Meyering  <jim@meyering.net>
13658
13659         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
13660
13661 2005-03-22  Bruno Haible  <bruno@clisp.org>
13662
13663         * config/srclist.txt: Replace target directory 'config' with
13664         'build-aux'.
13665         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
13666         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
13667         ../build-aux/.
13668
13669 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
13670
13671         * modules/chdir-long (Depends-on): Add mempcpy.
13672
13673         * modules/acl, modules/backupfile, modules/c-strtod,
13674         modules/c-strtold, modules/canon-host, modules/canonicalize,
13675         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
13676         modules/exclude, modules/exitfail, modules/file-type,
13677         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
13678         modules/getdate, modules/getline, modules/getpagesize,
13679         modules/getpass, modules/getugroups, modules/group-member,
13680         modules/hard-locale, modules/hash, modules/human, modules/idcache,
13681         modules/inttostr, modules/long-options, modules/makepath,
13682         modules/md5, modules/memcasecmp, modules/memcoll,
13683         modules/modechange, modules/mountlist, modules/path-concat,
13684         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
13685         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
13686         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
13687         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
13688         modules/strftime, modules/strndup, modules/strverscmp,
13689         modules/timespec, modules/unlocked-io, modules/userspec,
13690         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
13691         modules/yesno:
13692         Remove lib_SOURCES line from Makefile.am section, as this is now
13693         done automatically by the corresponding Autoconf macro.
13694
13695 2005-03-21  Jim Meyering  <jim@meyering.net>
13696
13697         Changes imported from coreutils.
13698
13699         * lib/cycle-check.c: Don't include xalloc.h.
13700
13701         * lib/path-concat.c: Don't include assert.h.
13702         (path_concat): Remove assertion that would have triggered
13703         for ABASE starting with more than one slash.
13704         Reported by Andreas Schwab.
13705
13706         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
13707         properly when ABASE is an absolute file name.
13708         Correct the description of this function.
13709         Include <assert.h>.
13710         Add an assertion and a test driver.
13711         This fixes a bug introduced on 2004-07-02.
13712         Andreas Schwab reported the resulting failure of cp --parents:
13713         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
13714
13715 2005-03-21  Jim Meyering  <jim@meyering.net>
13716
13717         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
13718         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
13719
13720 2005-03-21  Jim Meyering  <jim@meyering.net>
13721         and  Paul Eggert  <eggert@cs.ucla.edu>
13722
13723         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
13724         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
13725         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
13726         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
13727         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
13728         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
13729         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
13730         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
13731         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
13732         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
13733         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
13734         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
13735         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
13736         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
13737         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
13738         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
13739         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
13740         for these modules.
13741
13742 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
13743
13744         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
13745         (which shouldn't happen), generate nothing instead of returning 0
13746         immediately, so that nstrftime (NULL, ...) doesn't return 0.
13747
13748 2005-03-16  Bruno Haible  <bruno@clisp.org>
13749
13750         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
13751         HAVE_LONGLONG_64BIT.
13752
13753 2005-03-16  Bruno Haible  <bruno@clisp.org>
13754
13755         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
13756         HAVE_LONGLONG_64BIT.
13757
13758 2005-03-16  Bruno Haible  <bruno@clisp.org>
13759
13760         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
13761         HAVE_LONGLONG_64BIT.
13762
13763 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
13764
13765         * lib/strftime.c (my_strftime): Prepend space to format so that we can
13766         reliably distinguish strftime failure from empty output on POSIX
13767         hosts.
13768
13769 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
13770
13771         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
13772         (iconv_string): Don't guess a size-zero buffer, as that might cause
13773         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
13774         result would be 'too large', where 'too large' is (heuristically)
13775         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
13776         overflow concerns.  This will prevent some unwanted malloc failures
13777         when the inputs are very large.
13778
13779 2005-03-15  Karl Berry  <karl@gnu.org>
13780
13781         * config/srclist.txt (config.rpath): from gettext.
13782         * config/config.rpath: update.
13783
13784 2005-03-15  Bruno Haible  <bruno@clisp.org>
13785
13786         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
13787         to 'negate'.
13788
13789         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
13790         variable.
13791
13792         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
13793         results.
13794
13795 2005-03-14  Simon Josefsson  <jas@extundo.com>
13796
13797         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
13798         <fx@gnu.org>.
13799
13800 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
13801
13802         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
13803         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
13804         intprops.h.
13805         * lib/strtol.c: Likewise.
13806
13807 2005-03-14  Jim Meyering  <jim@meyering.net>
13808
13809         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
13810         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
13811         to be nonzero so that we (and caller) can detect the difference
13812         between a valid zero-length expansion and an error return, even
13813         when the underlying strftime fails before writing anything into
13814         that location.
13815
13816 2005-03-14  Bruno Haible  <bruno@clisp.org>
13817
13818         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
13819         Update from GNU gettext 0.14.3.
13820
13821 2005-03-10  Jim Meyering  <jim@meyering.net>
13822
13823         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
13824
13825 2005-03-10  Jim Meyering  <jim@meyering.net>
13826
13827         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
13828         so that this module works on systems without fchdir.
13829
13830 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
13831
13832         Factor int-properties macros into a single file, except for
13833         glibc-related files.
13834         * lib/intprops.h: New file.
13835         * lib/getloadavg.c: Include it instead of limits.h.
13836         (INT_STRLEN_BOUND): Remove.
13837         * lib/human.c: Include intprops.h.
13838         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
13839         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
13840         302/1000.
13841         * lib/inttostr.h: Include intprops.h instead of limits.h.
13842         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
13843         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
13844         for consistency with intprops.h.
13845         (time_t_is_integer, twos_complement_arithmetic): Use them.
13846         * lib/sig2str.h: Include <signal.h>, intprops.h.
13847         (INT_STRLEN_BOUND): Remove.
13848         * lib/strftime.c (TYPE_SIGNED): Remove.
13849         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
13850         * lib/strtol.c: Adjust comments to match intprops.h.
13851         * lib/userspec.c: Include intprops.h.
13852         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
13853         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
13854         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
13855         instead of rolling our own expressions.
13856         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
13857
13858         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
13859         instead of int.
13860         (my_strftime): Do not mishandle years close to INT_MAX, by doing
13861         the right thing even if adding 1900 would overflow.  Similarly
13862         for tm_mon + 1 and tm_yday + 1.
13863         Make %Y always equivalent to %C%y, and similarly for %G and %g.
13864         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
13865         (DO_SIGNED_NUMBER): New macro.
13866         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
13867
13868 2005-03-07  Bruno Haible  <bruno@clisp.org>
13869
13870         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
13871
13872 2005-03-07  Bruno Haible  <bruno@clisp.org>
13873
13874         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
13875
13876 2005-03-04  Derek R. Price  <derek@ximbiot.com>
13877
13878         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
13879         (func_import): Only replace files via --import when they have actually
13880         changed.
13881
13882 2005-03-03  Derek R. Price  <derek@ximbiot.com>
13883
13884         * m4/mmap-anon.m4: New file.
13885         * m4/pagealign_alloc.m4: New file.
13886
13887 2005-03-03  Derek R. Price  <derek@ximbiot.com>
13888             Bruno Haible  <bruno@clisp.org>
13889
13890         * modules/pagealign_alloc: New file.
13891         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
13892
13893 2005-03-03  Derek R. Price  <derek@ximbiot.com>
13894             Bruno Haible  <bruno@clisp.org>
13895
13896         * lib/pagealign_alloc.h: New file.
13897         * lib/pagealign_alloc.c: New file.
13898
13899 2005-03-03  Bruno Haible  <bruno@clisp.org>
13900
13901         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
13902         Use an all-permissive copyright notice, recommended by RMS.
13903
13904 2005-03-02  Bruno Haible  <bruno@clisp.org>
13905
13906         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
13907         of AIX, the replacement has to be done only after <string.h> is
13908         included, therefore not in config.h. stpncpy.h does the replacement,
13909         and stpncpy.c uses it.
13910
13911 2005-03-02  Bruno Haible  <bruno@clisp.org>
13912
13913         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
13914         stpncpy.c uses it.
13915
13916 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
13917
13918         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
13919         The workaround isn't strictly needed for POSIX conformance, and
13920         it's too much of a pain to configure and maintain.  We'll ask
13921         people to fix their kernels instead.
13922         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
13923         (NANOSLEEP_BUG_WORKAROUND): Remove.
13924         (xnanosleep): Remove the workaround.
13925
13926 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
13927
13928         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
13929         Reported by Derek Price.
13930         (Include): Add "timespec.h".
13931
13932         * modules/xnanosleep (Depends-on): Remove gethrxtime.
13933
13934 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
13935
13936         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
13937         to detect nanosleep bug.
13938
13939 2005-03-01  Bruno Haible  <bruno@clisp.org>
13940
13941         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
13942
13943 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
13944
13945         * modules/gethrxtime: New file.
13946         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
13947         (Depends-on): Add gethrxtime.
13948         (configure.ac): Add gl_XNANOSLEEP.
13949         (Makefile.am): Remove lib_SOURCES line.
13950
13951 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
13952
13953         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
13954         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
13955
13956 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
13957
13958         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
13959         * lib/timespec.h (gettime): Return void, since it always
13960         succeeds now.  All uses changed.
13961         * lib/gettime.c (gettime) Likewise.
13962         [HAVE_NANOTIME]: Prefer nanotime.
13963         Assume gettimeofday succeeds, as POSIX requires.
13964         Assime time () succeeds, since other code already does.
13965         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
13966         (timespec_subtract): Remove.
13967         (NANOSLEEP_BUG_WORKAROUND): New constant.
13968         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
13969         things considerably.  Use it only on GNU/Linux hosts, since the
13970         workaround shouldn't be needed elsewhere.
13971
13972 2005-02-24  Bruno Haible  <bruno@clisp.org>
13973
13974         * modules/gettext (Files): Add m4/glibc2.m4.
13975
13976 2005-02-24  Bruno Haible  <bruno@clisp.org>
13977
13978         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
13979         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
13980         * m4/progtest.m4:
13981         Update from GNU gettext 0.14.2.
13982         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
13983
13984 2005-02-24  Bruno Haible  <bruno@clisp.org>
13985
13986         * lib/localcharset.c: Update from GNU gettext 0.14.2.
13987         * lib/config.charset: Update from GNU gettext 0.14.2.
13988
13989 2005-02-24  Bruno Haible  <bruno@clisp.org>
13990
13991         * lib/gettext.h: Update from GNU gettext 0.14.2.
13992
13993 2005-02-23  Simon Josefsson  <jas@extundo.com>
13994
13995         * m4/iconvme.m4: New file.
13996
13997 2005-02-23  Jim Meyering  <jim@meyering.net>
13998
13999         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
14000         change.
14001         Thanks to Bruno Haible for catching it.
14002
14003 2005-02-22  Simon Josefsson  <jas@extundo.com>
14004
14005         * modules/iconvme: New file.
14006
14007         * MODULES.html.sh: Add iconvme.
14008
14009 2005-02-22  Simon Josefsson  <jas@extundo.com>
14010
14011         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
14012
14013 2005-02-22  Simon Josefsson  <jas@extundo.com>
14014
14015         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
14016
14017 2005-02-22  Jim Meyering  <jim@meyering.net>
14018
14019         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
14020         s/ifndef/ifdef/.
14021
14022 2005-02-20  Neil Conway  <neilc@samurai.com>
14023
14024         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
14025         returned by OSX/Darwin if the specified buffer is not large
14026         enough for the hostname.
14027
14028 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14029
14030         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
14031         pass it to _help, otherwise the latter coredumps trying to
14032         dereference state.root_argp.
14033
14034 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
14035
14036         * modules/chdir-long (Depends-on): Add memrchr.
14037         * modules/memrchr (Files): Add lib/memrchr.h.
14038         (Include): "memrchr.h".
14039
14040 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
14041
14042         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
14043
14044 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
14045
14046         * lib/memrchr.h: New file.
14047         * lib/chdir-long.c: Include it.
14048         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
14049         Don't bother including stddef.h.
14050
14051 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
14052
14053         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
14054         inclusion.
14055         Include <sys/types.h>, for dev_t.
14056         (ME_DUMMY, ME_REMOTE): Move from here....
14057         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
14058         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
14059         Dmitry V. Levin.
14060         Include mountlist.h first, to test the interface.
14061
14062 2005-01-29  Bruno Haible  <bruno@clisp.org>
14063
14064         * lib/progname.c (program_name): Initialize.
14065         Needed when linking statically on MacOS X.
14066
14067 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14068
14069         Sync from coreutils.
14070         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
14071         (Depends-on): Add c-strtod.
14072         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
14073
14074 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14075
14076         Sync from coreutils.
14077         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
14078
14079         Remove files that are specific to coreutils.
14080         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
14081
14082 2005-01-28  Bruno Haible  <bruno@clisp.org>
14083
14084         * modules/javacomp: New file.
14085         * MODULES.html.sh (Java): Add javacomp.
14086
14087 2005-01-28  Bruno Haible  <bruno@clisp.org>
14088
14089         * m4/javacomp.m4: New file, from GNU gettext.
14090
14091 2005-01-28  Bruno Haible  <bruno@clisp.org>
14092
14093         * lib/javacomp.sh.in: New file, from GNU gettext.
14094         * lib/javacomp.h: New file, from GNU gettext.
14095         * lib/javacomp.c: New file, from GNU gettext.
14096
14097 2005-01-26  Simon Josefsson  <jas@extundo.com>
14098
14099         * lib/gai_strerror.c: Use GPL in header.
14100
14101 2005-01-26  Bruno Haible  <bruno@clisp.org>
14102
14103         * modules/javaexec: New file.
14104         * MODULES.html.sh (Java): Add javaexec.
14105
14106 2005-01-26  Bruno Haible  <bruno@clisp.org>
14107
14108         * m4/javaexec.m4: New file, from GNU gettext.
14109
14110 2005-01-26  Bruno Haible  <bruno@clisp.org>
14111
14112         * lib/javaexec.sh.in: New file, from GNU gettext.
14113         * lib/javaexec.h: New file, from GNU gettext.
14114         * lib/javaexec.c: New file, from GNU gettext.
14115
14116 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14117
14118         * modules/lchown (Depends-on): Remove lchown.h
14119
14120 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14121
14122         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
14123         must be defined if the header file was not found, in order
14124         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
14125
14126 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14127
14128         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
14129         initializers for struct pentry_state.
14130         (__argp_error): Check return value of __asprintf
14131         (__argp_failure): Translate error message
14132
14133         * lib/argp-parse.c: Removed braces around the expansion of N_()
14134
14135 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14136
14137         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
14138         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
14139         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
14140         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
14141         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
14142         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
14143         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
14144         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
14145         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
14146         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
14147         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
14148         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
14149         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
14150         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
14151         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
14152         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
14153         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
14154         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
14155         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
14156         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
14157         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
14158         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
14159         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
14160         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
14161         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
14162         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
14163         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
14164         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
14165         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
14166         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
14167         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
14168         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
14169         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
14170         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
14171         xstrtol.m4, xstrtoumax.m4, yesno.m4:
14172         Use an all-permissive copyright notice, recommended by RMS.
14173
14174 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14175
14176         * modules/chdir-long (Depends-on): Remove mempcpy.
14177
14178 2005-01-21  Jim Meyering  <jim@meyering.net>
14179
14180         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
14181         same value as for Solaris 9.
14182
14183         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
14184         component length.  This included changing the parameter to be
14185         of type `char *' rather than `char const *'.
14186         * lib/chdir-long.h (chdir_long): Update prototype.
14187
14188         * lib/openat.c (fdopendir, fstatat): New functions.
14189         * lib/openat.h: Include headers required for use of DIR and struct
14190         stat.
14191         [AT_SYMLINK_NOFOLLOW]: Define.
14192         (fdopendir, fstatat): Add prototypes.
14193
14194 2005-01-21  Bruno Haible  <bruno@clisp.org>
14195
14196         * modules/classpath: New file.
14197         * MODULES.html.sh (Java): Add classpath.
14198
14199 2005-01-21  Bruno Haible  <bruno@clisp.org>
14200
14201         * lib/classpath.h: New file, from GNU gettext.
14202         * lib/classpath.c: New file, from GNU gettext.
14203
14204 2005-01-20  Simon Josefsson  <jas@extundo.com>
14205
14206         * modules/version-etc-fsf: New file.
14207
14208 2005-01-20  Simon Josefsson  <jas@extundo.com>
14209
14210         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
14211         * lib/version-etc.c: Remove version_etc_copyright.
14212         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
14213         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
14214
14215 2005-01-20  Simon Josefsson  <jas@extundo.com>
14216
14217         * lib/base64.h (isbase64): Add.
14218
14219         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
14220         using a unsigned prototype, don't inline.
14221         (base64_decode): Use it.
14222
14223 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
14224
14225         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
14226         it.
14227
14228 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
14229
14230         * lib/save-cwd.c (save_cwd): Remove code to support the case
14231         where fchdir is missing or flaky.
14232
14233 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
14234
14235         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
14236
14237 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
14238
14239         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
14240         AC_LIBSOURCES now does this.
14241         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
14242         with new ullong_max module.
14243
14244 2005-01-19  Bruno Haible  <bruno@clisp.org>
14245
14246         * modules/sh-quote: New file.
14247         * MODULES.html.sh (Executing programs): Add sh-quote.
14248
14249 2005-01-19  Bruno Haible  <bruno@clisp.org>
14250
14251         * lib/sh-quote.h: New file, from GNU gettext.
14252         * lib/sh-quote.c: New file, from GNU gettext.
14253
14254 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14255
14256         Merge from coreutils.
14257         * m4/ullong_max.m4: New file.
14258         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
14259         (gl_MACROS): Assume localeconv exists.
14260
14261 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14262
14263         Merge changes from coreutils, as described below in several
14264         changelogs dated today.
14265
14266         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
14267         (O_DIRECTORY): Remove; not needed here, since "." must be
14268         a directory.  All uses removed.
14269         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
14270         universal on Suns, and we also need to test for IRIX.
14271         Revamp code to use 'if' rather than '#if'.
14272         Avoid unnecessary comparison of cwd->desc to 0.
14273
14274         * lib/utimens.c (futimens): Robustify the previous patch, by checking
14275         for known valid error numbers rather than observed invalid ones.
14276
14277 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14278
14279         * modules/ullong_max: New file.
14280
14281         * modules/chdir-long, modules/openat: New files.
14282         * modules/save-cwd (Depends-on): Depend on chdir-long.
14283         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
14284
14285 2005-01-18  Jim Meyering  <jim@meyering.net>
14286
14287         Merge from coreutils.
14288         * m4/chdir-long.m4, m4/openat.m4: New files.
14289         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
14290         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
14291         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
14292         is sane and DOES follow symlinks.  Besides, testing 20 different
14293         systems found no broken chown implementations.
14294         Prompted by a change in rsync's copy of this macro.
14295         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
14296
14297         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
14298
14299         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
14300         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
14301         NULL-means-set-to-current-time semantics.
14302         Remove temporary file immediately, rather than waiting
14303         for configure's at-exit trap code to do it.
14304
14305 2005-01-18  Jim Meyering  <jim@meyering.net>
14306
14307         * lib/version-etc.c (version_etc_copyright): Update copyright date.
14308
14309         * lib/utimens.c (futimens): Account for the fact that futimes
14310         can also fail with errno == ENOSYS or errno == ENOENT.
14311         Patch from Dmitry V. Levin.
14312
14313         Change the name of the robust chdir function from chdir to chdir_long.
14314         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
14315         (restore_cwd): Use chdir_long, not chdir.
14316         * lib/chdir-long.c: Renamed from chdir.c.
14317         * lib/chdir-long.h: Renamed from chdir.h.
14318         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
14319         Hurd.
14320
14321 2005-01-18  Bruno Haible  <bruno@clisp.org>
14322
14323         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
14324         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
14325         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
14326         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
14327         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
14328         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
14329         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
14330         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
14331         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
14332         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
14333         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
14334         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
14335         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
14336         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
14337         Use an all-permissive copyright notice, recommended by RMS.
14338
14339 2005-01-18  Bob Proulx  <bob@proulx.com>
14340
14341         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
14342         simplify offsetof() macro construct to avoid compile failure with
14343         native HP-UX 11.0 ANSI C compiler.
14344
14345 2005-01-17  Bruno Haible  <bruno@clisp.org>
14346
14347         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
14348         redundant because stpncpy.m4 takes care of it.
14349
14350 2005-01-17  Bruno Haible  <bruno@clisp.org>
14351
14352         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
14353
14354 2005-01-17  Bruno Haible  <bruno@clisp.org>
14355
14356         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
14357         used.
14358
14359 2005-01-17  Bruno Haible  <bruno@clisp.org>
14360
14361         * lib/fwriteerror.h (fwriteerror): Change specification to include
14362         fclose.
14363         * lib/fwriteerror.c: Include <stdbool.h>.
14364         (fwriteerror): At the end, close the file stream. Record whether
14365         stdout was already closed.
14366
14367 2005-01-17  Bruno Haible  <bruno@clisp.org>
14368
14369         * lib/execute.c (environ): Declare if needed.
14370         * lib/pipe.c (environ): Likewise.
14371         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
14372
14373 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14374
14375         * modules/argp: Depend on vsnprintf
14376
14377 2005-01-10  Jim Meyering  <jim@meyering.net>
14378
14379         * modules/closeout (Depends-on): Add atexit.
14380
14381 2005-01-06  Bruno Haible  <bruno@clisp.org>
14382
14383         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
14384
14385 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
14386
14387         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
14388         definitions to be after all include files, to avoid collisions.
14389         Problem reported by Bob Proulx.
14390
14391 2005-01-04  Jim Meyering  <jim@meyering.net>
14392
14393         Changes imported from coreutils.
14394         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
14395         as the mkstemp template, use a temporary directory and an
14396         8.3-friendly template to avoid trouble on systems like DJGPP.
14397         Reported by Juan M. Guerrero via Stepan Kasal.
14398         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
14399         close. Remove the temporary directory right away, rather than waiting
14400         for configure's at-exit trap code to do it.
14401         Suggestion from Stepan Kasal.
14402
14403 2005-01-01  Simon Josefsson  <jas@extundo.com>
14404
14405         * gnulib-tool: Print #include directives when --import'ing.
14406
14407 2004-12-28  Simon Josefsson  <jas@extundo.com>
14408
14409         * tests/test-base64.c: Include required header files.  Remove
14410         unused variables.
14411
14412 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14413
14414         * modules/error (Depends-on): Remove gettext.
14415
14416 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14417
14418         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
14419         not needed.  This removes a dependency on the gettext module.
14420         [defined _LIBC]: Do not include <libintl.h>; not needed.
14421
14422 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
14423
14424         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
14425         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
14426
14427 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
14428
14429         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
14430         HAVE_DECL_STRTOLD.
14431
14432 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14433
14434         * modules/getdate (Depends-on): Remove alloca-opt.
14435
14436 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14437
14438         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
14439
14440 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14441
14442         * lib/argp-parse.c: Include <stddef.h>.
14443         (alignof, alignto): New macros.
14444         (parser_init): Don't assume that void * is aligned sufficiently
14445         for struct option.
14446
14447         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
14448         need to extend the stack.
14449         (YYINITDEPTH): New macro, so that the initial stack isn't overly
14450         large.
14451
14452 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14453
14454         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
14455
14456 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
14457
14458         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
14459         (2004-10-24) change.  Apparently this was a false alarm.
14460
14461         * modules/getdate: Depend on alloca-opt, not alloca.
14462
14463 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
14464
14465         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
14466         Remove now-obsolete comment about AIX.
14467         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
14468         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
14469         (YYMAXDEPTH): New macro.
14470
14471 2004-12-18  Simon Josefsson  <jas@extundo.com>
14472
14473         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
14474
14475 2004-12-18  Bruno Haible  <bruno@clisp.org>
14476
14477         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
14478
14479 2004-12-18  Bruno Haible  <bruno@clisp.org>
14480
14481         * lib/fatal-signal.c (fatal_signals): Make non-const.
14482         (init_fatal_signals): New function.
14483         (uninstall_handlers, install_handlers): Ignore signals that were set to
14484         SIG_IGN.
14485         (at_fatal_signal): Call init_fatal_signals.
14486         (init_fatal_signal_set): Likewise. Ignore signals that were set to
14487         SIG_IGN.
14488         Reported by Paul Eggert.
14489
14490 2004-12-18  Bruno Haible  <bruno@clisp.org>
14491
14492         * doc/alloca.texi: New file.
14493         * doc/alloca-opt.texi: New file.
14494
14495 2004-12-17  Jim Meyering  <jim@meyering.net>
14496
14497         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
14498         Otherwise, install-sh could exit with improper exit status when
14499         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
14500
14501 2004-12-16  Simon Josefsson  <jas@extundo.com>
14502
14503         * tests/test-base64.c: Add license.
14504
14505 2004-12-15  Stepan Kasal  <address@hidden>
14506
14507         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
14508
14509 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
14510
14511         * modules/getcwd (Files): Add m4/d-ino.m4.
14512         Suggested by Mark D. Baushke.
14513
14514 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
14515
14516         * lib/getdate.y (textint): New member "negative".
14517         (time_zone_hhmm): New function.
14518         Expect 14 shift-reduce conflicts, not 13.
14519         (o_colon_minutes): New rule.
14520         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
14521         (yylex): Set the "negative" member of signed numbers.
14522
14523 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
14524
14525         * doc/getdate.texi (Time of day items, Time zone items):
14526         Describe new formats +00:00, UTC+00:00.
14527
14528 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
14529
14530         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
14531         spurious "-l"s.  Problem reported by Stepan Kasal.
14532
14533 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
14534
14535         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
14536         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
14537
14538 2004-12-04  Simon Josefsson  <jas@extundo.com>
14539
14540         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
14541         Vandoorselaere <yoann@prelude-ids.org>.
14542
14543 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
14544
14545         Changes imported from coreutils.
14546         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
14547         exist.
14548         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
14549
14550 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
14551
14552         Changes imported from coreutils.
14553         * lib/hard-locale.c: Assume <locale.h> exists.
14554         Include "strdup.h".
14555         (GLIBC_VERSION): New macro.
14556         (hard_locale): Assume setlocale exists.
14557         Rewrite to avoid #ifdef.
14558         Use strdup rather than malloc + strcpy.
14559         * lib/human.c: Assume <locale.h> exists.
14560         (human_readable): Assume localeconv exists.
14561
14562 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
14563
14564         * modules/hard-locale (Depends-on): Add strdup.
14565
14566 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
14567
14568         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
14569         convert T2, not T.  (Imported from libc.)
14570
14571 2004-11-30  Simon Josefsson  <jas@extundo.com>
14572
14573         * modules/restrict (License): Change to LGPL.
14574
14575 2004-11-30  Simon Josefsson  <jas@extundo.com>
14576
14577         * m4/restrict.m4: Add copyright and copying conditions.
14578
14579 2004-11-30  Simon Josefsson  <jas@extundo.com>
14580
14581         * m4/base64.m4: New file.
14582
14583 2004-11-30  Simon Josefsson  <jas@extundo.com>
14584
14585         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
14586         base64.
14587
14588         * tests/test-base64.c: New file.
14589
14590         * modules/base64: New file.
14591
14592 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
14593
14594         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
14595         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
14596
14597         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
14598
14599 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
14600
14601         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
14602         (__getcwd.c): Don't restore errno; glibc doesn't.
14603         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
14604         first, falling back to our code only if its results look suspicious.
14605         Ensure that the resulting buffer is only as large as necessary.
14606
14607         * lib/readutmp.c: Include readutmp.h first.
14608         Include <errno.h>, since readutmp.h no longer does that.
14609         * lib/readutmp.h: Don't include <errno.h>,
14610         <sys/param.h>, <time.h>; not needed to establish interface.
14611         (errno): Remove decl.
14612         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
14613         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
14614         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
14615
14616 2004-11-28  Simon Josefsson  <jas@extundo.com>
14617
14618         * lib/base64.h, base64.c: New file.
14619
14620 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
14621
14622         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
14623
14624 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
14625
14626         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
14627         (Depends-on): Remove pathmax, same.  Add mempcpy.
14628         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
14629         (Makefile.am): Append getcwd.h to lib_SOURCES.
14630         (Include): Add getcwd.h.
14631         (Maintainer): Change from Jim Meyering to "all, glibc",
14632         since getdate now uses intended-for-glibc code.
14633         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
14634         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
14635
14636 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
14637
14638         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
14639         HP's ANSI C compiler.
14640         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
14641         Declaring int functions causes warnings on some modern systems and
14642         shouldn't be needed to compile on ancient ones.
14643         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
14644         defined.
14645
14646         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
14647         with the following changes.
14648         (__set_errno): Parenthesize properly.
14649         Include <stdbool.h>.
14650         (MIN, MAX, MATCHING_INO): New macros.
14651         (__getcwd): Define with prototype, not K&R form.
14652         Use heuristics to allocate default buffer on stack if possible.
14653         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
14654         behavior, and to avoid the PATH_MAX limit when computing
14655         ../../../../...
14656         Use MATCHING_INO to compare inode number to file.
14657         Check for arithmetic overflow in size calculations.
14658         Fix bug in reallocation of dot array that caused getcwd to fail
14659         on directories nested deeper than 75.
14660         Be more careful about saving errno on error.
14661         Do not use realloc; use only free+malloc, as this is a bit
14662         more flexible and avoids a needless copy operation.
14663         Do not inspect st_dev and st_ino for symbolic links; POSIX
14664         doesn't specify the latter.
14665         Check for closedir errors.
14666         Avoid needless casts.
14667         Use "#ifdef weak_alias" around weak_alias, to be like other
14668         glibc code.
14669         The following changes to getcwd.c have effect only when used in
14670         gnulib; they have no effect inside glibc proper.
14671         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
14672         as alloca isn't used.
14673         (alloca, __alloca): Likewise.
14674         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
14675         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
14676         unconditionally, as gnulib assumes C89 or better.
14677         Do not include <sys/param.h>.
14678         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
14679         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
14680         better.
14681         (NULL) [!defined NULL]: Remove; we assume C89 or better.
14682         Include <dirent.h> in a way that is compatible with modern Autoconf.
14683         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
14684         New macros, if not already defined.
14685         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
14686         Use "_LIBC", not "defined _LIBC", for consistency.
14687         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
14688         a mempcpy module.
14689         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
14690         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
14691         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
14692         credit only to Jim Meyering and adjust the copyright dates.
14693         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
14694         <stdlib.h>, <unistd.h>, "pathmax.h".
14695         Instead, include "xgetcwd.h" (first) and "getcwd.h".
14696         (INITIAL_BUFFER_SIZE): Remove.
14697         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
14698
14699 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
14700
14701         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
14702         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
14703         Use the _ONCE methods, for efficiency.
14704         Check for fcntl.h.  In test program, include <errno.h>
14705         and <fcntl.h> if available.  Remove old K&R cruft from
14706         test program.  Check for common errors in GNU/Linux,
14707         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
14708         don't do AC_LIBOBJ, as that's getcwd.m4's job.
14709         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
14710         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
14711         name accordingly.
14712         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
14713         accommodate new getcwd.c.
14714         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
14715         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
14716         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
14717         that's all we need now.
14718
14719 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14720
14721         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
14722         argp-parse.c depends on getopt internals, that means we should
14723         always use our getopt, to be on the safe side.
14724         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
14725         order not to spoil the result of an eventual previous invocation
14726         of gl_GETOPT_SUBSTITUTE.
14727
14728 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14729
14730         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
14731         redefinition warnings. To avoid them, include the defines
14732         in `#if !defined __need_getopt ... #endif'. The only place
14733         where __getopt_argv_const is used is in definitions
14734         of getopt_long and getopt_long_only below, which are as well
14735         protected by `#ifndef __need_getopt'.
14736         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
14737         __need_getopt after including <stdio.h> and <unistd.h> These
14738         headers might have defined it.
14739
14740 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
14741
14742         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
14743
14744 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
14745
14746         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
14747         (futimens): New function, which uses futimes if available.
14748         (futimens, utimens): Support timespec==NULL, with same semantics
14749         as utime and utimens.
14750         * lib/utimens.h (futimens): New decl.
14751
14752 2004-11-23  Jim Meyering  <jim@meyering.net>
14753
14754         * lib/getopt_.h: Remove trailing blanks.
14755
14756 2004-11-23  Jim Meyering  <jim@meyering.net>
14757
14758         * lib/__fpending.c: Add comment.
14759
14760 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
14761
14762         * modules/canonicalize (Depends-on): Add xreadlink.
14763         Problem reported by James Youngman.
14764
14765 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
14766
14767         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
14768         New macros.
14769         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
14770         optopt): Use them instead of invoking ## directly; otherwise, the
14771         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
14772
14773 2004-11-19  Bruno Haible  <bruno@clisp.org>
14774
14775         * lib/strtok_r.c: Move comments from here...
14776         * lib/strtok_r.h: ... to here.
14777
14778 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
14779
14780         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
14781         implementations that mishandle size_t overflow.
14782
14783 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
14784
14785         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
14786         might fail.  Problem reported by Yoann Vandoorselaere.
14787         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
14788         implementations that mishandle size_t overflow.
14789
14790 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14791
14792         * modules/canon-host (Depends-on): Add strdup.
14793
14794 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14795
14796         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
14797
14798 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14799
14800         * lib/canon-host.c: Include "strdup.h".
14801         (canon_host): Use getaddrinfo if available, so that IPv6 works.
14802         Use strdup instead of malloc/strcpy to duplicate strings.
14803
14804         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
14805         (human_space_before_unit): New constant.
14806         * lib/human.c (human_readable): Support it.
14807
14808         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
14809         (xgetcwd): Set errno correctly when failing.
14810         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
14811         the failure is actually due to a PATH_MAX problem.
14812
14813         Further getopt changes to make it more likely that glibc will
14814         buy the changes back.
14815         * lib/getopt.c (POSIXLY_CORRECT): New constant.
14816         (getopt): Use it, so to preserve glibc semantic
14817         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
14818         when compiling for libc.
14819         * lib/getopt_.h (__getopt_argv_const): Bring it back.
14820         (getopt_long, getopt_long_only): Use it.
14821
14822         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
14823         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
14824         (getopt): Argv is now char * const *, as per standard.
14825         (_getopt_internal_r, _getopt_internal): Argv is now char **,
14826         not char *__getopt_argv_const *.
14827         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
14828         _getopt_long_only_r): Likewise.
14829         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
14830         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
14831         _getopt_long_r, _getopt_long_only_r): Likewise.
14832         * lib/getopt_.h (__getopt_argv_const): Remove.
14833         (getopt): Argv is now char * const *, as per standard.
14834
14835         * lib/getdate.y (tORDINAL): New token.
14836         (day, relunit): Allow it for relative times.
14837         (relative_time_table): Use tORDINAL for ordinals.
14838
14839 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14840
14841         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
14842         Document that "second" isn't allowed as an ordinal number.
14843
14844 2004-11-16  Jim Meyering  <jim@meyering.net>
14845
14846         * modules/closeout (Depends-on): Add fpending.
14847
14848 2004-11-15  Jim Meyering  <jim@meyering.net>
14849
14850         * lib/closeout.c: Include "__fpending.h" once again.
14851         Include <stdbool.h>.
14852         (close_stdout): Don't fail just because stdout was closed initially,
14853         since some programs don't write to stdout in the normal course of
14854         operation (other than --version and --help), and we don't want this
14855         function to make e.g. `touch file >&-' fail.
14856         But do fail if it was closed and someone has tried to write to it.
14857         E.g., `printf foo >&-' must fail.
14858
14859 2004-11-13  Jim Meyering  <jim@meyering.net>
14860
14861         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
14862
14863 2004-11-12  Simon Josefsson  <jas@extundo.com>
14864
14865         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
14866         small doc fix is still pending.
14867
14868 2004-11-11  Simon Josefsson  <jas@extundo.com>
14869
14870         * modules/strtok_r: New file.
14871
14872         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14873         strtok_r.
14874
14875 2004-11-11  Simon Josefsson  <jas@extundo.com>
14876
14877         * m4/strtok_r.m4: New file.
14878
14879         * m4/getopt.m4: Replace opterr.
14880
14881 2004-11-11  Simon Josefsson  <jas@extundo.com>
14882
14883         * lib/strtok_r.h, strtok_r.c: New file.
14884
14885 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
14886
14887         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
14888         of replacing opterr, getopt, etc.  This should handle the
14889         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
14890
14891 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
14892
14893         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
14894         we can stop lying to compilers about the constness of argv when we
14895         are compiled outside glibc.
14896         (getopt, getopt_long, getopt_long_only): Use it.
14897         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
14898         _getopt_internal, getopt): Likewise.
14899         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
14900         _getopt_long_only_r): Likewise.
14901         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
14902         _getopt_long_r, _getopt_long_only_r): Likewise.
14903
14904         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
14905         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
14906         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
14907         the other external symbols.
14908         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
14909         declaration, since the above renaming now works around collisions.
14910
14911 2004-11-11  Jim Meyering  <jim@meyering.net>
14912
14913         * lib/linebreak.c: Remove trailing blanks.
14914         * lib/alloca_.h: Likewise.
14915         * lib/acosl.c: Likewise.
14916         * lib/euidaccess.c: Likewise.
14917         * lib/allocsa.h: Likewise.
14918
14919 2004-11-10  Simon Josefsson  <jas@extundo.com>
14920
14921         * m4/getaddrinfo.m4: New file.
14922
14923 2004-11-10  Simon Josefsson  <jas@extundo.com>
14924
14925         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
14926
14927 2004-11-10  Simon Josefsson  <jas@extundo.com>
14928
14929         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14930         getaddrinfo.
14931
14932         * modules/getaddrinfo: New file.
14933
14934 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
14935
14936         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
14937
14938 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
14939
14940         * lib/mktime.c (SHR): New macro, which is a portable
14941         substitute for >> that should work even on Crays.
14942         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
14943         Problem reported by Mark D. Baushke in
14944         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
14945         * lib/getdate.y (SHR): Likewise.
14946         (tm_diff): Use it.
14947         * lib/strftime.c (SHR): Likewise.
14948         (tm_diff): Use it.
14949         * lib/quotearg.c (struct quoting_options): Use unsigned int for
14950         quote_these_too, so that right shifts are well defined.  All uses
14951         changed.
14952
14953 2004-11-10  Jim Meyering  <jim@meyering.net>
14954
14955         Ensure that no close failure goes unreported.
14956         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
14957         return early when it seems there's nothing to flush.
14958         Don't include __fpending.h.
14959
14960 2004-11-10  Jim Meyering  <jim@meyering.net>
14961
14962         * modules/closeout (Depends-on): Remove fpending.
14963
14964 2004-11-10  Jim Meyering  <jim@meyering.net>
14965
14966         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
14967
14968 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
14969
14970         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
14971         gl_FUNC_STRFTIME.
14972         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
14973         and AC_REQUIRE when possible, to avoid duplicate checks.
14974         Check for <wchar.h>.
14975
14976 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
14977
14978         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
14979
14980 2004-11-09  Bruno Haible  <bruno@clisp.org>
14981
14982         * m4/sockpfaf.m4: New file.
14983
14984 2004-11-05  Bruno Haible  <bruno@clisp.org>
14985
14986         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
14987         Reported by Mark D. Baushke <mdb@cvshome.org>.
14988
14989 2004-11-04  Bruno Haible  <bruno@clisp.org>
14990
14991         2004-09-11  Bruno Haible  <bruno@clisp.org>
14992                 * allocsa.valgrind: New file.
14993         2004-02-06  Bruno Haible  <bruno@clisp.org>
14994                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
14995                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
14996                 Reported by Christopher Seip <chris.seip@hp.com>.
14997
14998 2004-11-04  Bruno Haible  <bruno@clisp.org>
14999
15000         * modules/allocsa (Files): Add lib/allocsa.valgrind.
15001         (Makefile.am): Distribute it.
15002
15003 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
15004
15005         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
15006         with errno == ERANGE if the buffer is too small.
15007         Problem reported by Mark D. Baushke.
15008
15009 2004-11-03  Albert Chin  <china@thewrittenword.com>
15010             Paul Eggert  <eggert@cs.ucla.edu>
15011
15012         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
15013         equivalent, substitute $ac_type for equivalent type rather than
15014         blindly using uint32_t *always* which won't work if uint32_t is not
15015         available.  Define _UINT32_T to work around typedef of uint32_t if
15016         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
15017         2.5.1.
15018
15019 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15020
15021         * m4/jm-macros.m4: Sync from coreutils.
15022         (gl_MACROS): Check for mbrlen, for pathchk.
15023         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
15024
15025 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15026
15027         * lib/xreadlink.c (MAXSIZE): New macro.
15028         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
15029         size does not exceed MAXSIZE.  Avoid cast.
15030         As suggested by Mark D. Baushke in
15031         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
15032         if readlink fails with buffer size just under MAXSIZE, try again
15033         with MAXSIZE.
15034
15035 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15036
15037         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
15038
15039 2004-11-02  Derek R. Price  <derek@ximbiot.com>
15040         and  Paul Eggert  <eggert@cs.ucla.edu>
15041
15042         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
15043         (get_date): Overparenthesize to avoid GCC warning.
15044
15045 2004-11-02  Bruno Haible  <bruno@clisp.org>
15046
15047         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
15048         returns void.
15049
15050 2004-11-02  Bruno Haible  <bruno@clisp.org>
15051
15052         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
15053         function returns void.
15054
15055 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
15056
15057         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
15058         fflush_unlocked, flockfile, funlockfile, funlockfile,
15059         fputs_unlocked, putc_unlocked.
15060
15061 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
15062
15063         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
15064         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
15065         already declared.
15066
15067 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15068
15069         * modules/getdate (Files): Add doc/getdate.texi.
15070         (Depends-on): Add setenv, xalloc.
15071
15072 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15073
15074         * lib/getdate.y: Add support for TZ="foo" within a date string.
15075         Fix some bugs near time_t boundaries.  Reject dates with
15076         out-of-range components, e.g., "Sept 31".
15077         Include <stdlib.h>, "setenv.h", "xalloc.h".
15078         (ISDIGIT_LOCALE): Remove; unused.
15079         Note that the TZ and time functions used here are not reentrant.
15080         (mktime_ok, get_tz): New functions.
15081         (TZBUFSIZE): New constant.
15082         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
15083         This requires that we sometimes generate our own TZ="XXX..." setting.
15084
15085 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15086
15087         * doc/getdate.texi: New file, from coreutils with modifications for
15088         the new TZ parsing.
15089
15090 2004-10-27  Derek R. Price  <derek@ximbiot.com>
15091
15092         * lib/mktime.c (not_equal_tm): Remove redundant check.
15093
15094 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
15095
15096         * modules/regex (lib_SOURCES): Add regex.c.
15097         Reported by James Youngman in
15098         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
15099
15100 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
15101
15102         * lib/getdate.y: Use Bison 1.875 features, and some minor
15103         code cleanups.  This change does not affect semantics.
15104         Don't include <stdlib.h>; no longer needed.
15105         Don't include unlocked-io.h; only the "#if TEST" code uses
15106         stdio, and performance isn't crucial there.
15107         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
15108         Bison 1.875 features as described below.
15109         All uses of "PC." replaced by "pc->".
15110         (YYSTYPE): Add a forward declaration.
15111         (yylex, yyerror): Use full prototypes in forward decls.
15112         Use "%pure-parser" rather than obsolescent "%pure_parser".
15113         Use %parse-param and %lex-param instead of obsolescent
15114         YYPARSE_PARAM and YYLEX_PARAM.
15115         (meridian_table, month_and_day_table, time_units_table,
15116         relative_time_table, time_zone_table, military_table,
15117         lookup_zone, lookup_word, get_date):
15118         Use NULL instead of 0 where appropriate.
15119         (to_hour): Avoid abort (), to avoid a dependency on
15120         stdlib.h.
15121         (yyerror, yylex): Now accepts parser_control * arg.
15122         (main) [TEST]: Use '\0' rather than 0 for char.
15123
15124 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
15125
15126         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
15127
15128 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
15129
15130         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
15131         It's now the caller's responsibility to handle the case where
15132         !HAVE_GETPAGESIZE && !defined getpagesize.
15133
15134         * lib/mktime.c (leapyear): Arg is long int, not int.
15135
15136 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
15137
15138         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
15139
15140 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
15141
15142         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
15143         missing.  Problem reported by James Youngman.
15144
15145 2004-10-16  Simon Josefsson  <jas@extundo.com>
15146
15147         * gnulib-tool: Fix comments.  Fix parse problem.
15148         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
15149
15150 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
15151
15152         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
15153         implementation of getopt_long.  Problem reported by Alexander Taler in:
15154         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
15155
15156 2004-10-15  Bruno Haible  <bruno@clisp.org>
15157
15158         * gnulib-tool: Untabify. Initialize supplied_libname.
15159         (func_usage): More homogenous output.
15160         (func_modules_transitive_closure, func_modules_to_filelist,
15161         func_emit_lib_Makefile_am): New functions.
15162         (func_import): New function, extracted from big case statement. Use
15163         func_get_license, func_modules_transitive_closure,
15164         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
15165         opt_lgpl. Don't use test -a, as it's not portable.
15166         (func_create_testdir): Use func_modules_transitive_closure,
15167         func_modules_to_filelist, func_emit_lib_Makefile_am.
15168
15169 2004-10-15  Bruno Haible  <bruno@clisp.org>
15170
15171         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
15172
15173 2004-10-15  Bruno Haible  <bruno@clisp.org>
15174
15175         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
15176         the portions belonging to each module.
15177         Suggested by Derek Robert Price <derek@ximbiot.com>.
15178
15179 2004-10-12  Simon Josefsson  <jas@extundo.com>
15180
15181         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
15182         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
15183         to real functions.
15184
15185 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15186
15187         * modules/vsnprintf: New file.
15188
15189 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15190
15191         * m4/vsnprintf.m4: New file.
15192
15193 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15194
15195         * lib/vsnprintf.h: New file.
15196         * lib/vsnprintf.c: New file.
15197
15198 2004-10-11  Bruno Haible  <bruno@clisp.org>
15199
15200         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
15201         vsnprintf.
15202
15203 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
15204
15205         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
15206
15207 2004-10-07  Bruno Haible  <bruno@clisp.org>
15208
15209         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
15210         fits into the provided buffer.
15211
15212 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
15213
15214         * lib/diacrit.c, diacrit.h: Add GPL notice.
15215
15216         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
15217         notice.
15218         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
15219         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
15220         This avoids a potential constant-folding bug.
15221
15222 2004-10-05  Bruno Haible  <bruno@clisp.org>
15223
15224         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
15225         for the declaration of strsep.
15226
15227 2004-10-05  Bruno Haible  <bruno@clisp.org>
15228
15229         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
15230
15231 2004-10-04  Simon Josefsson  <jas@extundo.com>
15232
15233         * modules/memmem: New file.
15234         * tests/test-memmem.c: New file.
15235         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
15236
15237 2004-10-04  Simon Josefsson  <jas@extundo.com>
15238
15239         * m4/memmem.m4: New file.
15240
15241 2004-10-04  Simon Josefsson  <jas@extundo.com>
15242
15243         * lib/memmem.h: New file.
15244         * lib/memmem.c: New file, taken from glibc.
15245
15246 2004-10-04  Simon Josefsson  <jas@extundo.com>
15247
15248         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
15249         '#ifdef USE_UNLOCKED_IO'.
15250
15251 2004-10-04  Simon Josefsson  <jas@extundo.com>
15252
15253         * config/srclist.txt: Add memmem from glibc.
15254
15255 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15256
15257         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
15258
15259         * modules/argmatch, modules/argp, modules/closeout, modules/error,
15260         modules/exclude, modules/getdate, modules/getline,
15261         modules/getndelim2, modules/getpass, modules/getpass-gnu,
15262         modules/getusershell, modules/linebuffer, modules/md5,
15263         modules/mountlist, modules/posixtm, modules/readtokens,
15264         modules/readutmp, modules/regex, modules/sha1,
15265         modules/version-etc, modules/yesno:
15266         Remove dependency on unlocked-io.
15267
15268 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15269
15270         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
15271
15272         * m4/unlocked-io.m4: Add copyright notice.
15273         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
15274
15275 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15276
15277         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
15278         * lib/xmalloc.c (xmemdup): Likewise.
15279         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
15280         XFREE): Remove these long-obsolescent macros.
15281         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
15282         * lib/xstrdup.c: Remove.
15283
15284         * lib/regex.c (re_comp): Cast gettext return value to char *,
15285         Problem reported by Martin Neitzel via Mark D. Baushke.
15286
15287 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15288
15289         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
15290         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
15291         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
15292         regex.c, sha1.c, version-etc.c, yesno.c:
15293         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
15294         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
15295         the includer's responsibility.
15296
15297         Sync from coreutils.
15298
15299         * lib/modechange.c (mode_compile): Don't decrement a pointer that
15300         points to the start of a string, as the C Standard says the
15301         resulting behavior is undefined.
15302
15303         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
15304         simple -> simple_backups, numbered_existing ->
15305         numbered_existing_backups, numbered -> numbered_backups
15306         to avoid shadowing problems.  All uses changed.
15307         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
15308         * lib/backupfile.c (check_extension, numbered_backup):
15309         Rename locals to avoid shadowing 'basename'.
15310         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
15311         once.
15312
15313         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
15314         * lib/.cvsignore: Add getopt.h.
15315
15316 2004-10-04  Bruno Haible  <bruno@clisp.org>
15317
15318         * modules/README: New file.
15319         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
15320         not a module.
15321
15322 2004-10-02  Jim Meyering  <jim@meyering.net>
15323
15324         * lib/dirfd.h, getpagesize.h: Add copyright notice.
15325
15326 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15327
15328         * modules/strsep: New file.
15329
15330 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15331
15332         * m4/strsep.m4: New file.
15333
15334 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15335
15336         * lib/strsep.h: New file.
15337         * lib/strsep.c: New file.
15338
15339 2004-10-01  Simon Josefsson  <jas@extundo.com>
15340
15341         * lib/snprintf.c (snprintf): Handle size==0.
15342
15343 2004-10-01  Simon Josefsson  <jas@extundo.com>
15344             Bruno Haible  <bruno@clisp.org>
15345
15346         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
15347         (snprintf): Declare 'args'.
15348
15349 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
15350
15351         * lib/snprintf.c: Remove comments as to why each header is needed.
15352
15353 2004-10-01  Bruno Haible  <bruno@clisp.org>
15354
15355         * MODULES.html.sh: Add strsep.
15356
15357 2004-09-30  Simon Josefsson  <jas@extundo.com>
15358
15359         * modules/snprintf: New file.
15360
15361 2004-09-30  Simon Josefsson  <jas@extundo.com>
15362
15363         * m4/snprintf.m4: New file.
15364
15365 2004-09-30  Simon Josefsson  <jas@extundo.com>
15366
15367         * lib/snprintf.h, lib/snprintf.c: New files.
15368
15369 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15370
15371         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
15372         (hol_entry_help): Never translate an empty string.
15373         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
15374         * lib/argp.h (OPTION_NO_TRANS): New option.
15375
15376 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15377
15378         * modules/argp (Maintainer): Replace Simon Josefsson
15379         by Sergey Poznyakoff.
15380
15381 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15382
15383         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
15384         changes merged back into glibc.
15385
15386 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15387
15388         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
15389
15390 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
15391
15392         * lib/xvasprintf.c: Include xalloc.h.
15393         (xvasprintf): Use xalloc_die, not xmalloc_die.
15394
15395 2004-09-29  Bruno Haible  <bruno@clisp.org>
15396
15397         * modules/alloca-opt: New file, derived from modules/alloca.
15398         * modules/allocsa: Depend on alloca-opt instead of alloca.
15399         * modules/setenv: Likewise.
15400         * modules/vasnprintf: Likewise.
15401         * MODULES.html.sh: Add alloca-opt.
15402
15403 2004-09-28  Simon Josefsson  <jas@extundo.com>
15404
15405         * gnulib-tool: New parameter --lgpl, to asseert that modules are
15406         LGPL, and to replace license template from GPL to LGPL.
15407
15408 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
15409
15410         * modules/dummy: Change license to LGPL.
15411
15412 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
15413
15414         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
15415
15416 2004-09-24  Simon Josefsson  <jas@extundo.com>
15417
15418         * modules/minmax (License): Change from GPL to LGPL.
15419
15420 2004-09-23  Simon Josefsson  <jas@extundo.com>
15421
15422         * gnulib-tool (--import): Typo.
15423
15424 2004-09-23  Simon Josefsson  <jas@extundo.com>
15425
15426         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
15427
15428 2004-09-22  Bruno Haible  <bruno@clisp.org>
15429
15430         * modules/*: Add 'License' field.
15431         * gnulib-tool: Accept --extract-license option.
15432         (func_get_license): New function.
15433
15434 2004-09-21  Bruno Haible  <bruno@clisp.org>
15435
15436         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
15437         Reported by Simon Josefsson.
15438
15439 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15440
15441         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
15442         gl_AC_TYPE_LONG_LONG.
15443
15444 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15445
15446         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
15447
15448 2004-09-18  Simon Josefsson  <jas@extundo.com>
15449         and  Paul Eggert  <eggert@cs.ucla.edu>
15450
15451         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
15452         calls with autoreconf.  Define GL_LIB.
15453
15454 2004-09-14  Karl Berry  <karl@gnu.org>
15455
15456         * config/srclist.txt: unsync setenv.c, sigh.
15457
15458 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15459
15460         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
15461         Problem reported by Bruno Haible in:
15462         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
15463
15464 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15465
15466         * config/srclist.txt: Comment out argp-pvh.c.
15467
15468 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
15469
15470         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
15471         in case some system header has #define'd it.  Problem reported by
15472         Soeren D. Schulze in
15473         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
15474
15475 2004-09-09  Karl Berry  <karl@gnu.org>
15476
15477         * regex.[ch]: delete from the root.  These were supposed to be
15478                 synced with emacs cvs, but this has not happened for about
15479                 a year, and anyway nothing else uses emacs regex.[ch].
15480                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
15481                 lib/regex[.ch] is untouched.
15482
15483 2004-09-09  Bruno Haible  <bruno@clisp.org>
15484
15485         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
15486
15487 2004-09-09  Bruno Haible  <bruno@clisp.org>
15488
15489         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
15490         modifications.
15491         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
15492
15493 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
15494
15495         * modules/xvasprintf: New file.
15496         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
15497
15498 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
15499
15500         * lib/xvasprintf.h: New file.
15501         * lib/xvasprintf.c: New file.
15502         * lib/xasprintf.c: New file.
15503
15504 2004-09-08  Bruno Haible  <bruno@clisp.org>
15505
15506         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
15507
15508 2004-09-08  Bruno Haible  <bruno@clisp.org>
15509
15510         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
15511         length is > INT_MAX.
15512         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
15513         more.
15514
15515 2004-09-08  Bruno Haible  <bruno@clisp.org>
15516
15517         * lib/stdint_.h: New file, taken from GNU clisp.
15518
15519 2004-09-08  Bruno Haible  <bruno@clisp.org>
15520             Oskar Liljeblad  <oskar@osk.mine.nu>
15521
15522         * modules/stdint: New file.
15523         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
15524
15525 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15526
15527         Import from coreutils.
15528         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
15529         strings on unbounded length.  alloca's performance benefits aren't
15530         that important here.
15531         (V_STRDUP): Remove.
15532         (parse_with_separator): New function, with most of the internals
15533         of the old parse_user_spec.  Allow user to omit both user and group,
15534         for compatibility with FreeBSD.
15535         Clone only the user name, not the entire spec.
15536         Do not set *uid, *gid unless entirely successful.
15537         Avoid memory leak in some failing cases.
15538         Fix regression for USER.GROUP reported by Dmitry V. Levin in
15539         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
15540         (parse_user_spec): Rewrite to use parse_with_separator.
15541
15542 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15543
15544         * modules/userspec: Don't depend on alloca.
15545
15546 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15547
15548         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
15549
15550 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
15551
15552         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
15553         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
15554         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
15555
15556 2004-08-16  Simon Josefsson  <jas@extundo.com>
15557
15558         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
15559         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
15560         Add --dry-run for --import.
15561         Let user provided command line parameters override configure.ac
15562         settings.
15563
15564 2004-08-12  Simon Josefsson  <jas@extundo.com>
15565
15566         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
15567         as discussed with Paul Eggert in threads rooted at
15568         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
15569         and
15570         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
15571         Before, the test was empty, and relied on ELIDE_CODE in source
15572         code.)
15573         (gl_PREREQ_GETOPT): New macro.
15574         (gl_GETOPT): Use them.
15575
15576 2004-08-12  Simon Josefsson  <jas@extundo.com>
15577
15578         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
15579         * lib/getopt_.h: Renamed from getopt.h.
15580
15581 2004-08-12  Simon Josefsson  <jas@extundo.com>
15582
15583         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
15584         Change default library name from libfoo to libgnu.
15585         Now, if you have a configure.ac that says:
15586                 gl_SOURCE_BASE(gl)
15587                 gl_M4_BASE(gl/m4)
15588                 gl_MODULES(error getopt etcetera)
15589                 gl_INIT
15590         you can import all you need by running:
15591                 ../gnulib/gnulib-tool --import
15592
15593         * modules/getopt (Files): Rename getopt.h to getopt_.h.
15594         (Makefile.am): Rewrite, use logic from argz.
15595         (Include): Use <getopt.h> instead of "getopt.h".
15596
15597 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15598
15599         * modules/argp (Files): Add m4/unlocked-io.m4.
15600         (Depends-on): Add extensions.
15601
15602 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15603
15604         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
15605         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
15606         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
15607         Check for program_invocation_name, program_invocation_short_name,
15608         flockfile, funlockfile, features.h, _getopt_long_only_r.
15609
15610 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15611
15612         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
15613         its complicated substitute.
15614         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
15615         and program_invocation_name.
15616         (__argp_basename) [!_LIBC]: Remove; the only use was
15617         replaced by its body.
15618         (__argp_short_program_name): Change condition from
15619         !defined __argp_short_program_name to
15620         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
15621         to match argp-namefrob.h.
15622         (__argp_failure): Don't assume strerror_r returns char *.
15623         * lib/argp-parse.c (N_): Define unconditionally.
15624         (argp_default_options): Fill out initializers with 0 to avoid
15625         gcc warnings.
15626
15627 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15628
15629         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
15630         getopt1.c.
15631
15632 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15633
15634         Merge from coreutils.
15635
15636         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
15637
15638         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
15639         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
15640
15641 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15642
15643         Merge from coreutils.
15644
15645         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
15646         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
15647         for Reliant Unix 5.43.
15648
15649         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
15650         (union fooround): Use uintmax_t, not long int.
15651         The rest is a merge from libc:
15652         [defined _LIBC]: Include <shlib-compat.h>.
15653         (_obstack) [defined _LIBC]: Remove after 2.3.4.
15654
15655         * lib/settime.c (settime): Recode to avoid warning with
15656         Sun Forte C 6U2.
15657
15658         * lib/strverscmp.c: Convert to UTF-8.
15659
15660 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15661
15662         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
15663         m4/uintmax_t.m4.
15664
15665 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15666
15667         * modules/xalloc-die: New file.
15668         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
15669
15670         * modules/md5 (Files): Add m4/uint32_t.m4.
15671         * modules/sha1: Renamed from modules/sha.
15672         (Files):
15673         Rename lib/sha.h to lib/sha1.h.
15674         Rename lib/sha.c to lib/sha1.c.
15675         Rename m4/sha.m4 to m4/sha1.m4.
15676         (lib_SOURCES): Likewise.
15677         (configure.ac): Rename gl_SHA to gl_SHA1.
15678         (Include): sha.h -> sha1.h.
15679
15680 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15681
15682         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
15683         * m4/sha1.m4: Renamed from sha.m4.
15684         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
15685
15686 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15687
15688         * lib/obstack.h (obstack_empty_p):
15689         Don't assume that chunk->contents is suitably aligned.
15690         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
15691         Likewise. Problem reported by Benno in
15692         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
15693
15694         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
15695         readable.  This could be improved further but it'd take some work.
15696
15697 2004-08-08  Simon Josefsson  <jas@extundo.com>
15698
15699         * modules/xgethostname (Depends-on): Remove exit and error (not
15700         used).
15701
15702         * modules/getpass-gnu: Add getpass.h.
15703         (Depends-on): Add stdbool.
15704         * modules/getpass: Add getpass.h.
15705
15706 2004-08-08  Simon Josefsson  <jas@extundo.com>
15707
15708         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
15709         Check getpass declaration.
15710
15711 2004-08-08  Simon Josefsson  <jas@extundo.com>
15712
15713         * lib/xgethostname.c: Don't include error.h (not used).
15714
15715         * lib/getpass.h: Add.
15716         * lib/getpass.c: Include getpass.h first.
15717
15718 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
15719
15720         * lib/xalloc-die.c: New file.
15721         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
15722         All uses removed.
15723         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
15724         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
15725         xalloc-die.c.
15726         (_, N_, xalloc_die): Move to xalloc-die.c.
15727         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
15728         so that we needn't mess with xalloc_msg_memory_exhausted.
15729
15730         * lib/sha1.h: Renamed from sha.h.
15731         (SHA1_H): Renamed from _SHA_H.
15732         (sha1_ctx): Renamed from sha_ctx.
15733         (sha1_init_ctx): Renamed from sha_init_ctx.
15734         (sha1_process_block): Renamed from sha_process_block.
15735         (sha1_process_bytes): Renamed from sha_process_bytes.
15736         (sha1_finish_ctx): Renamed from sha_finish_ctx.
15737         (sha1_read_ctx): Renamed from sha_read_ctx.
15738         (sha1_stream): Renamed from sha_stream.
15739         (sha1_buffer): Renamed from sha_buffer.
15740         * lib/sha1.c: Likewise; renamed from sha.c.
15741         Do not include <sys/types.h>.
15742         Include <stddef.h> rather than <stdlib.h>.
15743
15744 2004-08-08  Bruno Haible  <bruno@clisp.org>
15745
15746         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
15747         FILESYSTEM_PREFIX_LEN.
15748         * lib/progreloc.c: Likewise.
15749         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
15750
15751 2004-08-06  Simon Josefsson  <jas@extundo.com>
15752
15753         * modules/progname (Depends-on): Don't depend on stdbool.
15754
15755 2004-08-06  Simon Josefsson  <jas@extundo.com>
15756
15757         * modules/getsubopt: New file.
15758         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15759         getsubopt.
15760
15761 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
15762
15763         More merge from coreutils.
15764
15765         * m4/utimens.m4, m4/utimecmp.m4: New files.
15766         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
15767         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
15768         prereq.m4, sha.m4: Import changes from coreutils.
15769
15770 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
15771
15772         More merge from coreutils.
15773         * modules/raise, modules/readtokens0, modules/utimens:
15774         * modules/utimecmp, module/xnanosleep: New files.
15775         * modules/strftime: Add lib/strftime.h.
15776         Change include from <time.h> to "strftime.h".
15777         * modules/yesno: Add lib/yesno.h.
15778         * modules/backupfile: Remove lib/addext.c.
15779         * modules/euidaccess: Add stat-macros.h.
15780         * modules/canonicalize, modules/euidaccess,
15781         modules/filemode, modules/lchown, modules/makepath,
15782         modules/rmdir, modules/stat: Likewise.
15783
15784 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
15785
15786         Merge from tar.
15787         * lib/argp-help.c (make_hol, hol_append): Don't assume that
15788         SIZE_MAX is a valid preprocessor constant.
15789         (__argp_basename): Change from "#ifndef _LIBC"
15790         to "#ifndef __argp_short_program_name", so that
15791         we don't compile these functions for tar.
15792
15793         More merges from coreutils.
15794         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
15795         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
15796         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
15797         * lib/addext.c: Remove; no longer needed.
15798         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
15799         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
15800         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
15801         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
15802         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
15803         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
15804         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
15805         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
15806         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
15807         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
15808         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
15809         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
15810         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
15811         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
15812         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
15813         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
15814         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
15815         Import changes from coreutils.
15816
15817 2004-08-05  Simon Josefsson  <jas@extundo.com>
15818
15819         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
15820
15821 2004-08-05  Simon Josefsson  <jas@extundo.com>
15822
15823         * m4/getsubopt.m4: New file.
15824
15825 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15826
15827         Merge from coreutils.
15828
15829         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
15830         * m4/getcwd-path-max.m4: New files.
15831
15832         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
15833         FILESYSTEM_PREFIX_LEN ->
15834         FILE_SYSTEM_PREFIX_LEN.
15835         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
15836         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
15837         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
15838         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
15839
15840         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
15841         prerequisite modules now handle the DOS stuff.
15842         Don't check for unistd.h.
15843
15844 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15845
15846         Merge from coreutils.
15847
15848         * lib/.gdb-history: Remove; this doesn't belong here.
15849
15850         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
15851         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
15852         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
15853         * lib/getcwd.c: New files.
15854
15855         * lib/dirname.h: Include <stdbool.h>.
15856         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
15857         for consistency with POSIX terminology.  All uses changed.
15858         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
15859         (strip_trailing_slashes): Use bool for booleans.
15860         * lib/stripslash.c (strip_trailing_slashes): Likewise.
15861
15862         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
15863         sometimes returns a positive errno value even when it succeeds.
15864         (print_errno_message) [!LIBC]: Fall back on strerror if
15865         __strerror_r fails.
15866
15867         * lib/path-concat.c (mempcpy): Don't define if a system header defines
15868         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
15869         (longest_relative_suffix): New function.
15870         (path_concat): Use it.  Assume first argument is not NULL.
15871         Port to DOS.  Omit redundant separators.
15872         Report an error instead of returning NULL.
15873         Use mempcpy instead of memcpy.
15874         (xpath_concat): Remove: not declared or used.
15875
15876         * lib/same.h: Include <stdbool.h>
15877         (same_name): Return bool, not int.
15878         * lib/same.c (same_name): Likewise.
15879         (errno): Don't declare; we assume C89 or better now.
15880
15881         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
15882         if not already defined.
15883
15884         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
15885         * lib/dup-safer.c (errno): Likewise.
15886
15887 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15888
15889         Merge from coreutils.
15890         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
15891         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
15892         * modules/path-concat: Don't depend on strdup.
15893
15894 2004-08-03  Simon Josefsson  <jas@extundo.com>
15895
15896         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
15897         * lib/progname.h: Don't include stdbool.h.
15898
15899 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
15900
15901         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
15902         * MODULES.html.sh (func_all_modules): Remove fatal.
15903
15904 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
15905
15906         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
15907
15908 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
15909
15910         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
15911         working.
15912
15913 2004-08-02  Simon Josefsson  <jas@extundo.com>
15914
15915         * lib/getsubopt.h: New file, with comments from Bruno Haible.
15916         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
15917         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
15918
15919 2004-08-01  Simon Josefsson  <jas@extundo.com>
15920
15921         * lib/xgetdomainname.c: Include stdlib.h, for free().
15922
15923 2004-07-19  Bruno Haible  <bruno@clisp.org>
15924
15925         * MODULES.html.sh (func_all_modules): Add dummy.
15926
15927 2004-07-16  Simon Josefsson  <jas@extundo.com>
15928
15929         * modules/dummy: New file.
15930
15931 2004-07-16  Simon Josefsson  <jas@extundo.com>
15932
15933         * lib/dummy.c: New file.
15934
15935 2004-07-16  Bruno Haible  <bruno@clisp.org>
15936
15937         * lib/backupfile.h: Add extern "C" for C++.
15938         * lib/closeout.h: Likewise.
15939         * lib/copy-file.h: Likewise.
15940         * lib/findprog.h: Likewise.
15941         * lib/full-write.h: Likewise.
15942         * lib/pathname.h: Likewise.
15943         * lib/progname.h: Likewise.
15944         * lib/stpcpy.h: Likewise.
15945         * lib/stpncpy.h: Likewise.
15946         * lib/strcase.h: Likewise.
15947         * lib/strstr.h: Likewise.
15948         * lib/xalloc.h: Likewise.
15949
15950         * lib/mbswidth.h: Add extern "C" for C++.
15951         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
15952
15953 2004-07-13  Robert Millan  <robertmh@gnu.org>
15954
15955         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
15956
15957 2004-07-09  Simon Josefsson  <jas@extundo.com>
15958
15959         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
15960         failed without this.)
15961
15962 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15963
15964         * modules/chown (Files): Add lib/fchown-stub.c, since
15965         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
15966
15967 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15968
15969         * lib/fchown-stub.c: New file.
15970
15971 2004-06-24  Jim Meyering  <jim@meyering.net>
15972
15973         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
15974
15975 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15976
15977         * modules/argz: Omit "#include".
15978
15979         * MODULES.html.sh (func_all_modules): Add calloc, to match
15980         2004-06-01 addition of calloc module.
15981
15982 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15983
15984         * m4/argz.m4: New file, which is autoupdated from libtool.
15985
15986 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15987
15988         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
15989         libtool.
15990
15991 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15992
15993         * config/srclist-update: Don't insist on "USA." before the
15994         close-comment, as libtool omits the period and puts the */ on a
15995         separate line.
15996         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
15997         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
15998
15999 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
16000
16001         * modules/argz: New file.
16002         * MODULES.html.sh (func_all_modules): Add argz.
16003
16004 2004-06-12  Jim Meyering  <jim@meyering.net>
16005         and  Paul Eggert  <eggert@cs.ucla.edu>
16006
16007         * modules/hash (Files): Add lib/xalloc.h.
16008         * modules/pipe (Depends-on): Add wait-process.
16009         * modules/stat (Depends-on): Add xalloc.
16010         * modules/userspec (Files): Add lib/userspec.h.
16011         * modules/xstrto
16012
16013         Upgrade from gettext-0.13.
16014         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
16015         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
16016         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
16017
16018 2004-06-10  Jim Meyering  <jim@meyering.net>
16019
16020         * lib/calloc.c: New file.
16021
16022 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
16023
16024         * lib/getdate.y (yylex): Allow space between sign and number.
16025         Problem reported by Dan Jacobson.
16026
16027 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
16028
16029         Merge from coreutils CVS.
16030
16031         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
16032         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
16033         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
16034         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
16035         xstrtol.m4: Fix copyright date and/or serial number.
16036
16037         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
16038         See if we need an fchown replacement.
16039         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
16040         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
16041         and use the replacement function if we detect either defect.
16042
16043         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
16044         gl_UTIMECMP.
16045
16046 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
16047         and  Jim Meyering  <jim@meyering.net>
16048
16049         Merge from coreutils CVS.
16050
16051         * lib/stat-macros.h: New file, with contents from file-type.h
16052         and coreutils' system.h.
16053         * lib/file-type.c: Include "stat-macros.h".
16054         * lib/file-type.h (file_type): Move all macro definitions to new file,
16055         stat-macros.h.
16056
16057         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
16058         Wrap old code with this conditional.
16059         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
16060         function that does not dereference symlinks.
16061         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
16062
16063         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
16064         dependency problems.
16065         (xreadlink): Accept new arg SIZE, for efficiency.
16066         All decls and uses changed.
16067         * lib/xreadlink.h: Include <stddef.h>, for size_t.
16068
16069         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
16070         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
16071
16072         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
16073         sysexits.h.
16074
16075 2004-06-01  Jim Meyering  <jim@meyering.net>
16076
16077         * m4/calloc.m4: New file.
16078
16079 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
16080
16081         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
16082         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
16083         Also, fix a typo in a diagnostic.
16084
16085 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
16086
16087         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
16088         or AC_FUNC_REALLOC.
16089
16090 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
16091
16092         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
16093         macros to be defined.
16094         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
16095         the allocator returns NULL because the requested size is zero.
16096
16097 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16098
16099         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
16100         var.  Add comment explaining why libc still defines it.  This
16101         merges the following patch from glibc:
16102         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
16103
16104 2004-05-20  Andreas Schwab  <schwab@suse.de>
16105
16106         * m4/free.m4: Replace free if it not known to work, not the other
16107         way round.
16108
16109 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16110
16111         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
16112         present in glibc since revision 1.1 of this file.
16113         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
16114         obstack_alignment_mask, obstack_alloc, obstack_base,
16115         obstack_blank, obstack_blank_fast, obstack_chunk_size,
16116         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
16117         obstack_grow0, obstack_init, obstack_int_grow,
16118         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
16119         obstack_next_free, obstack_object_size, obstack_ptr_grow,
16120         obstack_ptr_grow_fast, obstack_room): Remove declarations of
16121         nonexistent functions.
16122
16123 2004-05-18  Karl Berry  <karl@gnu.org>
16124
16125         * config/srclist.txt: break link for vasnprintf.c.
16126
16127 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
16128
16129         Port obstack to the AS/400, where pointers are 16 bytes wide and
16130         you cannot cast an integer to a valid pointer.  This patch is
16131         currently waiting to be integrated into glibc; see
16132         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
16133
16134         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
16135         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
16136         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
16137         (struct obstack): temp member is now a union of a pointer and
16138         an integer, instead of an integer.  All integer uses changed.
16139         This does not affect the physical layout of struct obstack,
16140         except on hosts (like the AS/400) where the size or alignment of
16141         void * is greater than that of ptrdiff_t.
16142         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
16143         __STDC__)]: Store temporary in pointer member of union, not
16144         integer member.
16145         * lib/obstack.c: Include <stddef.h>, for offsetof.
16146         (struct fooalign): Remove; it doesn't need a name.
16147         (union fooround): Change double to long double, and add void *.
16148         (DEFAULT_ALIGNMENT): Use offsetof to compute.
16149         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
16150         not a macro.  Hence the values are always int; so remove all
16151         casts-to-int in uses.
16152
16153 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
16154
16155         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
16156         we can get this patch merged into glibc.
16157
16158 2004-05-17  Derek R. Price  <derek@ximbiot.com>
16159             Paul Eggert  <eggert@cs.ucla.edu>
16160
16161         * m4/argp: Depend on alloca.
16162
16163 2004-05-17  Derek R. Price  <derek@ximbiot.com>
16164             Paul Eggert  <eggert@cs.ucla.edu>
16165
16166         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
16167         freecoding.
16168
16169 2004-05-17  Bruno Haible  <bruno@clisp.org>
16170
16171         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
16172         precision that consists of a '.' followed by an empty digit string.
16173         Patch by Tor Lillqvist <tml@iki.fi>.
16174
16175 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16176
16177         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
16178         for backward compatibility with older code.  We need our own
16179         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
16180         it under some other name, and our alloca.h will define it.
16181
16182 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16183             Derek Price  <derek@ximbiot.com>
16184
16185         * lib/alloca.c: Include <alloca.h>, to get our interface.
16186         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
16187         include <alloca.h> first.  Use C89 prototype for alloca; this
16188         requires including <stddef.h> for size_t.  Use extern "C" if C++.
16189         Use #elif for simplicity, since we can assume C89 now.
16190         Don't try to source the system alloca.h since it will not be found
16191         and to prevent recursively including its replacement.
16192         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
16193         * lib/regex.c: Likewise.
16194
16195 2004-05-16  Derek Price  <derek@ximbiot.com>
16196             Paul Eggert  <eggert@cs.ucla.edu>
16197
16198         getline cleanup.  This changes the getndelim2 API: both order of
16199         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
16200         no delimiter).
16201
16202         * lib/getline.c: Don't include stddef.h or stdio.h, since our
16203         interface does that.
16204         (getline): Always use getdelim, so that we don't have two
16205         copies of this code.
16206         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
16207         if available.
16208         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
16209         (GETNDELIM2_MAXIMUM): New macro.
16210         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
16211         instead of the old practice of delim2==0.  All callers changed.
16212         Return -1 on overflow, instead of returning junk.
16213         Do not set *linesize unless allocation succeeds.
16214         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
16215         that we include sys/types.h.
16216         * lib/getnline.h: Likewise.
16217         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
16218         (getndelim2): Reorder arguments.
16219         * lib/getnline.c (getnline, getndelim):
16220         Don't discard the NMAX argument.
16221         (getnline): Invoke getndelim, to avoid code duplication.
16222         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
16223         of (size_t) -1 by callers of the getnline family.
16224
16225 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16226
16227         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
16228         Check for gettimeofday.
16229         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
16230         Check for settimeofday, stime.
16231
16232 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16233
16234         * lib/nanosleep.c (suspended): Change its type from int to
16235         sig_atomic_t volatile.
16236         (first_call): Make it private to rpl_nanosleep, and have it
16237         be zero initially as that's a bit faster.
16238         (my_usleep): Round up fractional times instead of truncating them,
16239         as this is the usual meaning for 'sleep'.
16240
16241         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
16242         doesn't work.
16243         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
16244         (ENOSYS): Define if not defined.
16245         (settime): Fall back on stime if it exists and settimeofday fails.
16246         But don't bother with fallbacks if a method fails with errno == EPERM.
16247
16248 2004-05-11  Jim Meyering  <jim@meyering.net>
16249
16250         Prior to this change, the save_cwd caller required read access to the
16251         current directory on most systems (ones with the fchdir function).
16252
16253         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
16254         fails, try write-only, and finally, resort to using xgetcwd.
16255
16256 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
16257
16258         * lib/obstack.c, obstack.h: Import changes from libc.
16259
16260 2004-04-28  Bruno Haible  <bruno@clisp.org>
16261
16262         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
16263         also implicitly appends .exe to executables.
16264         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
16265         accepts Windows pathnames.
16266         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
16267         Treat Cygwin like Windows, since it now accepts Windows pathnames.
16268         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
16269         Treat Cygwin like Windows, since it now accepts Windows pathnames.
16270         Reported by Derek Robert Price <derek@ximbiot.com>.
16271
16272 2004-04-21  Karl Berry  <karl@gnu.org>
16273
16274         * config/srclist.txt (localcharset.c): break sync.
16275
16276 2004-04-20  Paul Eggert  <eggert@twinsun.com>
16277
16278         * m4/host-os.m4: Add a copyright notice.
16279
16280 2004-04-20  Jim Meyering  <jim@meyering.net>
16281
16282         Change UTILS_ to gl_ in AC_DEFINE'd names.
16283         Change utils_- and jm_-prefixed variables, too.
16284         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
16285         UTILS_FUNC_MKDIR_TRAILING_SLASH.
16286         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
16287
16288         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
16289         Don't emit trailing blanks.
16290         Also rename jm_-prefixed variables to have gl_ prefix.
16291
16292         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
16293         Also rename jm_-prefixed variables to have gl_ prefix.
16294
16295         * m4/jm-macros.m4: Reflect the renamings.
16296         * m4/prereq.m4: Likewise.
16297
16298 2004-04-20  Jim Meyering  <jim@meyering.net>
16299
16300         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
16301         memory.
16302
16303 2004-04-20  Jim Meyering  <jim@meyering.net>
16304             Bruno Haible  <bruno@clisp.org>
16305
16306         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
16307         memory when realloc fails.
16308
16309 2004-04-19  Jim Meyering  <jim@meyering.net>
16310
16311         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
16312         now that readutmp.c may call `free (0)'.
16313
16314 2004-04-19  Bruno Haible  <bruno@clisp.org>
16315
16316         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
16317         * m4/inttypes_h.m4: Likewise.
16318         * m4/stdint_h.m4: Likewise.
16319         * m4/intmax_t.m4: Likewise.
16320         * m4/uintmax_t.m4: Likewise.
16321
16322 2004-04-18  Jim Meyering  <jim@meyering.net>
16323
16324         * m4/prereq.m4: Don't forbid jm_ prefix.
16325
16326         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
16327         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
16328         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
16329         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
16330         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
16331         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
16332         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
16333         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
16334         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
16335         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
16336         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
16337         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
16338         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
16339         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
16340         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
16341         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
16342         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
16343         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
16344         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
16345
16346 2004-04-18  Jim Meyering  <jim@meyering.net>
16347
16348         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
16349         failure, don't leak memory and do call END_UTMP_ENT.
16350
16351 2004-04-16  Jim Meyering  <jim@meyering.net>
16352
16353         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
16354         coreutils' stat program.
16355         (gl_PREREQ): Don't require jm_PREREQ_STAT.
16356
16357 2004-04-11  Paul Eggert  <eggert@twinsun.com>
16358
16359         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
16360         C89.
16361         (CHAR_BIT): Remove, since we assume C89.
16362         Include <stdint.h> if available, as per current Autoconf CVS advice.
16363
16364 2004-03-31  Jim Meyering  <jim@meyering.net>
16365
16366         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
16367         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
16368         * m4/xalloc.m4: Likewise.
16369
16370 2004-03-30  Paul Eggert  <eggert@twinsun.com>
16371
16372         Merge from coreutils.
16373
16374         * m4/inttostr.m4: New file.
16375         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
16376         Require AM_STDBOOL_H and gl_TIMESPEC instead.
16377         Require gl_CLOCK_TIME.
16378         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
16379
16380 2004-03-30  Paul Eggert  <eggert@twinsun.com>
16381
16382         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
16383         not bool, to be more consistent with Unix conventions.
16384         Suggested by Bruno Haible.
16385
16386         Merge from coreutils.
16387
16388         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
16389         * lib/umaxtostr.c: New files.
16390
16391         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
16392         the usual <time.h> dance.
16393         (get_date): Change signature to support fractional time stamps.
16394         All callers changed.
16395         * lib/getdate.y: Include "getdate.h" first, as we can now
16396         assume C89 and don't need to worry about 'const'.
16397         Similarly, include "unlocked-io.h" near start, not in middle.
16398         Include <limits.h>.
16399         (textint.value): Use long int rather than int.
16400         (textint.digits): Use size_t rather than int.
16401         (BILLION, LOG10_BILLION): New constants.
16402         (parser_control): New member rel_ns.  Members day_ordinal,
16403         time_zone, month, day, hour, minutes, rel_year, rel_month,
16404         rel_day, rel_hour, rel_minutes, rel_seconds
16405         are now long int, not int.  Member seconds is now struct timespec,
16406         not int.  New member timespec_seen.  Members dates_seen, days_seen,
16407         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
16408         not int.
16409         (%union.intval): Now long int, not int.
16410         New member timespec.
16411         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
16412         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
16413         (spec): Now is a timespec or an item list.
16414         (timespec, items): New nonterminals.
16415         (time, rel, relunit, number, get_date):
16416         Add support for fractional seconds.
16417         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
16418         (gmtime, localtime, mktime): Remove decls; not needed with C89.
16419         (to_hour): First arg is now long int, not int.
16420         (to_year): Returns long int, not int.
16421         Don't treat year -70 like 70.
16422         (tm_diff): Returns long int, not int.
16423         (lookup_word): Use bool instead of int when appropriate.
16424         (yylex): Use size_t for count, not int.
16425         Detect overflow when parsing large integer constants.
16426         Add support for fractions.
16427         (get_date): Make pointers 'const' if possible.
16428         Use more-portable code to detect integer overflow.
16429         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
16430         Don't use ctime; it's not reliable if the year has >4 digits.
16431
16432         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
16433         This is for compatibility with BSD.
16434
16435         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
16436         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
16437         From coreutils' system.h.
16438
16439         * lib/userspec.c: Don't include "posixver.h".
16440         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
16441         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
16442         compatible extension.  Simplify code by removing a boolean int
16443         that was always nonzero if a string was nonnull.
16444
16445 2004-03-30  Jim Meyering  <jim@meyering.net>
16446
16447         Merge from coreutils.
16448
16449         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
16450         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
16451         on some systems one must include <grp.h> before it.
16452         Reported by Christian Krackowizer.
16453
16454 2004-03-30  Jim Meyering  <jim@meyering.net>
16455
16456         Merge from coreutils.
16457
16458         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
16459
16460         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
16461         an empty input stream.
16462
16463         * lib/readtokens.c: Include <stdbool.h>.
16464         (readtoken): Use `size_t' rather than int/long.
16465         All callers adjusted.
16466         Use `bool' rather than `int' where appropriate.
16467         Use memset rather than an explicit loop.
16468         Use x2nrealloc rather than xrealloc.
16469         Allow the use of `\0' as a delimiter.
16470         (readtokens): Likewise.
16471         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
16472
16473 2004-03-30  Jim Meyering  <jim@meyering.net>
16474
16475         * m4/realloc.m4: Remove file, since now it does no more than
16476         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
16477         the `configure.ac' section of module/realloc.
16478         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
16479
16480 2004-03-30  Bruno Haible  <bruno@clisp.org>
16481
16482         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
16483         nonnull.
16484
16485 2004-03-29  Paul Eggert  <eggert@twinsun.com>
16486
16487         Merge changes to getloadavg.c from coreutils and Emacs.
16488
16489         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
16490         Define to an expression, not to the empty string.
16491         Include cloexec.h and xalloc.h.
16492         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
16493         Use set_cloexec_flag rather than rolling our own.
16494         * lib/cloexec.c, lib/cloexec.h: New files.
16495
16496 2004-03-29  Paul Eggert  <eggert@twinsun.com>
16497
16498         * m4/cloexec.m4: New file.
16499
16500 2004-03-18  Paul Eggert  <eggert@twinsun.com>
16501
16502         * lib/getopt.h: Sync with libc CVS.
16503
16504 2004-03-18  Paul Eggert  <eggert@twinsun.com>
16505             Bruno Haible  <bruno@clisp.org>
16506
16507         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
16508         mbswidth.
16509
16510 2004-03-18  Paul Eggert  <eggert@twinsun.com>
16511             Bruno Haible  <bruno@clisp.org>
16512
16513         * lib/mbswidth.h: Include <wchar.h> only if
16514         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
16515         <wchar.h>.
16516         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
16517
16518 2004-03-09  Paul Eggert  <eggert@twinsun.com>
16519
16520         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
16521         Sync with libc CVS.
16522         * lib/getopt_int.h: New file, also synced from libc.
16523
16524 2004-03-09  Paul Eggert  <eggert@twinsun.com>
16525
16526         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
16527         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
16528         Bring back getopt.c, getopt.h, getopt1.c.
16529
16530 2004-03-07  Paul Eggert  <eggert@twinsun.com>
16531
16532         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
16533         All uses changed.  Check for sa_sigaction member; this fixes
16534         a bug first reported by Jason Andrade in
16535         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
16536
16537 2004-03-07  Paul Eggert  <eggert@twinsun.com>
16538
16539         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
16540         '#if' expressions.  Unlike the code it replaces, it does not
16541         depend on (defined _SC_PAGESIZE).  However, it does depend on
16542         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
16543         first reported by Jason Andrade in
16544         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
16545
16546 2004-02-25  Simon Josefsson  <jas@extundo.com>
16547
16548         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
16549
16550 2004-02-25  Simon Josefsson  <jas@extundo.com>
16551
16552         * lib/strdup.h: New file.
16553         * lib/strdup.c: Include it.
16554         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
16555         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
16556
16557 2004-02-23  Karl Berry  <karl@gnu.org>
16558
16559         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
16560         (from fencepost.gnu.org:/gd/gnuorg).
16561
16562 2004-02-23  Karl Berry  <karl@gnu.org>
16563
16564         * config/srclistvars.sh (GNUORG) [karl]: redefine.
16565         * config/srclist.txt: add maintain/standards documents.
16566
16567 2004-02-18  Bruno Haible  <bruno@clisp.org>
16568
16569         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
16570         Reported by Derek Robert Price <derek@ximbiot.com>.
16571
16572 2004-02-16  Karl Berry  <karl@gnu.org>
16573
16574         * config/mkinstalldirs, install-sh: update from automake.
16575
16576 2004-02-06  Karl Berry  <karl@gnu.org>
16577
16578         * m4/po.m4: update from gettext 0.14.1.
16579
16580 2004-02-06  Karl Berry  <karl@gnu.org>
16581
16582         * lib/config.charset: update from gettext 0.14.1.
16583
16584 2004-02-05  Paul Eggert  <eggert@twinsun.com>
16585
16586         Add comments and code, prompted by suggestions from Bruno Haible
16587         for sh-quote.
16588         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
16589         describing the enum quoting_style values.
16590         * lib/quotearg.c (quotearg_alloc): New function.
16591         (quotearg_buffer_restyled): Treat lone { and } as special.
16592         Treat = as special.  Work around bug with older shells
16593         that "see" a '\' that is really the 2nd byte of a multibyte char.
16594         Quote empty string with shell_quoting_style.
16595
16596 2004-02-03  Bruno Haible  <bruno@clisp.org>
16597
16598         * m4/pipe.m4: New file, from GNU gettext.
16599
16600 2004-02-03  Bruno Haible  <bruno@clisp.org>
16601
16602         * lib/pipe.h: New file, from GNU gettext.
16603         * lib/pipe.c: New file, from GNU gettext.
16604
16605 2004-01-27  Bruno Haible  <bruno@clisp.org>
16606
16607         * m4/execute.m4: New file, from GNU gettext.
16608
16609 2004-01-27  Bruno Haible  <bruno@clisp.org>
16610
16611         * lib/execute.h: New file, from GNU gettext.
16612         * lib/execute.c: New file, from GNU gettext.
16613         * lib/w32spawn.h: New file, from GNU gettext.
16614
16615 2004-01-24  Paul Eggert  <eggert@twinsun.com>
16616
16617         Merge from diffutils.
16618
16619         * lib/file-type.c (file_type): Add typed memory objects.
16620         * lib/file-type.h (S_TYPEISTMO): New macro.
16621
16622         * lib/c-stack.h (c_stack_action): Remove argv argument.
16623         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
16624         (die): Don't calculate message unless segv_action returns.
16625         (get_stack_location, min_address_from_argv, max_address_from_argv,
16626         volatile stack_base, volatile_stack_size): Remove.
16627         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
16628         that every segmentation violation is a stack overflow.  (Ouch!)
16629         See Debian bug 136249 (still outstanding) for more info about why
16630         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
16631
16632 2004-01-24  Paul Eggert  <eggert@twinsun.com>
16633
16634         Exit-status fix from coreutils.
16635
16636         Use exit_failure consistently in place of EXIT_FAILURE,
16637         so that program exit statuses are consistent on failure.
16638
16639         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
16640         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
16641         * lib/argmatch.h: Comment fix to match the above.
16642         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
16643         Now a macro referring to exit_failure, instead of a separate
16644         variable.  Include "exitfail.h" to get it.
16645         * lib/xstrtol.h: Include "exitfail.h".
16646         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
16647
16648         * lib/long-options.c (parse_long_options): Use prototype
16649         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
16650         for clarity.
16651
16652 2004-01-21  Jim Meyering  <jim@meyering.net>
16653
16654         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
16655         so as not to conflict with a different-sized __mktime_internal
16656         function in GNU libc.
16657         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
16658         Problem building statically-linked `ls' reported by Michael Brunnbauer.
16659
16660 2004-01-20  Karl Berry  <karl@gnu.org>
16661
16662         * config/config.guess: update from config.
16663
16664         * config/srclistvars.sh: GNUWWWLICENSES for karl.
16665
16666 2004-01-20  Bruno Haible  <bruno@clisp.org>
16667
16668         Safer stack allocation.
16669         * lib/setenv.c: Include allocsa.h.
16670         (alloca): Remove fallback definition.
16671         (freea): Remove macro.
16672         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
16673         instead of freea.
16674
16675 2004-01-20  Bruno Haible  <bruno@clisp.org>
16676
16677         * m4/eealloc.m4: New file, from GNU gettext.
16678
16679 2004-01-20  Bruno Haible  <bruno@clisp.org>
16680
16681         * m4/allocsa.m4: New file, from GNU gettext.
16682
16683 2004-01-20  Bruno Haible  <bruno@clisp.org>
16684
16685         * lib/xallocsa.h: New file, from GNU gettext.
16686         * lib/xallocsa.c: New file, from GNU gettext.
16687
16688 2004-01-20  Bruno Haible  <bruno@clisp.org>
16689
16690         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
16691
16692 2004-01-20  Bruno Haible  <bruno@clisp.org>
16693
16694         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
16695         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
16696         specially.
16697
16698 2004-01-20  Bruno Haible  <bruno@clisp.org>
16699
16700         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
16701         patch.
16702
16703 2004-01-20  Bruno Haible  <bruno@clisp.org>
16704
16705         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
16706
16707 2004-01-20  Bruno Haible  <bruno@clisp.org>
16708
16709         * lib/eealloc.h: New file.
16710
16711 2004-01-20  Bruno Haible  <bruno@clisp.org>
16712
16713         * lib/binary-io.h: Avoid warnings on Cygwin.
16714
16715 2004-01-20  Bruno Haible  <bruno@clisp.org>
16716
16717         * lib/allocsa.h: New file, from GNU gettext.
16718         * lib/allocsa.c: New file, from GNU gettext.
16719
16720 2004-01-18  Karl Berry  <karl@gnu.org>
16721
16722         * doc/gpl.texi, doc/lgpl.texi: new files.
16723
16724 2004-01-18  Karl Berry  <karl@gnu.org>
16725
16726         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
16727         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
16728
16729 2004-01-15  Paul Eggert  <eggert@twinsun.com>
16730
16731         Merge from coreutils.
16732
16733         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
16734         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
16735         (gl_DEFAULT_POSIX2_VERSION): Move
16736         the documentation from 'configure' into 'config.hin',
16737         so that 'configure --help' isn't burdened by it and
16738         we don't have to worry about its formatting there.
16739         Reword the documentation so that it's more succinct
16740         and can be run together into a single paragraph.
16741         * m4/same.m4 (gl_SAME): Check for pathconf.
16742
16743 2004-01-15  Paul Eggert  <eggert@twinsun.com>
16744
16745         Merge from coreutils.
16746
16747         * lib/posixver.c: Include posixver.h.
16748
16749         * lib/same.c: Include <stdbool.h>, <limits.h>.
16750         (_POSIX_NAME_MAX): Define if not defined.
16751         (MIN): New macro.
16752         (same_name): If file names are silently truncated, report
16753         that the file names are the same if they are the same after
16754         the silent truncation.
16755
16756         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
16757         conversion function.
16758         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
16759         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
16760         longer needed.
16761
16762 2004-01-15  Jim Meyering  <jim@meyering.net>
16763
16764         Merge from coreutils.
16765
16766         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
16767         if no library is required.
16768         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
16769         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
16770         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
16771         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
16772         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
16773         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
16774         value, $ac_cv_search_crypt, if it's "none required".
16775         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
16776         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
16777         not gl_FUNC_GETLOADAVG.
16778         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
16779         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
16780
16781 2004-01-15  Jim Meyering  <jim@meyering.net>
16782
16783         Merge from coreutils.
16784
16785         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
16786         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
16787         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
16788
16789         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
16790         optional configure-time default.
16791
16792         * lib/version-etc.c (version_etc_copyright): Update copyright date.
16793
16794         * lib/xreadlink.c (xreadlink): Correct outdated comment.
16795
16796 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
16797
16798         Merge from coreutils.
16799
16800         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
16801         value, $ac_cv_search_nanosleep, if it's "none required".
16802
16803 2004-01-14  Paul Eggert  <eggert@twinsun.com>
16804
16805         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
16806         with like-named macro in fnmatch.c.
16807         (EXT): Use an internal constant instead.
16808
16809         Merge fnmatch patches from glibc.
16810         * lib/fnmatch.c (mbsinit): Remove define.
16811         Add libc_hidden_ver (__fnmatch, fnmatch).
16812         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
16813         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
16814
16815 2004-01-14  Karl Berry  <karl@gnu.org>
16816
16817         * config/install-sh: update from automake.
16818
16819 2004-01-13  Karl Berry  <karl@gnu.org>
16820
16821         * config/install-sh: update from automake.
16822
16823 2004-01-09  Karl Berry  <karl@gnu.org>
16824
16825         * config/install-sh: update from automake.
16826
16827 2004-01-05  Karl Berry  <karl@gnu.org>
16828
16829         * config/config.{sub,guess}: update from config.
16830
16831 2003-12-31  Karl Berry  <karl@gnu.org>
16832
16833         * config/depcomp: update from automake.
16834
16835 2003-12-14  Karl Berry  <karl@gnu.org>
16836
16837         * lib/config.charset: update from gettext-runtime.
16838
16839 2003-12-03  Paul Eggert  <eggert@twinsun.com>
16840
16841         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
16842         Bug reported by Alfred M. Szmidt.
16843
16844 2003-12-03  Bruno Haible  <bruno@clisp.org>
16845
16846         * m4/gettext.m4: Upgrade from gettext-0.13.
16847         * m4/po.m4: Upgrade from gettext-0.13.
16848         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
16849         * m4/intmax.m4: New file, from gettext-0.13.
16850         * m4/printf-posix.m4: New file, from gettext-0.13.
16851
16852 2003-11-29  Karl Berry  <karl@gnu.org>
16853
16854         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
16855
16856 2003-11-25  Paul Eggert  <eggert@twinsun.com>
16857             Bruno Haible  <bruno@clisp.org>
16858
16859         * lib/printf-parse.h: Don't include sys/types.h.
16860         (ARG_NONE): New macro.
16861         (char_directive): Change type of *arg_index fields to size_t.
16862         * lib/printf-parse.c: Don't include sys/types.h.
16863         (SSIZE_MAX): Remove macro.
16864         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
16865         Remove unnecessary overflow check.
16866         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
16867         fields.
16868
16869 2003-11-25  Bruno Haible  <bruno@clisp.org>
16870
16871         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
16872
16873 2003-11-25  Bruno Haible  <bruno@clisp.org>
16874
16875         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
16876         gt_TYPE_SSIZE_T.
16877
16878 2003-11-24  Paul Eggert  <eggert@twinsun.com>
16879
16880         * modules/alloca: Remove dependency on xalloc.
16881
16882 2003-11-24  Paul Eggert  <eggert@twinsun.com>
16883
16884         * lib/alloca.c: Remove dependency on xalloc module.
16885         (xalloc_die): Remove.
16886         (memory_full) [!defined emacs]: New macro.
16887         [!defined emacs]: Don't include xalloc.h.
16888         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
16889         address arithmetic overflows.  Change datatypes a bit to avoid
16890         unnecessary casts.
16891
16892 2003-11-22  Jim Meyering  <jim@meyering.net>
16893
16894         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
16895         s/size/size_t/.
16896
16897 2003-11-21  Karl Berry  <karl@gnu.org>
16898
16899         * config/config.{sub,guess}: update from config.
16900
16901 2003-11-18  Karl Berry  <karl@gnu.org>
16902
16903         * config/config.{sub,guess}: update from config.
16904
16905         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
16906
16907 2003-11-17  Paul Eggert  <eggert@twinsun.com>
16908
16909         * README: Mention that S+T cannot overflow if S is the size of
16910         an existing object and T is sufficiently small.
16911
16912 2003-11-17  Jim Meyering  <jim@meyering.net>
16913
16914         On systems without utime and without a utimes function capable of
16915         dealing with a NULL struct utimbuf* argument, this utime replacement
16916         could -- in unusual circumstances -- leak a file descriptor.
16917         * lib/utime.c: Include <unistd.h> and <errno.h>.
16918         (utime_null): Be sure to close `fd' and to preserve errno.
16919         Reported by Geoff Collyer via Arnold Robbins.
16920
16921 2003-11-17  Bruno Haible  <bruno@clisp.org>
16922
16923         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
16924         (Depends-on): Add xsize.
16925
16926 2003-11-17  Bruno Haible  <bruno@clisp.org>
16927
16928         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
16929
16930 2003-11-17  Bruno Haible  <bruno@clisp.org>
16931
16932         * lib/vasnprintf.c (alloca): Remove fallback definition.
16933         (freea): Remove definition.
16934         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
16935         Reported by Paul Eggert.
16936
16937 2003-11-16  Paul Eggert  <eggert@twinsun.com>
16938             Bruno Haible  <bruno@clisp.org>
16939
16940         Protect against address arithmetic overflow.
16941         * lib/printf-args.h: Include stddef.h.
16942         (arguments): Change type of field 'count' to size_t.
16943         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
16944         'unsigned int' where appropriate.
16945         * lib/printf-parse.h: Include sys/types.h.
16946         (char_directive): Change type of *arg_index fields to ssize_t.
16947         (char_directives): Change type of fields 'count', max_*_length to
16948         size_t.
16949         * lib/printf-parse.c: Include sys/types.h and xsize.h.
16950         (SSIZE_MAX): Define fallback value.
16951         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
16952         instead of 'int' where appropriate. Check a_allocated, d_allocated
16953         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
16954         * lib/vasnprintf.c: Include xsize.h.
16955         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
16956         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
16957         overflow. Avoid wraparound when converting a width or precision from
16958         decimal to binary.
16959
16960 2003-11-16  Bruno Haible  <bruno@clisp.org>
16961
16962         Update from GNU gettext.
16963         * lib/printf-parse.c: Generalize to it can be compiled for wide
16964         strings.
16965         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
16966         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
16967         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
16968         SNPRINTF): New macros.
16969         Don't include <alloca.h> if the file is used inside libintl.
16970         (local_wcslen): New function, for Solaris 2.5.1.
16971         (VASNPRINTF): Use it instead of wcslen.
16972
16973 2003-11-16  Bruno Haible  <bruno@clisp.org>
16974
16975         * lib/xsize.h (xmax): New function.
16976         (xsum, xsum3, xsum4): Declare as "pure" functions.
16977
16978 2003-11-12  Paul Eggert  <eggert@twinsun.com>
16979
16980         * modules/xalloc (Files): Undo latest change, since xalloc.h
16981         no longer needs SIZE_MAX or PTRDIFF_MAX.
16982
16983 2003-11-12  Paul Eggert  <eggert@twinsun.com>
16984
16985         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
16986         gl_PTRDIFF_MAX.
16987
16988 2003-11-12  Paul Eggert  <eggert@twinsun.com>
16989
16990         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
16991         "return", to pacify some unknown compiler.  Problem reported
16992         by Joerg Schilling.
16993
16994 2003-11-12  Paul Eggert  <eggert@twinsun.com>
16995
16996         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
16997         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
16998         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
16999         heuristic is just as accurate as far as we know, and it removes a
17000         dependency on size_max.m4 and ptrdiff_max.m4.
17001
17002 2003-11-11  Bruno Haible  <bruno@clisp.org>
17003
17004         * modules/xsize (Files): Add m4/size_max.m4.
17005         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
17006
17007 2003-11-11  Bruno Haible  <bruno@clisp.org>
17008
17009         * m4/size_max.m4: New file.
17010         * m4/ptrdiff_max.m4: New file.
17011         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
17012         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
17013         (gl_XALLOC): Invoke it.
17014
17015 2003-11-11  Bruno Haible  <bruno@clisp.org>
17016
17017         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
17018         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
17019         defined.
17020
17021 2003-11-10  Paul Eggert  <eggert@twinsun.com>
17022
17023         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
17024         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
17025         rejected some allocations of exactly SIZE_MAX - 2 bytes.
17026         From Bruno Haible.
17027         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
17028         not (size_t) -1, since it's defined here.
17029
17030 2003-11-09  Karl Berry  <karl@gnu.org>
17031
17032         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
17033
17034 2003-11-06  Paul Eggert  <eggert@twinsun.com>
17035
17036         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
17037         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
17038         Reject sizes of exactly SIZE_MAX bytes.
17039         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
17040         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
17041
17042 2003-11-05  Bruno Haible  <bruno@clisp.org>
17043
17044         * lib/xsize.h: Include limits.h, to avoid a possible collision with
17045         SIZE_MAX defined in <limits.h> on Solaris.
17046
17047 2003-11-04  Jim Meyering  <jim@meyering.net>
17048
17049         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
17050         variable names, rather than @VAR@.
17051         * modules/poll: Likewise.
17052
17053 2003-11-04  Bruno Haible  <bruno@clisp.org>
17054
17055         * modules/xsize: New file.
17056         * modules/linebreak: Depend on xsize.
17057         * MODULES.html.sh (func_all_modules): Add xsize.
17058
17059 2003-11-04  Bruno Haible  <bruno@clisp.org>
17060
17061         * m4/xsize.m4: New file.
17062
17063 2003-11-04  Bruno Haible  <bruno@clisp.org>
17064
17065         * lib/xsize.h: New file.
17066         * lib/linebreak.c: Include xsize.h.
17067         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
17068         argument for overflow.
17069         Suggested by Paul Eggert.
17070
17071 2003-11-03  Karl Berry  <karl@gnu.org>
17072
17073         * config/config.{guess,sub}: update from config.
17074
17075 2003-11-03  Jim Meyering  <jim@meyering.net>
17076
17077         * modules/userspec (lib_SOURCES): Add userspec.h.
17078         (Include): Add "userspec.h".
17079         Improve description.
17080
17081 2003-11-03  Jim Meyering  <jim@meyering.net>
17082
17083         * lib/userspec.c: Include "userspec.h".
17084         * lib/userspec.h: New file.
17085
17086 2003-11-03  Bruno Haible  <bruno@clisp.org>
17087
17088         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
17089
17090 2003-11-03  Bruno Haible  <bruno@clisp.org>
17091
17092         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
17093         available, to avoid (extremely rare) race condition.
17094         Suggested by Paul Eggert.
17095
17096 2003-11-02  Karl Berry  <karl@gnu.org>
17097
17098         * config/srclist.txt (vasprintf.c): sync broken, sigh.
17099
17100 2003-10-31  Paul Eggert  <eggert@twinsun.com>
17101
17102         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
17103         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
17104         (read_filesystem_list): Set and use me_type_malloced.
17105         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
17106         whatever the type happens to be), for brevity and consistency.
17107         Check for size calculation overflow on Alphas running OSF/1.
17108
17109 2003-10-31  Jim Meyering  <jim@meyering.net>
17110
17111         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
17112
17113         * lib/linebuffer.c: Include <string.h> for declaration of memset.
17114
17115 2003-10-30  Paul Eggert  <eggert@twinsun.com>
17116             Bruno Haible  <bruno@clisp.org>
17117
17118         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
17119         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
17120
17121 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
17122
17123         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
17124         netbsd*-gnu*.  Suggested by Robert Millan.
17125
17126 2003-10-29  Paul Eggert  <eggert@twinsun.com>
17127
17128         * modules/group-member: Depend on stdbool.
17129
17130 2003-10-29  Paul Eggert  <eggert@twinsun.com>
17131
17132         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
17133
17134 2003-10-29  Paul Eggert  <eggert@twinsun.com>
17135
17136         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
17137         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
17138         after the 'gnu' in these cases.  This fixes some bugs in the
17139         previous change, and is based on suggestions by Robert Millan.
17140
17141 2003-10-29  Paul Eggert  <eggert@twinsun.com>
17142
17143         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
17144         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
17145         no longer needed.
17146         * lib/quotearg.c (quotearg_n_options): Use it.
17147         * lib/group-member.c: Include <stdbool.h>.
17148         (free_group_info): Arg is now const *; don't free arg.
17149         (get_group_info): Now returns bool and accepts struct group_info *,
17150         rather than returning a malloc'ed struct group_info *.
17151         All uses changed.  Check for overflow in internal size calculation.
17152
17153         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
17154         rather than xmalloc/xrealloc.
17155         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
17156         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
17157         conformance bug: the old code used a pointer after freeing the
17158         storage that it addressed.
17159         * lib/hash.c (hash_initialize): Simplify the code by using
17160         xalloc_oversized rather than doing it by hand.
17161         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
17162         the buffer preserved.  Use free and xmalloc instead.
17163         * lib/quotearg.c (quotearg_n_options): Likewise.
17164         Use a simpler test for size overflow.  Don't use xalloc_oversized
17165         because unsigned int might be wider than size_t (!); this suggests
17166         that we should switch from unsigned int to size_t for slot numbers.
17167
17168 2003-10-28  Paul Eggert  <eggert@twinsun.com>
17169
17170         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
17171         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
17172         NetBSD kernels.  Requested by Richard Stallman.
17173
17174 2003-10-27  Paul Eggert  <eggert@twinsun.com>
17175
17176         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
17177         to allocate the returned structure.  Do not allocate a subarray,
17178         as x2nrealloc will do that.
17179         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
17180         instead of xnrealloc.
17181         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
17182
17183 2003-10-27  Bruno Haible  <bruno@clisp.org>
17184
17185         * lib/stdbool_.h: Better support for BeOS.
17186
17187 2003-10-26  Paul Eggert  <eggert@twinsun.com>
17188
17189         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
17190         now uses inline.
17191
17192 2003-10-26  Paul Eggert  <eggert@twinsun.com>
17193
17194         * lib/xalloc.h (xalloc_oversized): New static inline function, for
17195         callers that want to do their own size-overflow checking.  Include
17196         <stdbool.h>, since xalloc_oversized returns bool.
17197         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
17198         to use xalloc_oversized.
17199
17200         Add two functions x2realloc, x2nrealloc, for programs that grow
17201         arrays dynamically by doubling their sizes.
17202         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
17203         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
17204         New functions.
17205
17206         Port to C99 semantics for 'inline' of external functions.
17207         Bug reported by Bruno Haible.
17208         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
17209         with the old contents of xnmalloc.
17210         (xnmalloc, xmalloc): Use it.
17211         (xnrealloc_inline): New static inline function,
17212         with the old contents of xnrealloc.
17213         (xnrealloc, xrealloc): Use it.
17214
17215         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
17216         that.
17217
17218 2003-10-26  Karl Berry  <karl@gnu.org>
17219
17220         * config/srclist.txt (COPYING.DOC): no longer available from
17221         /gd/gnuorg; don't know where the ultimate source is.
17222
17223 2003-10-25  Paul Eggert  <eggert@twinsun.com>
17224
17225         Fix several address-calculation bugs in the hash modules,
17226         plus some minor code cleanup.
17227
17228         * lib/hash.h: Include <stdbool.h>, for bool.
17229         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
17230         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
17231         hash_get_n_entries, hash_get_max_bucket_length,
17232         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
17233         hash_rehash): Use size_t rather than unsigned.
17234         * lib/hash.c (struct hash_table, hash_get_n_buckets,
17235         hash_get_n_buckets_used, hash_get_n_entries,
17236         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
17237         hash_get_entries, hash_do_for_each, hash_string, is_prime,
17238         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
17239         Likewise.
17240         (SIZE_MAX): Define if not defined.
17241         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
17242         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
17243         hash_print):
17244         Use const * when possible.
17245         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
17246         (check_tuning): Fix bug: if tuning parameters were very close to
17247         0 or 1, rounding errors could have caused subscript violations.
17248         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
17249         (hash_initialize): Add 'fail:' label
17250         to free table and return NULL, and use it to simplify code.
17251         Use calloc rather than clearing the storage ourself.
17252         (hash_initialize, hash_rehash): Check for arithmetic overflow in
17253         buffer size calculations.
17254         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
17255         Include <stddef.h>, for size_t.
17256         * lib/hash-pjw.c (hash_pjw): Likewise.
17257         Switch to method described by Bruno Haible.
17258         Include <limits.h>, for CHAR_BIT.
17259         (SIZE_BITS): New macro.
17260
17261 2003-10-23  Paul Eggert  <eggert@twinsun.com>
17262
17263         * m4/getline.m4 (AM_FUNC_GETLINE):
17264         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
17265         hosts.  Problem reported by Derek Robert Price in
17266         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
17267         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
17268         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
17269
17270 2003-10-21  Paul Eggert  <eggert@twinsun.com>
17271
17272         * lib/getndelim2.c (getndelim2): When size calculation overflows,
17273         ceiling the allocation at NMAX bytes rather than silently
17274         discarding input bytes before NMAX is reached.  This makes
17275         a difference only if NMAX exceeds SIZE_MAX / 2.
17276
17277         * lib/obstack.c: Merge from glibc.
17278         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
17279         Add libc_hidden_def (_obstack_newchunk).
17280         (_obstack_free) [! defined _LIBC]: Remove.
17281         [defined _LIBC]: Make a strong alias from obstack_free, rather than
17282         a clone of the function body.
17283         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
17284         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
17285
17286         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
17287         glibc.
17288         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
17289         arg to memcpy.
17290
17291         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
17292         (obstack_ptr_grow_fast, obstack_int_grow_fast):
17293         Don't use lvalue casts, as GCC plans to remove support for them
17294         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
17295         was also present in the non-GCC version, indicating that this
17296         code had always been buggy and had never been widely used.
17297         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
17298         Use the fast variant of each macro, rather than copying the
17299         definiens of the fast variant; that way, we'll be more likely to
17300         catch future bugs in the fast variants.
17301
17302 2003-10-20  Bruno Haible  <bruno@clisp.org>
17303
17304         * modules/wait-process: New file.
17305         * MODULES.html.sh (func_all_modules): Add wait-process.
17306
17307 2003-10-20  Bruno Haible  <bruno@clisp.org>
17308
17309         * m4/wait-process.m4: New file.
17310
17311 2003-10-20  Bruno Haible  <bruno@clisp.org>
17312
17313         * lib/wait-process.h: New file, from GNU gettext.
17314         * lib/wait-process.c: New file, from GNU gettext.
17315
17316 2003-10-19  Jim Meyering  <jim@meyering.net>
17317
17318         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
17319         HPUX 10.20.
17320
17321 2003-10-18  Karl Berry  <karl@gnu.org>
17322
17323         * config/config.guess: update from config.
17324
17325 2003-10-16  Paul Eggert  <eggert@twinsun.com>
17326
17327         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
17328         (getgroups): First arg is int, not size_t.
17329         Don't let 'free' mangle errno.
17330
17331 2003-10-16  Paul Eggert  <eggert@twinsun.com>
17332
17333         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
17334
17335 2003-10-16  Karl Berry  <karl@gnu.org>
17336
17337         * config/config.{guess,sub}: update from config.
17338
17339 2003-10-16  Jim Meyering  <jim@meyering.net>
17340
17341         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
17342         memcpy.
17343
17344 2003-10-15  Paul Eggert  <eggert@twinsun.com>
17345
17346         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
17347         (SIZE_MAX): Remove.
17348         (new_exclude, add_exclude_file): Initial size no longer needs to
17349         be a power of 2.
17350         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
17351         our own address arithmetic overflow checking.
17352
17353         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
17354         (fnmatch): Do not alloca more than 2000 wide characters;
17355         instead, use malloc for large buffers.
17356         Check for address arithmetic overflow, and return -1
17357         with errno set to ENOMEM in that case.
17358         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
17359         (NEW_PATTERN): Do not alloca more than 8000 bytes;
17360         instead, return -1.  Check for address arithmetic overflow.
17361
17362 2003-10-14  Paul Eggert  <eggert@twinsun.com>
17363
17364         Handle invalid suffixes and overflow independently, so that
17365         callers can treat them independently as needed.  Fix some bugs in
17366         suffix handling, e.g., "100k@" was not diagnosed as an invalid
17367         suffix for a human-readable blocksize.  The major caller-visible
17368         change is the addition of a new
17369         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
17370         that both overflow and suffix chars were found.
17371
17372         * lib/human.c (humblock): Don't check separately for invalid suffix
17373         char; that is xstrtoumax's job (now that its bug is fixed).
17374         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
17375         INTMAX_MAX]: New macros.
17376         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
17377         TYPE_MAXIMUM): New macros.
17378         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
17379         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
17380         if overflow occurs, as it's what __strtol does and it's more useful
17381         in practice.
17382         (__xstrtol): If __strtol reports some error other than ERANGE,
17383         reflect it to the caller as LONGINT_INVALID.  If it reports
17384         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
17385         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
17386         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
17387         value.
17388         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
17389         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
17390         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
17391         [defined UINTMAX_MAX]: New macros.
17392
17393 2003-10-14  Bruno Haible  <bruno@clisp.org>
17394
17395         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
17396
17397 2003-10-14  Bruno Haible  <bruno@clisp.org>
17398
17399         * m4/sig_atomic_t: New file, from GNU gettext.
17400         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
17401
17402 2003-10-14  Bruno Haible  <bruno@clisp.org>
17403
17404         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
17405         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
17406         Also use volatile where needed.
17407
17408 2003-10-12  Paul Eggert  <eggert@twinsun.com>
17409
17410         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
17411         Change maintainer from Bruno Haible to 'all'.
17412
17413 2003-10-12  Paul Eggert  <eggert@twinsun.com>
17414
17415         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
17416
17417 2003-10-12  Paul Eggert  <eggert@twinsun.com>
17418
17419         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
17420         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
17421         and define in terms of the other primitives.
17422         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
17423         (SIZE_MAX): Define if not already defined.
17424         (array_size_overflow): New function.
17425         (xalloc_die): Abort instead of exiting if 'error' returns.
17426         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
17427         (xmalloc, xrealloc): Use them.
17428         (xcalloc): Check for address arithmetic overflow.
17429         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
17430         a bit faster than strcpy.
17431
17432 2003-10-10  Simon Josefsson  <jas@extundo.com>
17433
17434         * modules/argp (Depends-on): Add restrict and strcase.
17435
17436 2003-10-10  Simon Josefsson  <jas@extundo.com>
17437
17438         * m4/argp.m4: Add AC_C_INLINE.
17439
17440 2003-10-08  Paul Eggert  <eggert@twinsun.com>
17441
17442         Merge getpass from libc, plus a few fixes.
17443
17444         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
17445         Include <stdbool.h>.
17446         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
17447         __fsetlocking to empty.
17448         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
17449         do include <bits/libc-lock.h>.
17450         Do not include <fcntl.h>; not needed.
17451         [_LIBC]: Include <wchar.h>.
17452         (NOTCANCEL_MODE): New macro.
17453         (flockfile, funlockfile) [_LIBC]: New macros.
17454         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
17455         [!_LIBC]: New macros.
17456         (call_fclose): New function.
17457         (getpass): Use it.  Save tty stream separately; this simplifies the
17458         code and makes it more reliable if stdin happens to equal stdout.
17459         Invoke __fsetlocking on tty.
17460         Handle thread cancellation if needed.
17461         Namespace cleanup (use __tcgetattr, __getline).
17462         Use bool for Booleans.
17463         [USE_IN_LIBIO]: Handle wide streams.
17464         [!_LIBC]: Unconditionally do the fseek, since we don't know what
17465         stream might go where.
17466
17467         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
17468         doesn't have to include <stdio.h> before us.
17469         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
17470         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
17471         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
17472         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
17473         if not declared, so that we can use getpass.c code from libc without
17474         rewriting it.
17475         (flockfile, ftrylockfile, funlockfile): New macros.
17476
17477 2003-10-08  Paul Eggert  <eggert@twinsun.com>
17478
17479         * modules/getpass: Depend on stdbool.
17480
17481 2003-10-08  Paul Eggert  <eggert@twinsun.com>
17482
17483         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
17484
17485 2003-10-07  Karl Berry  <karl@gnu.org>
17486
17487         * config/config.{guess,sub}: update from config.
17488
17489 2003-10-06  Jim Meyering  <jim@meyering.net>
17490             Bruno Haible  <bruno@clisp.org>
17491
17492         This lets translators provide better translations for the
17493         "Written by ..." part of --version output.
17494         * lib/version-etc.h: Include stdarg.h.
17495         (version_etc_copyright): Declare as readonly.
17496         (version_etc): Make this function variadic with a NULL-terminated list
17497         of author name strings.
17498         (version_etc_va): New declaration.
17499         * lib/version-etc.c: Include stdarg.h, stdlib.h.
17500         (version_etc_copyright): Declare as readonly.
17501         (version_etc_va): New function. Provide a different translatable string
17502         for each possible number of authors < 10. Abbreviate when there are 10
17503         authors or more.
17504         (version_etc): Make this function variadic. Call version_etc_va.
17505         Suggestion from Gary V. Vaughan.
17506
17507         * lib/long-options.h (parse_long_options): Change prototype: the
17508         authors string is moved to the end and becomes variadic.
17509         * lib/long-options.c: Include stdarg.h.
17510         (parse_long_options): Make this function variadic, too.
17511         Call version_etc_va, not version_etc.
17512
17513 2003-10-06  Bruno Haible  <bruno@clisp.org>
17514
17515         * modules/version-etc-2: Remove file.
17516         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
17517
17518 2003-10-06  Bruno Haible  <bruno@clisp.org>
17519
17520         * modules/fatal-signal: New file.
17521         * MODULES.html.sh (func_all_modules): Add fatal-signal.
17522
17523 2003-10-06  Bruno Haible  <bruno@clisp.org>
17524
17525         * m4/fatal-signal.m4: New file.
17526         * m4/signalblocking.m4: New file, from GNU gettext.
17527
17528 2003-10-06  Bruno Haible  <bruno@clisp.org>
17529
17530         * lib/version-etc-2.h: Remove file.
17531         * lib/version-etc-2.c: Remove file.
17532
17533 2003-10-06  Bruno Haible  <bruno@clisp.org>
17534
17535         * lib/fatal-signal.h: New file, from GNU gettext.
17536         * lib/fatal-signal.c: New file, from GNU gettext.
17537
17538 2003-10-05  Paul Eggert  <eggert@twinsun.com>
17539
17540         * README: Rework advice for preventing empty .o files.
17541         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
17542         not <sys/types.h>.
17543
17544 2003-10-04  Karl Berry  <karl@gnu.org>
17545
17546         * lib/argp*: update from libc.
17547
17548 2003-10-04  Karl Berry  <karl@gnu.org>
17549
17550         * config/config.{guess,sub}: update from config.
17551
17552 2003-10-02  Bruno Haible  <bruno@clisp.org>
17553
17554         * modules/lchown (Include): Add lchown.h.
17555         * modules/time_r (Include): Use "..." syntax.
17556         * modules/xgetdomainname (Include): Add xgetdomainname.h.
17557
17558 2003-10-01  Simon Josefsson  <jas@extundo.com>
17559
17560         * MODULES.html.sh (func_all_modules): Move gethostname from section
17561         'based on' to section 'lacking' POSIX:2001.
17562
17563 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
17564
17565         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
17566         to output mode on the same stream.
17567
17568 2003-09-29  Paul Eggert  <eggert@twinsun.com>
17569
17570         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
17571         Fix arg typo in previous patch.
17572
17573 2003-09-28  Jim Meyering  <jim@meyering.net>
17574
17575         * lib/error.c: Correct cpp indentation.
17576
17577 2003-09-27  Paul Eggert  <eggert@twinsun.com>
17578
17579         * modules/free: New file.
17580
17581 2003-09-27  Paul Eggert  <eggert@twinsun.com>
17582
17583         * m4/free.m4: New file.
17584
17585 2003-09-27  Paul Eggert  <eggert@twinsun.com>
17586
17587         * lib/minmax.h (MIN, MAX)
17588         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
17589         Omit the special code that used __typeof__, since we worry that
17590         it could be more trouble than it's worth.  See:
17591         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
17592         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
17593
17594         * lib/free.c: New file.
17595
17596 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
17597
17598         Trivial fixes to Makefile.am parts of module listings.
17599         * modules/strstr: Append strstr.h to lib_SOURCES.
17600         * modules/strcase: Likewise, for strcase.h.
17601
17602 2003-09-27  Karl Berry  <karl@gnu.org>
17603
17604         * config/mkinstalldirs: update from automake.
17605
17606 2003-09-26  Paul Eggert  <eggert@twinsun.com>
17607
17608         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
17609         (error_tail): Do not loop, reallocating temporary buffer, since
17610         the output cannot contain more wide characters than the input
17611         contains bytes, the size must be big enough already.  This avoids
17612         one potential size overflow calculation.  Check for size overflow
17613         when calculating temporary buffer size.  Free temporary buffer
17614         when done, if it was allocated with malloc; this plugs a memory
17615         leak.  Remove casts from void * to pointers, that are no longer
17616         needed now that we're assuming C89 or better.
17617
17618         Merge error changes from glibc.
17619
17620         * lib/error.c, error.h: Update copyright notice header to match glibc.
17621         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
17622         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
17623         Disable cancellation while printing error.
17624         * lib/error.h: Prepend __ to parameter names.
17625
17626 2003-09-26  Jim Meyering  <jim@meyering.net>
17627
17628         * lib/error.c (error_tail): Move some declarations
17629         into inner scope where the local variables are used.
17630
17631 2003-09-26  Bruno Haible  <bruno@clisp.org>
17632
17633         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
17634         stpncpy().
17635         Don't define stpncpy through config.h; it's now done through stpncpy.h.
17636
17637 2003-09-26  Bruno Haible  <bruno@clisp.org>
17638
17639         * lib/stpncpy.h (gnu_stpncpy): New declaration.
17640         (stpncpy): Define as alias for gnu_stpncpy.
17641         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
17642
17643 2003-09-25  Simon Josefsson  <jas@extundo.com>
17644
17645         * lib/xgetdomainname.h: New file.
17646         * lib/xgetdomainname.c: New file.
17647
17648 2003-09-25  Simon Josefsson  <jas@extundo.com>
17649             Bruno Haible  <bruno@clisp.org>
17650
17651         * modules/getdomainname: New file.
17652         * modules/xgetdomainname: New file.
17653         * MODULES.html.sh (func_all_modules): Add getdomainname,
17654         xgetdomainname.
17655
17656 2003-09-25  Simon Josefsson  <jas@extundo.com>
17657             Bruno Haible  <bruno@clisp.org>
17658
17659         * m4/getdomainname.m4: New file.
17660
17661 2003-09-25  Simon Josefsson  <jas@extundo.com>
17662             Bruno Haible  <bruno@clisp.org>
17663
17664         * lib/getdomainname.h: New file.
17665         * lib/getdomainname.c: New file.
17666
17667 2003-09-25  Karl Berry  <karl@gnu.org>
17668
17669         * lib/argp-fmtstream.c, argp-help.c: update from libc.
17670
17671 2003-09-25  Karl Berry  <karl@gnu.org>
17672
17673         * config/install-sh: update from automake.
17674
17675 2003-09-25  Bruno Haible  <bruno@clisp.org>
17676
17677         * modules/version-etc-2: New file, from modules/version-etc with
17678         modifications.
17679         * MODULES.html.sh (func_all_modules): Add version-etc-2.
17680
17681 2003-09-25  Bruno Haible  <bruno@clisp.org>
17682
17683         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
17684         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
17685
17686 2003-09-24  Simon Josefsson  <jas@extundo.com>
17687
17688         * modules/xgethostname: Add xgethostname.h.
17689
17690 2003-09-24  Paul Eggert  <eggert@twinsun.com>
17691
17692         * lib/linebuffer.c (freebuffer): Don't free the argument, just
17693         the buffer associated with the argument.  Bug reported by
17694         Simon Josefsson.
17695
17696 2003-09-24  Paul Eggert  <eggert@twinsun.com>
17697
17698         * README: Document assumptions that 'int' is at least 32 bits
17699         wide, that integer arithmetic is 2's complement without overflow,
17700         that there are no holes in integer values, that adding sizes of
17701         two nonoverlapping objects can't overflow, and that all-bits-zero
17702         yields scalar zero.  Fix spelling and capitalization typos.
17703
17704 2003-09-19  Karl Berry  <karl@gnu.org>
17705
17706         * lib/argp.h: update from libc.
17707
17708 2003-09-17  Paul Eggert  <eggert@twinsun.com>
17709
17710         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
17711         to avoid spurious warnings like "AC_RUN_IFELSE was called before
17712         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
17713
17714 2003-09-17  Paul Eggert  <eggert@twinsun.com>
17715
17716         * gnulib-tool: Use "test -h", not "test -L", for portability
17717         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
17718         (tags_regexp): Remove, since \| doesn't conform to POSIX.
17719         (sed_extract_prog): Issue s commands one-by-one, rather than
17720         using \| in one s command.
17721
17722 2003-09-16  Paul Eggert  <eggert@twinsun.com>
17723
17724         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
17725         input error, instead of returning NULL the next time we are called
17726         (and therefore losing track of errno).
17727
17728 2003-09-16  Bruno Haible  <bruno@clisp.org>
17729
17730         * gnulib-tool (func_create_testdir): Warn about duplicated
17731         dependencies.
17732
17733 2003-09-15  Paul Eggert  <eggert@twinsun.com>
17734
17735         * modules/argmatch, modules/fatal, modules/obstack,
17736         modules/xalloc, modules/xgethostname: Sort dependencies by
17737         importance, not alphabetically.
17738
17739 2003-09-15  Paul Eggert  <eggert@twinsun.com>
17740
17741         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
17742         fails, so that the caller gets the proper errno.
17743
17744         * lib/readutmp.c (read_utmp): Likewise.
17745         Check for fstat error.  Close stream and free storage
17746         when failing.
17747
17748 2003-09-14  Karl Berry  <karl@gnu.org>
17749
17750         * config/srclist.txt (strdup.c): disable for c89 changes.
17751
17752 2003-09-14  Jim Meyering  <jim@meyering.net>
17753
17754         * lib/getloadavg.c: Correct cpp indentation.
17755         * lib/strdup.c: Likewise.
17756         * lib/vasnprintf.c: Likewise.
17757
17758 2003-09-14  Bruno Haible  <bruno@clisp.org>
17759
17760         * modules/fwriteerror: New file.
17761         * MODULES.html.sh (func_all_modules): Add fwriteerror.
17762
17763 2003-09-14  Bruno Haible  <bruno@clisp.org>
17764
17765         * lib/fwriteerror.h: New file.
17766         * lib/fwriteerror.c: New file.
17767
17768 2003-09-12  Paul Eggert  <eggert@twinsun.com>
17769
17770         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
17771         modules/xgethostname, modules/xalloc: Depend on exit.
17772
17773 2003-09-12  Paul Eggert  <eggert@twinsun.com>
17774
17775         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
17776
17777         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
17778         and AC_MINIX, too, so that their extensions are available.
17779
17780         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
17781         This macro has been superseded by gl_BACKUPFILE.
17782
17783         More patches to assume C89 or better.
17784
17785         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
17786
17787         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
17788         unconditionally.
17789         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
17790         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
17791         Include <string.h>, <stdlib.h> unconditionally.
17792         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
17793         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
17794         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
17795         headers or for string.h.
17796         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
17797         or strtoul.
17798
17799         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
17800         headers.
17801         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
17802         * m4/userspec.m4 (gl_USERSPEC): Likewise.
17803         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
17804         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
17805         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
17806         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
17807         memcpy, memset.
17808         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
17809         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
17810         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
17811         strtol.
17812         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
17813         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
17814         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
17815         strtoul.
17816
17817 2003-09-12  Paul Eggert  <eggert@twinsun.com>
17818
17819         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
17820         * lib/obstack.c [!defined _LIBC]: Likewise.
17821         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
17822         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
17823         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
17824
17825         More changes to assume C89 or better.
17826
17827         * lib/error.c (error_tail): Assume vprintf.
17828
17829         * lib/argmatch.c (getenv): Remove decl.
17830         * lib/progreloc.c (get_full_program_name): Define via prototype.
17831         * lib/setenv.c (clearenv): Likewise.
17832         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
17833         needed.
17834         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
17835         (malloc, memcpy): Remove decls.
17836         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
17837         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
17838         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
17839         (memcpy): Remove macro.
17840         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
17841         (__P): Remove.  All uses removed.
17842         (PTR): Remove.  All uses changed to void *.
17843         (CHAR_BIT, NULL): Remove.
17844         (spaces, zeros, memset_space, memset_zero)
17845         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
17846         Remove.
17847         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
17848         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
17849         Define with prototype.
17850         Remove now-unnecessary prototype decl.
17851         (extra_args_spec): Assume ANSI C.  All uses changed.
17852         (extra_args_spec_iso): Remove.
17853         (my_strftime, emacs_strftimeu): Define via prototype.
17854         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
17855         unconditionally.
17856         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
17857         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
17858         (strtoul, strtol): Remove decls.
17859         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
17860         LONG_MAX): Remove.
17861         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
17862         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
17863         (LOCALE_PARAM_PROTO): New macro.
17864         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
17865         (INTERNAL (strtol), strtol): Define with a prototype.
17866         (PARAMS): Remove.  All uses removed.
17867         * lib/tempname.c: Include <string.h> unconditionally.
17868         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
17869         * lib/xgethostname.c (main): Define with a prototype.
17870         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
17871         Include <stdlib.h> unconditionally.
17872         (calloc, malloc, realloc, free): Remove decls.
17873         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
17874         Include <stdlib.h> unconditionally.  Sort include file names.
17875         (strtod): Remove.
17876         (xstrtod): Define with a prototype.
17877         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
17878         (strtol, strtoul): Remove decls.
17879
17880 2003-09-11  Paul Eggert  <eggert@twinsun.com>
17881
17882         More patches to assume C89 or better.
17883         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
17884         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
17885         string.h, memchr, STDC_HEADERS.
17886
17887 2003-09-11  Paul Eggert  <eggert@twinsun.com>
17888
17889         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
17890         Include <stdlib.h>, <string.h> unconditionally.
17891         Remove now-unnecessary cast to char *.
17892         * lib/strnlen.c: Include <string.h> unconditionally.
17893         * lib/yesno.c (yesno): Define with a prototype.
17894
17895 2003-09-11  Bruno Haible  <bruno@clisp.org>
17896
17897         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
17898
17899 2003-09-10  Jim Meyering  <jim@meyering.net>
17900
17901         * lib/error.c: Correct indentation of cpp directives.
17902
17903 2003-09-10  Bruno Haible  <bruno@clisp.org>
17904
17905         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
17906         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
17907         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
17908         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
17909         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
17910         <stdlib.h> and <string.h> checks.
17911         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
17912         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
17913
17914 2003-09-10  Bruno Haible  <bruno@clisp.org>
17915
17916         * lib/strcspn.c: Include <string.h> unconditionally.
17917         * lib/strpbrk.c: Include <string.h> unconditionally.
17918         * lib/strstr.c: Include <string.h> unconditionally.
17919         * lib/unicodeio.c: Include <string.h> unconditionally.
17920         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
17921         * lib/unsetenv.c: Likewise.
17922         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
17923         * lib/yesno.c: Include <stdlib.h> unconditionally.
17924         (rpmatch): Add prototype.
17925
17926 2003-09-09  Paul Eggert  <eggert@twinsun.com>
17927
17928         More patches to assume C89 or better.
17929         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
17930         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
17931         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
17932         or for string.h.
17933         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
17934         stdlib.h.
17935         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
17936         C headers.
17937         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
17938         string.h.
17939         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
17940         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
17941         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
17942         or for string.h.
17943         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
17944         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
17945         C headers.
17946         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
17947         memcpy.
17948         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
17949         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
17950         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
17951         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
17952         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
17953         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
17954         string.h, free.
17955         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
17956         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
17957         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
17958         C headers, or for string.h.
17959         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
17960         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
17961         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
17962         headers, memory.h, stdlib.h, string.h, strings.h.
17963         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
17964         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
17965         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
17966         strchr.
17967         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
17968         headers, memory.h, string.h.
17969         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
17970         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
17971         free.
17972         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
17973         headers.
17974         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
17975         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
17976         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
17977         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
17978         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
17979
17980 2003-09-09  Paul Eggert  <eggert@twinsun.com>
17981
17982         More K&R removal.
17983
17984         * lib/acosl.c (main): Use a prototype.
17985         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
17986         tanl.c: Likewise.
17987
17988         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
17989
17990         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
17991         (getopt, etopt_long, getopt_long_only, _getopt_internal)
17992         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
17993         with a prototype.
17994         * lib/getopt.c (const): Remove macro.
17995         Include <string.h> unconditionally.
17996         (my_index): Remove; all uses changed to strchr.
17997         (strlen): Remove decl.
17998         (exchange): Remove forward decl; no longer needed.
17999         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
18000         Define with prototype.
18001         * lib/getopt1.c (const): Remove macro.
18002         (getopt_long, getopt_long_only, main): Define with prototype.
18003
18004         * lib/getugroups.c: Include <string.h> unconditionally.
18005
18006         * lib/getusershell.c: Include <stdlib.h> unconditionally.
18007         (getusershell, setusershell, endusershell, readname, main):
18008         Define with prototypes.
18009
18010         * lib/group-member.c: Include group-member.h first.
18011         Include <stdlib.h> unconditionally.
18012
18013         * lib/hard-locale.c: Include hard-locale.h first.
18014         Include <stdlib.h>, <string.h> unconditionally.
18015
18016         * lib/hash.c (free, malloc): Remove decls.
18017         Include <stdlib.h> unconditionally.
18018
18019         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
18020         (getenv): Do not declare.
18021
18022         * lib/idcache.c: Include <string.h> unconditionally.
18023
18024         * lib/long-options.c: Include long-options.h first, to test interface.
18025         Include <stdlib.h> unconditionally.
18026
18027         * lib/makepath.c: Include makepath.h first, to test interface.
18028         Include <stdlib.h> and <string.h> unconditionally.
18029
18030         * lib/linebuffer.c: Include <stdlib.h>.
18031         (free): Remove decl.
18032
18033         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
18034         stddef.h. rpl_malloc returns void *, not char *.
18035         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
18036         prototype.
18037
18038         * lib/md5.h: Include <limits.h> unconditionally.
18039         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
18040         (__P): Remove; all uses removed.
18041         * lib/md5.c: Include "md5.h" first.
18042         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
18043         md5_buffer, md5_process_bytes, md5_process_block):
18044         Define with prototypes.
18045         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
18046         * lib/sha.c: Include "sha.h" first.
18047         Include <stdlib.h>, <string.h> unconditionally.
18048
18049         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
18050         * lib/memcmp.c (__ptr_t): Likewise.
18051         * lib/memrchr.c (__ptr_t): Likewise.
18052         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
18053         Include <string.h> unconditionally.
18054         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
18055         * lib/memchr.c: Include <stdlib.h> unconditionally.
18056         * lib/memchr.c (LONG_MAX): Remove.
18057         * lib/memrchr.c (LONG_MAX): Likewise.
18058         * lib/memchr.c (__memchr): Define via a prototype.
18059         * lib/memrchr.c (__memrchr): Likewise.
18060         * lib/memcmp.c (__P): Remove, and remove all uses.
18061         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
18062         Remove forward decls; no longer needed.
18063         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
18064         Use types required by C89 in prototype.
18065
18066         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
18067         * lib/savedir.c: Likewise.
18068         * lib/mkdir.c (free): Remove decl.
18069         * lib/rmdir.c (rmdir): Define with a prototype.
18070         * lib/savedir.c: Include savedir.h first, to test interface.
18071
18072         * lib/mktime.c (STDC_HEADERS): Remove.
18073         Include <stdlib.h>, <string.h> unconditionally.
18074
18075         * lib/modechange.c: Include <stdlib.h> unconditionally.
18076         (malloc): Remove decl.
18077
18078         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
18079         (free): Remove decl.
18080
18081         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
18082         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
18083         (This type really should be intptr_t, but that's a C99ism.)
18084         (_obstack_memcpy): Remove: all uses changed to memcpy.
18085         Include <string.h> unconditionally.
18086         (struct obstack): Assume __STDC__ for types of members
18087         chunkfun, freefun, extra_arg.
18088         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
18089         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
18090         obstack_begin, obstack_specify_allocation,
18091         obstack_specify_allocation_with_arg, obstack_chunkfun,
18092         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
18093         Remove unprototyped decls and the macros that use them.
18094         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
18095         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
18096         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
18097         (defined __STDC__ && __STDC__)]:
18098         Remove nonprototyped code.
18099         Include <stdlib.h> unconditionally.
18100         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
18101         _obstack_allocated_p, _obstack_free, obstack_free,
18102         _obstack_memory_used, print_and_abort):
18103         Define using prototypes.
18104         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
18105         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
18106         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
18107         obstack_next_free, obstack_object_size, obstack_room) [0]:
18108         Remove unused, unprototyped code.
18109
18110         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
18111
18112         * lib/physmem.c (physmem_total, physmem_available, main): Define
18113         with prototypes.
18114
18115         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
18116         (main): Define with a prototype.
18117
18118         * lib/posixver.c (getenv): Remove decl.
18119
18120         * lib/putenv.c (malloc): Returns void *, not char *.
18121         Include <string.h> unconditionally.
18122         (strchr, memcpy, NULL): Do not define.
18123
18124         * lib/readtokens.c: Include readtokens.h first, to test interface.
18125         Include <stdlib.h>, <string.h> unconditionally.
18126         (init_tokenbuffer): Define with a prototype.
18127
18128         * lib/regex.c (PARAMS): Remove.  All uses removed.
18129         All uses of _RE_ARGS removed, too.
18130         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
18131         unconditionally.
18132         (bzero): Assume memset exists.
18133         (memcmp, memcpy, NULL): Remove.
18134         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
18135         char, or assignments to local vars of type signed char.
18136         (init_syntax_once, PREFIX(extract_number_and_incr),
18137         PREFIX(print_partial_compiled_pattern),
18138         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
18139         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
18140         PREFIX(regex_grow_registers), PREFIX(regex_compile),
18141         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
18142         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
18143         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
18144         wcs_compile_range, byte_compile_range, truncate_wchar,
18145         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
18146         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
18147         count_mbs_length, wcs_re_match_2_internal,
18148         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
18149         PREFIX(alt_match_null_string_p),
18150         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
18151         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
18152         regfree, PREFIX(extract_number)): Define with prototype.  Remove
18153         now-unnecessary declaration, if any.
18154         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
18155         regcomp, regexec):
18156         Remove now-unnecessary casts among pointer types.
18157         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
18158
18159         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
18160         (free): Remove decl.
18161
18162         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
18163
18164         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
18165         (free): Remove decl.
18166
18167         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
18168         * lib/xgetcwd.c: Likewise.
18169
18170         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
18171         (free): Remove decl.
18172
18173         * lib/strchrnul.c (strchrnul): Define with a prototype.
18174         Fix bug: c_in was not converted to char before searching.
18175
18176         The following changes are not K&R related:
18177
18178         * lib/group-member.h: Include <sys/types.h>, so that this file is
18179         self-contained.
18180         * lib/makepath.h: Likewise.
18181
18182         * lib/getusershell.c (readname, default_index, line_size, readname):
18183         Use size_t, not int, for sizes.
18184         (readname): If the size overflows, report an error instead of
18185         looping forever.
18186
18187 2003-09-09  Paul Eggert  <eggert@twinsun.com>
18188
18189         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
18190         libc.
18191
18192 2003-09-09  Paul Eggert  <eggert@twinsun.com>
18193
18194         * README: New section: portability guidelines.
18195
18196 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
18197
18198         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
18199         C89 spec.
18200
18201 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
18202
18203         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
18204
18205 2003-09-08  Paul Eggert  <eggert@twinsun.com>
18206
18207         Assume C89 or better; remove K&R cruft.
18208         A few of these changes were first proposed by Derek Robert Price
18209         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
18210
18211         * lib/addext.c: Include <string.h> unconditionally.
18212         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
18213         Don't declare getenv or malloc.
18214
18215         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
18216         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
18217         (NULL): Remove.
18218         (find_stack_direction, alloca): Use prototypes.
18219
18220         * lib/atexit.c (atexit): Define using a prototype.
18221
18222         * lib/basename.c, dirname.c, stripslash.c:
18223         Include <string.h> unconditionally.
18224
18225         * lib/bcopy.c: Include <stddef.h>.
18226         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
18227
18228         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
18229
18230         * lib/error.h (error, error_at_line, error_print_progname)
18231         [! (defined (__STDC__) && __STDC__)]: Remove decls.
18232         * lib/error.c: Include error.h first, to check interface.
18233         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
18234         (VA_START): Remove; all uses changeed to va_start.
18235         (exit, strerror): Remove decls.
18236         (error_print_progname): Prototype uncondionally.
18237         Don't include <errno.h>; no longer needed.
18238         (private_strerror): Remove.
18239         (error_tail): Always define.
18240         (error, error_at_line): Assume C89 or better; always use prototypes.
18241         * lib/fatal.c: Include "fatal.h" first, to test interface.
18242         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
18243         (VA_START): Remove; all uses changed to va_start.
18244         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
18245         this case.
18246         (exit): Remove decl.
18247         (fatal): Prototype unconditionally.  Assume va_start works.
18248         Abort at end, to pacify gcc.
18249
18250         * lib/euidaccess.c (main): Define with a prototype.
18251
18252         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
18253
18254         * lib/exitfail.c: Include <stdlib.h> unconditionally.
18255
18256         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
18257         prototypes.
18258         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
18259         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
18260         (getenv): Remove decl.
18261         (fnmatch): Define using a prototype.
18262         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
18263         (FCT): Define using a prototype.
18264
18265         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
18266
18267         * lib/gethostname.c: Include <stddef.h>.
18268         (gethostname): Define with prototype.  Length is size_t, not int.
18269
18270 2003-09-08  Paul Eggert  <eggert@twinsun.com>
18271
18272         Assume C89 or better; remove K&R cruft.
18273         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
18274         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
18275         string.h, getenv, malloc.
18276         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
18277         headers.
18278         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
18279         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
18280         do not check for strerror.
18281         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
18282         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
18283         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
18284         do not check for doprnt or vprintf.
18285         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
18286         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
18287
18288 2003-09-08  Paul Eggert  <eggert@twinsun.com>
18289
18290         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
18291         getversion.c should have been removed then, but was accidentally
18292         preserved.
18293
18294         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
18295         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
18296
18297 2003-09-08  Karl Berry  <karl@gnu.org>
18298
18299         * config/config.sub, config.guess, srclistvars.sh: update from savannah
18300                 config, forget about prep.
18301
18302         * config/depcomp, missing: update from automake.
18303
18304 2003-09-07  Paul Eggert  <eggert@twinsun.com>
18305
18306         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
18307         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
18308
18309 2003-09-07  Paul Eggert  <eggert@twinsun.com>
18310
18311         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
18312         copy_tm_result.  Bug reported by Simon Josefsson in
18313         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
18314
18315 2003-09-06  Paul Eggert  <eggert@twinsun.com>
18316
18317         * m4/time_r.m4: New file.
18318         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
18319         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
18320         is. Check for timegm declaration.
18321         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
18322         Do not check for gmtime_r.
18323         Replace mktime if __mktime_internal does not exist and if mktime
18324         hasn't been replaced already.
18325
18326 2003-09-06  Paul Eggert  <eggert@twinsun.com>
18327
18328         * lib/time_r.c, lib/time_r.h: New files.
18329
18330         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
18331         __localtime_r.
18332         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
18333         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
18334
18335         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
18336         __gmtime_r.
18337         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
18338         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
18339         Include <time_r.h>.
18340
18341         * lib/timegm.c: Switch to glibc implementation, with the following
18342         changes:
18343         [defined HAVE_CONFIG_H]: Include <config.h>.
18344         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
18345         (__mktime_internal) [!defined _LIBC]: New decl.
18346         (__gmtime_r) [!defined _LIBC]: New macro and function.
18347         (timegm): Use a prototype, since gnulib assumes C89.
18348         Do not bother declaring tmp to be const, as it's not really usefu.
18349         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
18350         (timegm): Declare only if HAVE_DECL_TIMEGM.
18351
18352 2003-09-06  Paul Eggert  <eggert@twinsun.com>
18353
18354         * MODULES.html.sh (func_all_modules): Add time_r.
18355         * modules/time_r: New file.
18356         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
18357         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
18358
18359 2003-09-03  Paul Eggert  <eggert@twinsun.com>
18360
18361         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
18362         Bug reported by Lute Kamstra in
18363         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
18364
18365         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
18366         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
18367         course with correspondingly smaller numbers for tomorrow and
18368         yesterday.  From Tadayoshi Funaba.  Originally installed into
18369         sh-utils on 1999-08-07, but the patch got lost (I guess during the
18370         coreutils merge?).
18371
18372 2003-08-31  Simon Josefsson  <jas@extundo.com>
18373
18374         * modules/timegm: New file.
18375         * MODULES.html.sh (func_all_modules): Add timegm.
18376
18377 2003-08-31  Simon Josefsson  <jas@extundo.com>
18378
18379         * m4/timegm.m4: New file.
18380
18381 2003-08-31  Simon Josefsson  <jas@extundo.com>
18382
18383         * lib/timegm.h: New file.
18384         * lib/timegm.c: New file.  Based on
18385         wget-1.8.2/src/http.c:mktime_from_utc.
18386
18387 2003-08-31  Karl Berry  <karl@gnu.org>
18388
18389         * lib/argp.h: update from libc.
18390
18391 2003-08-28  Bruno Haible  <bruno@clisp.org>
18392
18393         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
18394         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
18395         followed by '#define fnmatch fnmatch_posix' gives an error.
18396
18397 2003-08-28  Bruno Haible  <bruno@clisp.org>
18398
18399         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
18400         warning on QNX, which defines O_BINARY to 000000.
18401
18402 2003-08-27  Jim Meyering  <jim@meyering.net>
18403
18404         * m4/mkstemp.m4: Require that the system mkstemp be able to create
18405         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
18406         would fail after 32.  Reported by Danny Levinson.  Details here:
18407         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
18408
18409 2003-08-24  Bruno Haible  <bruno@clisp.org>
18410
18411         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
18412         MSVC7 <stdio.h> is included later.
18413
18414 2003-08-22  Simon Josefsson  <jas@extundo.com>
18415
18416         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
18417
18418 2003-08-20  Karl Berry  <karl@gnu.org>
18419
18420         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
18421
18422 2003-08-20  Bruno Haible  <bruno@clisp.org>
18423
18424         * modules/progname: New file.
18425         * MODULES.html.sh (func_all_modules): Add progname.
18426
18427 2003-08-20  Bruno Haible  <bruno@clisp.org>
18428
18429         * lib/progname.h: New file, from GNU gettext.
18430         * lib/progname.c: New file, from GNU gettext.
18431         * lib/progreloc.c: New file, from GNU gettext.
18432
18433 2003-08-19  Jim Meyering  <jim@meyering.net>
18434
18435         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
18436         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
18437
18438 2003-08-19  Bruno Haible  <bruno@clisp.org>
18439
18440         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
18441         more.
18442
18443 2003-08-19  Bruno Haible  <bruno@clisp.org>
18444
18445         * lib/xstrdup.c: Assume <string.h> exists.
18446
18447 2003-08-18  Paul Eggert  <eggert@twinsun.com>
18448
18449         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
18450         in makefile rules.
18451
18452 2003-08-18  Jim Meyering  <jim@meyering.net>
18453
18454         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
18455         * m4/lib-ld.m4: Likewise.
18456
18457 2003-08-18  Jim Meyering  <jim@meyering.net>
18458
18459         * lib/setenv.h: Indent nested cpp directive.
18460         * lib/vasnprintf.c: Remove trailing blanks.
18461
18462 2003-08-17  Simon Josefsson  <jas@extundo.com>
18463
18464         * modules/xstrndup: New file.
18465         * MODULES.html.sh (func_all_modules): Add xstrndup.
18466
18467 2003-08-17  Simon Josefsson  <jas@extundo.com>
18468
18469         * modules/argp: Fix autoconf macro name. Add more dependencies.
18470
18471 2003-08-17  Simon Josefsson  <jas@extundo.com>
18472
18473         * m4/xstrndup.m4: New file.
18474
18475 2003-08-17  Simon Josefsson  <jas@extundo.com>
18476
18477         * m4/argp.m4: New file.
18478
18479 2003-08-17  Simon Josefsson  <jas@extundo.com>
18480             Bruno Haible  <bruno@clisp.org>
18481
18482         * lib/xstrndup.h: New file.
18483         * lib/xstrndup.c: New file.
18484
18485 2003-08-17  Bruno Haible  <bruno@clisp.org>
18486
18487         * modules/strndup (Files, Include): Add lib/strndup.h.
18488
18489 2003-08-17  Bruno Haible  <bruno@clisp.org>
18490
18491         * modules/euidaccess (Files): Add lib/euidaccess.h.
18492
18493 2003-08-17  Bruno Haible  <bruno@clisp.org>
18494
18495         * lib/strndup.h: New file.
18496
18497 2003-08-17  Bruno Haible  <bruno@clisp.org>
18498
18499         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
18500         like AC_GNU_SOURCE.
18501         * modules/extensions (configure.ac): Comment out the invocation of
18502         gl_USE_SYSTEM_EXTENSIONS.
18503
18504 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18505
18506         Merges from coreutils, etc.
18507         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
18508         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
18509         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
18510         fixing a typo.
18511         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
18512         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
18513
18514 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18515
18516         Document merge from coreutils.
18517         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
18518         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
18519         * modules/utime: Add m4/utimes-null.m4.
18520
18521 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18522
18523         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
18524         space, undoing this 2003-08-12 change:
18525         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
18526
18527 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18528
18529         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
18530         strtoul.c from libc, undoing this 2003-08-12 change:
18531         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
18532
18533 2003-08-16  Jim Meyering  <jim@meyering.net>
18534
18535         Merges from coreutils.
18536         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
18537         prefix.  Adjust cache variables similarly.  Create 500 rather than
18538         just 300 files, to exercise bug on Darwin6.5, too.
18539         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
18540         $missing_dir.
18541         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
18542         AM_SYS_POSIX_TERMIOS.
18543         Reported by mkc@mathdogs.com.
18544         Also change use of $am_cv_sys_posix_termios
18545         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
18546         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
18547         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
18548         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
18549         in /proc/mounts until it finds one with matching device number.  This
18550         is unnecessary when the FILE argument *is* a mount point.  No stat call
18551         is necessary in that case.  So, disable the statvfs-testing code on
18552         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
18553         as RedHat bug# 84846.
18554         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
18555         to 1MB, so as not to render systems with no stack size limit (e.g.,
18556         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
18557         Include <unistd.h>.  On some systems,
18558         it is required for the definition of _SC_PAGESIZE.
18559
18560 2003-08-16  Jim Meyering  <jim@meyering.net>
18561
18562         Merge from coreutils.
18563         * lib/xstrtoimax.c: #else #if -> #elif.
18564         * lib/xstrtoumax.c: Likewise.
18565
18566 2003-08-16  Jim Meyering  <jim@meyering.net>
18567
18568         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
18569         * m4/utimes.m4: Removed.
18570         * m4/utimes-null.m4: Renamed from utimes.m4.
18571
18572         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
18573         to 1MB, so as not to render systems with no stack size limit (e.g.,
18574         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
18575         Include <unistd.h>.  On some systems,
18576         it is required for the definition of _SC_PAGESIZE.
18577
18578 2003-08-16  Jim Meyering  <jim@meyering.net>
18579         and Paul Eggert  <eggert@cs.ucla.edu>
18580
18581         Merges from coreutils, etc.
18582
18583         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
18584         using the latest version from cvs.  This avoids problems with #line
18585         directives using a vendor (Sun) compiler.
18586         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
18587         Don't set GETGROUPS_LIB here; now it's
18588         done via getgroups.m4's wrapper function.
18589         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
18590         rather than just in sh-util/configure.in, so that the
18591         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
18592         same.
18593         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
18594         AC_FUNC_GETLOADAVG where to find getloadavg.c.
18595         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
18596         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
18597         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
18598         Remove code that is now done by the newly-required macros.
18599         Append $(EXEEXT) to DF_PROG.
18600         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
18601         Do not invoke or require the following here,
18602         since prereq.m4 or some gnulib .m4 now does this for us:
18603         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
18604         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
18605         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
18606         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
18607         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
18608         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
18609         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
18610         AC_FUNC_OBSTACK.
18611         Do not replace the following functions, as this is now the job
18612         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
18613         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
18614         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
18615         atexit getpass, strdup, getpagesize.
18616         Replace 'raise'.
18617         Do not check for the following functions, as this is now the job
18618         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
18619         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
18620         setregid.
18621         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
18622         Check for sys/sysctl.h.
18623         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
18624         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
18625         of checking for ssize_t ourselves.
18626
18627         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
18628         Require every macro that gnulib/modules/* suggests for us.
18629         (jm_PREREQ_ADDEXT): New macro.
18630         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
18631         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
18632
18633         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
18634         (gl_PHYSMEM): Use it.
18635         Also check for `table' function.
18636         Check for new headers and functions.
18637         Add check for sys/sysmp.h.
18638         With suggestions from Kaveh Ghazi.
18639         Ignore headers that are present but cannot be compiled.  This
18640         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
18641         C 5.4.
18642
18643 2003-08-15  Paul Eggert  <eggert@twinsun.com>
18644
18645         Document merge from coreutils.
18646         * modules/userspec: Depend on posixver.
18647         * modules/strftime: Depend on tzset.
18648
18649 2003-08-15  Paul Eggert  <eggert@twinsun.com>
18650
18651         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
18652         rather than tab, after '#' in shell-script copyright notices.
18653         Suggested by Bruno Haible.
18654
18655 2003-08-15  Paul Eggert  <eggert@twinsun.com>
18656
18657         * config/srclist-update: Use three spaces, rather than tab, after '#'
18658         in shell-script copyright notices.  Suggested by Bruno Haible.
18659         Remove unnecessary parenthesization in regular expression.
18660
18661 2003-08-15  Jim Meyering  <jim@meyering.net>
18662
18663         Merge from coreutils.
18664         * lib/xgethostname.c: Include <stdlib.h>.
18665         (xghostname): Don't exit for anything other than memory-related
18666         failure; just return NULL.
18667         * lib/userspec.c: Include "posixver.h".
18668         (parse_user_spec): Accept `.' as a separator only
18669         in pre-POSIX-200112 mode.
18670         * lib/strtoimax.c: Use #elif rather than #else #if.
18671         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
18672         Remove function, now that we can rely on a working tzset function.
18673         [!_LIBC]: Ensure that the required autoconf test has been run.
18674         [!defined _NL_CURRENT && HAVE_STRFTIME]:
18675         Use underlying_strftime for %r.
18676         * lib/sha.c: Merge in some clean-up and optimization changes from
18677         glibc.
18678         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
18679         Ensure that it is a multiple of 64.
18680         Rearrange loop exit tests so as to avoid performing an
18681         additional fread after encountering an error or EOF.
18682         * lib/realloc.c: Update copyright date.
18683
18684 2003-08-15  Jim Meyering  <jim@meyering.net>
18685         and Paul Eggert  <eggert@twinsun.com>
18686
18687         Merge from coreutils.
18688         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
18689         member but strut utmpx does not.  Needed for AIX 4.3.3.
18690         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
18691
18692 2003-08-15  Jim Meyering  <jim@meyering.net>
18693         and Paul Eggert  <eggert@cs.ucla.edu>
18694
18695         Merges from coreutils, etc.
18696         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
18697         Require gl_FUNC_TZSET_CLOBBER.
18698         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
18699         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
18700         members.
18701
18702 2003-08-14  Paul Eggert  <eggert@twinsun.com>
18703
18704         Help the merge from coreutils.
18705         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
18706         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
18707         * m4/tzset.m4: Use it too.
18708
18709 2003-08-14  Paul Eggert  <eggert@twinsun.com>
18710
18711         * modules/tzset: New file.
18712
18713 2003-08-14  Jim Meyering  <jim@meyering.net>
18714
18715         Merges from coreutils.
18716         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
18717         variable names, rather than @FNMATCH_H@.
18718         * modules/alloca: Likewise for $(ALLOCA_H).
18719
18720         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
18721         the three copies of the literal target, `fnmatch.h'.
18722         * modules/alloca (alloca.h): Likewise.
18723
18724 2003-08-14  Jim Meyering  <jim@meyering.net>
18725
18726         Merge from coreutils.
18727         * m4/tzset.m4: New file.
18728         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
18729         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
18730         otherwise, AIX 5.1 systems would end up using the latter.
18731         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
18732         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
18733         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
18734         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
18735
18736 2003-08-14  Jim Meyering  <jim@meyering.net>
18737
18738         Merge from coreutils.
18739         * lib/obstack.h: Whitespace changes.
18740         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
18741         and xcalloc return values.
18742         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
18743         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
18744         hang on OSF/1 5.1 for DIR on both local and remote file systems.
18745         Reported by (and fix confirmed by) Nelson H. F. Beebe.
18746         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
18747         error from mntctl.
18748         Use mntctl's return value to drive the entry-processing loop, since
18749         we can't rely on the value of the vmt_length member in the last
18750         entry.  On some systems doing so could result in exhausting
18751         virtual memory.  Based in part on a patch from Mike Jetzer.
18752
18753 2003-08-14  Jim Meyering  <jim@meyering.net>
18754         and Paul Eggert  <eggert@twinsun.com>
18755
18756         Merges from coreutils, plus other fixes.
18757         * lib/physmem.c: Merge in portability changes from gcc/libiberty
18758         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
18759         for credits and details.  Thanks to Kaveh Ghazi for helping
18760         to keep these files in sync.
18761         (ARRAY_SIZE): Define it.
18762         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
18763         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
18764         (memcasecmp): Don't assume size_t fits in unsigned int.
18765         Remove casts and duplicate code.
18766         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
18767         (memcpy): Remove definition.
18768         Merge in some clean-up and optimization changes from glibc.
18769         [BLOCKSIZE]: Move definition to top of file.
18770         Ensure that it is a multiple of 64.
18771         Rearrange loop exit tests so as to avoid performing an
18772         additional fread after encountering an error or EOF.
18773         * lib/md5.h (md5_uintptr): Define.
18774         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
18775         return to the initial working directory.  Preserve errno
18776         for caller.
18777         * lib/idcache.c: Include "xalloc.h".
18778         (xmalloc, xrealloc): Remove decls.
18779         (getuser): Remove casts no longer required in C89.
18780         * lib/human.c: Include stdio.h, for sprintf.
18781         * lib/group-member.c: Include "xalloc.h".
18782         (xmalloc, xrealloc): Remove decls.
18783         (get_group_info): Remove casts no longer required in C89.
18784         * lib/getusershell.c (readname): Remove casts no longer required in
18785         C89.
18786         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
18787         * lib/getline.c: Whitespace fix, from coreutils.
18788
18789 2003-08-13  Paul Eggert  <eggert@twinsun.com>
18790
18791         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
18792         Check for isascii.
18793
18794         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
18795         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
18796         Undo previous (whitespace-only) change.
18797
18798 2003-08-13  Paul Eggert  <eggert@twinsun.com>
18799
18800         * lib/exclude.c: Include <ctype.h>
18801         (IN_CTYPE_DOMAIN): New macro.
18802         (is_space): New fn.
18803         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
18804         and empty lines.
18805
18806         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
18807         Undo previous (whitespace-only) change.
18808
18809 2003-08-13  Paul Eggert  <eggert@twinsun.com>
18810
18811         * config/srclist-update: Change update back to the old behavior,
18812         leaving whitespace alone.  Use one 'sed' command rather than a
18813         pipeline.
18814         (fixlicense): Now a variable, not a function.
18815         (remove_trailing_blanks): Remove.
18816         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
18817         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
18818         Undo previous (whitespace-only) change.
18819
18820 2003-08-12  Paul Eggert  <eggert@twinsun.com>
18821
18822         Merge from coreutils.
18823         * modules/euidaccess: Add lib_SOURCES, include for new
18824         file euidaccess.h
18825
18826 2003-08-12  Paul Eggert  <eggert@twinsun.com>
18827
18828         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
18829         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
18830         Normalize leading white space and remove trailing white space.
18831
18832         Merge from coreutils
18833         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
18834
18835         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
18836         0.12.1.  These files are now being upgraded automatically by
18837         ../config/srclist-update.
18838
18839 2003-08-12  Paul Eggert  <eggert@twinsun.com>
18840
18841         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
18842         Normalize leading white space and remove trailing white space.
18843         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
18844         notice, as per ../config/srclist-update.
18845
18846         Merge from coreutils.
18847         * lib/euidaccess.h: New file.
18848         * lib/euidaccess.c: Include it.
18849         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
18850         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
18851         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
18852
18853 2003-08-12  Paul Eggert  <eggert@twinsun.com>
18854
18855         * config/srclist-update: Add copyright notice.
18856         (remove_id_lines, remove_trailing_blanks): New constants.
18857         (fixfile): Use them to normalize spacing a bit in copied files.
18858         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
18859         Normalize leading white space and remove trailing white space.
18860
18861         * config/texinfo.tex: Sync with texinfo.
18862
18863         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
18864         strtoul.c from libc, to merge coreutils whitespace changes.
18865
18866         * config/srclist.txt: Get the following m4 files from gettext:
18867         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
18868         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
18869         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
18870         wint_t.m4.
18871
18872 2003-08-12  Karl Berry  <karl@gnu.org>
18873
18874         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
18875         been made.
18876
18877 2003-08-11  Paul Eggert  <eggert@twinsun.com>
18878
18879         * modules/gnu-source, m4/gnu-source.m4:
18880         Remove; we're assuming Autoconf 2.54 or later now.
18881         Suggested by Bruno Haible.
18882         * MODULES.html.sh (func_all_modules): Remove gnu-source.
18883
18884 2003-08-11  Bruno Haible  <bruno@clisp.org>
18885
18886         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
18887
18888 2003-08-11  Bruno Haible  <bruno@clisp.org>
18889
18890         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
18891         (vasnprintf): Use it instead of wcslen.
18892
18893 2003-08-11  Bruno Haible  <bruno@clisp.org>
18894
18895         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
18896         value to ensure that _Bool promotes to int. Use #define for _Bool when
18897         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
18898
18899 2003-08-10  Karl Berry  <karl@gnu.org>
18900
18901         * lib/regex.h: update from libc (whitespace fix).
18902
18903 2003-08-09  Paul Eggert  <eggert@twinsun.com>
18904
18905         Merge some files from coreutils.  These changes were
18906         originally made by Jim Meyering.
18907         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
18908         many older Unixes require this.
18909         * lib/alloca.c (alloca): Remove cast to argument of free;
18910         no longer needed in C89.
18911         * lib/alloca_.h, regex.h: Fix white space to match
18912         what GNU indent does.
18913
18914 2003-08-09  Paul Eggert  <eggert@twinsun.com>
18915
18916         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
18917         apparently Emacs's Unicode mode got confused before my 2003-08-05
18918         checkin.
18919
18920 2003-08-08  Paul Eggert  <eggert@twinsun.com>
18921
18922         * m4/extensions.m4: New file.
18923         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
18924         Require gl_USE_SYSTEM_EXTENSIONS.
18925         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
18926         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
18927
18928 2003-08-08  Paul Eggert  <eggert@twinsun.com>
18929
18930         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
18931         * modules/extensions, modules/gnu-source: New files.
18932         * modules/timespec, modules/unlocked-io: Depend on extensions.
18933
18934 2003-08-07  Paul Eggert  <eggert@twinsun.com>
18935
18936         * modules/restrict: New file.
18937         * MODULES.html.sh (func_all_modules): Add restrict.
18938         * modules/regex: Depend on restrict.
18939
18940 2003-08-07  Paul Eggert  <eggert@twinsun.com>
18941
18942         * m4/restrict.m4: New file.
18943         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
18944
18945 2003-08-07  Bruno Haible  <bruno@clisp.org>
18946
18947         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
18948         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
18949
18950 2003-08-07  Bruno Haible  <bruno@clisp.org>
18951
18952         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
18953         makes the module 'getndelim2' compatible with the module 'getline'.
18954
18955 2003-08-05  Paul Eggert  <eggert@twinsun.com>
18956
18957         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
18958         byte with "\201" to avoid glitches when editing that source file
18959         with multi-gnome-terminal.
18960
18961 2003-08-05  Paul Eggert  <eggert@twinsun.com>
18962
18963         * lib/bumpalloc.h: Remove.
18964
18965 2003-08-05  Paul Eggert  <eggert@twinsun.com>
18966
18967         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
18968         * modules/bumpalloc: Remove.
18969
18970 2003-08-04  Paul Eggert  <eggert@twinsun.com>
18971
18972         * lib/getloadavg.c: Change copyright notice and spacing to conform to
18973         GNU coding style.
18974
18975         Merge from coreutils.
18976         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
18977         1. From glibc.
18978         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
18979         from Karl Berry, implemented by Jim Meyering.
18980         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
18981         from Dmitry V. Levin.
18982         Remove anachronistic cast of xrealloc.
18983         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
18984         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
18985         type. Otherwise, it wouldn't compile with at least /bin/cc on
18986         ymp-cray-unicos9.0.2.X.
18987         Combine two mostly-identical uses of alloca into one.
18988         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
18989
18990 2003-08-04  Dave Love  <d.love@dl.ac.uk>
18991
18992         [From Emacs.]
18993
18994         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
18995         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
18996         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
18997         obsolete NLIST_NAME_UNION.
18998         [__GNU__]: Undef BSD and FSCALE.
18999         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
19000
19001 2003-08-03  Paul Eggert  <eggert@twinsun.com>
19002
19003         * lib/stdbool_.h (_Bool): Make it signed char, instead of
19004         an enum type, so that it's guaranteed to promote to int.  See:
19005         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
19006
19007 2003-08-03  Karl Berry  <karl@gnu.org>
19008
19009         * config/depcomp: update from automake.
19010
19011 2003-07-31  Paul Eggert  <eggert@twinsun.com>
19012
19013         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
19014         (strerror): Don't assume that a printable int fits in 14 bytes.
19015
19016 2003-07-31  Bruno Haible  <bruno@clisp.org>
19017
19018         * modules/getpass-gnu: New file.
19019         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
19020
19021 2003-07-31  Bruno Haible  <bruno@clisp.org>
19022
19023         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
19024
19025 2003-07-24  Karl Berry  <karl@gnu.org>
19026
19027         * config/missing: update from automake.
19028
19029 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
19030             Bruno Haible  <bruno@clisp.org>
19031
19032         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
19033         * lib/getline.c (getline, getdelim): Likewise.
19034         Remove _GNU_SOURCE define; now it's defined in config.h through
19035         m4/getline.m4.
19036
19037 2003-07-23  Karl Berry  <karl@gnu.org>
19038
19039         * config/config.sub: update from prep.
19040
19041 2003-07-22  Paul Eggert  <eggert@twinsun.com>
19042
19043         * modules/xalloc (Depends-on): Add exitfail.
19044         * modules/xmemcoll: Likewise.
19045
19046 2003-07-22  Paul Eggert  <eggert@twinsun.com>
19047
19048         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
19049         over-parenthesization in macros.
19050
19051         Sync with coreutils.
19052
19053         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
19054         required by C99.
19055
19056         Use `exit_failure' for xalloc and xmemcoll instead of their own
19057         private exit-failure variables.
19058         * lib/xalloc.h (xalloc_exit_failure): Remove.
19059         * lib/xmalloc.c: Likewise.  Include exitfail.h.
19060         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
19061         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
19062         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
19063         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
19064
19065 2003-07-20  Jim Meyering  <jim@meyering.net>
19066
19067         * modules/closeout (Depends-on): Add exitfail.
19068         Suggestion from Bruno Haible.
19069
19070 2003-07-19  Karl Berry  <karl@gnu.org>
19071
19072         * config/config.sub: update from prep.
19073
19074 2003-07-18  Paul Eggert  <eggert@twinsun.com>
19075
19076         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
19077         Remove.
19078         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
19079         to test that it can stand by itself.  Include "exitfail.h".
19080         Clients should set exit_failure instead.
19081         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
19082
19083 2003-07-18  Bruno Haible  <bruno@clisp.org>
19084
19085         * modules/getndelim2: New file.
19086         * modules/getline: Share files with module getndelim2.
19087         * modules/getnline: Depend on getndelim2 instead of sharing files with
19088         it. Add getnline.c to lib_SOURCES.
19089         * MODULES.html.sh (func_all_modules): Add getndelim2.
19090
19091 2003-07-18  Bruno Haible  <bruno@clisp.org>
19092
19093         * m4/getndelim2.m4: New file.
19094         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
19095         invoke gl_PREREQ_GETNDELIM2.
19096         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
19097         gl_PREREQ_GETNDELIM2.
19098         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
19099         gl_GETNDELIM2.
19100
19101 2003-07-18  Bruno Haible  <bruno@clisp.org>
19102
19103         * lib/getndelim2.h: New file.
19104         * lib/getndelim2.c: Make into a module of its own. Include config.h,
19105         getndelim2.h.
19106         (getndelim2): Make non-static. Change return type to ssize_t.
19107         * lib/getline.h: Change argument names.
19108         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
19109         * lib/getnline.c: Include getndelim2.h.
19110
19111 2003-07-18  Andreas Schwab  <schwab@suse.de>
19112
19113         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
19114
19115 2003-07-17  Karl Berry  <karl@gnu.org>
19116
19117         * config/config.sub: update from prep.
19118
19119 2003-07-17  Bruno Haible  <bruno@clisp.org>
19120
19121         * modules/getnline: New file.
19122         * modules/getline: Add lib/getndelim2.c to source file list.
19123         * MODULES.html.sh (func_all_modules): Add getnline.
19124
19125 2003-07-17  Bruno Haible  <bruno@clisp.org>
19126
19127         * m4/getnline.m4: New file.
19128
19129 2003-07-17  Bruno Haible  <bruno@clisp.org>
19130
19131         * m4/Makefile.am.in: Remove file.
19132         * m4/Makefile.am: Remove file.
19133         * m4/Makefile.in: Remove file.
19134
19135 2003-07-17  Bruno Haible  <bruno@clisp.org>
19136
19137         * lib/getnline.h: New file.
19138         * lib/getnline.c: New file.
19139         * lib/getndelim2.c: New file, extracted from getline.c.
19140         (getndelim2): Renamed from getdelim2, with added nmax argument.
19141         * lib/getline.c: Include getndelim2.c.
19142         (getdelim2): Moved out to getndelim2.c.
19143         (getline, getdelim): Update.
19144
19145 2003-07-17  Bruno Haible  <bruno@clisp.org>
19146
19147         * lib/Makefile.am: Remove file.
19148         * lib/Makefile.in: Remove file.
19149
19150 2003-07-17  Bruno Haible  <bruno@clisp.org>
19151
19152         * configure.in: Remove file.
19153         * Makefile.in: Remove file.
19154
19155 2003-07-17  Bruno Haible  <bruno@clisp.org>
19156
19157         * MODULES.html.sh: Put the </BODY> right before </HTML>.
19158
19159 2003-07-16  Karl Berry  <karl@gnu.org>
19160
19161         * config/srclist-update: was running fixlicense twice, which caused
19162                 texinfo.tex to be nullified for some reason.  Simplify,
19163                 $gplsrc is no longer needed as far as I can see?
19164
19165 2003-07-16  Jim Meyering  <jim@meyering.net>
19166
19167         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
19168
19169 2003-07-15  Paul Eggert  <eggert@twinsun.com>
19170
19171         * config/srclist.txt: Get the following files from gettext-runtime/intl
19172         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
19173         ref-del.sin.  From Bruno Haible.
19174         * config/srclist-update (fixfile): Change grep pattern again, since the
19175         previous fix didn't work (there was another trailing $).  Use
19176         '[$]' to escape the $s.
19177
19178 2003-07-15  Karl Berry  <karl@gnu.org>
19179
19180         * lib/vasnprintf.c: update from gettext.
19181
19182 2003-07-15  Karl Berry  <karl@gnu.org>
19183
19184         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
19185         gets expanded when surrounded by '$'.
19186
19187 2003-07-15  Jim Meyering  <jim@meyering.net>
19188
19189         * modules/save-cwd: Don't depend on error.  From Derek Price.
19190
19191 2003-07-15  Jim Meyering  <jim@meyering.net>
19192
19193         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
19194
19195 2003-07-14  Simon Josefsson  <jas@extundo.com>
19196
19197         * modules/mempcpy: New file.
19198         * MODULES.html.sh (func_all_modules): Add mempcpy.
19199
19200 2003-07-14  Simon Josefsson  <jas@extundo.com>
19201
19202         * m4/mempcpy.m4: New file.
19203
19204 2003-07-14  Simon Josefsson  <jas@extundo.com>
19205
19206         * lib/mempcpy.h: New file.
19207         * lib/mempcpy.c: New file.
19208
19209 2003-07-14  Paul Eggert  <eggert@twinsun.com>
19210
19211         * modules/getdate, modules/posixtm: Depend on mktime.
19212
19213 2003-07-14  Paul Eggert  <eggert@twinsun.com>
19214
19215         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
19216         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
19217         unicodeio.c, unicodeio.h, unlocked-io.h:
19218         Switch from LGPL to GPL.
19219
19220 2003-07-14  Paul Eggert  <eggert@twinsun.com>
19221
19222         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
19223         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
19224         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
19225         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
19226         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
19227         updated automatically by ../config/srclist-update.  This changes
19228         their license from LPGL to GPL.
19229
19230 2003-07-14  Paul Eggert  <eggert@twinsun.com>
19231
19232         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
19233         assumed to refer to the root of the most recent stable gettext version.
19234         * config/srclistvars.sh: Add defaults for eggert.
19235         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
19236         Match "This program" as well as "The program".  This is needed
19237         for gettext.
19238
19239 2003-07-14  Jim Meyering  <jim@meyering.net>
19240
19241         Don't emit diagnostics.  Let callers do that.
19242         * lib/save-cwd.c: Don't include "error.h".
19243         (save_cwd): Don't call error.  Ensure that errno is valid
19244         when returning nonzero.
19245
19246         * lib/save-cwd.h (restore_cwd): Update prototype.
19247         * lib/save-cwd.c (restore_cwd): Remove two parameters.
19248         Simplify.  Don't call error upon failure.  Let callers do that.
19249         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
19250         when auditing is enabled.  But don't bother updating the #if.
19251
19252 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
19253
19254         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
19255         it breaks C++ compilation.
19256         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
19257
19258 2003-07-10  Simon Josefsson  <jas@extundo.com>
19259
19260         * modules/strchrnul (Makefile.am): Add strchrnul.h.
19261
19262 2003-07-10  Jim Meyering  <jim@meyering.net>
19263
19264         * m4/clock_time.m4: Remove trailing blank.
19265         * m4/intmax_t.m4: Likewise.
19266
19267 2003-07-10  Jim Meyering  <jim@meyering.net>
19268
19269         * lib/vasnprintf.c: Remove trailing blanks.
19270         Make cpp indentation consistent.
19271
19272 2003-07-09  Paul Eggert  <eggert@twinsun.com>
19273
19274         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
19275         posixver.c, strftime.c, strnlen.c, strverscmp.c:
19276         Switch from LGPL to GPL.
19277
19278 2003-07-09  Paul Eggert  <eggert@twinsun.com>
19279
19280         * config/srclist.txt: Sort sublists.  Add
19281         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
19282         that differ from gnulib for one reason or another; we'd like this list
19283         to be smaller but for now let's document what we have.
19284
19285 2003-07-08  Paul Eggert  <eggert@twinsun.com>
19286
19287         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
19288         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
19289         and sweeter "eval x=$x".
19290         * config/srclist.txt: Get lib/argp* from glibc.
19291
19292 2003-07-07  Paul Eggert  <eggert@twinsun.com>
19293
19294         * lib/mktime.c: Fix some boundary cases and remove need for floating
19295         point.
19296
19297         Issue a compile-time diagnostic if time_t is floating point, or if
19298         two's complement arithmetic is not in effect, or if arithmetic
19299         right shift does not propagate the sign.  These assumptions were
19300         all in the original code but they weren't checked.
19301
19302         (TIME_T_MIDPOINT, verify): New macros.
19303         (__isleap): Remove; it has integer overflow problems.
19304         (leapyear): New function, without those problems.
19305         (ydhms_tm_diff): Remove; splitting into two parts.
19306         (ydhms_diff): New function, containing the arithmetic part of
19307         the old ydhms_tm_diff function.  Issue a compile-time
19308         diagnostic if we are not using C99 integer division.
19309         Avoid casts when possible.
19310         (guess_time_tm): New function, containing the checking part of
19311         the old ydhms_tm_diff function.  Return the new value, rather than
19312         the difference between it and the old.  Accept a new argument T
19313         so that *T specifies the old value.  Check for overflow in the result.
19314
19315         (__mktime_internal): Use a time_t offset, not a long int offset.
19316         This undoes the 2003-06-04 change, which is no longer needed now
19317         that we have better overflow checking.
19318         (localtime_offset): Likewise.
19319
19320         (__mktime_internal): Avoid harmful overflow on hosts where time_t
19321         and long are 64-bit but int is only 32-bit.
19322         (ydhms_diff): Use long int to store year1 and yday1.
19323         Issue a compile-time diagnostic if long int is not wide enough.
19324
19325         (__mktime_internal): Use long int to store adjusted year and yday.
19326         Use plain C rather than preprocessor commands, if that doesn't
19327         affect efficiency.
19328         Check for overflow (and try to repair) after each probe
19329         rather than checking only at the very end.  This avoids some bugs
19330         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
19331         does not equal GMT offset at maximum time).
19332         Use integer to check for overflow rather than floating point; this
19333         is more portable to non-IEEE hosts, and is a tad faster.
19334         When we detect that we are oscillating between two values,
19335         don't check whether tm_isdst has the requested value, since
19336         we already know the answer.  When tm_isdst has the wrong value,
19337         use a different heuristic to find the right one, based on the
19338         extreme values actually observed in practice in tz2003a,
19339         rather than the (overly optimistic) "previous 3 calendar quarters".
19340
19341         (not_equal_tm, print_tm, check_result): Use "const T" rather than
19342         "T const" to accommodate glibc style.
19343         (check_result): Use less-confusing report format.  "long" -> "long int.
19344         (main): Likewise.
19345         Don't loop if the iteration overflows time_t.
19346         Allow a negative step in the iteration.
19347
19348 2003-07-06  Karl Berry  <karl@gnu.org>
19349
19350         * config/depcomp: update from automake.
19351         * config/config.sub: update from prep.
19352
19353 2003-07-03  Karl Berry  <karl@gnu.org>
19354
19355         * config/config.guess: update from prep.
19356
19357 2003-07-01  Paul Eggert  <eggert@twinsun.com>
19358
19359         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
19360         xreadlink.c now includes it unconditionally.
19361
19362 2003-07-01  Paul Eggert  <eggert@twinsun.com>
19363
19364         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
19365         having it depend on HAVE_SYS_TYPES_H.
19366
19367 2003-07-01  Bruno Haible  <bruno@clisp.org>
19368
19369         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
19370         <sys/types.h> should be sufficient.
19371         Reported by Paul Eggert.
19372
19373 2003-06-26  Karl Berry  <karl@gnu.org>
19374
19375         * config/depcomp: update from automake.
19376
19377 2003-06-26  Bruno Haible  <bruno@clisp.org>
19378
19379         * modules/human: Depend on module stdbool.
19380
19381 2003-06-25  Bruno Haible  <bruno@clisp.org>
19382
19383         * modules/readlink: New file.
19384         * modules/xreadlink: Depend on it.
19385         * MODULES.html.sh (func_all_modules): Add readlink.
19386
19387 2003-06-25  Bruno Haible  <bruno@clisp.org>
19388
19389         * m4/readlink.m4: New file.
19390
19391 2003-06-25  Bruno Haible  <bruno@clisp.org>
19392
19393         * lib/readlink.c: New file.
19394
19395 2003-06-22  Karl Berry  <karl@gnu.org>
19396
19397         * config/srclist.txt: update mkinstalldirs from automake.
19398         * config/mkinstalldirs: update.
19399
19400 2003-06-22  Bruno Haible  <bruno@clisp.org>
19401
19402         Portability to mingw32.
19403         * m4/ssize_t.m4: New file, from GNU gettext.
19404         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
19405         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
19406
19407 2003-06-22  Bruno Haible  <bruno@clisp.org>
19408
19409         * modules/safe-read: Add m4/ssize_t.m4.
19410         * modules/xreadlink: Add m4/ssize_t.m4.
19411
19412 2003-06-20  Bruno Haible  <bruno@clisp.org>
19413
19414         Assume C89, so PARAMS isn't needed.
19415         * lib/unicodeio.h (PARAMS): Remove.
19416         * lib/unicodeio.c: Don't use PARAMS.
19417
19418 2003-06-18  Karl Berry  <karl@gnu.org>
19419
19420         * config/config.{guess,sub}: update from prep.
19421
19422 2003-06-18  Jim Meyering  <jim@meyering.net>
19423
19424         Merge changes from coreutils.
19425         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
19426         Remove explicit declarations of xmalloc and realloc.
19427         Include xalloc.h.
19428         (read_utmp): Remove anachronistic cast of xmalloc.
19429
19430 2003-06-17  Paul Eggert  <eggert@twinsun.com>
19431
19432         Assume C89, so PARAMS isn't needed.
19433         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
19434         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
19435         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
19436         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
19437         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
19438         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
19439         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
19440         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
19441         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
19442         lib/xstrtod.h, lib/xstrtol.h: Likewise.
19443         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
19444         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
19445         no longer needed. Anyway, config.h should always be included before any
19446         other file.
19447
19448 2003-06-11  Simon Josefsson  <jas@extundo.com>
19449
19450         * modules/sysexits: New file.
19451         * MODULES.html.sh (func_all_modules): Add sysexits.
19452
19453 2003-06-11  Simon Josefsson  <jas@extundo.com>
19454
19455         * lib/sysexit_.h: New file.
19456
19457 2003-06-11  Derek Price  <derek@ximbiot.com>
19458
19459         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
19460         necessary.
19461
19462 2003-06-11  Bruno Haible  <bruno@clisp.org>
19463
19464         * m4/sysexits.m4: New file.
19465
19466 2003-06-10  Simon Josefsson  <jas@extundo.com>
19467
19468         * lib/argp.h: New file, from glibc.
19469         * lib/argp-ba.c: New file, from glibc.
19470         * lib/argp-eexst.c: New file, from glibc.
19471         * lib/argp-fmtstream.c: New file, from glibc.
19472         * lib/argp-fmtstream.h: New file, from glibc.
19473         * lib/argp-fs-xinl.c: New file, from glibc.
19474         * lib/argp-help.c: New file, from glibc.
19475         * lib/argp-namefrob.h: New file, from glibc.
19476         * lib/argp-parse.c: New file, from glibc.
19477         * lib/argp-pv.c: New file, from glibc.
19478         * lib/argp-pvh.c: New file, from glibc.
19479         * lib/argp-xinl.c: New file, from glibc.
19480
19481 2003-06-10  Simon Josefsson  <jas@extundo.com>
19482
19483         * modules/strchrnul: New file.
19484
19485 2003-06-10  Simon Josefsson  <jas@extundo.com>
19486
19487         * modules/argp: New file.
19488
19489 2003-06-10  Simon Josefsson  <jas@extundo.com>
19490
19491         * m4/strchrnul.m4: New file.
19492
19493 2003-06-10  Simon Josefsson  <jas@extundo.com>
19494
19495         * lib/strchrnul.h: New file.
19496         * lib/strchrnul.c: New file.
19497
19498 2003-06-10  Bruno Haible  <bruno@clisp.org>
19499
19500         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
19501
19502 2003-06-07  Karl Berry  <karl@gnu.org>
19503
19504         * config/config.{guess,sub}: update from prep.
19505
19506 2003-06-07  Jim Meyering  <jim@meyering.net>
19507
19508         * modules/strtod: Use $(...) notation, not @...@ for
19509         AC_REPLACE'd variables.
19510         * modules/localcharset: Likewise.
19511
19512 2003-06-07  Jim Meyering  <jim@meyering.net>
19513
19514         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
19515         in place of my name in the copyright comment.
19516         Remove definition and uses of __P.
19517
19518         From coreutils.
19519         * lib/stat.c: Don't declare xmalloc explicitly.
19520         Instead, include "xalloc.h".
19521         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
19522         xrealloc, and xcalloc return values.
19523         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
19524         Improve comment.
19525         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
19526
19527 2003-06-07  Bruno Haible  <bruno@clisp.org>
19528
19529         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
19530         avoid AC_CONFIG_LINKS.
19531         * modules/fnmatch (Makefile.am): Use explicit creation rule for
19532         fnmatch.h, to avoid AC_CONFIG_LINKS.
19533         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
19534
19535 2003-06-07  Bruno Haible  <bruno@clisp.org>
19536
19537         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
19538         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
19539         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
19540         directory.
19541         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
19542         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
19543         directory.
19544
19545 2003-06-06  Jim Meyering  <jim@meyering.net>
19546
19547         Merge from coreutils.
19548         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
19549         Consolidate declarations and initializations of *_base* locals.
19550
19551         Merge from coreutils.
19552         This avoids a core dump on systems without GNU putenv,
19553         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
19554         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
19555         (unsetenv): New static function, from GNU libc.
19556         (rpl_putenv): Use it.
19557
19558         * lib/modechange.c: Remove trailing blanks.
19559
19560         Merge from coreutils.
19561         * lib/fsusage.c: Remove declaration of statfs.
19562         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
19563
19564         * lib/posixtm.c: Include <stdbool.h> unconditionally.
19565
19566 2003-06-06  Jim Meyering  <jim@meyering.net>
19567
19568         * lib/stdbool_.h: Renamed from stdbool.h.in.
19569
19570 2003-06-06  Jim Meyering  <jim@meyering.net>
19571             Bruno Haible  <bruno@clisp.org>
19572
19573         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
19574         Adjust Makefile.am snippet not to redirect directly to target.
19575         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
19576
19577 2003-06-05  Paul Eggert  <eggert@twinsun.com>
19578
19579         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
19580         mismatch, look in future quarters as well as past.  This fixes a
19581         bug when processing fall-backwards gaps immediately after a long
19582         period of daylight-saving time.
19583
19584         * lib/mktime.c: Assume freestanding C89 or better.
19585         (HAVE_LIMITS_H): Remove.  Assume it's 1.
19586         (__P): Remove; not used.
19587         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
19588         (mktime, not_equal_tm, print_tm, check_result,
19589         main): Use prototypes.  Use const * where appropriate.
19590         (main): Fix typo in testing code that uncovered by above changes.
19591         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
19592
19593 2003-06-04  Paul Eggert  <eggert@twinsun.com>
19594
19595         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
19596         locale.h, localeconv.  This merges changes from coreutils.
19597
19598         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
19599         It can be removed after the next Autoconf is released.
19600         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
19601         needed.
19602
19603 2003-06-04  Paul Eggert  <eggert@twinsun.com>
19604
19605         * lib/mktime.c: Fix Debian bug 177940
19606         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
19607         (localtime_offset): Now long int, not time_t, because we want it
19608         to be guaranteed to be signed.  All uses changed.
19609         (__mktime_internal): If overflow would occur when adding offset,
19610         don't add it.
19611
19612         Merge 'human' changes from coreutils.  Rewrite to support
19613         locale-specific notations like thousands separators.
19614         * lib/human.c: Simplify authorship notice.
19615         Include human.h immediately after config.h.
19616         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
19617         <limits.h>: Do not include, since human.h does.
19618         (SIZE_MAX, UINTMAX_MAX): New macros.
19619         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
19620         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
19621         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
19622         (power_letter): Renamed from suffixes.
19623         (generate_suffix_backwards): Remove.
19624         (adjust_value): Now takes int style (because of human.h changes)
19625         and long double value (for greater precision on some platforms).
19626         (group_number): New function.
19627         (human_readable): Use it.  Use integer options, not enum.
19628         Put the options before the sizes in the arg list.
19629         Support all the new options.
19630         The old human_readable function has been removed;
19631         use inttostr.h instead.
19632         (human_readable, default_block_size, humblock):
19633         Use uintmax_t, not int, for block sizes.
19634         (human_readable_inexact, block_size_types): Remove.
19635         (block_size_opts): New constant.
19636         (human_options): Renamed from human_block_size, with new signature
19637         that allows block sizes up to UINTMAX_MAX.  All callers changed.
19638         * lib/human.h: Add copyright and authorship notice.
19639         Include <limits.h> and <stdbool.h> unconditionally.
19640         (PARAMS): Remove.  All uses removed.
19641         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
19642         (enum human_inexact_style): Remove tag; now a nameless enum.
19643         (human_floor, human_ceiling, human_round_to_even): Now have
19644         values 2, 0, 1 rather than -1, 1, 0.
19645         (human_group_digits, human_suppress_point_zero, human_autoscale,
19646         human_base_1024, human_SI, human_B): New constants.
19647         (human_readable_inexact, human_block_size): Remove.
19648         (human_readable): Size args are now uintmax_t, not int.
19649         (human_options): New decl.
19650
19651         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
19652         unnecessary now that we assume C89 or better.  This change
19653         imported from coreutils.
19654
19655         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
19656         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
19657         in the 2003-05-30 sync from glibc.
19658
19659         .h files should stand alone, but we shouldn't include <sys/types.h>
19660         if we can get away with just <stddef.h>.
19661
19662         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
19663         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
19664         rather than <sys/types.h>, as we merely need size_t.
19665         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
19666         to get size_t.
19667         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
19668         Include <stdio.h>, to get FILE.
19669         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
19670         memcasecmp.h has included <stddef.h> and all we need is size_t.
19671         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
19672         our interface, instead of including <sys/types.h>
19673
19674 2003-06-04  Paul Eggert  <eggert@twinsun.com>
19675
19676         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
19677         now, as glibc mktime is buggy on non-glibc systems.
19678
19679 2003-06-03  Karl Berry  <karl@gnu.org>
19680
19681         * config/config.sub: update from prep.
19682
19683 2003-06-02  Paul Eggert  <eggert@twinsun.com>
19684
19685         [from coreutils]
19686         Fix some minor time-related bugs with POSIX time arguments.
19687         Some valid time stamps were being rejected (notably -1, and
19688         time stamps before 1900 on 64-bit hosts).  And some invalid
19689         time stamps were being accepted, e.g. September 31.
19690
19691         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
19692         that we can return (time_t) -1 successfully.
19693         * lib/posixtm.c: Likewise.
19694         [HAVE_STDBOOL_H]: Include <stdbool.h>.
19695         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
19696         (t): Remove static var.
19697         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
19698         of static var.  All uses changed.
19699         (year): Do not reject years before 1900; they can occur with
19700         64-bit time_t.
19701         (posix_time_parse): Do not check for out-of-range components;
19702         that is now the caller's responsibility, since our checks were
19703         only approximations.
19704         (posixtime): Use mktime to check for out-of-range components,
19705         since it knows them exactly.
19706         If mktime returns (time_t) -1, check whether an error actually occurred
19707         by invoking localtime on -1.
19708         (main) [TEST_POSIXTIME]: Check for input data errors, and report
19709         posixtime failures better.
19710         Improve the test data (in comments only).
19711
19712 2003-06-02  Karl Berry  <karl@gnu.org>
19713
19714         * config/mkinstalldirs (version): new variable.
19715         (--version): new option.
19716         (usage): improve message.
19717
19718 2003-05-30  Karl Berry  <karl@gnu.org>
19719
19720         * lib/mktime.c: update from libc.
19721
19722 2003-05-30  Bruno Haible  <bruno@clisp.org>
19723
19724         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
19725         * config/config.rpath: Upgrade to gettext-0.12.1.
19726
19727 2003-05-30  Bruno Haible  <bruno@clisp.org>
19728
19729         * m4/gettext.m4: Upgrade to gettext-0.12.1.
19730         * m4/nls.m4: New file, from gettext-0.12.1.
19731         * m4/po.m4: New file, from gettext-0.12.1.
19732         * m4/progtest.m4: Upgrade to gettext-0.12.1.
19733
19734 2003-05-30  Bruno Haible  <bruno@clisp.org>
19735
19736         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
19737         * lib/localcharset.h: Likewise.
19738         * lib/localcharset.c: Likewise.
19739
19740 2003-05-29  Karl Berry  <karl@gnu.org>
19741
19742         * config/config.rpath: update from gettext.
19743
19744 2003-05-28  Paul Eggert  <eggert@twinsun.com>
19745
19746         Assume the headers required for C89 freestanding compilers.
19747         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
19748         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
19749         * m4/human.m4 (gl_HUMAN): Likewise.
19750         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
19751         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
19752         * m4/userspec.m4 (gl_USERSPEC): Likewise.
19753         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
19754         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
19755         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
19756
19757 2003-05-28  Paul Eggert  <eggert@twinsun.com>
19758
19759         Assume the headers required for C89 freestanding compilers.
19760         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
19761         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
19762         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
19763         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
19764         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
19765         define, since <limits.h> is guaranteed to do that.
19766         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
19767         * lib/exclude.c: Include <stdbool.h> unconditionally.
19768         * lib/tempname.c: Include <stddef.h> unconditionally.
19769         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
19770         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
19771         <stddef.h> does that.
19772         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
19773         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
19774         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
19775         needed.
19776         * lib/xstrtol.c: Likewise.
19777         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
19778         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
19779
19780         * lib/addext.c (addext): Use assignment rather than cast, to avoid
19781         warnings on some platforms.
19782
19783         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
19784         arbitrarily.
19785
19786 2003-05-26  Jim Meyering  <jim@meyering.net>
19787
19788         Merge in a change from coreutils:
19789         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
19790         that is guaranteed to be `no'.  Use `no_such_member' to indicate
19791         that condition, rather than `-1' which is slightly misleading.
19792         Change the name of the cache variable to have the gl_ prefix.
19793         Prompted by a patch from Richard Dawe for DJGPP.
19794
19795 2003-05-24  Karl Berry  <karl@gnu.org>
19796
19797         * config/config.guess: update from prep.
19798
19799 2003-05-22  Karl Berry  <karl@gnu.org>
19800
19801         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
19802
19803 2003-05-20  Karl Berry  <karl@gnu.org>
19804
19805         * config/config.guess: update from prep.
19806
19807 2003-05-18  Karl Berry  <karl@gnu.org>
19808
19809         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
19810         might actually be set by the user.
19811
19812         * config/depcomp, install-sh, mdate-sh: update from automake.
19813
19814 2003-05-17  Bruno Haible  <bruno@clisp.org>
19815
19816         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
19817         invalid expansion for AC_EGREP_CPP.
19818         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
19819         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
19820         Suggested by Akim Demaille <akim@epita.fr> in
19821         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
19822
19823 2003-05-12  Jim Meyering  <jim@meyering.net>
19824
19825         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
19826         the space-padded-by-default conversion specifiers, %e, %k, %l.
19827
19828 2003-05-12  Bruno Haible  <bruno@clisp.org>
19829
19830         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
19831         the string is longer than 4 KB.
19832
19833 2003-05-11  Karl Berry  <karl@gnu.org>
19834
19835         * config/config.{guess,sub}: update from prep.
19836
19837 2003-05-09  Bruno Haible  <bruno@clisp.org>
19838
19839         * modules/error: Add m4/strerror_r.m4 to file list.
19840
19841 2003-05-03  Bruno Haible  <bruno@clisp.org>
19842
19843         Upgrade to Unicode-4.0.
19844         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
19845         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
19846         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
19847         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
19848         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
19849         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
19850         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
19851         Change width of U+E0100..U+E01EF from 1 to 0.
19852
19853 2003-04-25  Jim Meyering  <jim@meyering.net>
19854
19855         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
19856         of type size_t, not int.
19857
19858 2003-04-25  Bruno Haible  <bruno@clisp.org>
19859
19860         * lib/copy-file.c: Include <stddef.h>, for size_t.
19861
19862 2003-04-21  Paul Eggert  <eggert@twinsun.com>
19863
19864         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
19865         code which expansion is under static control.  Patch imported from
19866         Akim Demaille's patch to Bison; see
19867         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
19868
19869 2003-04-14  Bruno Haible  <bruno@clisp.org>
19870
19871         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
19872
19873 2003-04-11  Jim Meyering  <jim@meyering.net>
19874
19875         Merge changes from Coreutils.
19876
19877         2003-03-22  Jim Meyering  <jim@meyering.net>
19878
19879         * lib/strftime.c (widen): Cast alloca return value to proper type.
19880
19881         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
19882
19883         From GNU libc.
19884         * lib/strftime.c (my_strftime): Handle very large width
19885         specifications for numeric values correctly.  Improve checks for
19886         overflow.
19887
19888         2003-01-19  Jim Meyering  <jim@meyering.net>
19889
19890         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
19891         definitions.
19892         (nl_get_alt_digit) [! defined my_strftime]: Define.
19893         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
19894         _nl_get_alt_digit and _nl_get_walt_digit.
19895
19896         * lib/strftime.c (my_strftime): Merge in locale-related changes from
19897         libc. These changes have no effect outside of _LIBC.
19898
19899 2003-04-10  Bruno Haible  <bruno@clisp.org>
19900
19901         * modules/findprog: New file.
19902         * MODULES.html.sh (func_all_modules): Add it.
19903
19904 2003-04-10  Bruno Haible  <bruno@clisp.org>
19905
19906         * m4/findprog.m4: New file.
19907         * m4/eaccess.m4: New file.
19908
19909 2003-04-10  Bruno Haible  <bruno@clisp.org>
19910
19911         * lib/findprog.h: New file, from GNU gettext.
19912         * lib/findprog.c: New file, from GNU gettext.
19913
19914 2003-04-05  Jim Meyering  <jim@meyering.net>
19915
19916         Merge changes from Coreutils.
19917
19918         * lib/exclude.h (PARAMS): Remove definition and uses.
19919         * lib/exclude.c: Remove uses of `PARAMS'.
19920
19921         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
19922         Add test-cases for DOS filenames. Declare program_name.
19923         (main): Set up program_name.  Patch by Rich Dawe.
19924
19925         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
19926         error from mntctl.
19927         Use mntctl's return value to drive the entry-processing loop, since
19928         we can't rely on the value of the vmt_length member in the last
19929         entry.  On some systems doing so could result in exhausting
19930         virtual memory.  Based in part on a patch from Mike Jetzer.
19931
19932 2003-04-04  Bruno Haible  <bruno@clisp.org>
19933
19934         * modules/linebreak: New file.
19935         * MODULES.html.sh (func_all_modules): Add it.
19936
19937 2003-04-04  Bruno Haible  <bruno@clisp.org>
19938
19939         * m4/linebreak.m4: New file.
19940
19941 2003-04-04  Bruno Haible  <bruno@clisp.org>
19942
19943         * lib/linebreak.h: New file, from GNU gettext.
19944         * lib/linebreak.c: New file, from GNU gettext with slight
19945         modifications.
19946         * lib/lbrkprop.h: New file, from GNU gettext.
19947
19948 2003-04-03  Bruno Haible  <bruno@clisp.org>
19949
19950         * modules/utf8-ucs4: New file.
19951         * modules/utf16-ucs4: New file.
19952         * modules/ucs4-utf8: New file.
19953         * modules/ucs4-utf16: New file.
19954         * MODULES.html.sh (func_all_modules): Add them.
19955
19956 2003-04-03  Bruno Haible  <bruno@clisp.org>
19957
19958         * m4/utf-ucs4.m4: New file.
19959         * m4/ucs4-utf.m4: New file.
19960
19961 2003-04-03  Bruno Haible  <bruno@clisp.org>
19962
19963         * lib/utf8-ucs4.h: New file, from GNU gettext.
19964         * lib/utf16-ucs4.h: New file, from GNU gettext.
19965         * lib/ucs4-utf8.h: New file, from GNU gettext.
19966         * lib/ucs4-utf16.h: New file, from GNU gettext.
19967
19968 2003-04-02  Bruno Haible  <bruno@clisp.org>
19969
19970         * modules/binary-io: New file.
19971         * MODULES.html.sh (func_all_modules): Add it.
19972
19973 2003-04-02  Bruno Haible  <bruno@clisp.org>
19974
19975         * lib/binary-io.h: New file, from GNU gettext.
19976
19977 2003-04-01  Bruno Haible  <bruno@clisp.org>
19978
19979         * modules/pathname: New file.
19980         * MODULES.html.sh (func_all_modules): Add it.
19981
19982 2003-04-01  Bruno Haible  <bruno@clisp.org>
19983
19984         * lib/pathname.h: New file, from GNU gettext.
19985         * lib/concatpath.c: New file, from GNU gettext.
19986
19987 2003-03-30  Bruno Haible  <bruno@clisp.org>
19988
19989         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
19990
19991 2003-03-30  Bruno Haible  <bruno@clisp.org>
19992
19993         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
19994         function chown() doesn't exist.
19995
19996 2003-03-28  Bruno Haible  <bruno@clisp.org>
19997
19998         * modules/copy-file: New file.
19999         * MODULES.html.sh (func_all_modules): Add it.
20000
20001 2003-03-28  Bruno Haible  <bruno@clisp.org>
20002
20003         * m4/copy-file.m4: New file.
20004
20005 2003-03-28  Bruno Haible  <bruno@clisp.org>
20006
20007         * lib/copy-file.h: New file, from GNU gettext.
20008         * lib/copy-file.c: New file, from GNU gettext.
20009
20010 2003-03-18  Jim Meyering  <jim@meyering.net>
20011
20012         * lib/quote.c (quote_n): Fix typo in comment.
20013
20014 2003-03-18  Bruno Haible  <bruno@clisp.org>
20015
20016         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
20017         checking.
20018         * m4/onceonly_2_57.m4: Likewise.
20019
20020 2003-03-17  Bruno Haible  <bruno@clisp.org>
20021
20022         * m4/onceonly.m4: Require autoconf 2.54 or newer.
20023         (m4_quote): Remove macro.
20024         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
20025
20026 2003-03-14  Jim Meyering  <jim@meyering.net>
20027
20028         Merge changes from Coreutils.
20029         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
20030         to be const, in order to avoid warnings.
20031         (obstack_room): Likewise.
20032         (obstack_empty_p): Likewise.
20033
20034 2003-03-14  Bruno Haible  <bruno@clisp.org>
20035
20036         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
20037         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
20038
20039 2003-03-13  Paul Eggert  <eggert@twinsun.com>
20040
20041         Merge changes from Bison.
20042         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
20043         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
20044         when compiling Bison 1.875's `bitset bset = obstack_alloc
20045         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
20046         * lib/hash.c: Include <stdbool.h> unconditionally.
20047
20048 2003-03-13  Paul Eggert  <eggert@twinsun.com>
20049
20050         * m4/onceonly.m4 (m4_quote): New macro.
20051         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
20052         Quote AC_FOREACH variable-expansions properly.
20053
20054 2003-03-13  Paul Eggert  <eggert@twinsun.com>
20055
20056         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
20057
20058 2003-03-09  Paul Eggert  <eggert@twinsun.com>
20059
20060         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
20061         Reported by Bruce Becker; see:
20062         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
20063
20064 2003-03-03  Paul Eggert  <eggert@twinsun.com>
20065             Bruno Haible  <bruno@clisp.org>
20066
20067         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
20068         Reported by John Hughes, see
20069         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
20070
20071 2003-02-20  Bruno Haible  <bruno@clisp.org>
20072
20073         * MODULES.html.sh (func_all_modules): Add poll.
20074
20075 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
20076
20077         * modules/poll: New file.
20078
20079 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
20080
20081         * lib/poll_.h: New file.
20082         * lib/poll.c: New file.
20083
20084 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
20085
20086         * m4/poll.m4: New file.
20087
20088 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
20089
20090         * modules/mathl: New file.
20091
20092 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
20093
20094         * lib/mathl.h: New file.
20095         * lib/acosl.c: New file.
20096         * lib/asinl.c: New file.
20097         * lib/atanl.c: New file.
20098         * lib/ceill.c: New file.
20099         * lib/cosl.c: New file.
20100         * lib/expl.c: New file.
20101         * lib/floorl.c: New file.
20102         * lib/frexpl.c: New file.
20103         * lib/ldexpl.c: New file.
20104         * lib/logl.c: New file.
20105         * lib/sincosl.c: New file.
20106         * lib/sinl.c: New file.
20107         * lib/sqrtl.c: New file.
20108         * lib/tanl.c: New file.
20109         * lib/trigl.c: New file.
20110         * lib/trigl.h: New file.
20111
20112 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
20113
20114         * m4/mathl.m4: New file.
20115
20116 2003-02-18  Bruno Haible  <bruno@clisp.org>
20117
20118         * MODULES.html.sh (func_all_modules): Add mathl.
20119
20120 2003-02-17  Bruno Haible  <bruno@clisp.org>
20121
20122         * modules/mkdtemp: New module.
20123         * MODULES.html.sh (func_all_modules): Add it.
20124
20125 2003-02-17  Bruno Haible  <bruno@clisp.org>
20126
20127         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
20128
20129 2003-02-17  Bruno Haible  <bruno@clisp.org>
20130
20131         * lib/mkdtemp.h: New file, from GNU gettext.
20132         * lib/mkdtemp.c: New file, from GNU gettext.
20133
20134 2003-02-02  Jim Meyering  <jim@meyering.net>
20135
20136         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
20137         e.g. glibc-2.2.93.
20138
20139 2003-01-31  Bruno Haible  <bruno@clisp.org>
20140
20141         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
20142         'rpl_rename'.
20143         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
20144         'rpl_strnlen'.
20145         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
20146         'rpl_strtod'.
20147         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
20148         'rpl_utime'.
20149
20150 2003-01-31  Bruno Haible  <bruno@clisp.org>
20151
20152         * lib/rename.c: #undef rename before defining rpl_rename.
20153         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
20154
20155 2003-01-30  Bruno Haible  <bruno@clisp.org>
20156
20157         * modules/vasnprintf, modules/vasprintf: New modules.
20158         * MODULES.html.sh (func_all_modules): Add them.
20159
20160 2003-01-30  Bruno Haible  <bruno@clisp.org>
20161
20162         * m4/signed.m4: New file, from GNU gettext.
20163         * m4/longdouble.m4: New file, from GNU gettext.
20164         * m4/wchar_t.m4: New file, from GNU gettext.
20165         * m4/wint_t.m4: New file, from GNU gettext.
20166         * m4/vasnprintf.m4: New file.
20167         * m4/vasprintf.m4: New file.
20168
20169 2003-01-30  Bruno Haible  <bruno@clisp.org>
20170
20171         * lib/printf-args.h: New file, from GNU gettext.
20172         * lib/printf-args.c: New file, from GNU gettext.
20173         * lib/printf-parse.h: New file, from GNU gettext.
20174         * lib/printf-parse.c: New file, from GNU gettext.
20175         * lib/vasnprintf.h: New file, from GNU gettext.
20176         * lib/vasnprintf.c: New file, from GNU gettext.
20177         * lib/asnprintf.c: New file, from GNU gettext.
20178         * lib/vasprintf.h: New file, from GNU gettext with modifications.
20179         * lib/vasprintf.c: New file, from GNU gettext.
20180         * lib/asprintf.c: New file, from GNU gettext.
20181
20182 2003-01-29  Bruno Haible  <bruno@clisp.org>
20183
20184         * modules/stpncpy: New module.
20185         * MODULES.html.sh (func_all_modules): Add it.
20186
20187 2003-01-29  Bruno Haible  <bruno@clisp.org>
20188
20189         * m4/stpncpy.m4: New file.
20190
20191 2003-01-29  Bruno Haible  <bruno@clisp.org>
20192
20193         * lib/stpncpy.h: New file, from GNU gettext with modifications.
20194         * lib/stpncpy.c: New file, from GNU gettext with modifications.
20195
20196 2003-01-28  Bruno Haible  <bruno@clisp.org>
20197
20198         * modules/c-ctype: New module.
20199         * MODULES.html.sh (func_all_modules): Add it.
20200
20201 2003-01-28  Bruno Haible  <bruno@clisp.org>
20202
20203         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
20204         Paul Eggert.
20205         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
20206         Paul Eggert.
20207
20208 2003-01-27  Bruno Haible  <bruno@clisp.org>
20209
20210         * modules/xsetenv: New module.
20211         * MODULES.html.sh (func_all_modules): Add it.
20212
20213 2003-01-27  Bruno Haible  <bruno@clisp.org>
20214
20215         * lib/xsetenv.h: New file, from GNU gettext.
20216         * lib/xsetenv.c: New file, from GNU gettext.
20217
20218 2003-01-23  Jim Meyering  <jim@meyering.net>
20219
20220         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
20221         from working on systems without dirfd (at least Irix and OSF1/Tru64).
20222
20223 2003-01-23  Bruno Haible  <bruno@clisp.org>
20224
20225         * modules/minmax: New module.
20226         * MODULES.html.sh (func_all_modules): Add it.
20227
20228 2003-01-23  Bruno Haible  <bruno@clisp.org>
20229
20230         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
20231         Eggert.
20232
20233 2003-01-22  Bruno Haible  <bruno@clisp.org>
20234
20235         * modules/exit: New module.
20236         * MODULES.html.sh (func_all_modules): Add it.
20237
20238 2003-01-22  Bruno Haible  <bruno@clisp.org>
20239
20240         * lib/exit.h: New file, from GNU gettext.
20241
20242 2003-01-19  Bruno Haible  <bruno@clisp.org>
20243
20244         * gnulib-tool: Recognize option --extract-maintainer.
20245         (func_get_maintainer): New function.
20246         * modules/*: Add Maintainer entry.
20247
20248 2003-01-16  Jim Meyering  <jim@meyering.net>
20249
20250         * m4/regex.m4: The `regex' struct is both input and output.
20251         Initialize it before each use.  Patch by Tim Waugh.
20252
20253 2003-01-16  Bruno Haible  <bruno@clisp.org>
20254
20255         * MODULES.html.sh: Add a table of contents. Add the module name as
20256         leftmost column. Add hyperlinks.
20257
20258 2003-01-15  Bruno Haible  <bruno@clisp.org>
20259
20260         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
20261
20262 2003-01-15  Bruno Haible  <bruno@clisp.org>
20263
20264         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
20265         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
20266         suffix.
20267
20268 2003-01-15  Bruno Haible  <bruno@clisp.org>
20269
20270         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
20271
20272 2003-01-15  Bruno Haible  <bruno@clisp.org>
20273
20274         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
20275         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
20276
20277 2003-01-14  Jim Meyering  <jim@meyering.net>
20278
20279         * lib/same.c (same_name): Tweak a comment.
20280
20281 2003-01-14  Bruno Haible  <bruno@clisp.org>
20282
20283         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
20284         when a string comparison is sufficient.
20285
20286 2003-01-14  Bruno Haible  <bruno@clisp.org>
20287
20288         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
20289         'unsigned int'.
20290
20291 2003-01-14  Bruno Haible  <bruno@clisp.org>
20292
20293         * lib/hash-pjw.c: Add comment about low quality of this function.
20294
20295 2003-01-13  Bruno Haible  <bruno@clisp.org>
20296
20297         * modules/stpcpy: Distribute lib/stpcpy.h.
20298         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
20299
20300 2003-01-13  Bruno Haible  <bruno@clisp.org>
20301
20302         * modules/*: Add a description.
20303         * modules/strpbrk: Fix Makefile.am snippet.
20304         * modules/strtoimax: Fix dependencies.
20305         * modules/strtoumax: Likewise.
20306
20307 2003-01-13  Bruno Haible  <bruno@clisp.org>
20308
20309         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
20310         * modules/alloca (Makefile.am): All object files depend on alloca.h.
20311         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
20312
20313 2003-01-13  Bruno Haible  <bruno@clisp.org>
20314
20315         * gnulib-tool (func_create_testdir): Store config/* files in the main
20316         directory.
20317         * config.rpath: Move to ...
20318         * config/config.rpath: ... here.
20319         * modules/gettext: Contains config/config.rpath, not config.rpath.
20320         * modules/iconv: Likewise.
20321
20322 2003-01-12  Paul Eggert  <eggert@twinsun.com>
20323
20324         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
20325         to avoid collisions with libcurses and libreadline.
20326
20327         * m4/getstr.m4: Remove.
20328         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
20329
20330 2003-01-12  Paul Eggert  <eggert@twinsun.com>
20331
20332         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
20333         to avoid collisions with libcurses and libreadline.
20334
20335         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
20336         * lib/getstr.h, getstr.c: Remove.
20337         * lib/getline.c: Include "getline.h", to check interface.
20338         Move body of old getstr.c here: this defines MIN_CHUNK and
20339         declares getdelim2, which is renamed from getstr.
20340         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
20341
20342         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
20343         All uses changed.
20344         * lib/linebuffer.h: Likewise.
20345         (readline): Remove backward-compatibility macro.
20346
20347 2003-01-12  Paul Eggert  <eggert@twinsun.com>
20348
20349         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
20350         to avoid collisions with libcurses and libreadline.
20351         * getstr: Remove.
20352         * MODULES.html.sh: Remove getstr.
20353         * modules/getline: Depend on unlocked-io, not getstr.
20354
20355 2003-01-12  Jim Meyering  <jim@meyering.net>
20356
20357         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
20358
20359 2003-01-10  Bruno Haible  <bruno@clisp.org>
20360
20361         * modules/alloca: Change Makefile.am requirements. Simplify Include
20362         requirements. Add lib/alloca_.h to file list.
20363
20364 2003-01-10  Bruno Haible  <bruno@clisp.org>
20365
20366         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
20367
20368 2003-01-10  Bruno Haible  <bruno@clisp.org>
20369
20370         * lib/alloca_.h: New file.
20371         * lib/getdate.y: Unconditionally include alloca.h.
20372         * lib/makepath.c: Likewise.
20373         * lib/setenv.c: Likewise.
20374         * lib/userspec.c: Likewise.
20375
20376 2003-01-09  Karl Berry  <karl@gnu.org>
20377
20378         * MODULES.html.sh: include `dirname $0` in PATH, to find
20379         gnulib-tool.
20380
20381 2003-01-09  Bruno Haible  <bruno@clisp.org>
20382
20383         * modules/stdbool: Change configure.ac, Makefile.am requirements.
20384         Simplify Include requirements. Add lib/stdbool.h.in to file list.
20385
20386 2003-01-09  Bruno Haible  <bruno@clisp.org>
20387
20388         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
20389
20390 2003-01-09  Bruno Haible  <bruno@clisp.org>
20391
20392         * lib/stdbool.h.in: New file.
20393
20394 2003-01-09  Bruno Haible  <bruno@clisp.org>
20395
20396         * gnulib-tool (func_all_modules): Ignore files ending in ~.
20397         * MODULES.html.sh: Likewise.
20398
20399 2003-01-08  Jim Meyering  <jim@meyering.net>
20400
20401         * lib/full-write.c: Undefine and define-away `const' after inclusion
20402         of errno.h, not before.  Suggestion from Bruno Haible.
20403
20404 2003-01-08  Bruno Haible  <bruno@clisp.org>
20405
20406         * modules/full-read: Depend on full-write.
20407
20408 2003-01-08  Bruno Haible  <bruno@clisp.org>
20409
20410         * lib/safe-read.c: Include specification header first, to ensure its
20411         selfcontainedness.
20412         * lib/full-write.c: Likewise.
20413
20414 2003-01-07  Jim Meyering  <jim@meyering.net>
20415
20416         * lib/full-write.c: Rework so that it may serve to define full_read,
20417         too.
20418         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
20419
20420 2003-01-07  Bruno Haible  <bruno@clisp.org>
20421
20422         * lib/strtoimax.c: Include <stdint.h> as an alternative to
20423         <inttypes.h>.
20424         * lib/xstrtol.h: Likewise.
20425         * lib/xstrtoimax.c: Likewise.
20426         * lib/xstrtoumax.c: Likewise.
20427         * lib/human.h: Likewise.
20428
20429         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
20430         on systems that have <inttypes.h> but not <stdint.h>.
20431
20432 2003-01-07  Bruno Haible  <bruno@clisp.org>
20433
20434         * MODULES.html.sh: Add copyright notice.
20435         (missed_files): Omit CVS directory entries.
20436         (func_module): Make it work with sed-3.02.
20437         * MODULES.txt: Remove file.
20438
20439 2003-01-06  Jim Meyering  <jim@meyering.net>
20440
20441         * lib/version-etc.c: Update year in translatable copyright string.
20442
20443 2003-01-03  Karl Berry  <karl@gnu.org>
20444
20445         * config/config.{guess,sub}: update from prep.
20446
20447 2003-01-02  Karl Berry  <karl@gnu.org>
20448
20449         * doc/COPYING.DOC: belatedly updated to 1.2.
20450
20451 2003-01-01  Karl Berry  <karl@gnu.org>
20452
20453         * gnulib-tool (func_verify_module): report module name $module in
20454         error message, not $1.
20455         * gnulib-tool (create-testdir): don't complain if destdir couldn't
20456         be created, only if it doesn't exist.
20457         * gnulib-tool (last_checkin_date): don't expand the $Date here.
20458
20459 2002-12-31  Paul Eggert  <eggert@twinsun.com>
20460
20461         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
20462
20463 2002-12-31  Paul Eggert  <eggert@twinsun.com>
20464
20465         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
20466         memcmp if strcoll doesn't work.
20467
20468 2002-12-31  Bruno Haible  <bruno@clisp.org>
20469
20470         * lib/utime.c (utime_null): No need to call ftruncate if the file was
20471         nonempty.
20472
20473 2002-12-31  Bruno Haible  <bruno@clisp.org>
20474
20475         * lib/memcoll.c (STRCOLL): New macro.
20476         (memcoll): Use it.
20477
20478 2002-12-31  Bruno Haible  <bruno@clisp.org>
20479
20480         * lib/localcharset.h: New file.
20481         * lib/localcharset.c: Include it.
20482         * lib/unicodeio.c: Likewise.
20483
20484 2002-12-31  Bruno Haible  <bruno@clisp.org>
20485
20486         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
20487         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
20488
20489 2002-12-31  Bruno Haible  <bruno@clisp.org>
20490
20491         * lib/getline.h: Include <stddef.h>, for size_t.
20492
20493         * lib/unicodeio.h: Include <stddef.h>, for size_t.
20494         * lib/unicodeio.c: Don't include <stddef.h>.
20495
20496 2002-12-31  Bruno Haible  <bruno@clisp.org>
20497
20498         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
20499         HAVE_TM_ZONE.
20500
20501 2002-12-24  Karl Berry  <karl@gnu.org>
20502
20503         * config/config.guess: update from prep.
20504
20505 2002-12-24  Bruno Haible  <bruno@clisp.org>
20506
20507         General infrasructure.
20508         * m4/README: Rewritten.
20509         * m4/onceonly.m4: New file.
20510         * m4/onceonly_2_57.m4: New file.
20511
20512         Module atexit.
20513         * m4/atexit.m4: New file.
20514
20515         Module strtod.
20516         * m4/strtod.m4: New file.
20517
20518         Module strtol.
20519         * m4/strtol.m4: New file.
20520
20521         Module strtoul.
20522         * m4/strtoul.m4: New file.
20523
20524         Module memchr.
20525         * m4/memchr.m4: New file.
20526
20527         Module memcmp.
20528         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
20529         (jm_FUNC_MEMCMP): Invoke it.
20530
20531         Module memcpy.
20532         * m4/memcpy.m4: New file.
20533
20534         Module memmove.
20535         * m4/memmove.m4: New file.
20536
20537         Module memset.
20538         * m4/memset.m4: New file.
20539
20540         Module strcspn.
20541         * m4/strcspn.m4: New file.
20542
20543         Module strpbrk.
20544         * m4/strpbrk.m4: New file.
20545
20546         Module strstr.
20547         * m4/strstr.m4: New file.
20548
20549         Module strerror.
20550         * m4/strerror.m4: New file.
20551
20552         Module mktime.
20553         * m4/mktime.m4: Renamed from jm-mktime.m4.
20554         (gl_PREREQ_MKTIME): New macro.
20555         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
20556
20557         Module malloc.
20558         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
20559         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
20560         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
20561
20562         Module realloc.
20563         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
20564         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
20565         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
20566
20567         Module strftime.
20568         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
20569         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
20570         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
20571         gl_TM_GMTOFF.
20572         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
20573
20574         Module xalloc.
20575         * m4/xalloc.m4: New file.
20576
20577         Module alloca.
20578         * m4/alloca.m4: New file.
20579
20580         Module putenv.
20581         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
20582         (jm_FUNC_PUTENV): Invoke it.
20583
20584         Module setenv.
20585         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
20586         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
20587         when invoked twice.
20588         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
20589         gt_FUNC_SETENV.
20590
20591         Module memrchr.
20592         * m4/memrchr.m4: New file.
20593
20594         Module stpcpy.
20595         * m4/stpcpy.m4: New file.
20596
20597         Module strcase.
20598         * m4/strcase.m4: New file.
20599
20600         Module strdup.
20601         * m4/strdup.m4: New file.
20602
20603         Module strnlen.
20604         * m4/strnlen.m4: New file.
20605
20606         Module strndup.
20607         * m4/strndup.m4: New file.
20608
20609         Module xstrtod.
20610         * m4/xstrtod.m4: New file.
20611
20612         Module xstrtol.
20613         * m4/xstrtol.m4: New file.
20614
20615         Module getdate.
20616         * m4/getdate.m4: New file.
20617
20618         Module unlocked-io.
20619         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
20620         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
20621         * m4/jm-glibc-io.m4n: Remove file.
20622
20623         Module long-options.
20624         * m4/long-options.m4: New file.
20625
20626         Module md5.
20627         * m4/md5.m4: New file.
20628
20629         Module sha.
20630         * m4/sha.m4: New file.
20631
20632         Module getstr.
20633         * m4/getstr.m4: New file.
20634
20635         Module getline.
20636         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
20637         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
20638         <sys/types.h>, for size_t. Use the function name gnu_getline, not
20639         simply getline. Infoke gl_PREREQ_GETLINE.
20640
20641         Module obstack.
20642         * m4/obstack.m4: New file.
20643
20644         Module hash.
20645         * m4/hash.m4: New file.
20646
20647         Module readtokens.
20648         * m4/readtokens.m4: New file.
20649
20650         Module strverscmp.
20651         * m4/strverscmp.m4: New file.
20652
20653         Module stdbool.
20654         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
20655         OSF/1.
20656
20657         Module strtoll.
20658         * m4/strtoll.m4: New file.
20659
20660         Module strtoull.
20661         * m4/strtoull.m4: New file.
20662
20663         Module strtoimax.
20664         * m4/strtoimax.m4: New file.
20665
20666         Module strtoumax.
20667         * m4/strtoumax.m4: New file.
20668
20669         Module xstrtoimax.
20670         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
20671         jm_AC_PREREQ_XSTRTOIMAX.
20672         Moved the strtol prerequisites to strtol.m4.
20673         Moved the strtoll prerequisites to strtoll.m4.
20674         Moved the strtoimax prerequisites to strtoimax.m4.
20675
20676         Module xstrtoumax.
20677         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
20678         jm_AC_PREREQ_XSTRTOUMAX.
20679         Moved the strtoul prerequisites to strtoul.m4.
20680         Moved the strtoull prerequisites to strtoull.m4.
20681         Moved the strtoumax prerequisites to strtoumax.m4.
20682
20683         Module chown.
20684         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
20685         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
20686
20687         Module dup2.
20688         * m4/dup2.m4: New file.
20689
20690         Module ftruncate.
20691         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
20692         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
20693
20694         Module getgroups.
20695         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
20696         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
20697
20698         Module gettimeofday.
20699         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
20700         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
20701         gl_PREREQ_GETTIMEOFDAY.
20702
20703         Module mkdir.
20704         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
20705         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
20706
20707         Module mkstemp.
20708         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
20709         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
20710         jm_AC_TYPE_UINTMAX_T.
20711         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
20712
20713         Module stat.
20714         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
20715         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
20716
20717         Module lstat.
20718         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
20719         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
20720
20721         Module timespec.
20722         * m4/timespec.m4 (gl_TIMESPEC): New macro.
20723         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
20724         * m4/st_mtim.m4: Indentation.
20725
20726         Module nanosleep.
20727         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
20728         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
20729         gl_PREREQ_NANOSLEEP.
20730
20731         Module regex.
20732         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
20733         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
20734         (gl_REGEX): New macro.
20735
20736         Module rename.
20737         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
20738         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
20739
20740         Module rmdir.
20741         * m4/rmdir.m4: New file.
20742
20743         Module utime.
20744         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
20745         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
20746         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
20747
20748         Module dirname.
20749         * m4/dirname.m4: New file.
20750
20751         Module getopt.
20752         * m4/getopt.m4: New file.
20753
20754         Module unistd-safer.
20755         * m4/unistd-safer.m4: New file.
20756
20757         Module fnmatch.
20758         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
20759         declaration.
20760         (gl_PREREQ_FNMATCH_EXTRA): New macro.
20761         (gl_FUNC_FNMATCH_POSIX): New macro.
20762         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
20763         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
20764         simply fnmatch.
20765
20766         Module exclude.
20767         * m4/exclude.m4: New file.
20768
20769         Module human.
20770         * m4/human.m4: New file.
20771
20772         Module acl.
20773         * m4/acl.m4: Nop.
20774
20775         Module backupfile.
20776         * m4/backupfile.m4: New file.
20777         * m4/d-ino.m4: Indentation.
20778
20779         Module fsusage.
20780         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
20781         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
20782         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
20783
20784         Module dirfd.
20785         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
20786         requirements.
20787
20788         Module euidaccess.
20789         * m4/euidaccess.m4: New file.
20790
20791         Module file-type.
20792         * m4/file-type.m4: New file.
20793
20794         Module fileblocks.
20795         * m4/fileblocks.m4: New file.
20796
20797         Module filemode.
20798         * m4/filemode.m4: New file.
20799
20800         Module isdir.
20801         * m4/isdir.m4: New file.
20802
20803         Module lchown.
20804         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
20805         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
20806
20807         Module makepath.
20808         * m4/makepath.m4: New file.
20809
20810         Module modechange.
20811         * m4/modechange.m4: New file.
20812
20813         Module mountlist.
20814         * m4/mountlist.m4: New file.
20815         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
20816         Indentation.
20817
20818         Module path-concat.
20819         * m4/path-concat.m4: New file.
20820
20821         Module pathmax.
20822         * m4/pathmax.m4: New file.
20823
20824         Module same.
20825         * m4/same.m4: New file.
20826
20827         Module save-cwd.
20828         * m4/save-cwd.m4: New file.
20829
20830         Module savedir.
20831         * m4/savedir.m4: New file.
20832
20833         Module xgetcwd.
20834         * m4/xgetcwd.m4: New file.
20835         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
20836
20837         Module xreadlink.
20838         * m4/xreadlink.m4: New file.
20839
20840         Module safe-read.
20841         * m4/safe-read.m4: New file.
20842
20843         Module safe-write.
20844         * m4/safe-write.m4: New file.
20845
20846         Module closeout.
20847         * m4/closeout.m4: New file.
20848
20849         Module stdio-safer.
20850         * m4/stdio-safer.m4: New file.
20851
20852         Module getpass.
20853         * m4/getpass.m4: New file.
20854
20855         Module getugroups.
20856         * m4/getugroups.m4: New file.
20857
20858         Module group-member.
20859         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
20860         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
20861
20862         Module idcache.
20863         * m4/idcache.m4: New file.
20864
20865         Module userspec.
20866         * m4/userspec.m4: New file.
20867
20868         Module gettime.
20869         * m4/clock_time.m4: New file.
20870         * m4/gettime.m4: New file.
20871
20872         Module settime.
20873         * m4/settime.m4: New file.
20874
20875         Module posixtm.
20876         * m4/posixtm.m4: New file.
20877
20878         Module gethostname.
20879         * m4/gethostname.m4: New file.
20880
20881         Module canon-host.
20882         * m4/canon-host.m4: New file.
20883
20884         Module gettext.
20885         * m4/codeset.m4: New file, from gettext-0.11.5.
20886         * m4/gettext.m4: New file, from gettext-0.11.5.
20887         * m4/glibc21.m4: New file, from gettext-0.11.5.
20888         * m4/iconv.m4: New file, from gettext-0.11.5.
20889         * m4/intdiv0.m4: New file, from gettext-0.11.5.
20890         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
20891         * m4/inttypes.m4: New file, from gettext-0.11.5.
20892         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
20893         * m4/isc-posix.m4: New file, from gettext-0.11.5.
20894         * m4/lcmessage.m4: New file, from gettext-0.11.5.
20895         * m4/lib-ld.m4: New file, from gettext-0.11.5.
20896         * m4/lib-link.m4: New file, from gettext-0.11.5.
20897         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
20898         * m4/progtest.m4: New file, from gettext-0.11.5.
20899         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
20900         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
20901         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
20902
20903         Module localcharset.
20904         * m4/localcharset.m4: New file.
20905
20906         Module hard-locale.
20907         * m4/hard-locale.m4: New file.
20908
20909         Module mbswidth.
20910         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
20911         onceonly macros.
20912         * m4/mbrtowc.m4: Add comment.
20913
20914         Module memcasecmp.
20915         * m4/memcasecmp.m4: New file.
20916
20917         Module memcoll.
20918         * m4/memcoll.m4: New file.
20919
20920         Module unicodeio.
20921         * m4/unicodeio.m4: New file.
20922
20923         Module rpmatch.
20924         * m4/rpmatch.m4: New file.
20925
20926         Module yesno.
20927         * m4/yesno.m4: New file.
20928
20929         Module exitfail.
20930         * m4/exitfail.m4: New file.
20931
20932         Module c-stack.
20933         * m4/c-stack.m4 (gl_C_STACK): New macro.
20934         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
20935
20936         Module error.
20937         * m4/error.m4 (gl_ERROR): New macro.
20938         (jm_PREREQ_ERROR): Use onceonly macros.
20939
20940         Module fatal.
20941         * m4/fatal.m4: New file.
20942
20943         Module getloadavg.
20944         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
20945         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
20946
20947         Module getpagesize.
20948         * m4/getpagesize.m4: New file.
20949
20950         Module getusershell.
20951         * m4/getusershell.m4: New file.
20952
20953         Module physmem.
20954         * m4/physmem.m4: New file.
20955
20956         Module posixver.
20957         * m4/posixver.m4: New file.
20958
20959         Module quotearg.
20960         * m4/quotearg.m4: New file.
20961
20962         Module quote.
20963         * m4/quote.m4: New file.
20964
20965         Module readutmp.
20966         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
20967
20968         Module sig2str.
20969         * m4/sig2str.m4: New file.
20970
20971         Other.
20972         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
20973         ulonglong.m4.
20974         * m4/intmax_t.m4: New file.
20975         * m4/d-type.m4: Indentation.
20976         * m4/jm-macros.m4: Update.
20977         * m4/prereq.m4 (jm_PREREQ): Update.
20978         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
20979         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
20980         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
20981         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
20982         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
20983         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
20984         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
20985         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
20986         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
20987         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
20988         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
20989         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
20990         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
20991         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
20992         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
20993         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
20994         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
20995         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
20996         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
20997
20998 2002-12-24  Bruno Haible  <bruno@clisp.org>
20999
21000         * MODULES.txt: Update according to m4/ changes.
21001
21002         Module gettext.
21003         * config.rpath: New file, from gettext-0.11.5.
21004
21005         * modules/*: New module descriptions.
21006         * gnulib-tool: New file.
21007         * MODULES.html.sh: New file.
21008
21009 2002-12-21  Karl Berry  <karl@gnu.org>
21010
21011         * doc/fdl.texi: update to version 1.2.
21012
21013 2002-12-19  Karl Berry  <karl@gnu.org>
21014
21015         * config/config.guess: update from prep.
21016
21017 2002-12-18  Bruno Haible  <bruno@clisp.org>
21018
21019         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
21020         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
21021
21022 2002-12-17  Bruno Haible  <bruno@clisp.org>
21023
21024         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
21025         stdlib.h, string.h.
21026
21027 2002-12-17  Bruno Haible  <bruno@clisp.org>
21028
21029         * lib/canon-host.c (strdup): Remove unused declaration.
21030
21031         * lib/fsusage.c: Include full_read.h.
21032         (get_fs_usage): Use full_read instead of safe_read.
21033
21034         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
21035
21036 2002-12-12  Karl Berry  <karl@gnu.org>
21037
21038         * config/config.guess: update from prep.
21039
21040 2002-12-11  Bruno Haible  <bruno@clisp.org>
21041
21042         * m4/setenv.m4: New file, from gettext-0.11.5.
21043
21044 2002-12-11  Bruno Haible  <bruno@clisp.org>
21045
21046         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
21047         not unsetenv().
21048         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
21049         modifications:
21050
21051         2002-12-11  Bruno Haible  <bruno@clisp.org>
21052
21053                 * setenv.c (alloca): Fall back to malloc.
21054                 (freea): New macro.
21055                 (setenv): Use freea() to free memory allocated with alloca().
21056
21057         2002-11-13  Bruno Haible  <bruno@clisp.org>
21058
21059                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
21060                 function declarations.
21061                 * unsetenv.c (unsetenv): Likewise.
21062
21063         2002-03-04  Bruno Haible  <bruno@clisp.org>
21064
21065                 Portability to AIX 4.3.3.
21066                 * unsetenv.c: New file, extracted from setenv.c.
21067                 * setenv.c: Move the unsetenv() function to unsetenv.c.
21068
21069         2001-12-20  Bruno Haible  <bruno@clisp.org>
21070
21071                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
21072                 use malloc instead. For SunOS 4.
21073
21074         2001-12-11  Bruno Haible  <bruno@clisp.org>
21075
21076                 * setenv.c: Declare alloca.
21077                 (compar_fn_t): New typedef.
21078                 (KNOWN_VALUE, STORE_VALUE): Use it.
21079
21080         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
21081         setenv.h.
21082
21083 2002-12-10  Paul Eggert  <eggert@twinsun.com>
21084
21085         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
21086         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
21087         Choose values that are less likely to collide with system fnmatch
21088         options.
21089         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
21090         defined (e.g., a pure POSIX system).
21091         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
21092         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
21093
21094 2002-12-06  Paul Eggert  <eggert@twinsun.com>
21095
21096         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
21097         a pain in practice to deal with generated m4 files.  This change
21098         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
21099
21100         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
21101         and jm-glibc-io.m4, as they are no longer a special case.
21102         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
21103         kludge and the auto-generation stuff.  Check only whether the
21104         functions are declared, not whether they exist, since older hosts
21105         that don't declare the functions can't use the optimization anyway.
21106
21107 2002-12-06  Jim Meyering  <jim@meyering.net>
21108
21109         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
21110
21111         Merge in changes from libc's misc/error.c, in preparation
21112         for the merge of gnulib's changes back into libc.
21113
21114         * lib/error.c (_): Define only if not already defined.
21115         Move definition to follow all #include directives.
21116         Include unlocked-io.h only if !_LIBC.
21117         [_LIBC]: Include <libio/libioP.h>.
21118         [USE_IN_LIBIO]: Include <libio/iolibio.h>
21119         (fflush): Tweak definition to use INTUSE.
21120         (putc): Define.
21121
21122 2002-12-05  Paul Eggert  <eggert@twinsun.com>
21123
21124         * lib/alloca.c [defined emacs]: Include "lisp.h".
21125         (xalloc_die) [defined emacs]: New macro.
21126         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
21127         [! defined emacs]: Include <xalloc.h>.
21128         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
21129         (pointer): Typedef to POINTER_TYPE *.
21130         (malloc): Remove decl; we now always use xmalloc.
21131         (alloca): Use old-style definition, since Emacs needs this.
21132         Check for arithmetic overflow when computing combined size.
21133
21134 2002-12-04  Paul Eggert  <eggert@twinsun.com>
21135
21136         Do not generate unlocked-io.h automatically, since it's easier to
21137         maintain it by hand.
21138
21139         * lib/unlocked-io.h: New file, from GNU diffutils,
21140         but with proper copyright notice and attribution.
21141         * lib/gen-uio: Remove.
21142         * lib/Makefile.am: Add copyright notice.
21143         (libfetish_a_SOURCES): Add unlocked-io.h.
21144         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
21145         (DISTCLEANFILES, io_functions): Remove macros.
21146         (EXTRA_DIST): Remove gen_uio.
21147         (unlocked-io.h): Remove rule.
21148
21149 2002-12-04  Jim Meyering  <jim@meyering.net>
21150
21151         Reflect the fact that stat.c and lstat.c are no longer generated.
21152         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
21153         (DISTCLEANFILES): Likewise.
21154         (EXTRA_DIST): Likewise.
21155         (all_local): Don't depend on stat.c or lstat.c.
21156         (stat.c, lstat.c): Remove rules.
21157         (EXTRA_DIST): Remove xstat.in.
21158
21159         * lib/xstat.in: Remove file.  Contents moved into stat.c.
21160         * lib/stat.c: New file.  Contents mostly from xstat.in.
21161         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
21162         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
21163
21164         * lib/safe-read.c: Rework so that it may serve to define safe_write,
21165         too.
21166         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
21167
21168 2002-12-03  Jim Meyering  <jim@meyering.net>
21169
21170         * lib/safe-read.c, safe-write.c: Change variable names and comments,
21171         but not semantics, to minimize the differences between these two files.
21172         (safe_read): Change comment to mention SAFE_READ_ERROR.
21173
21174         * lib/safe-read.c (IS_EINTR): Define.
21175         (safe_read): Use IS_EINTR in place of in-function cpp directives.
21176
21177 2002-12-02  Jim Meyering  <jim@meyering.net>
21178
21179         * lib/safe-read.c (EINTR): Define.
21180         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
21181         (INT_MAX): Provide fallback.
21182         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
21183
21184         * lib/safe-read.h (SAFE_READ_ERROR): Define.
21185
21186 2002-12-02  Bruno Haible  <bruno@clisp.org>
21187
21188         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
21189         Define, taken from safe-read.c.
21190         (INT_MAX): Provide fallback.
21191         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
21192         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
21193
21194         * lib/safe-read.c (EINTR): Remove definition.
21195         (safe_read): Don't use EINTR if it is absent.
21196
21197 2002-12-01  Jim Meyering  <jim@meyering.net>
21198
21199         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
21200         zero.
21201         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
21202
21203 2002-11-27  Paul Eggert  <eggert@twinsun.com>
21204
21205         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
21206         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
21207         with `if (! (value < limit)) abort ();', for readability.
21208
21209 2002-11-26  Karl Berry  <karl@gnu.org>
21210
21211         * lib/strdup.c: copy from libc again, with jim's ok.
21212         * lib/.cppi-disable: re-add strdup.c
21213
21214 2002-11-25  Karl Berry  <karl@gnu.org>
21215
21216         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
21217         instead of "strtol.c".
21218
21219 2002-11-25  Karl Berry  <karl@gnu.org>
21220
21221         * config/install-sh: update from automake for variable quoting, $0 in
21222         error msgs, etc.
21223
21224         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
21225         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
21226         entry.
21227
21228 2002-11-25  Jim Meyering  <jim@meyering.net>
21229
21230         * lib/mktime.c: Sync from libc, now that it has the latest fix.
21231
21232 2002-11-24  Karl Berry  <karl@gnu.org>
21233
21234         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
21235         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
21236
21237 2002-11-24  Jim Meyering  <jim@meyering.net>
21238
21239         Update from coreutils:
21240
21241         * lib/mktime.c: Merge in changes from libc.
21242
21243         Avoid a link-time failure on some Linux systems.
21244         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
21245         (otherwise).
21246         (__mon_yday): Declare with the STATIC attribute.
21247         (__mktime_internal): Likewise.
21248         Based on a report from Greg Schafer.
21249
21250 2002-11-23  Jim Meyering  <jim@meyering.net>
21251
21252         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
21253         Use `unsigned', not `int', as type of index.
21254
21255         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
21256
21257         * lib/fsusage.c: Remove unneeded parentheses around operands of
21258         `defined'.
21259
21260 2002-11-22  Paul Eggert  <eggert@twinsun.com>
21261
21262         * lib/quotearg.h: Allow multiple inclusion by surrounding with
21263         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
21264         so that we can be included first.
21265         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
21266         * lib/quotearg.c: Include quotearg.h immediately after config.h.
21267         No need to include stddef.h or sys/types.h any more.
21268         Surround local include files with "", not "<>".
21269         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
21270         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
21271         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
21272         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
21273         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
21274         (ISPRINT): Remove; no longer needed now that we assume C89.
21275
21276         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
21277         Preserve errno.
21278
21279         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
21280         quotearg_char): Use SIZE_MAX rather than
21281         (size_t) -1 when we are talking about "infinity".
21282
21283         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
21284
21285 2002-11-22  Paul Eggert  <eggert@twinsun.com>
21286
21287         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
21288         hint that one should use `if (! x) abort ();' rather than `assert
21289         (x);', and anyway it's one less thing to worry about configuring.
21290         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
21291         hash_rehash, hash_insert): Use abort rather than assert.
21292
21293 2002-11-22  Bruno Haible  <bruno@clisp.org>
21294
21295         * lib/safe-read.h: Assume C89. Add comments.
21296         (safe_read): Change return type to size_t.
21297         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
21298         byte counts > SSIZE_MAX correctly.
21299         * lib/safe-write.h: New file.
21300         * lib/safe-write.c: New file.
21301         * lib/full-read.h: New file.
21302         * lib/full-read.c: New file.
21303         * lib/full-write.h: Assume C89. Add comments.
21304         * lib/full-write.c: Include safe-write.h.
21305         (full_write): Rewritten to use safe_write.
21306         Suggested by Jim Meyering and Paul Eggert.
21307
21308 2002-11-21  Jim Meyering  <jim@meyering.net>
21309
21310         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
21311
21312         Merge in changes from the coreutils.
21313
21314         2002-09-25  Paul Eggert  <eggert@twinsun.com>
21315         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
21316         <stdint.h>.
21317         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
21318         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
21319         int.  Work more efficiently if X is the same width as uintmax_t.
21320         Do not compare X to -1, to avoid bogus compiler warning.
21321         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
21322         Don't assume that f_frsize and f_bsize are the same type.
21323
21324         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
21325         warning on FreeBSD.
21326
21327         * lib/makepath.c (make_path): Restore umask *before* creating the final
21328         component.
21329         (make_path): Minor reformatting.
21330
21331         * lib/xmalloc.c: Adjust to work with new autoconf macros,
21332         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
21333         HAVE_MALLOC/HAVE_REALLOC.
21334
21335         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
21336         dummy ones.  At least on GNU/Linux systems, `auto' means something
21337         else.
21338         From Michael Stone.
21339
21340 2002-11-21  Bruno Haible  <bruno@clisp.org>
21341
21342         Remove case insensitive option matching.
21343         * lib/argmatch.h (argcasematch): Remove declaration.
21344         (ARGCASEMATCH): Remove macro.
21345         (__xargmatch_internal): Remove case_sensitive argument.
21346         (XARGMATCH): Update.
21347         (XARGCASEMATCH): Remove macro.
21348         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
21349         case_sensitive argument.
21350         (argcasematch): Remove function.
21351         (__xargmatch_internal): Remove case_sensitive argument.
21352         (main): Use XARGMATCH instead of XARGCASEMATCH.
21353
21354         * lib/xmalloc.c: Change compile-time error message. Add comment about
21355         required autoconf version.
21356
21357 2002-11-20  Paul Eggert  <eggert@twinsun.com>
21358
21359         Merge argmatch cleanups from Bison.  Assume C89.
21360
21361         * lib/argmatch.c: Include config.h here, not in argmatch.h.
21362         Include stdlib.h, for EXIT_FAILURE.
21363         Always include <string.h>, since we assume C89.
21364         (EXIT_FAILURE): Remove pre-C89 bug workaround.
21365         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
21366         Include <stddef.h> instead, since it's all we need for size_t.
21367         (PARAMS): Remove.  All uses removed.
21368         (ARRAY_CARDINALITY): Do not bother to #undef.
21369         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
21370         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
21371         Remove unnecessary parentheses.
21372         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
21373         Insert necessary parentheses.
21374         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
21375         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
21376
21377 2002-11-19  Bruno Haible  <bruno@clisp.org>
21378
21379         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
21380         * lib/mbswidth.h: Include <stddef.h>, for size_t.
21381
21382         * lib/mbswidth.h (PARAMS): Remove macro.
21383         (mbswidth, mbsnwidth): Use ANSI C function declarations.
21384         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
21385
21386         * lib/gcd.h (PARAMS): Remove macro.
21387         (gcd): Use ANSI C function declarations.
21388         * lib/gcd.c (gcd): Likewise.
21389
21390 2002-11-15  Bruno Haible  <bruno@clisp.org>
21391
21392         * lib/strcspn.c: Include <stddef.h>.
21393         (strcspn): Use ANSI C function declaration. Change return type to
21394         size_t. Use NULL.
21395         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
21396         (strpbrk): Use NULL.
21397         * lib/strpbrk.h (PARAMS): Remove macro.
21398         (strpbrk): Use ANSI C function declaration.
21399         * lib/strstr.c: Don't include <sys/types.h>.
21400         * lib/strstr.h (PARAMS): Remove macro.
21401         (strstr): Use ANSI C function declarations.
21402
21403 2002-11-14  Karl Berry  <karl@gnu.org>
21404
21405         * config/mkinstalldirs: `do' on separate line, instead of
21406         `for var; do'.
21407
21408 2002-11-06  Bruno Haible  <bruno@clisp.org>
21409
21410         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
21411         * lib/gcd.c (gcd): Likewise.
21412
21413 2002-11-05  Bruno Haible  <bruno@clisp.org>
21414
21415         * lib/gcd.h: New file, from gettext-0.11.5.
21416         * lib/gcd.c: New file, from gettext-0.11.5.
21417
21418 2002-11-05  Bruno Haible  <bruno@clisp.org>
21419
21420         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21421         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21422         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21423         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21424
21425         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
21426         <libintl.h>.
21427         * lib/makepath.c: Include gettext.h instead of <locale.h> and
21428         <libintl.h>.
21429
21430         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
21431         * lib/human.c: Include gettext.h instead of <libintl.h>.
21432         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
21433         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
21434         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
21435         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
21436         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
21437         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
21438         (textdomain): Remove definition.
21439         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
21440
21441         * lib/long-options.c: Remove include of <libintl.h> and definition of
21442         _.
21443         * lib/same.c: Remove include of <libintl.h> and definition of _.
21444
21445 2002-11-04  Owen Taylor  <otaylor@redhat.com>
21446
21447         * lib/config.charset: A few additions for Solaris.
21448
21449 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
21450
21451         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
21452         * lib/localcharset.c (locale_charset): Declare as extern "C".
21453
21454 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
21455
21456         * lib/config.charset: msdos in uk_UA uses CP1125.
21457
21458 2002-11-04  Bruno Haible  <bruno@clisp.org>
21459
21460         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
21461         * lib/strcase.h: New file, from GNU gettext-0.11.5.
21462         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
21463         * lib/strstr.h: New file, from GNU gettext-0.11.5.
21464         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
21465
21466 2002-11-04  Bruno Haible  <bruno@clisp.org>
21467
21468         * lib/localcharset.c (locale_charset): Don't return an empty string.
21469
21470 2002-11-04  Bruno Haible  <bruno@clisp.org>
21471
21472         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
21473         aliases.
21474
21475 2002-11-04  Bruno Haible  <bruno@clisp.org>
21476
21477         * lib/config.charset: Update for newest glibc. Add canonical names
21478         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
21479
21480 2002-11-04  Bruno Haible  <bruno@clisp.org>
21481
21482         * lib/config.charset: Add support for NetBSD.
21483
21484 2002-11-04  Bruno Haible  <bruno@clisp.org>
21485
21486         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
21487
21488 2002-11-01  Bruno Haible  <bruno@clisp.org>
21489
21490         * configure.in: Add AC_CONFIG_AUX_DIR call.
21491         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
21492         test/Makefile.
21493         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
21494
21495 2002-09-28  Karl Berry  <karl@gnu.org>
21496
21497         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
21498         installed automake until the next release, since changes have been
21499         made.
21500
21501 2002-09-25  Karl Berry  <karl@gnu.org>
21502
21503         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
21504         * lib/getopt*: copy from libc/posix.
21505         * lib/gettext.h: copy from gettext.
21506         * lib/.cppi-disable: add strdup.c, gettext.h.
21507
21508 2002-09-25  Karl Berry  <karl@gnu.org>
21509
21510         * config/srclist.txt: enable gettext.h check.
21511         * config/config.{guess,sub}: update from prep.
21512         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
21513                 from automake 1.6.3.
21514         See srclist*.
21515
21516 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
21517
21518         * regex.c (PATFETCH): Remove the translating fetch.
21519         (PATFETCH_RAW): Rename to PATFETCH.
21520         (set_image_of_range): New fun.
21521         (SET_RANGE_TABLE_WORK_AREA): Use it.
21522         (regex_compile): Don't translate the pattern chars so eagerly.
21523         Only do it when inserting an `exactn' bytecode or when handling
21524         a char-range.
21525         (mutually_exclusive_p): Avoid empty statement.
21526
21527 2002-07-06  Jim Meyering  <meyering@lucent.com>
21528
21529         * m4/README: Don't mention Makefile.am.in.
21530         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
21531
21532 2002-07-01  Jim Meyering  <meyering@lucent.com>
21533
21534         * lib/c-stack.c: Include sys/time.h.
21535         From Volker Borchert.
21536
21537 2002-06-26  Paul Eggert  <eggert@twinsun.com>
21538
21539         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
21540
21541 2002-06-26  Paul Eggert  <eggert@twinsun.com>
21542
21543         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
21544         New macro.  Use it uniformly instead of
21545         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
21546         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
21547         reported by Vin Shelton.
21548
21549 2002-06-22  Paul Eggert  <eggert@twinsun.com>
21550
21551         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
21552         Do not assume SA_SIGINFO behavior.
21553         Bug reported by Jim Meyering on NetBSD 1.5.2.
21554
21555 2002-06-22  Jim Meyering  <meyering@lucent.com>
21556
21557         * m4/c-stack.m4: New file, from diffutils-2.8.2.
21558         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
21559
21560         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
21561         now that configure.ac uses AC_GNU_SOURCE.
21562         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
21563         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
21564
21565         Update to latest tools.  Suggestions from Paul Eggert.
21566         * m4/stdbool.m4: New file, from diffutils-2.8.2.
21567         * m4/gnu-source.m4: Update from diffutils-2.8.2.
21568         * m4/fnmatch.m4: Likewise.
21569         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
21570         to AC_HEADER_STDBOOL
21571
21572 2002-06-22  Jim Meyering  <meyering@lucent.com>
21573
21574         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
21575         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
21576
21577 2002-06-22  Jim Meyering  <meyering@lucent.com>
21578
21579         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
21580
21581         * lib/exitfail.c, exitfail.h: Likewise.
21582         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
21583
21584         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
21585         of fnmatch.h.
21586         (EXTRA_DIST): Add fnmatch_loop.c.
21587         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
21588
21589         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
21590         * lib/fnmatch.c: Update from diffutils-2.8.2.
21591         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
21592         * lib/fnmatch.h: Remove file.
21593
21594 2002-06-21  Jim Meyering  <meyering@lucent.com>
21595
21596         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
21597         * m4/mbrtowc.m4: Likewise.
21598
21599         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
21600         * m4/mbswidth.m4: Reflect name change:
21601         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
21602         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
21603
21604         * m4/lib-link.m4: Update from gettext-0.11.2.
21605         * m4/gettext.m4: Likewise.
21606
21607         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
21608         From Alfred M. Szmidt.
21609
21610 2002-06-18  Paul Eggert  <eggert@twinsun.com>
21611
21612         * lib/file-type.h: Report an error if neither S_ISREG nor
21613         S_IFREG is defined, instead of using a test specific to glibc
21614         2.2.  This should be safe, since POSIX requires S_ISREG and
21615         Unix Version 7 had S_IFREG.  We don't need to check for
21616         <sys/types.h> since we don't use any symbols that it defines.
21617
21618 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
21619
21620         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
21621         $@-t, so that each temporary file name is unique and valid in the first
21622         8 characters, for operation under DOS.
21623
21624 2002-06-15  Paul Eggert  <eggert@twinsun.com>
21625
21626         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
21627
21628 2002-06-15  Jim Meyering  <meyering@lucent.com>
21629
21630         Work even with DJGPP 2.03, which lacks support for symlinks.
21631         From Richard Dawe.
21632         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
21633         is defined.
21634         * lib/lchown.c (S_ISLNK): Likewise.
21635
21636 2002-06-15  Jim Meyering  <meyering@lucent.com>
21637
21638         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
21639         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
21640         have been included before this file.
21641
21642 2002-06-14  Jim Meyering  <meyering@lucent.com>
21643
21644         * lib/file-type.h: Use the version from diffutils-2.8.2.
21645         * lib/file-type.c: Likewise.
21646
21647 2002-06-07  Jim Meyering  <meyering@lucent.com>
21648
21649         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
21650         They're needed at least for NetBSD 1.5.2.
21651         ($statxfs_includes): Include those same headers.
21652         ($statxfs_includes): Include sys/vfs.h if available.
21653         ($statxfs_includes): Likewise for sys/statvfs.h.
21654         Check for the following members in both structs statfs and statvfs:
21655         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
21656
21657 2002-06-01  Jim Meyering  <meyering@lucent.com>
21658
21659         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
21660         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
21661
21662 2002-05-28  Jim Meyering  <meyering@lucent.com>
21663
21664         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
21665         Reported by Volker Borchert.
21666
21667 2002-05-27  Jim Meyering  <meyering@lucent.com>
21668
21669         Fix a problem seen only on nonconforming systems whereby ls.c's
21670         use of localtime, and then of gettimeofday would cause trouble:
21671         the localtime call used to initialize rpl_gettimeofday's save
21672         mechanism would clobber ls's current local time information so
21673         that in any long listing the first file would always be listed
21674         with date 1970-01-01.  Analysis by Volker Borchert.
21675
21676         * lib/gettimeofday.c (localtime): Undefine.
21677         (rpl_localtime): New function.
21678
21679 2002-05-27  Jim Meyering  <meyering@lucent.com>
21680
21681         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
21682         localtime.
21683
21684         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
21685         use the replacement function; it wouldn't resolve at link time.
21686         Reported by Volker Borchert.
21687
21688 2002-05-22  Jim Meyering  <meyering@lucent.com>
21689
21690         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
21691         file-type.h.
21692         * lib/file-type.h: New file.
21693         * lib/file-type.c (file_type): New file/function.  Extracted from
21694         diffutils.
21695
21696 2002-04-30  Jim Meyering  <meyering@lucent.com>
21697
21698         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
21699
21700 2002-04-29  Paul Eggert  <eggert@twinsun.com>
21701
21702         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
21703
21704 2002-04-29  Paul Eggert  <eggert@twinsun.com>
21705
21706         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
21707         Do not check for alloca.h (no longer used) or stdbool.h (was never
21708         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
21709
21710 2002-04-29  Paul Eggert  <eggert@twinsun.com>
21711
21712         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
21713
21714 2002-04-29  Jim Meyering  <meyering@lucent.com>
21715
21716         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
21717         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
21718         Use AC_FUNC_STRNLEN here instead.
21719
21720         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
21721         With autoconf-2.53a, it's part of AC_PROG_CC.
21722
21723 2002-04-28  Paul Eggert  <eggert@twinsun.com>
21724
21725         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
21726         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
21727
21728 2002-04-28  Paul Eggert  <eggert@twinsun.com>
21729
21730         * lib/sig2str.h, lib/sig2str.c: New files.
21731         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
21732
21733 2002-04-28  Paul Eggert  <eggert@twinsun.com>
21734
21735         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
21736         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
21737         of 127, since 64 is the largest conceivable number for ancient
21738         nonstandard hosts.
21739         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
21740
21741 2002-04-28  Jim Meyering  <meyering@lucent.com>
21742
21743         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
21744
21745 2002-04-24  Jim Meyering  <meyering@lucent.com>
21746
21747         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
21748         (jm_PREREQ): Use it.
21749
21750         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
21751         mach/mach.h fcntl.h.
21752         Check for this function: setlocale.
21753
21754 2002-04-24  Jim Meyering  <meyering@lucent.com>
21755
21756         * lib/gettext.h: New file, from Gettext.
21757         * lib/Makefile.am (INCLUDES): Remove -I../intl.
21758         (libfetish_a_SOURCES): Add gettext.h.
21759
21760 2002-04-16  Jim Meyering  <meyering@lucent.com>
21761
21762         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
21763         ut_pid, ut_id, ut_exit.
21764
21765 2002-04-16  Jim Meyering  <meyering@lucent.com>
21766
21767         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
21768         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
21769         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
21770
21771 2002-04-12  Jim Meyering  <meyering@lucent.com>
21772
21773         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
21774         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
21775         existence of the getmntinfo function.  Needed for Darwin 5.3.
21776
21777         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
21778         This is necessary at least on Darwin 5.3.
21779
21780         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
21781         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
21782         strnlen.o in the library, and that makes some versions of ranlib
21783         object.
21784
21785 2002-04-12  Jim Meyering  <meyering@lucent.com>
21786
21787         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
21788
21789 2002-04-09  Jim Meyering  <meyering@lucent.com>
21790
21791         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
21792         to be more precise.  Rather than saying we're checking whether the
21793         function `works', say what we're testing.
21794         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
21795         Reported by Bruno Haible.
21796
21797 2002-03-10  Jim Meyering  <meyering@lucent.com>
21798
21799         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
21800         Suggestion from Santiago Vila.
21801
21802 2002-03-08  Jim Meyering  <meyering@lucent.com>
21803
21804         * lib/rename.c: Mention that this wrapper is needed also on
21805         mips-dec-ultrix4.4 systems.
21806
21807 2002-03-02  Jim Meyering  <meyering@lucent.com>
21808
21809         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
21810         not HAVE_CLOCK_SETTIME.
21811
21812 2002-02-27  Paul Eggert  <eggert@twinsun.com>
21813
21814         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
21815         Check for clock_settime.
21816
21817 2002-02-27  Paul Eggert  <eggert@twinsun.com>
21818
21819         * lib/nanosleep.h: Rename to....
21820         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
21821
21822         * lib/gettime.c: New file.
21823         * lib/settime.c: New file.
21824         * lib/stime.c: Remove.
21825
21826         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
21827         timespec.h.  Remove nanosleep.h.
21828
21829 2002-02-25  Paul Eggert  <eggert@twinsun.com>
21830
21831         * m4/acl.m4: New file.
21832         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
21833         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
21834
21835 2002-02-25  Paul Eggert  <eggert@twinsun.com>
21836
21837         * lib/acl.c, lib/acl.h: New files.
21838         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
21839
21840 2002-02-24  Jim Meyering  <meyering@lucent.com>
21841
21842         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
21843         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
21844         cause trouble.  Reported by Nelson Beebe.
21845
21846 2002-02-23  Paul Eggert  <eggert@twinsun.com>
21847
21848         * lib/path-concat.c (xpath_concat): Reorder code to pacify
21849         compilers that don't know that xalloc_die never returns.
21850
21851 2002-02-20  Jim Meyering  <meyering@lucent.com>
21852
21853         * lib/getdate.c: Regenerate using bison-1.33.
21854
21855 2002-02-17  Jim Meyering  <meyering@lucent.com>
21856
21857         * config/config.guess (main): Don't use `head -1'; it's no longer
21858         portable. Use `sed 1q' instead.
21859
21860 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
21861
21862         * m4/codeset.m4: Upgrade to gettext-0.11.
21863         * m4/gettext.m4: Upgrade to gettext-0.11.
21864         * m4/glibc21.m4: Upgrade to gettext-0.11.
21865         * m4/iconv.m4: Upgrade to gettext-0.11.
21866         * m4/isc-posix.m4: Upgrade to gettext-0.11.
21867         * m4/lcmessage.m4: Upgrade to gettext-0.11.
21868         * m4/lib-ld.m4: New file, from gettext-0.11.
21869         * m4/lib-link.m4: New file, from gettext-0.11.
21870         * m4/lib-prefix.m4: New file, from gettext-0.11.
21871         * m4/progtest.m4: Upgrade to gettext-0.11.
21872
21873 2002-02-15  Paul Eggert  <eggert@twinsun.com>
21874
21875         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
21876         (jm_PREREQ): Use it.
21877
21878 2002-02-15  Paul Eggert  <eggert@twinsun.com>
21879
21880         * lib/posixver.c, lib/posixver.h: New files.
21881         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
21882
21883 2002-02-02  Paul Eggert  <eggert@twinsun.com>
21884             Bruno Haible  <bruno@clisp.org>
21885
21886         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
21887         (fwrite_success_callback): New declaration.
21888         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
21889         print_unicode_char. Call failure callback instead of error.
21890         (fwrite_success_callback): New function.
21891         (exit_failure_callback): New function.
21892         (fallback_failure_callback): New function.
21893         (print_unicode_char): Call unicode_to_mb.
21894
21895 2002-01-26  Jim Meyering  <meyering@lucent.com>
21896
21897         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
21898         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
21899
21900 2002-01-26  Jim Meyering  <meyering@lucent.com>
21901
21902         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
21903
21904 2002-01-22  Paul Eggert  <eggert@twinsun.com>
21905
21906         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
21907
21908 2002-01-22  Jim Meyering  <meyering@lucent.com>
21909
21910         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
21911         Otherwise, some versions of automake would omit the rule that makes
21912         Makefile from Makefile.in.
21913
21914 2002-01-21  Paul Eggert  <eggert@twinsun.com>
21915
21916         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
21917         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
21918         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
21919         (memcoll): Set errno to zero if there is no error.
21920
21921         * lib/quotearg.c (quotearg_buffer_restyled):
21922         Fix bug with quoting buffers containing NUL when backslashing escapes.
21923         This bug was exposed by the other changes in this patch.
21924         (quotearg_n_options): New arg ARGSIZE.
21925         All callers changed.
21926         (quoting_options_from_style): New function.
21927         (quotearg_n_style): Use it.
21928         (quotearg_n_style_mem): New function.
21929
21930         * lib/quotearg.h (quotearg_n_style_mem): New function.
21931
21932 2002-01-19  Jim Meyering  <meyering@lucent.com>
21933
21934         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
21935         Remove useless quotes: DF_PROG="df".
21936         * m4/strnlen.m4: New file.
21937
21938 2002-01-16  Paul Eggert  <eggert@twinsun.com>
21939
21940         * lib/backupfile.c (ISDIGIT): Comment fix.
21941         * lib/getdate.y (ISDIGIT): Likewise.
21942         * lib/posixtm.c (ISDIGIT, year): Likewise.
21943         * lib/strverscmp.c (ISDIGIT): Likewise.
21944         * lib/userspec.c (ISDIGIT): Likewise.
21945
21946 2002-01-16  Jim Meyering  <meyering@lucent.com>
21947
21948         * lib/getdate.y: Add three semicolons, each just before a closing
21949         brace. Bison (as of version 1.31) no longer papers over that mistake.
21950
21951 2002-01-05  Jim Meyering  <meyering@lucent.com>
21952
21953         * lib/version-etc.c (version_etc_copyright): Update copyright year.
21954
21955 2001-12-19  Paul Eggert  <eggert@twinsun.com>
21956
21957         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
21958         not silently exit merely because the output buffer happens to
21959         have nothing pending.
21960
21961 2001-12-18  Paul Eggert  <eggert@twinsun.com>
21962
21963         See the big note in ../ChangeLog.
21964         * lib/human.c (suffixes): Prefer K to k for 1024.
21965         (generate_suffix_backwards): New function.
21966         (human_readable_inexact): Use it.
21967         * lib/xstrtol.c (__xstrtol): If there is no number but there
21968         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
21969         Accept 'K' as well as 'k'.
21970
21971 2001-12-15  Jim Meyering  <meyering@lucent.com>
21972
21973         * lib/regex.h (__restrict_arr): Update from libc.
21974
21975         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
21976         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
21977         (STREQ): Define.
21978
21979 2001-12-14  Jim Meyering  <meyering@lucent.com>
21980
21981         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
21982         Suggestion from Bruno Haible.
21983
21984 2001-12-10  Jim Meyering  <meyering@lucent.com>
21985
21986         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
21987         xrealloc, Instead, include "xalloc.h".
21988         (initbuffer): Don't cast xmalloc return value to char*.
21989         (readline): Reword comment.
21990         Don't cast xrealloc return value to char*
21991         Return NULL, not 0.
21992
21993 2001-12-09  Jim Meyering  <meyering@lucent.com>
21994
21995         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
21996         about `signed and unsigned type in conditional expression'.
21997         * lib/posixtm.c (posix_time_parse): Likewise.
21998
21999         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
22000
22001         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
22002         to avoid a pedantic warning.
22003
22004         * lib/getstr.c: Don't include assert.h.
22005         (getstr): Remove warning-evoking assertions.
22006         Return -1 if offset parameter is out of bounds.
22007         Change the type of a local from int to size_t.
22008
22009         * lib/strftime.c (my_strftime_localtime_r): Include this function
22010         definition in the `#if ! HAVE_TM_GMTOFF' block.
22011
22012         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
22013         Include xalloc.h instead.
22014
22015 2001-12-02  Jim Meyering  <meyering@lucent.com>
22016
22017         * lib/tempname.c: Don't declare getenv, thus reverting the change of
22018         2001-11-18.  It's no longer necessary, now that stdlib.h is always
22019         included.
22020
22021         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
22022         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
22023
22024 2001-11-30  Akim Demaille  <akim@epita.fr>
22025
22026         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
22027         before being defined.
22028
22029 2001-11-27  Paul Eggert  <eggert@twinsun.com>
22030
22031         * lib/quotearg.h (quotearg_n, quotearg_n_style):
22032         First arg is int, not unsigned.
22033         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
22034         (SIZE_MAX, UINT_MAX): New macros.
22035         (quotearg_n_options): Abort if N is negative.
22036         Avoid overflow check on hosts where size_t is 64 bits and int
22037         is 32 bits, as overflow is impossible there.
22038         Fix off-by-one typo that caused unnecessary reallocation.
22039
22040 2001-11-27  Jim Meyering  <meyering@lucent.com>
22041
22042         * lib/tempname.c: Merge with version from libc.
22043         * lib/regex.c: Likewise.
22044
22045         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
22046         systems for which STDC_HEADERS is 0, it was not included, resulting in
22047         a warning about an integer-to-pointer conversion problem with getenv.
22048         Reported by Volker Borchert.
22049
22050 2001-11-26  Jim Meyering  <meyering@lucent.com>
22051
22052         * lib/gtod.h: Remove file.
22053         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
22054         * lib/gettimeofday.c: Don't include gtod.h.
22055         (GTOD_init): Remove function.
22056         (rpl_gettimeofday): Do its job here instead, rather than aborting.
22057         Suggestion from Volker Borchert.
22058
22059 2001-11-23  Jim Meyering  <meyering@lucent.com>
22060
22061         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
22062         it.
22063         * lib/hash.c (struct hash_table): Define it here instead.
22064
22065 2001-11-22  Jim Meyering  <meyering@lucent.com>
22066
22067         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
22068
22069 2001-11-20  Jim Meyering  <meyering@lucent.com>
22070
22071         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
22072         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
22073
22074 2001-11-19  Jim Meyering  <meyering@lucent.com>
22075
22076         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
22077         directory.  Use "conftestXXXXXX" as the template.
22078         Suggestion from Paul Eggert.
22079
22080         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
22081         immediately, so the test doesn't mistakenly hit the max-open-files
22082         limit.
22083
22084 2001-11-18  Paul Eggert  <eggert@twinsun.com>
22085
22086         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
22087         (TEMPORARIES): New macro.
22088         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
22089         removes an artificial limitation (e.g. HP-UX 10.20, where
22090         TMP_MAX is 17576).
22091
22092 2001-11-18  Jim Meyering  <meyering@lucent.com>
22093
22094         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
22095
22096 2001-11-18  Jim Meyering  <meyering@lucent.com>
22097
22098         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
22099         on SunOS 4.
22100
22101         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
22102         files will be created before anything else.
22103
22104 2001-11-17  Paul Eggert  <eggert@twinsun.com>
22105
22106         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
22107         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
22108
22109 2001-11-17  Jim Meyering  <meyering@lucent.com>
22110
22111         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
22112         Prompted by a report from Bob Proulx.
22113
22114         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
22115         Instead, require UTILS_FUNC_MKSTEMP.
22116
22117 2001-11-17  Jim Meyering  <meyering@lucent.com>
22118
22119         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
22120         Now, that's done as part of AC_FUNC_STRTOD.
22121
22122 2001-11-17  Jim Meyering  <meyering@lucent.com>
22123
22124         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
22125         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
22126         rather than group writable.  Patch by Juan F. Codagnone.
22127
22128         * lib/readtokens.c: Remove explicit declarations of xmalloc and
22129         xrealloc, Instead, include "xalloc.h".
22130
22131         * lib/mountlist.c: Include unlocked-io.h after all system headers.
22132         Remove explicit declarations of xmalloc, xrealloc,
22133         and xstrdup.  Instead, include "xalloc.h".
22134
22135         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
22136         unlocked-io.h.
22137         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
22138         Likewise.
22139         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
22140
22141         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
22142         Reported by Padraig Brady.
22143
22144         * lib/mkstemp.c: #undef mkstemp.
22145         Include config.h.
22146         (rpl_mkstemp): Rename from mkstemp.
22147         Protoize.
22148
22149 2001-11-16  Jim Meyering  <meyering@lucent.com>
22150
22151         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
22152         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
22153         determine the amount of total physical memory, use pstat_getstatic.
22154         HPUX-11 doesn't define _SC_PHYS_PAGES.
22155         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
22156         If sysconf couldn't be used to determine the amount of available
22157         physical memory, use both pstat_getstatic and pstat_getdynamic.
22158         Based on a patch from Bob Proulx.
22159
22160 2001-11-10  Jim Meyering  <meyering@lucent.com>
22161
22162         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
22163         (jm_PREREQ): Use it.
22164
22165 2001-11-09  Jim Meyering  <meyering@lucent.com>
22166
22167         * m4/jm-macros.m4: Require autoconf-2.52f.
22168         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
22169         Use these AC_-prefixed names, not the AM_-prefixed ones.
22170
22171         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
22172
22173 2001-11-05  Jim Meyering  <meyering@lucent.com>
22174
22175         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
22176
22177 2001-11-04  Jim Meyering  <meyering@lucent.com>
22178
22179         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
22180         $DEFS.
22181
22182 2001-11-03  Jim Meyering  <meyering@lucent.com>
22183
22184         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
22185         of AC_DEFUN.
22186
22187         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
22188         know the name of the variable in the macro definition.
22189
22190 2001-11-03  Jim Meyering  <meyering@lucent.com>
22191
22192         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
22193         in argmatch_to_argument call.
22194
22195         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
22196         argument.
22197
22198         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
22199         e.g., a fault due to an attempt to free a NULL pointer.
22200
22201 2001-11-01  Jim Meyering  <meyering@lucent.com>
22202
22203         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
22204         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
22205
22206 2001-11-01  Jim Meyering  <meyering@lucent.com>
22207
22208         * lib/dirfd.c, lib/dirfd.h: New files.
22209         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
22210
22211         * lib/hash.c (hash_print) [TESTING]: Clean up.
22212
22213 2001-10-22  Paul Eggert  <eggert@twinsun.com>
22214
22215         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
22216         to avoid a warning if -Wall.
22217
22218 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
22219
22220         * README: New file
22221         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
22222         (per RMS's instructions, this is now the canonical source)
22223         * lgpl/, gpl/: New directories.
22224
22225 2001-10-21  Paul Eggert  <eggert@twinsun.com>
22226
22227         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
22228
22229 2001-10-21  Jim Meyering  <meyering@lucent.com>
22230
22231         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
22232         this code would end up calling gettext even in packages built
22233         with --disable-nls.
22234         * lib/getopt.c (_): Likewise.
22235         * lib/regex.c (_): Likewise.
22236
22237 2001-10-20  Paul Eggert  <eggert@twinsun.com>
22238
22239         * m4/error.m4 (jm_PREREQ_ERROR):
22240         Do not invoke AC_CHECK_FUNCS with strerror_r, as
22241         AC_FUNC_STRERROR_R does that.
22242         Check for strerror declaration.
22243
22244         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
22245         are supposed to have them these days.
22246         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
22247         Merge changes from latest Autoconf CVS.
22248         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
22249         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
22250         POSIX decided to standardize on the int flavor of strerror_r.
22251
22252 2001-10-20  Paul Eggert  <eggert@twinsun.com>
22253
22254         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
22255         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
22256         Use strerror_r that is only a macro, even if it is not a function.
22257         (strerror): Check for HAVE_DECL_STRERROR before declaring.
22258         (private_strerror): Use prototypes, not old-style function definition.
22259         (print_errno_message): New function.
22260         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
22261         char*-flavored one.
22262         (error_tail, error, error_at_line): Use it.
22263
22264 2001-10-11  Jim Meyering  <meyering@lucent.com>
22265
22266         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
22267         and quote_n (1, ... to avoid clobbering a buffer.
22268
22269 2001-10-05  Jim Meyering  <meyering@lucent.com>
22270
22271         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
22272         hash-pjw.h.
22273         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
22274         * lib/hash-pjw.h: New file.
22275
22276 2001-09-30  Jim Meyering  <meyering@lucent.com>
22277
22278         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
22279         `struct fsstat' has the `f_fstypename' member.
22280         Use that to define FS_TYPE, which is now used to make
22281         the getfsstat link test tighter.
22282
22283 2001-09-30  Jim Meyering  <meyering@lucent.com>
22284
22285         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
22286         Include <sys/ucred.h>, for Apple Darwin.
22287         Include sys/mount.h and sys/fs_types.h only if available.
22288         (FS_TYPE): Define.
22289         (read_filesystem_list): Use FS_TYPE.
22290
22291 2001-09-29  Paul Eggert  <eggert@twinsun.com>
22292
22293         * lib/exclude.c (excluded_filename): 0 -> false, since it's
22294         a boolean context.
22295
22296 2001-09-29  Jim Meyering  <meyering@lucent.com>
22297
22298         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
22299         [one-argument getmntent function]): Include stdio.h before mntent.h.
22300         SunOS 4.1.x needs it for the declaration of `FILE'.
22301         Patch by Volker Borchert.
22302
22303         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
22304         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
22305         sys/fs_types.h, and make the link-test for getfsstat guard #include
22306         directives with appropriate #if HAVE_*_H tests so that we can
22307         detect getfsstat on Apple Darwin1.3.7 systems.
22308         Reported by Nelson Beebe.
22309         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
22310
22311 2001-09-28  Paul Eggert  <eggert@twinsun.com>
22312
22313         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
22314         #defines strtoimax.  Also treat the other strto* functions
22315         like strtoimax.
22316
22317         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
22318         Check for strtoul and strtoumax,
22319         as those declarations are made even in the signed case.
22320         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
22321         Likewise, for strtol and strtoimax.
22322
22323 2001-09-28  Paul Eggert  <eggert@twinsun.com>
22324
22325         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
22326         #defines strtoimax.  Also treat the other strto* functions
22327         like strtoimax.
22328
22329         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
22330         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
22331         (strtoimax, strtoumax): Do not declare if already defined as a macro.
22332
22333 2001-09-26  Jim Meyering  <meyering@lucent.com>
22334
22335         Most macros in unlocked-io.h had the wrong number of arguments.
22336         * lib/gen-uio: New script.
22337         (USE_UNLOCKED_IO): Define to 1 if not already defined.
22338         * lib/unlocked-io.hin: Remove file.
22339         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
22340         rather than trying to embed it here.
22341         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
22342         Reported by Padraig Brady.
22343
22344 2001-09-25  Volker Borchert  <bt@teknon.de>
22345
22346         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
22347         `result'.
22348
22349 2001-09-24  Jim Meyering  <meyering@lucent.com>
22350
22351         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
22352
22353 2001-09-23  Jim Meyering  <meyering@lucent.com>
22354
22355         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
22356         instead of the mere test for existence of mntent.h.  The latter
22357         would get a false-positive on AIX 3.4 systems.
22358         In the outer getmntent if-block, don't die if neither of the getmntent
22359         tests succeeds.  Instead, just fall through and continue with the
22360         remaining tests.
22361
22362 2001-09-23  Jim Meyering  <meyering@lucent.com>
22363
22364         * lib/mountlist.c: Remove useless parentheses in #if directives.
22365         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
22366         the deprecated MOUNTED symbol is no longer defined in mntent.h.
22367
22368 2001-09-22  Jim Meyering  <meyering@lucent.com>
22369
22370         * m4/gettext.m4: New file.  From gettext.
22371         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
22372         * m4/progtest.m4: Likewise
22373         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
22374         * m4/glibc21.m4: Likewise.
22375
22376         * m4/libintl.m4: Remove.  No longer used.
22377
22378 2001-09-22  Jim Meyering  <meyering@lucent.com>
22379
22380         * lib/localcharset.c: Update from latest gettext.
22381         * lib/config.charset: Likewise.
22382
22383 2001-09-20  Jim Meyering  <meyering@lucent.com>
22384
22385         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
22386         strtoimax.
22387         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
22388         strtoumax.
22389
22390 2001-09-20  Jim Meyering  <meyering@lucent.com>
22391
22392         * lib/xstrtol.c (strtoimax): Guard declaration with
22393         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
22394         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
22395         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
22396         (strtoumax): Likewise, for completeness (it wasn't necessary).
22397
22398 2001-09-17  Paul Eggert  <eggert@twinsun.com>
22399
22400         * lib/strtoimax.c (HAVE_LONG_LONG):
22401         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
22402         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
22403         to work around bug in IBM C compiler.
22404
22405 2001-09-17  Jim Meyering  <meyering@lucent.com>
22406
22407         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
22408         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
22409         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
22410         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
22411         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
22412         whenever the right hand side need not be expanded by the shell.
22413
22414 2001-09-16  Paul Eggert  <eggert@twinsun.com>
22415
22416         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
22417         library.  It's not correct, as some older glibcs are buggy.
22418         fnmatch wasn't fixed until glibc 2.2.
22419
22420         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
22421         special shell magic here.
22422
22423 2001-09-16  Jim Meyering  <meyering@lucent.com>
22424
22425         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
22426         * m4/jm-macros.m4: Require it.
22427
22428 2001-09-16  Jim Meyering  <meyering@lucent.com>
22429
22430         * lib/mkdir.c: New file.
22431
22432 2001-09-15  Jim Meyering  <meyering@lucent.com>
22433
22434         * m4/jm-macros.m4: Check for help2man.
22435
22436 2001-09-11  Jim Meyering  <meyering@lucent.com>
22437
22438         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
22439         The body, by Paul Eggert, was moved here from configure.in.
22440         * m4/jm-macros.m4: Require UTILS_HOST_OS.
22441
22442 2001-09-04  Paul Eggert  <eggert@twinsun.com>
22443
22444         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
22445         (jm_PREREQ): Use it.
22446
22447 2001-09-04  Paul Eggert  <eggert@twinsun.com>
22448
22449         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
22450         Use ssize_t, not int, to store result of readlink.
22451         Check for ssize_t overflow as well as size_t overflow,
22452         as POSIX says the result of readlink is implementation-defined
22453         when ssize_t overflows.
22454         Remove unnecessary cast to char*.
22455         Use free+malloc instead of realloc, as the storage doesn't need
22456         to be preserved and it's clearer and can be more efficient that way.
22457         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
22458         * lib/xreadlink.h (xreadlink): Update prototype.
22459
22460 2001-09-04  Paul Eggert  <eggert@twinsun.com>
22461
22462         * lib/xgetcwd.c: Revert some of the previous change; intead,
22463         fix the HAVE_GETCWD_NULL code to behave more like the
22464         !HAVE_GETCWD_NULL code used to.
22465
22466         Include "xalloc.h".
22467         (xgetcwd): Do not return NULL when memory is exhausted; instead,
22468         invoke xalloc_die.
22469
22470 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22471
22472         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
22473         sys/param.h, as pathmax.h includes them.
22474
22475 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22476
22477         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
22478         (jm_PREREQ_XGETCWD): New macro.
22479
22480         * m4/getcwd.m4: New file.
22481
22482 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22483
22484         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
22485         like the HAVE_GETCWD_NULL code.
22486         Include pathmax.h if not HAVE_GETCWD.
22487         Do not include xalloc.h.
22488         (INITIAL_BUFFER_SIZE): New symbol.
22489         Do not use xmalloc / xrealloc, since the caller is responsible for
22490         handling errors.  Preserve errno around `free' during failure.
22491         Do not overrun buffer when using getwd.
22492
22493 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22494
22495         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
22496         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
22497         getcwd (NULL, 0).
22498
22499 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22500
22501         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
22502         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
22503         spotted by Jim Meyering.
22504
22505 2001-09-03  Jim Meyering  <meyering@lucent.com>
22506
22507         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
22508         failure.
22509
22510 2001-09-02  Jim Meyering  <meyering@lucent.com>
22511
22512         * lib/error.c: Update from GNU libc.
22513
22514 2001-09-01  Jim Meyering  <meyering@lucent.com>
22515
22516         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
22517         Used by df.
22518
22519 2001-09-01  Jim Meyering  <meyering@lucent.com>
22520
22521         * lib/xreadlink.c: New file.
22522         * lib/xreadlink.h: New file.
22523         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
22524         xreadlink.h.
22525
22526         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
22527         doesn't conflict with sparc Solaris 7's definition in
22528         /usr/include/sys/int_types.h.
22529
22530         * lib/exclude.c: Use `""', not `<>' to #include non-system header
22531         files.
22532         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
22533         and strncasecmp as r-values.  Unixware didn't have declarations.
22534
22535 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22536
22537         * lib/xstrtol.h: Add copyright notice.
22538         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
22539         LONGINT_INVALID_SUFFIX_CHAR.
22540
22541 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22542
22543         * lib/xstrtol.c (strtoimax): New decl.
22544
22545 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22546
22547         * lib/xgetcwd.c: Don't include pathmax.h.
22548         Include stdlib.h and unistd.h if available.
22549         Include xalloc.h.
22550         (xmalloc, xstrdup, free): Remove decls.
22551         (xgetcwd): Don't assume sizes fit in unsigned.
22552         Check for overflow when computing sizes.
22553         Simplify reallocation code.
22554
22555 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22556
22557         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
22558         a directory's st_size can have an arbitrary value, so the old
22559         usage could waste an arbitrary amount of memory.  All uses
22560         changed.
22561         * lib/savedir.h: Update prototype.
22562
22563 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22564
22565         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
22566
22567         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
22568         old strtoimax.c.
22569
22570         Also, make the following further changes to make this file's
22571         configuration more similar to that of strtol.c:
22572         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
22573         (strtoumax, uintmax_t, strtoull, strtol): Remove.
22574         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
22575         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
22576         changed to signed values.
22577
22578         And make the following changes as well:
22579         Fix copyright notice, as 1999 was missing.
22580         (verify): New macro.
22581         (strtoimax): Check sizes at compile-time, not run-time.
22582         Prefer strtol to strtoll if both work.
22583         (main): Remove; it was not that useful and was a pain to maintain.
22584
22585         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
22586
22587 2001-08-31  Jim Meyering  <meyering@lucent.com>
22588
22589         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
22590         Use an initial, malloc'd, buffer of length 128 rather than
22591         a statically allocated one of length 1024.
22592
22593 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22594
22595         Simplify code, partly by assuming autoconf 2.52 semantics.
22596
22597         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
22598
22599         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
22600         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
22601         All uses removed.
22602         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
22603         Move AC_REQUIRE to next-to-top level, to avoid confusion.
22604         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
22605         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
22606         jm_AC_HEADER_INTTYPES_H.
22607         * m4/jm-macros.m4 (jm_MACROS): Likewise.
22608
22609         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
22610
22611         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
22612         Quote first arg of AC_DEFUN.
22613         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
22614         since they are needed to parse the include file even if we need
22615         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
22616         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
22617         but with opposite signedness.
22618
22619 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22620
22621         Merge 'exclude' changes from tar 1.13.22.
22622         This fixes one or two unlikely storage allocation overflow bugs,
22623         but doesn't change user-visible behavior otherwise.
22624
22625 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22626
22627         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
22628         (jm_PREREQ_EXCLUDE): New macro.
22629
22630 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22631
22632         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
22633         tm to be declared.
22634
22635 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22636
22637         * lib/hash.c: Remove '2001' from copyright notice.
22638
22639 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22640
22641         * lib/full-write.h: New file.
22642         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
22643         * lib/full-write.c: Correct credits, as cccp.c no longer
22644         exists and anyway it was so heavily changed from the old cccp
22645         code as to be unrecognizable.  Include full-write.h.
22646         (full_write) Return size_t, with short writes meaning failure.
22647         All callers changed.  This fixes a bug with large buffers
22648         on 64-bit hosts.
22649         * lib/utime.c: Include full-write.h.
22650
22651 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22652
22653         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
22654         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
22655         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
22656         Include if available.
22657         (<xalloc.h>): Include
22658         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
22659         (verify): New macro.  Use it to verify that EXCLUDE macros do not
22660         collide with FNM macros.
22661         (struct patopts): New struct.
22662         (struct exclude): Use it, as exclude patterns now come with options.
22663         (new_exclude): Support above changes.
22664         (new_exclude, add_exclude_file):
22665         Initial size must now be a power of two to simplify overflow checking.
22666         (free_exclude, fnmatch_no_wildcards): New function.
22667         (excluded_filename): No longer requires options arg, as the options
22668         are determined by add_exclude.  Now returns bool, not int.
22669         (excluded_filename, add_exclude):
22670         Add support for the fancy new exclusion options.
22671         (add_exclude, add_exclude_file): Now takes int options arg.
22672         Check for arithmetic overflow when computing sizes.
22673         (add_exclude_file): xrealloc might modify errno, so don't
22674         realloc until after errno might be used.
22675
22676         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
22677         New macros.
22678         (free_exclude): New decl.
22679         (add_exclude, add_exclude_file): Now takes int options arg.
22680         (excluded_filename): No longer requires options arg, as the options
22681         are determined by add_exclude.  Now returns bool, not int.
22682
22683 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22684
22685         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
22686
22687 2001-08-27  Jim Meyering  <meyering@lucent.com>
22688
22689         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
22690
22691         * lib/version-etc.c (N_): Remove definition.
22692         Revert most of last change.
22693         Instead, simply don't mark the `Copyright...' string for translation.
22694         Based on advice from Paul Eggert.
22695
22696         * lib/strtoxmax.c: Tweak comment.
22697
22698 2001-08-26  Jim Meyering  <meyering@lucent.com>
22699
22700         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
22701
22702         * m4/xstrtoimax.m4: New file.
22703         * m4/xstrtoumax.m4: Add comments explaining why we
22704         AC_REPLACE_FUNCS(strtol).
22705
22706 2001-08-26  Jim Meyering  <meyering@lucent.com>
22707
22708         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
22709         of copyright with `%s' so translators don't get an untranslated
22710         message in 2002.
22711         (COPYRIGHT_YEAR): Define.
22712         (version_etc): Use fprintf rather than fputs.
22713         Suggestion from Ulrich Drepper.
22714
22715         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
22716
22717         * lib/strtoll.c: New file, from GNU libc.
22718         * lib/xstrtoimax.c: New file.
22719
22720         * lib/xstrtol.h: Add xstrtoimax.
22721         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
22722         * lib/strtoimax.c: New file.  Likewise, but first define
22723         STRTOUXMAX_SIGNED.
22724
22725         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
22726         ...
22727         * lib/strtoxmax.c: ... then renamed to this.
22728
22729 2001-08-18  Paul Eggert  <eggert@twinsun.com>
22730
22731         * m4/inttypes.m4: Add AC_PREREQ(2.13).
22732         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
22733         (jm_AC_TYPE_INTMAX_T): New macro.
22734         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
22735
22736         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
22737
22738         * m4/longlong.m4: Renamed from ulonglong.m4.
22739         * m4/inttypes.m4: Renamed from inttypes_h.m4.
22740         * m4/uintmax_t.m4: Removed.
22741
22742 2001-08-13  Paul Eggert  <eggert@twinsun.com>
22743
22744         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
22745         Port to Solaris 8, where 'sed' requires a space after the 'r'
22746         command, and where sh dislikes "$/".  Clean up the spacing a bit.
22747         Redirect output to $tmp just once.
22748
22749 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
22750
22751         * lib/addext.c (<errno.h>): Include.
22752         (errno): Declare if not defined.
22753         (addext): Work correctly when pathconf returns -1 and leaves
22754         errno alone because there is no limit.  Also, work even if
22755         pathconf returns a value greater than SIZE_MAX.
22756
22757 2001-08-12  Jim Meyering  <meyering@lucent.com>
22758
22759         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
22760         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
22761         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
22762         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
22763         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
22764         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
22765         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
22766         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
22767         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
22768         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
22769         utime.m4, utimes.m4, xstrtoumax.m4:
22770         Quote the first argument in each use of AC_DEFUN.
22771
22772 2001-08-12  Jim Meyering  <meyering@lucent.com>
22773
22774         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
22775         Simply `return getcwd (NULL, 0);'.
22776         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
22777         Use 1300 as initial value for length, not PATH_MAX.
22778
22779         * lib/pathmax.h: Clean up cpp syntax.
22780
22781 2001-08-12  Jim Meyering  <meyering@lucent.com>
22782
22783         * lib/gettimeofday.c: New file.
22784         * lib/gtod.h: New file.
22785         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
22786
22787 2001-08-05  Jim Meyering  <meyering@lucent.com>
22788
22789         * m4/jm-macros.m4: Require autoconf-2.52.
22790
22791 2001-08-04  Jim Meyering  <meyering@lucent.com>
22792
22793         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
22794         stmt, to get in sync with glibc.
22795
22796 2001-08-03  Paul Eggert  <eggert@twinsun.com>
22797
22798         The following changes are from gettext 0.10.39 as maintained by
22799         Bruno Haible.
22800
22801         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
22802         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
22803         with inverted sense.  All uses changed.
22804
22805         * lib/mbswidth.c: Don't include <limits.h>.
22806         Include <stdlib.h> and <string.h> unconditionally.
22807         (iswcntrl, mbsinit, ISCNTRL): New macros.
22808         (mbsnwidth): Use K&R style function declarations.
22809         Don't bother checking for MB_LEN_MAX == 1, since the compiler
22810         can optimize it when MB_CUR_MAX == 1.
22811         The width of control characters is zero, not 1.
22812
22813 2001-08-03  Paul Eggert  <eggert@twinsun.com>
22814
22815         The following changes are from gettext 0.10.39 as maintained by
22816         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
22817
22818         * m4/codeset.m4: Upgrade to serial AM1.
22819         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
22820         all uses changed.  Quote first arg of AC_DEFUN.
22821         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
22822
22823         * m4/iconv.m4: Upgrade to serial AM2.
22824         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
22825         Add --with-libconv-prefix.
22826         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
22827         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
22828         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
22829         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
22830         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
22831
22832         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
22833         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
22834         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
22835         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
22836         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
22837         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
22838         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
22839         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
22840         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
22841
22842         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
22843         string.h any more.
22844
22845         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
22846         not the default value.
22847
22848         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
22849         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
22850         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
22851         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
22852         Also check for iswcntrl, used for wcwidth fallback.
22853         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
22854         to Autoconf 2.13.
22855
22856 2001-08-03  Jim Meyering  <meyering@lucent.com>
22857
22858         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
22859         as it was in the original.  Reported by Paul Eggert.
22860
22861 2001-07-16  Jim Meyering  <meyering@lucent.com>
22862
22863         * m4/gettimeofday.m4: New file.
22864         Prompted by a report from Bernhard Baehr.
22865
22866 2001-07-15  Jim Meyering  <meyering@lucent.com>
22867
22868         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
22869         stuff. Now it's in ../Makefile.cfg.
22870
22871 2001-07-15  Jim Meyering  <meyering@lucent.com>
22872
22873         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
22874         (BUILT_SOURCES): Add unlocked-io.h.
22875         (io_functions): Define.
22876         (unlocked-io.h): New rule.
22877         (DISTCLEANFILES): Add unlocked-io.h.
22878         (all-local): Depend on unlocked-io.h, to ensure it is created.
22879
22880         * lib/unlocked-io.hin: New file
22881
22882         * lib/regex.c: Update from glibc.
22883
22884 2001-07-05  Jim Meyering  <meyering@lucent.com>
22885
22886         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
22887         recommendation.
22888         (libfetish_a_SOURCES): Put all .h files here instead.
22889         Remove a thus-exposed (better checks in automake) duplicate and
22890         two unnecessary .h files.
22891
22892 2001-07-04  Jim Meyering  <meyering@lucent.com>
22893
22894         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
22895         that generates jm-glibc-io.m4 so that it doesn't trigger any make
22896         distcheck failure.
22897
22898 2001-07-02  Jim Meyering  <meyering@lucent.com>
22899
22900         The following changes were prompted by suggestions from Bruno Haible.
22901
22902         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
22903         is now generated.
22904         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
22905         definition of EXTRA_DIST.
22906         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
22907         ensure that the generated file is created/updated whenever the list
22908         of $(unlocked_functions) is changed.
22909         (jm-glibc-io.m4): New rule.
22910         (unlocked-io.h): New rule -- currently unused.
22911
22912 2001-06-24  Jim Meyering  <meyering@lucent.com>
22913
22914         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
22915         unmatched right bracket, rather than kludging it with an extra,
22916         falsely-matching quote in a comment.  Patch by Akim Demaille.
22917
22918 2001-06-11  Jim Meyering  <meyering@lucent.com>
22919
22920         * lib/regex.c: Update from GNU libc.
22921
22922 2001-05-27  Jim Meyering  <meyering@lucent.com>
22923
22924         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
22925         Check for ut_type in struct utmp.
22926
22927 2001-05-27  Jim Meyering  <meyering@lucent.com>
22928
22929         * lib/readutmp.h (UT_TYPE): Define.
22930
22931 2001-05-24  Jim Meyering  <meyering@lucent.com>
22932
22933         * lib/argmatch.c: Include "quote.h".
22934         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
22935         quote function.  Reported by Göran Uddeborg.
22936
22937 2001-05-22  Jim Meyering  <meyering@lucent.com>
22938
22939         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
22940         now that we use the package-supplied version unconditionally.
22941         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
22942
22943 2001-05-21  Jim Meyering  <meyering@lucent.com>
22944
22945         * m4/regex.m4: Change a couple backticks to single quotes to avoid
22946         shell syntax errors.
22947
22948 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
22949
22950         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
22951
22952 2001-05-20  Paul Eggert  <eggert@twinsun.com>
22953
22954         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
22955         Don't bother to check library strftime, since
22956         we'll be using our own my_strftime function anyway.
22957         Define my_strftime instead of strftime.
22958
22959 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
22960
22961         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
22962         which is not yet declared.
22963
22964 2001-05-15  Jim Meyering  <meyering@lucent.com>
22965
22966         * m4/regex.m4: Use proper quoting so brackets appear in the test
22967         program.
22968         Reported by, and with help from, Bruno Haible.
22969
22970 2001-05-13  Jim Meyering  <meyering@lucent.com>
22971
22972         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
22973         undefined.
22974
22975 2001-05-11  Paul Eggert  <eggert@twinsun.com>
22976
22977         dirname code cleanup.  base_name now behaves more compatibly
22978         with POSIX basename when given file names that have trailing
22979         slashes, and similarly for dir_name.  Add new primitives
22980         base_len and dir_len.  Put the directory-name-related decls
22981         into dirname.h.
22982
22983         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
22984         * lib/backupfile.c (base_name): Likewise.
22985         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
22986         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
22987         * lib/makepath.c (strip_trailing_slashes): Likewise.
22988         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
22989         ISSLASH): Likewise.
22990         * lib/rename.c (strip_trailing_slashes): Likewise.
22991         * lib/same.c (base_name): Likewise.
22992         * lib/stripslash.c (ISSLASH): Likewise.
22993
22994         * lib/addext.c: Include <dirname.h> after size_t is defined.
22995         * lib/backupfile.c: Likewise.
22996
22997         * lib/addext.c (addext): Use base_len to trim redundant
22998         trailing slashes instead of doing it ourselves.
22999         But do not trim the last slash if it is not redundant.
23000
23001         * lib/backupfile.c (find_backup_file_name,
23002         max_backup_version): Use base_len instead of rolling it ourselves.
23003         Handle the case of "" and (on DOS) "C:" correctly.
23004
23005         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
23006         needed. Include <string.h>, <dirname.h>.
23007         (base_name): Allow file names ending in slashes, other than names
23008         that are all slashes.  In this case, return the basename followed
23009         by the slashes.  This is more general, and can be used in places
23010         where the original base_name purposely had an assertion failure.
23011         (base_len): New function.
23012
23013         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
23014         Do not include <assert.h>; no longer needed.
23015         Include xalloc.h.
23016         (memrchr): Remove decl.
23017         (dir_name_r): Remove.
23018         (dir_len): Renamed from dirlen.  All callers changed.
23019         Rewrite in terms of base_name, for simplicity and consistency.
23020         (dir_name): Never return NULL.  All callers changed.
23021         Do not include <stdlib.h> in test program; no longer needed.
23022         return 0; is fine for test program.
23023
23024         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
23025         New macros.
23026         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
23027
23028         * lib/path-concat.c (path_concat): Use base_len to compute
23029         base length, not strlen; this means we cannot rely on memcpy
23030         to null-terminate.
23031
23032         * lib/same.c (STREQ): Remove.
23033         (same_name): Handle the case where the basename ends in trailing '/'.
23034
23035         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
23036         a slash was stripped.  Do not strip the last slash after a
23037         file system prefix.
23038
23039 2001-05-11  Paul Eggert  <eggert@twinsun.com>
23040
23041         * lib/Makefile.am (libfetish_a_SOURCES):
23042         Add strftime.c, since we now compile it on all hosts.
23043
23044         * lib/strftime.c (my_strftime):
23045         Define to nstrftime if emacs, but only if my_strftime is not defined.
23046         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
23047         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
23048         Add one more extra argument: a nanoseconds value.
23049         All uses changed.
23050         (ns): New macro.
23051         (my_strftime function): Add %N format.
23052         (emacs_strftimeu): Renamed from emacs_strftime,
23053         with extra ut argument.
23054
23055 2001-05-09  Paul Eggert  <eggert@twinsun.com>
23056
23057         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
23058
23059 2001-04-21  Jim Meyering  <meyering@lucent.com>
23060
23061         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
23062         doesn't interfere.
23063
23064 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
23065
23066         * m4/ftruncate.m4: Check for chsize.
23067         Link with ftruncate.o unconditionally if ftruncate is missing.
23068         This was required when cross-compiling to i586-mingw32msvc.
23069
23070 2001-04-08  Jim Meyering  <meyering@lucent.com>
23071
23072         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
23073         recomputed; that's necessary when the offset spans a DST transition.
23074         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
23075
23076 2001-04-02  Jim Meyering  <meyering@lucent.com>
23077
23078         * lib/regex.h, regex.c: Update from GNU libc.
23079
23080 2001-03-24  Jim Meyering  <meyering@lucent.com>
23081
23082         * m4/jm-macros.m4: Require autoconf-2.49d.
23083
23084 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
23085
23086         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
23087
23088 2001-03-19  Paul Eggert  <eggert@twinsun.com>
23089
23090         * lib/version-etc.c (version_etc_copyright): Update to 2001.
23091
23092 2001-03-17  Jim Meyering  <meyering@lucent.com>
23093
23094         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
23095         now that the version in autoconf is equivalent.
23096         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
23097
23098         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
23099         Suggestion from Akim Demaille.
23100
23101         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
23102         (jm_PREREQ_TEMPNAME): New function.
23103
23104 2001-03-16  Paul Eggert  <eggert@twinsun.com>
23105
23106         * lib/tempname.c (uint64_t): Define to uintmax_t if
23107         not defined, and if UINT64_MAX is not defined.
23108         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
23109         Reported by John David Anglin.
23110
23111 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
23112
23113         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
23114         resolve alias if codeset is empty.
23115         * lib/config.charset (BeOS): Use wildcard syntax.
23116
23117 2001-03-13  Jim Meyering  <meyering@lucent.com>
23118
23119         * lib/path-concat.c (path_concat)
23120         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
23121         concatenating e.g., `C:' and `foo'.
23122         From Bruno Haible.
23123
23124 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
23125
23126         * lib/localcharset.c (locale_charset): Don't use
23127         setlocale(LC_CTYPE,NULL). Don't return NULL.
23128         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
23129
23130 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
23131
23132         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
23133         support for DOS/DJGPP.
23134
23135 2001-03-01  Paul Eggert  <eggert@twinsun.com>
23136
23137         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
23138         lacks mkstemp.  Compile our own tempname.c if we compile our own
23139         mkstemp.c, as mkstemp relies on tempname.
23140
23141 2001-03-01  Jim Meyering  <meyering@lucent.com>
23142
23143         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
23144         AH_VERBATIM really does output its argument verbatim.
23145
23146 2001-02-28  Paul Eggert  <eggert@twinsun.com>
23147
23148         * lib/Makefile.am (libfetish_a_SOURCES):
23149         Add dup-safer.c, fopen-safer.c.
23150         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
23151
23152         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
23153         * lib/unistd-safer.h: New files.
23154
23155 2001-02-25  Paul Eggert  <eggert@twinsun.com>
23156
23157         The mkstemp replacement is taken from glibc 2.2.2, with some
23158         portability fixes for use outside glibc, as follows:
23159
23160         * lib/tempname.c (struct_stat64): New macro.
23161         (direxists, __gen_tempname): Use it.
23162         This avoids a portability problem with Solaris 8.
23163
23164         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
23165         (<stddef.h>, <stdint.h>, <string.h>):
23166         Include only if STDC_HEADERS || _LIBC.
23167         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
23168         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
23169         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
23170         (__set_errno): Define this macro if <errno.h> doesn't.
23171         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
23172         Define these macros if <stdio.h> doesn't.
23173         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
23174         Define these macros if <sys/stat.h>
23175         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
23176         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
23177         __xstat64): Define if not _LIBC.
23178         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
23179         (__gen_tempname): Invoke gettimeofday only if
23180         HAVE_GETTIMEOFDAY || _LIBC;
23181         otherwise, fall back on plain "time".
23182         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
23183
23184         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
23185
23186         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
23187
23188 2001-02-18  Paul Eggert  <eggert@twinsun.com>
23189
23190         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
23191
23192 2001-02-17  Paul Eggert  <eggert@twinsun.com>
23193
23194         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
23195         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
23196         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
23197         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
23198
23199 2001-02-17  Paul Eggert  <eggert@twinsun.com>
23200
23201         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
23202         Remove workaround macros for hosts that have mbrtowc but not
23203         mbstate_t, as we now insist on proper declarations for both
23204         before using mbrtowc.
23205
23206 2001-02-17  Jim Meyering  <meyering@lucent.com>
23207
23208         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
23209         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
23210         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
23211         UnixWare 7.1.1.
23212
23213         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
23214         rather than AC_CACHE_VAL.
23215
23216 2001-02-17  Jim Meyering  <meyering@lucent.com>
23217
23218         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
23219         around included file name.
23220
23221         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
23222
23223         * lib/strftime.c: Update from GNU libc (the only changes were to
23224         comments).
23225
23226 2001-02-17  Jim Meyering  <meyering@lucent.com>
23227
23228         * lib/regex.c: Update from libc.
23229
23230 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
23231
23232         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
23233         clash.
23234
23235 2001-02-16  Paul Eggert  <eggert@twinsun.com>
23236
23237         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
23238         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
23239         Reported by Mark Hounschell via Paul Eggert.
23240
23241 2001-02-07  Jim Meyering  <meyering@lucent.com>
23242
23243         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
23244
23245 2001-02-05  Jim Meyering  <meyering@lucent.com>
23246
23247         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
23248         it includes the patch required for `large file' support with at least
23249         HP-UX's 10.20 /bin/cc.
23250
23251 2001-02-03  Jim Meyering  <meyering@lucent.com>
23252
23253         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
23254         AS_IF, now that it works once again (mysteriously).
23255         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
23256
23257 2001-01-30  Jim Meyering  <meyering@lucent.com>
23258
23259         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
23260         * m4/chown.m4: Rename conftestchown to conftest.chown.
23261         * m4/rename.m4: s/conftestdir/conftest.d1/ and
23262         s/conftestdir2/conftest.d2/.
23263         * m4/utimes.m4: s/conftestdata/conftest.data/
23264         Inspired by Pavel Roskin's change in autoconf.
23265
23266 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
23267
23268         * lib/config.charset: Update for FreeBSD 4.2.
23269
23270 2001-01-27  Jim Meyering  <meyering@lucent.com>
23271
23272         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
23273         a use of AS_IF.
23274         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
23275
23276 2001-01-26  Jim Meyering  <meyering@lucent.com>
23277
23278         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
23279         quotearg.c includes it.
23280
23281 2001-01-26  Jim Meyering  <meyering@lucent.com>
23282
23283         * lib/quotearg.c: Include stddef.h.
23284         * lib/quote.c: Include stddef.h.
23285         Reported by Axel Kittenberger.
23286
23287         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
23288         line in double quotes so that it evokes a better diagnostic.
23289         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
23290         Reported by Axel Kittenberger.
23291
23292 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
23293
23294         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
23295         as if it was a `charset'.
23296
23297 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
23298
23299         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
23300         has const.
23301
23302 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
23303
23304         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
23305         to avoid a warning.  Add back 'const' to inptr.
23306
23307 2001-01-20  Jim Meyering  <meyering@lucent.com>
23308
23309         Be sure that headers are checked before used in code compiled
23310         for the type checks.
23311         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
23312         In place of that, invoke jm_CHECK_ALL_TYPES.
23313         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
23314         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
23315         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
23316         The check for ssize_t was mistakenly run before the test for unistd.h.
23317
23318         The configure-time check for stdbool.h was missing.
23319         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
23320         (jm_PREREQ_HASH): New function.
23321
23322 2001-01-17  Jim Meyering  <meyering@lucent.com>
23323
23324         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
23325         for autoconf-2.49c.
23326         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
23327
23328 2001-01-16  Jim Meyering  <meyering@lucent.com>
23329
23330         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
23331         From Bruno Haible.
23332
23333 2001-01-14  Jim Meyering  <meyering@lucent.com>
23334
23335         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
23336         foo and bar.  Create conftestdir/ in the script, not in the C code.
23337         Remove directories in the script, not in the C code.
23338         Remove conftestdir{,2} before trying to create the directory.
23339         Make the entire configure script fail if the mkdir fails.
23340
23341 2001-01-14  Jim Meyering  <meyering@lucent.com>
23342
23343         * lib/rename.c: New file.  From Volker Borchert.
23344         Include stdlib.h, string.h or strings.h, and xalloc.h.
23345         Use strip_trailing_slashes rather than open-coding it.
23346
23347 2001-01-03  Paul Eggert  <eggert@twinsun.com>
23348
23349         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
23350
23351 2001-01-03  Jim Meyering  <meyering@lucent.com>
23352
23353         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
23354         of local `inptr' to avoid warning with some system declarations of
23355         iconv.
23356
23357 2001-01-02  Volker Borchert  <bt@teknon.de>
23358
23359         * m4/rename.m4: New file.
23360         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
23361
23362 2001-01-01  Jim Meyering  <meyering@lucent.com>
23363
23364         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
23365         even on systems with utmpx.h.  It's necessary for the declaration of
23366         utmp's ut_user member.  Reported by Andreas Jaeger.
23367
23368         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
23369         available. They are required for the declarations of getgrgid and
23370         getpwuid resp.
23371         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
23372         Reported by Andreas Jaeger.
23373
23374 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
23375
23376         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
23377         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
23378         so `make install' also works in VPATH builds.
23379
23380 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
23381
23382         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
23383         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
23384         can be used in subdirectories.
23385
23386 2000-12-29  Paul Eggert  <eggert@twinsun.com>
23387
23388         * lib/modechange.c: Do not assume that mode_t uses the
23389         traditional octal encoding.  E.g. "chmod 1 FOO" should set
23390         the other-execute bit of FOO even if S_IXOTH != 1.
23391
23392         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
23393         WOTH, XOTH, ALLM): New macros.
23394         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
23395          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
23396         Use them.
23397         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
23398         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
23399         (mode_compile):
23400         No need to use uintmax_t; unsigned long is long enough.
23401         Don't bother to get suffix since we don't use it.
23402
23403 2000-12-26  Jim Meyering  <meyering@lucent.com>
23404
23405         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
23406         better with autoheader.
23407
23408 2000-12-24  Jim Meyering  <meyering@lucent.com>
23409
23410         * lib/hash.c (is_prime): Return explicit boolean values.
23411         (hash_get_first): Return NULL to appease Irix5.6's 89.
23412         Reported by Nelson Beebe.
23413
23414 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
23415
23416         * lib/localcharset.c (locale_charset): Add support for Win32.
23417
23418 2000-12-18  Paul Eggert  <eggert@twinsun.com>
23419
23420         * lib/physmem.h, lib/physmem.c: New files.
23421
23422         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
23423         (noinst_HEADERS): Add physmem.h.
23424
23425         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
23426         't' for compatibility with Solaris 8 sort.
23427
23428 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
23429
23430         * lib/config.charset: Add support for BeOS.
23431
23432 2000-12-17  Jim Meyering  <meyering@lucent.com>
23433
23434         * m4/dos.m4 (jm_AC_DOS): New file and macro.
23435         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
23436
23437 2000-12-16  Jim Meyering  <meyering@lucent.com>
23438
23439         This bug had a serious impact on chown: `chown N:M FILE' (for integer
23440         N and M) would have treated it like `chown N:N FILE'.
23441
23442         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
23443
23444 2000-12-16  Jim Meyering  <meyering@lucent.com>
23445
23446         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
23447         SHELLS_FILE to a file name that's useful on djgpp systems.
23448         Include stdlib.h.
23449         (ADDITIONAL_DEFAULT_SHELLS): Define.
23450         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
23451         Based mostly on a patch from Prashant TR.
23452
23453 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
23454
23455         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
23456         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
23457         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
23458
23459 2000-12-08  Andreas Schwab  <schwab@suse.de>
23460
23461         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
23462         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
23463
23464 2000-12-07  Jim Meyering  <meyering@lucent.com>
23465
23466         * lib/stripslash.c (ISSLASH): Define.
23467         (strip_trailing_slashes): Use ISSLASH rather than comparing against
23468         `/'.
23469         From Prashant TR.
23470
23471         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
23472         (dir_name_r): Declare this function as static.
23473         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
23474         manifest itself on a name containing a mix of slashes and
23475         backslashes.
23476         Make this function work with names starting with a DOS-style
23477         drive letter and colon prefix.
23478         (dir_name): Append `.' if necessary.
23479         Based mostly on patches from Prashant TR and Eli Zaretskii.
23480
23481         * lib/dirname.h (dir_name_r): Remove prototype.
23482
23483 2000-12-06  Paul Eggert  <eggert@twinsun.com>
23484
23485         * m4/off_t-format.m4: Remove this file.
23486         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
23487
23488 2000-12-06  Jim Meyering  <meyering@lucent.com>
23489
23490         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
23491         replacement strtoull, we may well need the replacement strtoul, too.
23492         Check for declarations of strtoul and strtoull.
23493         Check for strtol.  Mainly as a cue to cause automake to include
23494         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
23495         Check for limits.h -- strtol.c needs it.
23496
23497 2000-12-05  Jim Meyering  <meyering@lucent.com>
23498
23499         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
23500
23501 2000-12-04  Jim Meyering  <meyering@lucent.com>
23502
23503         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
23504         Also include memory.h, stdlib.h, unistd.h if appropriate.
23505         Reported by Andreas Jaeger (conflicting declaration of malloc).
23506
23507 2000-12-02  Jim Meyering  <meyering@lucent.com>
23508
23509         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
23510         * m4/jm-macros.m4 (jm_MACROS): require it.
23511
23512 2000-12-02  Jim Meyering  <meyering@lucent.com>
23513
23514         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
23515
23516 2000-12-01  Paul Eggert  <eggert@twinsun.com>
23517
23518         * lib/memrchr.c: Include <config.h> before any system include file.
23519
23520 2000-11-30  Jim Meyering  <meyering@lucent.com>
23521
23522         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
23523
23524 2000-11-30  Jim Meyering  <meyering@lucent.com>
23525
23526         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
23527
23528 2000-11-29  Paul Eggert  <eggert@twinsun.com>
23529
23530         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
23531
23532 2000-11-26  Jim Meyering  <meyering@lucent.com>
23533
23534         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
23535
23536 2000-11-22  Paul Eggert  <eggert@twinsun.com>
23537
23538         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
23539         size of (size_t) -1; it's not portable.
23540
23541 2000-11-17  Jim Meyering  <meyering@lucent.com>
23542
23543         * lib/strstr.c: Update from GNU libc.
23544
23545 2000-11-17  Akim Demaille  <akim@epita.fr>
23546
23547         * lib/obstack.h: Formatting changes.
23548         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
23549         prevent type checking.
23550         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
23551         cast the value to (void *): assigning a `foo *' to a `void *'
23552         variable is valid.
23553         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
23554
23555 2000-11-16  Jim Meyering  <meyering@lucent.com>
23556
23557         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
23558
23559 2000-11-11  Jim Meyering  <meyering@lucent.com>
23560
23561         * lib/error.c: Add a couple #includes, merging from GNU libc version.
23562
23563 2000-11-10  Jim Meyering  <meyering@lucent.com>
23564
23565         * lib/obstack.h: Update from GNU libc.
23566         * lib/obstack.c: Likewise.
23567
23568 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
23569
23570         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
23571
23572 2000-11-06  Paul Eggert  <eggert@twinsun.com>
23573
23574         * lib/getusershell.c (setusershell): Use rewind rather than
23575         fseek/fseeko, to avoid configuration hassles with fseeko.
23576         Don't bother opening SHELLS_FILE if shellstream is NULL;
23577         it's not necessary.
23578
23579 2000-11-05  Jim Meyering  <meyering@lucent.com>
23580
23581         * lib/makepath.h (make_dir): Declare.
23582         * lib/makepath.c (make_dir): Remove `static' attribute.
23583         Tweak a comment.
23584
23585 2000-11-04  Jim Meyering  <meyering@lucent.com>
23586
23587         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
23588
23589 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
23590
23591         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
23592         last one in a bucket, advance to the next bucket.
23593
23594 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
23595
23596         * lib/fnmatch.c: Do not comment out all the code if we are using
23597         the GNU C library, because in some cases we are replacing buggy
23598         code in the GNU C library itself.
23599
23600 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
23601
23602         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
23603         (regex_compile): Catch bogus \(\1\).
23604
23605 2000-10-30  Paul Eggert  <eggert@twinsun.com>
23606
23607         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
23608         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
23609         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
23610
23611 2000-10-30  Paul Eggert  <eggert@twinsun.com>
23612
23613         * lib/error.h, getline.h, modechange.h:
23614         Remove "2000" from Copyright line, as the file hasn't been
23615         changed this year other than in the copyright notice.
23616
23617         * lib/xalloc.h: Add "2000" to Copyright line, as this file
23618         was changed this year.
23619
23620 2000-10-29  Jim Meyering  <meyering@lucent.com>
23621
23622         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
23623         renaming.
23624         * m4/ls-mntd-fs.m4: Likewise
23625
23626 2000-10-29  Jim Meyering  <meyering@lucent.com>
23627
23628         * lib/xstat.in: Fix grammar in comment.
23629
23630 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
23631
23632         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
23633         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
23634         doesn't define __restrict_arr.
23635
23636 2000-10-28  Jim Meyering  <meyering@lucent.com>
23637
23638         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
23639         (jm_PREREQ_MEMCHR): New function.
23640
23641 2000-10-28  Jim Meyering  <meyering@lucent.com>
23642
23643         * lib/memchr.c: Update from libc.
23644         Adjust for portability:
23645         [HAVE_STDLIB_H]: Include stdlib.h.
23646         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
23647         Undef __memchr, too.
23648         [!weak_alias]: Define __memchr to memchr.
23649
23650         * lib/regex.c: Update from libc.
23651         * lib/regex.h: Likewise.
23652         * lib/getopt1.c: Likewise.
23653         * lib/memcmp.c: Likewise.
23654
23655         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
23656         Avoid using fseek, when possible -- it's broken by design.
23657         Patch by Ulrich Drepper.
23658
23659 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
23660
23661         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
23662         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
23663         Giving in to popular pressure to shut up the compiler with casts.
23664
23665 2000-10-26  Jim Meyering  <meyering@lucent.com>
23666
23667         * lib/strftime.c: Update from libc.
23668
23669 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
23670
23671         * regex.c: More `unsigned char' -> `re_char' changes.
23672         Also change several `int' into `re_wchar_t'.
23673         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
23674         (PUSH_FAILURE_POINTER): Don't cast any more.
23675         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
23676         We want GCC to complain, since this piece of code makes
23677         re_match non-reentrant, which *should* be fixed.
23678         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
23679         (EXTEND_BUFFER): Use RETALLOC.
23680         (SET_LIST_BIT): Don't cast.
23681         (re_wchar_t): New type.
23682         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
23683         that those two functions will always properly return.
23684         (IMMEDIATE_QUIT_CHECK): Cast to void.
23685         (analyse_first): Use recursion rather than an explicit stack.
23686         (re_compile_fastmap): Can't fail anymore.
23687         (re_search_2): Don't check re_compile_fastmap for failure.
23688         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
23689         Now also sets the new value (passed in a new argument).
23690         (re_match_2_internal): Use it.
23691         Also, use a new var `reg' of type size_t when looping through regs
23692         rather than reuse the inappropriate `mcnt'.
23693
23694 2000-10-25  Jim Meyering  <meyering@lucent.com>
23695
23696         * lib/obstack.c: Update from libc.
23697
23698 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
23699
23700         * regex.c (regex_compile): Change the way of handling a range from
23701         a char less than 256 to a char not less than 256.
23702
23703 2000-10-24  Andrew Innes  <andrewi@gnu.org>
23704
23705         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
23706         NT-Emacs only.
23707         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
23708         so that re_search functions only quit when callers expect them to.
23709
23710 2000-10-23  Jim Meyering  <meyering@lucent.com>
23711
23712         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
23713         wrong.  That set_locale call must not have any side effects.
23714         From Paul Eggert.
23715
23716 2000-10-22  Jim Meyering  <meyering@lucent.com>
23717
23718         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
23719         [CYCLIC]: Remove now-unused definition.
23720
23721         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
23722         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
23723         Suggestion from Ulrich Drepper.
23724
23725 2000-10-21  Jim Meyering  <meyering@lucent.com>
23726
23727         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
23728         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
23729         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
23730
23731 2000-10-21  Jim Meyering  <meyering@lucent.com>
23732
23733         * lib/dirname.c (memrchr): Declare if necessary.
23734         (dir_name): Remove the restriction that there be no
23735         trailing slashes.  Now, this code skips past them, effectively
23736         ignoring them.
23737         [TEST_DIRNAME] (main): New unit tests.
23738
23739         * lib/memrchr.c: New file from GNU libc.
23740         Undef __memrchr, too.
23741         [!weak_alias]: Define __memrchr to memrchr.
23742         Guard weak_alias use with `#ifdef weak_alias'.
23743
23744 2000-10-21  Jim Meyering  <meyering@lucent.com>
23745
23746         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
23747         (dir_name): Use dir_name_r.
23748         * lib/dirname.h (dir_name_r): Declare it.
23749
23750 2000-10-17  Jim Meyering  <meyering@lucent.com>
23751
23752         * lib/quote.h (PARAMS): Define and use.
23753         Reported by Akim Demaille.
23754
23755         * lib/getopt.c: Update from libc.
23756
23757 2000-10-16  Jim Meyering  <meyering@lucent.com>
23758
23759         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
23760         setlocale.
23761         From Jan Fedak.
23762
23763 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
23764
23765         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
23766
23767 2000-09-25  Jim Meyering  <meyering@lucent.com>
23768
23769         * lib/md5.h (rol): Define (from GnuPG).
23770
23771         * lib/sha.c: Give credit (GnuPG) where due.
23772         (M): Use rol rather than open-coding it.
23773         Add a FIXME comment.
23774
23775 2000-09-21  Jim Meyering  <meyering@lucent.com>
23776
23777         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
23778         Reported by Michael Stone.
23779
23780 2000-09-20  Jim Meyering  <meyering@lucent.com>
23781
23782         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
23783         (noinst_HEADERS): Add sha.h.
23784         Based on code from Scott G. Miller and from GnuPG.
23785
23786 2000-09-18  Jim Meyering  <meyering@lucent.com>
23787
23788         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
23789         LIBS. Otherwise, everyone ends up linking with -lelf for some
23790         configurations.
23791         Reported by Mike Stone.
23792
23793 2000-09-15  Jim Meyering  <meyering@lucent.com>
23794
23795         * lib/regex.c: Update from libc.
23796
23797 2000-09-10  Jim Meyering  <meyering@lucent.com>
23798
23799         * lib/getopt.c (_getopt_internal): Update from glibc.
23800
23801 2000-09-09  Jim Meyering  <meyering@lucent.com>
23802
23803         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
23804         think it should be used as a general replacement for isascii.
23805         * lib/fnmatch.c: Likewise.
23806         * lib/mbswidth.c: Likewise
23807         * lib/regex.c: Likewise.
23808
23809         Don't use atoi.
23810         * lib/userspec.c: Include sys/param.h and limits.h.
23811         Include xstrtol.h.
23812         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
23813         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
23814         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
23815         UID, GID.  Check range.
23816
23817 2000-09-06  Jim Meyering  <meyering@lucent.com>
23818
23819         * lib/getopt.c (_getopt_internal): Update from glibc.
23820
23821 2000-08-30  Jim Meyering  <meyering@lucent.com>
23822
23823         * lib/strftime.c: Merge in changes from GNU libc.
23824
23825 2000-08-26  Jim Meyering  <meyering@lucent.com>
23826
23827         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
23828         * m4/fpending.m4: New file.
23829
23830 2000-08-26  Jim Meyering  <meyering@lucent.com>
23831
23832         * lib/closeout.c: Include "__fpending.h".
23833         (close_stdout_status): Return right away if there's nothing to flush.
23834
23835         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
23836         * lib/__fpending.c: New file.
23837         * lib/__fpending.h: New file.
23838
23839 2000-08-20  Jim Meyering  <meyering@lucent.com>
23840
23841         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
23842         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
23843         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
23844
23845 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
23846
23847         Improve fileutils installation on systems where running
23848         programs (like install) can't be unlinked.
23849         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
23850         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
23851
23852 2000-08-07  Paul Eggert  <eggert@twinsun.com>
23853
23854         Standardize on "memory exhausted" instead of "Memory exhausted"
23855         or "virtual memory exhausted".
23856         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
23857         "virtual memory exhausted".
23858         * lib/same.c (same_name): Invoke xalloc_die instead of printing
23859         our own message.
23860         * lib/userspec.c (parse_user_spec): Likewise.
23861         * lib/bumpalloc.h: comment fix
23862         * lib/same.c, userspec.c: Include xalloc.h.
23863
23864         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
23865         not char *const and pointing to a constant array.
23866         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
23867         (xrealloc): Comment fix.
23868
23869         * lib/userspec.c (parse_user_spec):
23870         Don't translate a message until just before returning,
23871         to avoid unnecessary translation.
23872
23873 2000-08-07  Jim Meyering  <meyering@lucent.com>
23874
23875         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
23876         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
23877         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
23878         getgroups.c, gethostname.c, getopt.h, group-member.c,
23879         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
23880         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
23881         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
23882         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
23883         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
23884         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
23885         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
23886         yesno.c: Back out Copyright date changes for each file with no change
23887         this year.  This eases coordination with other programs using the same
23888         source code modules.  From Paul Eggert.
23889
23890 2000-08-06  Paul Eggert  <eggert@twinsun.com>
23891
23892         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
23893         not char, for compatibility with glibc 2.1.3 strftime.c.
23894
23895 2000-08-03  Greg McGary  <greg@mcgary.org>
23896
23897         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
23898         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
23899         (EXTEND_BUFFER): Use them.
23900
23901 2000-08-01  Jim Meyering  <meyering@lucent.com>
23902
23903         * lib/dirname.c (ISSLASH): Define.
23904         (BACKSLASH_IS_PATH_SEPARATOR): Define.
23905         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
23906         both `\' and `/' may be use as path separators.
23907         Based on a patch from Prashant TR.
23908
23909 2000-07-31  Paul Eggert  <eggert@twinsun.com>
23910
23911         * lib/quotearg.c (quotearg_n_options): Don't make the initial
23912         slot vector a constant, since it might get modified.
23913
23914 2000-07-31  Jim Meyering  <meyering@lucent.com>
23915
23916         * lib/xmalloc.c: Use `virtual memory exhausted', not
23917         `Memory exhausted'.
23918         * lib/obstack.c (print_and_abort): Likewise.
23919
23920 2000-07-30  Paul Eggert  <eggert@twinsun.com>
23921
23922         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
23923         buffer, so that the caller can always quote one small
23924         component of a "memory exhausted" message in slot 0.
23925         From a suggestion by Jim Meyering.
23926
23927 2000-07-30  Jim Meyering  <meyering@lucent.com>
23928
23929         * lib/makepath.c (make_path): Quote the other instance, too.
23930
23931         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
23932         (STATIC_BUF_SIZE): Define.
23933         (quotearg_n_options): Use only statically allocated storage when
23934         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
23935         than STATIC_BUF_SIZE.
23936
23937 2000-07-29  Jim Meyering  <meyering@lucent.com>
23938
23939         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
23940         * lib/dirname.c (dir_name): Likewise.
23941
23942         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
23943         `/'.
23944
23945         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
23946         (dir_name): Assert that there are no trailing slashes.
23947
23948 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
23949
23950         * lib/mbswidth.h (mbswidth): Add a flags argument.
23951         (mbswidth): New declaration.
23952         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
23953         * lib/mbswidth.c (mbswidth): Add a flags argument.
23954         (mbsnwidth): New function.
23955
23956 2000-07-24  Jim Meyering  <meyering@lucent.com>
23957
23958         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
23959
23960 2000-07-23  Paul Eggert  <eggert@twinsun.com>
23961
23962         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
23963
23964 2000-07-23  Paul Eggert  <eggert@twinsun.com>
23965
23966         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
23967         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
23968         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
23969         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
23970         invoke multibyte primitives.
23971
23972 2000-07-23  Paul Eggert  <eggert@twinsun.com>
23973
23974         * lib/quotearg.c:
23975         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
23976         so that mbstate_t is always defined.
23977
23978         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
23979         be 1 in at least one GCC installation, and this configuration
23980         error is likely to be common.  Ignoring MB_LEN_MAX hurts
23981         performance on hosts that have mbrtowc but have only unibyte
23982         locales, but I assume these hosts are rare.
23983
23984 2000-07-23  Paul Eggert  <eggert@twinsun.com>
23985
23986         * lib/mbswidth.c (_XOPEN_SOURCE):
23987         Don't define; this causes problems on Solaris 7.
23988         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
23989
23990 2000-07-23  Jim Meyering  <meyering@lucent.com>
23991
23992         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
23993         too: getgrgid, getpwuid, getuid.
23994
23995 2000-07-23  Jim Meyering  <meyering@lucent.com>
23996
23997         * lib/basename.c (base_name): Add an assertion.
23998
23999 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
24000
24001         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
24002         shadow its mbsinit function.
24003
24004 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
24005
24006         * lib/mbswidth.h: New file.
24007         * lib/mbswidth.c: New file.
24008         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
24009         (noinst_HEADERS): Add mbswidth.h.
24010
24011 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
24012
24013         * lib/config.charset: Add support for FreeBSD. Improve support for
24014         HP-UX and IRIX 6.
24015
24016 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
24017
24018         * m4/mbswidth.m4: New file.
24019         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
24020
24021 2000-07-15  Jim Meyering  <meyering@lucent.com>
24022
24023         * lib/makepath.c: Include quote.h.
24024         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
24025         corresponding argument in a `quote (...)' call.
24026         Give better diagnostics.
24027
24028         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
24029         (noinst_HEADERS): Add quote.h.
24030
24031         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
24032         from tar's src/misc.c.
24033         * lib/quote.h: New file.  Prototypes for same.
24034
24035 2000-07-14  Paul Eggert  <eggert@twinsun.com>
24036
24037         From a suggestion by Bruno Haible.
24038         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
24039         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
24040         to decide whether to define the BeOS workaround macro;
24041         this adjusts to the change to AC_MBSTATE_T.
24042
24043 2000-07-14  Jim Meyering  <meyering@lucent.com>
24044
24045         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
24046         jm_AC_TYPE_UINTMAX_T.
24047
24048 2000-07-13  Paul Eggert  <eggert@twinsun.com>
24049
24050         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
24051
24052         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
24053         quotearg_buffer_restyled): Add support for
24054         clocale_quoting_style.  Undo previous change to
24055         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
24056         and "{RIGHT QUOTATION MARK}" msgids.
24057
24058 2000-07-10  Paul Eggert  <eggert@twinsun.com>
24059
24060         From a suggestion by Bruno Haible.
24061         * m4/mbstate_t.m4 (AC_MBSTATE_T):
24062         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
24063         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
24064         and mbstate_t, to a single-part test that simply defines mbstate_t.
24065         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
24066         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
24067
24068 2000-07-10  Jim Meyering  <meyering@lucent.com>
24069
24070         * m4/strerror_r.m4: Mirror the correction made in autoconf.
24071
24072         * m4/gnu-source.m4: Output to confdefs.h directly.
24073         Suggestion from Akim Demaille.
24074
24075 2000-07-09  Paul Eggert  <eggert@twinsun.com>
24076
24077         The old behavior of quoting `like this' doesn't look good with
24078         newer, ISO-style fonts.  See:
24079         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
24080
24081         Instead, quote "like this" by default.  Let the translator
24082         tailor the locale-specific quoting behavior by providing
24083         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
24084
24085         * lib/quotearg.c (N_): New macro.
24086         (gettext_default): New function.
24087         (quotearg_buffer_restyled): Use
24088         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
24089         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
24090
24091 2000-07-09  Jim Meyering  <meyering@lucent.com>
24092
24093         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
24094         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
24095
24096         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
24097         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
24098
24099 2000-07-09  Jim Meyering  <meyering@lucent.com>
24100
24101         * lib/Most files: Update copyright dates to include 2000.
24102
24103 2000-07-08  Jim Meyering  <meyering@lucent.com>
24104
24105         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
24106         if not defined.
24107         (xgethostname): Remove now-unnecessary #ifdef.
24108         Move declaration of `err' into loop where it's used.
24109
24110 2000-07-05  Paul Eggert  <eggert@twinsun.com>
24111         and Bruno Haible  <haible@clisp.cons.org>
24112
24113         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
24114         only if the test for an object-type mbstate_t fails.  This
24115         prevents us from mistakenly reporting that mbstate_t is a
24116         system object type after we "#define mbstate_t int" to work
24117         around its lack.
24118
24119 2000-07-05  Paul Eggert  <eggert@twinsun.com>
24120         and Bruno Haible  <haible@clisp.cons.org>
24121
24122         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
24123
24124 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
24125
24126         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
24127         to strerror_r.
24128         Include <ctype.h> for use of isalpha.
24129
24130 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
24131
24132         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
24133         by allocating a larger buffer. Test the gethostname return value for
24134         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
24135         returns an error and ENAMETOOLONG isn't defined.
24136
24137 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
24138
24139         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
24140         dimension.
24141
24142 2000-07-04  Jim Meyering  <meyering@lucent.com>
24143
24144         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
24145         of the deprecated AC_CHECKING.
24146
24147 2000-07-04  Jim Meyering  <meyering@lucent.com>
24148
24149         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
24150         Reported by Bruno Haible.
24151
24152 2000-07-04  Jim Meyering  <meyering@lucent.com>
24153
24154         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
24155         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
24156         lacks mbrtowc.
24157
24158 2000-07-03  Paul Eggert  <eggert@twinsun.com>
24159
24160         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
24161         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
24162
24163 2000-07-03  Paul Eggert  <eggert@twinsun.com>
24164         and Bruno Haible  <haible@clisp.cons.org>
24165
24166         * lib/quotearg.c (mbrtowc):
24167         Assign to *pwc, and return 1 only if result is nonzero.
24168         (iswprint): Use ISPRINT when substituting our own mbrtowc.
24169
24170 2000-07-03  Jim Meyering  <meyering@lucent.com>
24171
24172         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
24173
24174 2000-07-03  Jim Meyering  <meyering@lucent.com>
24175
24176         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
24177         This is necessary to get a definition of e.g., UTMP_FILE on
24178         HP-UX 10.20.
24179         From Bob Proulx.
24180
24181 2000-07-02  Jim Meyering  <meyering@lucent.com>
24182
24183         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
24184
24185         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
24186         AC_LIBOBJ(function_name).
24187         * m4/chown.m4: Likewise.
24188         * m4/fnmatch.m4: Likewise.
24189         * m4/ftruncate.m4: Likewise.
24190         * m4/getgroups.m4: Likewise.
24191         * m4/getline.m4: Likewise.
24192         * m4/group-member.m4: Likewise.
24193         * m4/jm-macros.m4: Likewise.
24194         * m4/lstat.m4: Likewise.
24195         * m4/malloc.m4: Likewise.
24196         * m4/memcmp.m4: Likewise.
24197         * m4/nanosleep.m4: Likewise.
24198         * m4/putenv.m4: Likewise.
24199         * m4/realloc.m4: Likewise.
24200         * m4/regex.m4: Likewise.
24201         * m4/stat.m4: Likewise.
24202         * m4/strftime.m4: Likewise.
24203
24204 2000-07-02  Jim Meyering  <meyering@lucent.com>
24205
24206         * lib/quotearg.c (mbstate_t): Don't define here.
24207
24208 2000-07-02  Jim Meyering  <meyering@lucent.com>
24209
24210         * lib/nanosleep.c (SIGCONT): Define if not already defined.
24211
24212 2000-07-01  Jim Meyering  <meyering@lucent.com>
24213
24214         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
24215
24216 2000-07-01  Jim Meyering  <meyering@lucent.com>
24217
24218         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
24219         problem.
24220
24221 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
24222
24223         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
24224         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
24225
24226 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
24227
24228         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
24229         per change in ../m4/ls-mntd-fs.m4.
24230         (read_filesystem_list): Ignore symbolic links.
24231
24232 2000-06-29  Jim Meyering  <meyering@lucent.com>
24233
24234         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
24235         for declaration of strcmp.
24236
24237         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
24238
24239         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
24240         Avoid warning by casting result to `char *' to remove `const'.
24241
24242 2000-06-28  Jim Meyering  <meyering@lucent.com>
24243
24244         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
24245         included by quotearg.c, for which we perform this test.  From
24246         Bruno Haible.
24247
24248 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
24249
24250         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
24251         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
24252         <utmpx.h> exists, put readutmp.o into LIBOBJS.
24253
24254 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
24255
24256         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
24257
24258 2000-06-26  Paul Eggert  <eggert@twinsun.com>
24259
24260         savedir now sets errno on failure and invokes xmalloc to get memory.
24261         Fix a couple of other minor bugs while we're at it.
24262
24263         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
24264         (NAMLEN): Remove macro.
24265         (malloc, realloc): Remove decls.
24266         (stpcpy): Likewise.
24267         ("xalloc.h"): Include.
24268         (NAME_SIZE_DEFAULT): New macro.
24269         (savedir): Use xmalloc / xrealloc to allocate memory.
24270         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
24271         Skip "" directory entries.
24272         Use strlen to calculate directory entry length, since the old method
24273         is rarely used these days and isn't worth supporting.
24274         Don't use a pointer after freeing it.
24275         Check for integer overflow when calculating allocation size.
24276         Use memcpy to copy entries, instead of stpcpy.
24277         Set errno properly when returning NULL.
24278         Check for readdir error.
24279
24280 2000-06-26  Jim Meyering  <meyering@lucent.com>
24281
24282         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
24283
24284 2000-06-25  Jim Meyering  <meyering@lucent.com>
24285
24286         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
24287         Linux header bug when _XOPEN_SOURCE is defined to 500.
24288
24289 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
24290
24291         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
24292         deficiency.
24293
24294 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
24295
24296         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
24297         Include xalloc.h.
24298         Don't include <stdlib.h>.  Don't declare malloc, realloc.
24299
24300 2000-06-24  Jim Meyering  <meyering@lucent.com>
24301
24302         * m4/strerror_r.m4: Revive this file -- to try out an experimental
24303         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
24304         for which strerror does return char*, but which lacks a conveniently
24305         accessible declaration of the function.  If the compile-test says
24306         strerror_r doesn't work, then resort to a `run'-test that works on
24307         BeOS and segfaults on DEC Unix.
24308
24309 2000-06-24  Jim Meyering  <meyering@lucent.com>
24310
24311         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
24312
24313 2000-06-23  Paul Eggert  <eggert@twinsun.com>
24314
24315         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
24316         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
24317
24318 2000-06-23  Paul Eggert  <eggert@twinsun.com>
24319
24320         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
24321         (mbrtowc, mbstate_t): Define substitutes if
24322         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
24323         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
24324         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
24325
24326 2000-06-23  Jim Meyering  <meyering@lucent.com>
24327
24328         * m4/afs.m4: Add missing AC_MSG_RESULT.
24329         Reported by Bruno Haible.
24330
24331         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
24332         Suggestion from Bruno Haible.
24333
24334 2000-06-23  Jim Meyering  <meyering@lucent.com>
24335
24336         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
24337
24338 2000-06-21  Jim Meyering  <meyering@lucent.com>
24339
24340         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
24341
24342 2000-06-21  Jim Meyering  <meyering@lucent.com>
24343
24344         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
24345         (noinst_HEADERS): Add getstr.h.
24346
24347         * lib/getline.c (getstr): Move into a separate file.
24348         * lib/getstr.c (getstr): New file, extracted from getline.c, with
24349         the following changes: new parameter, delim2; both delim[12]
24350         parameters have type `int', not `char'.  The latter would lose
24351         with 8-bit delimiters.
24352         * lib/getstr.h: New file.
24353
24354 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
24355
24356         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
24357         than 1024, return a memory chunk of least possible size, instead
24358         of size PATH_MAX + 2. In the loop, increment the size proportionally.
24359         Use free/xmalloc instead of xrealloc to avoid copying for very long
24360         paths.
24361
24362 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
24363
24364         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
24365         the empty string.
24366
24367 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
24368
24369         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
24370         address, not strdup.  Include <stdlib.h> and don't declare free().
24371
24372 2000-06-19  Jim Meyering  <meyering@lucent.com>
24373
24374         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
24375
24376 2000-06-18  Jim Meyering  <meyering@lucent.com>
24377
24378         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
24379
24380         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
24381         `checking whether...' message to be consistent with that of the
24382         lstat test.
24383
24384 2000-06-18  Jim Meyering  <meyering@lucent.com>
24385
24386         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
24387         Besides, these days every porting target provides a mkdir function.
24388
24389         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
24390         needed. (this snippet comes from src/system.h).
24391
24392 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
24393
24394         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
24395
24396 2000-06-15  Paul Eggert  <eggert@twinsun.com>
24397
24398         * lib/human.c (adjust_value): New function.
24399         (human_readable_inexact): Apply rounding style even when
24400         printing approximate values.
24401
24402 2000-06-14  Paul Eggert  <eggert@twinsun.com>
24403
24404         * lib/human.c (human_readable_inexact): Allow an input block
24405         size that is not a multiple of the output block size, and vice versa.
24406         Reported by Piergiorgio Sartor.
24407
24408 2000-06-14  Paul Eggert  <eggert@twinsun.com>
24409
24410         * lib/getdate.y (get_date): Apply relative times after time
24411         zone indicator, not before.  Reported by Todd A. Jacobs.
24412
24413 2000-06-13  Jim Meyering  <meyering@lucent.com>
24414
24415         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
24416
24417         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
24418
24419 2000-06-12  Paul Eggert  <eggert@twinsun.com>
24420
24421         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
24422
24423 2000-06-12  Jim Meyering  <meyering@lucent.com>
24424
24425         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
24426         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
24427         optional argument.
24428         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
24429         the optional argument, `lib'.
24430
24431 2000-06-08  Jim Meyering  <meyering@lucent.com>
24432
24433         * m4/largefile.m4: Remove file (now that it's part of autoconf).
24434
24435 2000-06-04  Paul Eggert  <eggert@twinsun.com>
24436
24437         Rewrite largefile configuration so that we don't need to run
24438         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
24439         AC_CANONICAL_HOST in configure.in -- jmm]
24440
24441         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
24442         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
24443         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
24444         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
24445         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
24446         All uses changed.
24447         Instead of inspecting the output of getconf, try to compile the
24448         test program without and with the macro definition.
24449         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
24450         for getconf.  Instead, check for the needed flags by compiling
24451         test programs.
24452
24453 2000-06-04  Paul Eggert  <eggert@twinsun.com>
24454
24455         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
24456
24457 2000-06-04  Jim Meyering  <meyering@lucent.com>
24458
24459         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
24460         SunOS 4.1.4 for which gid_t is an unsigned type.
24461
24462 2000-06-03  Jim Meyering  <meyering@lucent.com>
24463
24464         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
24465         now that autoconf requires that.
24466
24467         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
24468         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
24469         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
24470
24471 2000-06-03  Jim Meyering  <meyering@lucent.com>
24472
24473         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
24474
24475 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
24476
24477         * m4/glibc21.m4: New file.
24478         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
24479
24480 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
24481
24482         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
24483         newer, don't install charset.alias.
24484         * lib/config.charset: Change the Linux/glibc rules so they become empty
24485         on glibc-2.1 or newer.
24486
24487 2000-06-02  Jim Meyering  <meyering@lucent.com>
24488
24489         * lib/mountlist.c: Back out last change.  Instead, do this...
24490         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
24491         me_dummy member using the same `ignore'-testing code.
24492         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
24493         fs_type strings.
24494         From Mark D. Roth.
24495
24496 2000-05-29  Jim Meyering  <meyering@lucent.com>
24497
24498         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
24499         mounts with the `ignore' attribute.  Based on a patch from
24500         Mark D. Roth.
24501
24502 2000-05-28  Jim Meyering  <meyering@lucent.com>
24503
24504         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
24505         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
24506         * m4/stat.m4: Likewise.
24507         * m4/lstat.m4: Likewise.
24508         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
24509
24510         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
24511         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
24512
24513 2000-05-26  Jim Meyering  <meyering@lucent.com>
24514
24515         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
24516
24517 2000-05-24  Jim Meyering  <meyering@lucent.com>
24518
24519         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
24520         autoconf requires that.
24521         * m4/lib-check.m4: Likewise.
24522         * m4/jm-macros.m4: Likewise.
24523         * m4/strftime.m4: Likewise.
24524
24525         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
24526         AC_CHECK_DECLS, now that autoconf requires that.
24527
24528 2000-05-22  Jim Meyering  <meyering@lucent.com>
24529
24530         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
24531         * m4/lstat.m4: Likewise.
24532
24533 2000-05-22  Jim Meyering  <meyering@lucent.com>
24534
24535         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
24536
24537 2000-05-20  Jim Meyering  <meyering@lucent.com>
24538
24539         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
24540         (jm_PREREQ): Use it.
24541
24542 2000-05-18  Jim Meyering  <meyering@lucent.com>
24543
24544         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
24545         back, too, since it may have been modified by allocate_entry.
24546         (hash_delete): Rewrite to use neither the assignment operator
24547         nor the comma operator in an if-expression.
24548
24549 2000-05-15  Paul Eggert  <eggert@twinsun.com>
24550
24551         * lib/closeout.c:
24552         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
24553         Remove; no longer needed.
24554         "quotearg.h": Add include.
24555         (file_name): Do not bother to explicitly initialize to NULL; it's less
24556         efficient on some hosts.
24557         (close_stdout_status): Remove test as to whether stdout was already
24558         closed; it breaks for the case "echo x | sort >&-".
24559         Quote file name colons.
24560         Do not assume that _("write error") lacks format strings.
24561
24562 2000-05-15  Jim Meyering  <meyering@lucent.com>
24563
24564         * lib/version-etc.c (version_etc_copyright): Update the copyright
24565         string used in all --version output.
24566
24567 2000-05-14  Jim Meyering  <meyering@lucent.com>
24568
24569         * lib/closeout.c (close_stdout_set_file_name): New function.
24570         (close_stdout_status): Use new file-scoped global.
24571         Return right away if fstat says the stdout file descriptor is invalid.
24572         * lib/closeout.h (close_stdout_set_file_name): Declare.
24573
24574 2000-05-10  Jim Meyering  <meyering@lucent.com>
24575
24576         * lib/closeout.c [default_exit_status]: New file-scoped variable.
24577         (close_stdout_set_status): New function.
24578         * lib/closeout.h (close_stdout_set_status): Declare.
24579
24580 2000-05-09  Jim Meyering  <meyering@lucent.com>
24581
24582         * m4/gettext.m4: Rename this...
24583         * m4/libintl.m4: ...to this.
24584
24585 2000-05-08  Jim Meyering  <meyering@lucent.com>
24586
24587         * lib/long-options.c: Don't include closeout.h.
24588         (parse_long_options): Don't call close_stdout for --version.
24589
24590 2000-05-06  Paul Eggert  <eggert@twinsun.com>
24591
24592         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
24593         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
24594         2.1.3 bug.  This avoids a clash when files like regex.c define
24595         _GNU_SOURCE.
24596
24597 2000-05-06  Jim Meyering  <meyering@lucent.com>
24598
24599         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
24600         (AC_REPLACE_FUNCS): Add strnlen.
24601
24602         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
24603         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
24604
24605         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
24606         AC_SEARCH_LIBS call for nanosleep.
24607         (LIB_NANOSLEEP): Set and AC_SUBST.
24608
24609 2000-05-06  Jim Meyering  <meyering@lucent.com>
24610
24611         * lib/strnlen.c: Undefine __strnlen and strnlen.
24612         [!weak_alias]: Define __strnlen to strnlen.
24613
24614         * lib/atexit.c: New file, from libiberty.
24615
24616 2000-05-06  Jim Meyering  <meyering@lucent.com>
24617
24618         * lib/closeout.c (close_stdout_status): Also check for errors on the
24619         stderr stream.
24620
24621 2000-05-05  Jim Meyering  <meyering@lucent.com>
24622
24623         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
24624         AC_SEARCH_LIBS call for clock_gettime.
24625         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
24626
24627         * m4/search-libs.m4: Update from autoconf.
24628
24629         su doesn't work on Solaris 2.6.
24630         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
24631         <shadow.h>.  Reported by Dragos Harabor.
24632
24633 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
24634
24635         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
24636         memcpy instead of xmalloc, xrealloc, path_concat.
24637         (locale_charset): Treat empty environment variables as absent.
24638         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
24639
24640 2000-05-04  Jim Meyering  <meyering@lucent.com>
24641
24642         * lib/getopt.c: Update from glibc.
24643         * lib/obstack.c: Likewise.
24644         * lib/obstack.h: Likewise.
24645         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
24646         file
24647
24648         * lib/regex.h: Likewise.
24649         * lib/strndup.c: Likewise.
24650         * lib/strnlen.c: New file, from glibc.
24651
24652 2000-05-03  Jim Meyering  <meyering@lucent.com>
24653
24654         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
24655
24656 2000-05-02  Paul Eggert  <eggert@twinsun.com>
24657
24658         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
24659         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
24660         compile-time test, rather than inspecting host and OS, to
24661         decide whether to define _LARGEFILE_SOURCE.
24662
24663 2000-05-01  Jim Meyering  <meyering@lucent.com>
24664
24665         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
24666
24667         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
24668         Based on a patch from Bruno Haible.
24669
24670 2000-05-01  Jim Meyering  <meyering@lucent.com>
24671
24672         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
24673
24674 2000-04-29  Jim Meyering  <meyering@lucent.com>
24675
24676         * lib/path-concat.c: Declare strdup only if it's not defined.
24677         * lib/canon-host.c: Likewise.
24678
24679 2000-04-28  Jim Meyering  <meyering@lucent.com>
24680
24681         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
24682         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
24683         is included first, then limits.h is included by locale.h by libintl.h.
24684         From John David Anglin.
24685
24686 2000-04-25  Jim Meyering  <meyering@lucent.com>
24687
24688         * lib/makepath.c (S_IRWXUGO): Define.
24689         (make_path): Always perform explicit chmod if MODE specifies any
24690         of the `special' permission bits.  Prompted by a bug report against
24691         install from Mate Wierdl and Joost van Baal.
24692
24693 2000-04-18  Jim Meyering  <meyering@lucent.com>
24694
24695         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
24696         (jm_PREREQ): Use it.
24697
24698 2000-04-18  Jim Meyering  <meyering@lucent.com>
24699
24700         * lib/README: New file.
24701
24702         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
24703         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
24704
24705 2000-04-17  Jim Meyering  <meyering@lucent.com>
24706
24707         Get it right :-)
24708         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
24709         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
24710         Suggestion from Akim Demaille.
24711
24712 2000-04-17  Jim Meyering  <meyering@lucent.com>
24713
24714         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
24715         the definition of it to rpl_strftime also defined-away the system's
24716         declaration.
24717
24718 2000-04-15  Jim Meyering  <meyering@lucent.com>
24719
24720         Use `C' to denote so-called `contiguous' files, the same way
24721         that tar does.
24722         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
24723         (ftypelet): Use S_ISCTG.
24724         From Michael Deutschmann.
24725
24726 2000-04-14  Jim Meyering  <meyering@lucent.com>
24727
24728         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
24729         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
24730         clobbered.
24731
24732 2000-04-14  Jim Meyering  <meyering@lucent.com>
24733
24734         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
24735
24736 2000-04-13  Jim Meyering  <meyering@lucent.com>
24737
24738         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
24739         AH_VERBATIM to insert required #ifndef into config.h.in.
24740         Suggestion from Akim Demaille.
24741
24742 2000-04-12  Jim Meyering  <meyering@lucent.com>
24743
24744         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
24745         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
24746         Christian Krackowizer.
24747
24748         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
24749         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
24750         (AC_SYS_LARGEFILE): Require.
24751         (AM_C_PROTOTYPES): Require.
24752
24753 2000-04-08  Jim Meyering  <meyering@lucent.com>
24754
24755         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
24756         names don't conflict.  Reported by Eli Zaretskii.
24757
24758 2000-04-07  Jim Meyering  <meyering@lucent.com>
24759
24760         * lib/putenv.c: Move inclusion of errno.h so it follows that of
24761         sys/types.h, to work around system header problems on AIX 3.2.5.
24762         From Bruno Haible.
24763
24764 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
24765
24766         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
24767         bug.  Deal with the different error behavior of Irix iconv.
24768
24769 2000-04-05  Paul Eggert  <eggert@twinsun.com>
24770
24771         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
24772         IRIX if the installer said otherwise.
24773
24774 2000-04-05  Jim Meyering  <meyering@lucent.com>
24775
24776         Portability tweaks required for ultrix4.3.
24777         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
24778         (jm_CHECK_DECLS): Add getutent to the list of functions.
24779         (_jm_DECL_HEADERS): Add utmpx.h.
24780         From John David Anglin.
24781
24782         * m4/strftime.m4: Back out the 2000-04-02 change.
24783         Instead of that change, simply undefine putenv in the test program.
24784
24785 2000-04-05  Jim Meyering  <meyering@lucent.com>
24786
24787         Portability tweaks required for ultrix4.3.
24788         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
24789         getutent.
24790         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
24791         * lib/canon-host.c: Declare strdup.
24792         * lib/path-concat.c: Likewise.
24793         From John David Anglin.
24794
24795 2000-04-04  Jim Meyering  <meyering@lucent.com>
24796
24797         Be more DOS 8.3-friendly.
24798         * lib/ref-add.sin: Renamed from ref-add.sed.in.
24799         * lib/ref-del.sin: Renamed from ref-del.sed.in.
24800         * lib/Makefile.am: Reflect renaming.
24801         Reported by Eli Zaretskii.
24802
24803         Use a temporary file name that won't clash with `charset.alias'
24804         in the DOS 8.3 name space.
24805         * lib/Makefile.am (charset_tmp): Define.
24806         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
24807         (uninstall-local): Likewise.
24808         Reported by Eli Zaretskii.
24809
24810 2000-04-03  Jim Meyering  <meyering@lucent.com>
24811
24812         * m4/gettext.m4: Fix typo in comment.
24813
24814         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
24815         textutils/configure.in).  Suggestion from Paul Eggert.
24816         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
24817
24818 2000-04-02  Paul Eggert  <eggert@twinsun.com>
24819
24820         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
24821         variable in the shell rather than using putenv, which isn't
24822         portable.  This avoids the configure-time inter-test dependency
24823         on the potentially-renamed putenv function.
24824
24825 2000-03-30  Paul Eggert  <eggert@twinsun.com>
24826
24827         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
24828         before checking struct stat.st_blksize, so that
24829         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
24830
24831 2000-03-29  Paul Eggert  <eggert@twinsun.com>
24832
24833         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
24834         since strftime.c uses HAVE_STRFTIME to decide whether to use
24835         the underlying strftime.
24836
24837 2000-03-29  Paul Eggert  <eggert@twinsun.com>
24838
24839         * lib/time/strftime.c (my_strftime): Make sure we call the system
24840         strftime, not ourselves, when invoking the underlying strftime.
24841
24842 2000-03-24  Jim Meyering  <meyering@lucent.com>
24843
24844         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
24845         (charset_alias): Define.
24846         (install-exec-local): Factor out common code.
24847         (uninstall-local): Split lines longer than 80.
24848         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
24849         (SUFFIXES): Define.
24850         (.sed.in.sed): New rule.  Don't redirect directly to $@.
24851         (CLEANFILES): Add ref-add.sed and ref-del.sed.
24852
24853 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
24854
24855         * lib/config.charset: Output a line containing "Packages using this
24856         file".
24857         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
24858         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
24859         ref-del.sed): New rules.
24860
24861 2000-03-17  Jim Meyering  <meyering@lucent.com>
24862
24863         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
24864         Otherwise, include <strings.h>
24865
24866 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
24867
24868         * lib/unicodeio.c (utf8_wctomb): New function.
24869         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
24870         format instead of in UCS-4 with platform dependent endianness.
24871
24872 2000-03-10  Jim Meyering  <meyering@lucent.com>
24873
24874         * m4/lib-check.m4: Look for getspnam in -lgen, too.
24875         From Marco Franzen.
24876
24877 2000-03-07  Paul Eggert  <eggert@twinsun.com>
24878
24879         * lib/savedir.c (savedir): Work even if directory size is
24880         negative; this can happen with some screwy NFS configurations.
24881
24882 2000-03-06  Jim Meyering  <meyering@lucent.com>
24883
24884         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
24885         if it's NULL (because we ran out of memory).  From Bruno Haible.
24886
24887 2000-03-05  Jim Meyering  <meyering@lucent.com>
24888
24889         * lib/localcharset.c ("path-concat.h"): Include.
24890         (get_charset_aliases): Use path_concat instead of ANSI string
24891         concatenation.
24892
24893         * lib/unicodeio.h (PARAMS): Define.
24894         Use it to guard prototype.
24895
24896 2000-03-04  Jim Meyering  <meyering@lucent.com>
24897
24898         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
24899         for lib/localcharset.c.
24900
24901 2000-03-04  Jim Meyering  <meyering@lucent.com>
24902
24903         * lib/Makefile.am (install-exec-local): Create $(libdir) before
24904         installing into it.
24905         (uninstall-local): Uncomment this rule so `make distcheck' works
24906         once again.
24907
24908         * lib/unicodeio.c (<errno.h>): Include it.
24909         (errno): Declare if not defined.
24910
24911         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
24912
24913         * lib/config.charset: New version, incorporating remarks from a linux
24914         i18n mailing list.  From Bruno Haible.
24915
24916 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
24917
24918         * m4/codeset.m4: New file.
24919         * m4/iconv.m4: New file.
24920         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
24921
24922 2000-03-03  Jim Meyering  <meyering@lucent.com>
24923
24924         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
24925
24926 2000-03-02  Jim Meyering  <meyering@lucent.com>
24927
24928         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
24929         the messages come out on separate lines.
24930
24931         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
24932         rather than jm_CHECK_DECLARATIONS.
24933         * m4/decl.m4: Remove now-unused file.
24934
24935         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
24936         geteuid.
24937
24938 2000-03-02  Jim Meyering  <meyering@lucent.com>
24939
24940         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
24941
24942 2000-03-01  Jim Meyering  <meyering@lucent.com>
24943
24944         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
24945         * lib/unicodeio.c: Likewise.
24946
24947 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
24948
24949         * lib/config.charset: New file.
24950         * lib/localcharset.c: New file.
24951         * lib/unicodeio.h, lib/unicodeio.c: New files.
24952         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
24953         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
24954         (noinst_HEADERS): Add unicodeio.h.
24955         (all-local, install-exec-local, charset.alias): New targets.
24956
24957 2000-02-28  Paul Eggert  <eggert@twinsun.com>
24958
24959         * lib/quotearg.c (ALERT_CHAR): New macro.
24960         (quotearg_buffer_restyled): Use it.
24961
24962 2000-02-27  Jim Meyering  <meyering@lucent.com>
24963
24964         * m4/check-decl.m4: Add getenv to the list.
24965
24966 2000-02-27  Jim Meyering  <meyering@lucent.com>
24967
24968         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
24969         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
24970
24971         * lib/backupfile.c: Guard inclusion of stdlib.h with
24972         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
24973         Declare malloc if needed.
24974
24975         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
24976         `#ifndef HAVE_DECL..'
24977         now that autoconf always defines the HAVE_DECL_ symbols.
24978         * lib/human.c: Likewise.
24979         * lib/same.c: Likewise.
24980         * lib/strtoumax.c: Likewise.
24981
24982         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
24983         declaration check was not run.
24984         * lib/hash.c: Likewise.
24985         * lib/human.c: Likewise.
24986         * lib/same.c: Likewise.
24987         * lib/strtoumax.c: Likewise.
24988
24989         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
24990         `.', then first look up the entire `.'-containing string as a login
24991         name.
24992
24993 2000-02-23  Jim Meyering  <meyering@lucent.com>
24994
24995         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
24996         in place of my hack.
24997
24998 2000-02-18  Paul Eggert  <eggert@twinsun.com>
24999
25000         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
25001         (textint): New typedef.
25002         (parser_control): Member year changed from int to textint.
25003         All uses changed.
25004         (YYSTYPE): Removed; replaced by %union with int and textint members.
25005         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
25006         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
25007         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
25008         (tSNUMBER, tUNUMBER): Now of type <textintval>.
25009         (date, number, to_year): Use width of number in digits, not its value,
25010         to determine whether it's a 2-digit year, or a 2-digit time.
25011         (yylex): Store number of digits of numeric tokens.
25012         Reported by John Kendall.
25013
25014         (parser_control): Changed from struct parser_control to typedef (for
25015         consistency).  All uses changed.
25016
25017         (tID): Removed; not used.
25018         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
25019
25020 2000-02-14  Paul Eggert  <eggert@twinsun.com>
25021
25022         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
25023         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
25024
25025 2000-02-12  Jim Meyering  <meyering@lucent.com>
25026
25027         * lib/userspec.c (ISDIGIT): Define it.
25028         (isdigit): Remove definition.
25029         (is_number): Use ISDIGIT, not isdigit.
25030         <libintl.h>: Include.
25031         (_ and N_): Define.
25032         (parse_user_spec): Mark translatable strings.
25033
25034 2000-02-10  Jim Meyering  <meyering@lucent.com>
25035
25036         With these changes, nanosleep.[ch] are finally enough like the other
25037         lib/* replacement files to compile on a few more losing systems.
25038
25039         * lib/nanosleep.h: Don't include config.h.
25040         Remove prototype from declaration of nanosleep.
25041         (PARAMS): Remove now-unneeded definition.
25042         * lib/nanosleep.c: #undef nanosleep.
25043         (rpl_nanosleep): Rename from nanosleep.
25044
25045 2000-02-10  Jim Meyering  <meyering@lucent.com>
25046
25047         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
25048         gnu_nanosleep to rpl_nanosleep.
25049
25050 2000-02-09  Jim Meyering  <meyering@lucent.com>
25051
25052         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
25053         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
25054
25055 2000-02-08  Akim Demaille  <akim@epita.fr>
25056
25057         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
25058         `[' and `]' and remove uses of `changequote'.
25059         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
25060         (AC_SYS_LARGEFILE): Likewise.
25061         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
25062         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
25063         of changequote.
25064         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
25065         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
25066         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
25067         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
25068
25069 2000-02-05  Jim Meyering  <meyering@lucent.com>
25070
25071         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
25072         Remove explicit use of AC_HEADER_TIME.  It is required by
25073         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
25074         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
25075         in autoconf whereby the expansion of the latter ended up preceding
25076         the expansion of its prerequisite, AC_HEADER_TIME.
25077         Reported by Volker Borchert.
25078
25079 2000-02-03  Jim Meyering  <meyering@lucent.com>
25080
25081         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
25082
25083 2000-02-03  Jim Meyering  <meyering@lucent.com>
25084
25085         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
25086         rather than with `#if HAVE_UTMPNAME'.
25087
25088 2000-02-02  Jim Meyering  <meyering@lucent.com>
25089
25090         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
25091         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
25092         Reported by Eli Zaretskii.
25093
25094 2000-02-01  Jim Meyering  <meyering@lucent.com>
25095
25096         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
25097
25098 2000-01-31  Jim Meyering  <meyering@lucent.com>
25099
25100         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
25101         functions.  Add the time.h and sys/time.h headers along with the
25102         AC_REQUIRE'ment of AC_HEADER_TIME.
25103
25104 2000-01-31  Jim Meyering  <meyering@lucent.com>
25105
25106         * lib/nanosleep.h (nanosleep): Guard declaration with
25107         `#if ! HAVE_DECL_NANOSLEEP'.
25108         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
25109         the declaration in that vendor's sys/timers.h.
25110         Reported by Christian Krackowizer.
25111
25112         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
25113         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
25114         (ISPRINT): Likewise.
25115         Reported by Tom Tromey.
25116
25117 2000-01-30  Jim Meyering  <meyering@lucent.com>
25118
25119         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
25120
25121         * m4/prereq.m4 (utmp_includes): Define.
25122         Check for ut_user and ut_name members in both struct utmpx
25123         and struct utmp.
25124
25125 2000-01-30  Jim Meyering  <meyering@lucent.com>
25126
25127         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
25128         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
25129         header files where only utmpx.ut_user is declared.
25130
25131         * lib/readutmp.h (UT_USER): Define.
25132
25133 2000-01-29  Jim Meyering  <meyering@lucent.com>
25134
25135         * m4/lib-check.m4: New file containing library-related checks from
25136         fileutils and sh-utils (textutils had none).
25137
25138 2000-01-28  Jim Meyering  <meyering@lucent.com>
25139
25140         * m4/perl.m4: Change format of warning message to look more like that
25141         from the missing script.  Suggestion from François Pinard.
25142
25143 2000-01-25  Jim Meyering  <meyering@lucent.com>
25144
25145         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
25146         well as time.h in the compile check.
25147         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
25148         Fix typo in cross-compiling case: s/yes/no/.
25149
25150 2000-01-23  Jim Meyering  <meyering@lucent.com>
25151
25152         * m4/jm-macros.m4: Move df-related tests here from
25153         fileutils/configure.in
25154
25155         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
25156         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
25157
25158         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
25159         s/space/ac_fsusage_space/.
25160         (jm_FILE_SYSTEM_USAGE): Take two parameters.
25161
25162         * m4/ftruncate.m4: New file (derived from part of
25163         fileutils/configure.in).
25164         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
25165         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
25166
25167         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
25168         AC_SUBST these here, rather than just in sh-util/configure.in, so
25169         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
25170         all the same.
25171         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
25172         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
25173         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
25174         (AC_SUBST(POW_LIBM)): Likewise.
25175         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
25176
25177 2000-01-23  Jim Meyering  <meyering@lucent.com>
25178
25179         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
25180         obstack.c.
25181
25182 2000-01-22  Jim Meyering  <meyering@lucent.com>
25183
25184         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
25185
25186         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
25187
25188         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
25189         configure.in
25190         (AC_CHECK_HEADERS): Likewise for sh-utils.
25191         (AC_CHECK_HEADERS): Likewise for textutils.
25192         Merge the three lists of headers.
25193
25194         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
25195         from fileutils' configure.in.
25196
25197         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
25198         code. Moved tests into their own function (_jm_DECL_HEADERS) in
25199         check-decl.m4.
25200
25201         * m4/check-decl.m4: Use #if rather than #ifdef.
25202         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
25203         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
25204         (_jm_DECL_HEADERS): Define new function.
25205         (jm_CHECK_DECLARATIONS): Require it.
25206
25207 2000-01-22  Jim Meyering  <meyering@lucent.com>
25208
25209         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
25210         [! HAVE_DECL_STRTOULL]: Declare strtoull.
25211         Required for some AIX systems.  Reported by Christian Krackowizer.
25212         [TESTING] (main): New function.
25213
25214         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
25215         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
25216         letters.
25217
25218         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
25219         iswprint.
25220
25221         * lib/strverscmp.c (ISDIGIT): Define.
25222         (strverscmp): Use ISDIGIT, not isdigit.
25223
25224 2000-01-19  Jim Meyering  <meyering@lucent.com>
25225
25226         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
25227         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
25228         defines `struct timespec' in <sys/time.h>
25229
25230         * m4/c-bs-a.m4: Remove uses of changequote altogether.
25231         Thanks to Akim for explaining.
25232
25233 2000-01-17  Paul Eggert  <eggert@twinsun.com>
25234
25235         * lib/nanosleep.c (nanosleep):
25236         Don't use SA_INTERRUPT to decide whether to call sigaction, as
25237         POSIX.1 doesn't require SA_INTERRUPT and some systems
25238         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
25239         it's been part of POSIX.1 since day 1 (in 1988).
25240
25241 2000-01-17  Jim Meyering  <meyering@lucent.com>
25242
25243         * lib/interlock: Remove unused file.  Reported by François Pinard.
25244
25245 2000-01-16  Paul Eggert  <eggert@twinsun.com>
25246
25247         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
25248         alert, backslash, formfeed, and vertical tab unnecessarily in
25249         shell quoting style.
25250
25251 2000-01-16  Jim Meyering  <meyering@lucent.com>
25252
25253         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
25254         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
25255         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
25256         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
25257
25258 2000-01-16  Jim Meyering  <meyering@lucent.com>
25259
25260         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
25261         because the latter didn't work.
25262
25263 2000-01-15  Jim Meyering  <meyering@lucent.com>
25264
25265         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
25266         (AC_REPLACE_FUNCS): Add memcpy and memset.
25267         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
25268         Add strpbrk.
25269         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
25270
25271 2000-01-12  Jim Meyering  <meyering@lucent.com>
25272
25273         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
25274         (jm_PREREQ): Use it.
25275         (jm_PREREQ_READUTMP): New macro.
25276         (jm_PREREQ): Use it.
25277
25278 2000-01-11  Paul Eggert  <eggert@twinsun.com>
25279
25280         Quote multibyte characters correctly.
25281         * m4/c-bs-a.m4: New file.
25282         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
25283         (jm_PREREQ): Use it.
25284
25285 2000-01-11  Paul Eggert  <eggert@twinsun.com>
25286
25287         * m4/uintmax_t.m4: Port to autoconf 2.13.
25288
25289 2000-01-08  Jim Meyering  <meyering@ascend.com>
25290
25291         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
25292         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
25293
25294 2000-01-04  Jim Meyering  <meyering@ascend.com>
25295
25296         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
25297         jm_STRUCT_DIRENT_D_TYPE.
25298         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
25299         jm_STRUCT_DIRENT_D_INO.
25300         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
25301         jm_STRUCT_UTIMBUF.
25302         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
25303         renamings.
25304         * m4/utime.m4: Likewise.
25305
25306         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
25307         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
25308
25309 2000-01-03  Paul Eggert  <eggert@twinsun.com>
25310
25311         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
25312         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
25313
25314 2000-01-02  Jim Meyering  <meyering@ascend.com>
25315
25316         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
25317         remember if this is necessary.
25318
25319 1999-12-26  Jim Meyering  <meyering@ascend.com>
25320
25321         * m4/jm-macros.m4: Use it here.
25322         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
25323
25324 1999-12-23  Jim Meyering  <meyering@ascend.com>
25325
25326         * m4/jm-macros.m4: Check for clock_gettime (moved from
25327         fileutils/configure.in)
25328         Check for gettimeofday.
25329
25330 1999-12-20  Jim Meyering  <meyering@ascend.com>
25331
25332         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
25333         autoconf-2.14a-1999-12-20.
25334
25335 1999-12-19  Jim Meyering  <meyering@ascend.com>
25336
25337         * m4/lstat-slash.m4: New file.
25338         * m4/jm-macros.m4: Use the new macro:
25339         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
25340
25341 1999-12-07  Jim Meyering  <meyering@ascend.com>
25342
25343         * m4/perl.m4: Require that File::Compare be available, too.
25344         Too many systems seem to lack it.
25345
25346         * m4/strftime.m4: Add checks for most of the cpp macros tested in
25347         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
25348
25349 1999-11-18  Paul Eggert  <eggert@twinsun.com>
25350
25351         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
25352         problem with the QNX 4.25 shell, which doesn't propagate exit
25353         status of failed commands inside shell assignments.
25354
25355 1999-11-17  Jim Meyering  <meyering@ascend.com>
25356
25357         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
25358
25359 1999-11-07  Jim Meyering  <meyering@ascend.com>
25360
25361         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
25362
25363 1999-11-06  Jim Meyering  <meyering@ascend.com>
25364
25365         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
25366         * m4/jm-macros.m4 (jm_MACROS): Use it here.
25367
25368 1999-11-05  Jim Meyering  <meyering@ascend.com>
25369
25370         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
25371         configure.in of textutils, fileutils, and sh-utils into this one
25372         (shared between those packages) file.
25373         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
25374         AC_STRUCT_ST_BLKSIZE.
25375
25376 1999-11-03  Jim Meyering  <meyering@ascend.com>
25377
25378         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
25379         of AC_CHECK_TYPE checks includes unistd.h.
25380         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
25381         Suggestion from Akim Demaille.
25382
25383 1999-10-30  Jim Meyering  <meyering@ascend.com>
25384
25385         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
25386         m4-quoted string.
25387         * m4/ls-mntd-fs.m4: Likewise.
25388         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
25389         * m4/jm-winsz1.m4: Likewise.
25390
25391         * m4/const.m4: Remove file, since the fix made it into the experimental
25392         version of autoconf.
25393         * m4/mktime.m4: Likewise.
25394
25395         * m4/check-type.m4: Remove file, now that the latest version of
25396         AC_CHECK_TYPE takes a third arg to specify additional #includes.
25397
25398         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
25399         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
25400         AC_CHECK_TYPE.
25401
25402 1999-10-04  Jim Meyering  <meyering@ascend.com>
25403
25404         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
25405
25406 1999-09-22  Paul Eggert  <eggert@twinsun.com>
25407
25408         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
25409         2.95.1 bug with HP-UX 10.20.
25410
25411 1999-09-17  Jim Meyering  <meyering@ascend.com>
25412
25413         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
25414         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
25415         due to missing strdup (against sh-utils-2.0).
25416
25417 1999-08-29  Jim Meyering  <meyering@ascend.com>
25418
25419         * m4/jm-macros.m4: Require jm_BISON.
25420         * m4/bison.m4: New file.
25421
25422 1999-08-17  Paul Eggert  <eggert@twinsun.com>
25423
25424         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
25425         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
25426
25427 1999-08-05  Jim Meyering  <meyering@ascend.com>
25428
25429         * m4/getline.m4: Rename test file from conftestdata to conftest.data
25430         to avoid conflicts with `conftest' on 8+3 filesystems.
25431         Suggestion from Eli Zaretskii.
25432
25433 1999-08-04  Jim Meyering  <meyering@ascend.com>
25434
25435         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
25436         fileutils and sh-utils (textutils's getline test was inadequate).
25437         (AM_FUNC_GETLINE): Run this test.
25438         (AC_CHECK_FUNCS): Check for getdelim.
25439         Reported by Bob Proulx.
25440
25441 1999-08-02  Jim Meyering  <meyering@ascend.com>
25442
25443         * m4/jm-macros.m4: Add a comment.
25444
25445 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25446
25447         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
25448         <inttypes.h> defines strtoumax as a macro (and not as a
25449         function).
25450
25451 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25452
25453         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
25454         that we can shift, multiply and divide unsigned long long
25455         values; Ultrix cc can't do it.
25456
25457 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25458
25459         * m4/mktime.m4: New file, which is a preview of what should appear
25460         in the next public autoconf release.
25461
25462 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25463
25464         * m4/lfs.m4: Remove this file.
25465         * m4/largefile.m4: New file.  It contains the old contents of
25466         lfs.m4, except that all names with prefix AC_LFS have been
25467         changed to use the prefix AC_SYS_LARGEFILE instead, to be
25468         compatible with future autoconf versions.  Also, some minor m4
25469         quoting problems have been fixed.
25470
25471 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25472
25473         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
25474         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
25475         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
25476         and simplify the shell code.
25477
25478 1999-08-01  Jim Meyering  <meyering@ascend.com>
25479
25480         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
25481         m4.
25482
25483 1999-07-20  Jim Meyering  <meyering@ascend.com>
25484
25485         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
25486
25487 1999-07-15  Jim Meyering  <meyering@ascend.com>
25488
25489         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
25490
25491 1999-05-22  Jim Meyering  <meyering@ascend.com>
25492
25493         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
25494
25495 1999-05-20  Jim Meyering  <meyering@ascend.com>
25496
25497         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
25498         Add a colon after each `then' in case $4 is empty.
25499
25500 1999-05-16  Jim Meyering  <meyering@ascend.com>
25501
25502         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
25503
25504 1999-05-10  Jim Meyering  <meyering@ascend.com>
25505
25506         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
25507
25508         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
25509         AC_FUNC_MKTIME.
25510
25511 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
25512
25513         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
25514
25515 1999-05-04  Paul Eggert  <eggert@twinsun.com>
25516
25517         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
25518         not CPPFLAGS, so that linking works correctly in IRIX.
25519
25520 1999-04-30  Paul Eggert  <eggert@twinsun.com>
25521
25522         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
25523
25524 1999-04-20  Paul Eggert  <eggert@twinsun.com>
25525
25526         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
25527         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
25528         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
25529         jm_AC_TYPE_UNSIGNED_LONG_LONG.
25530         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
25531
25532         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
25533
25534 1999-04-20  Jim Meyering  <meyering@ascend.com>
25535
25536         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
25537         AC_REPLACE xstroull if necessary.  From Paul Eggert.
25538         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
25539
25540 1999-04-18  Jim Meyering  <meyering@ascend.com>
25541
25542         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
25543         * m4/jm-macros.m4: Use it.
25544
25545 1999-04-06  Jim Meyering  <meyering@ascend.com>
25546
25547         * m4/strftime.m4: Remove test for %f.
25548
25549 1999-03-29  Jim Meyering  <meyering@ascend.com>
25550
25551         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
25552         superset of the AC_TYPE_* checks in the textutils, fileutils,
25553         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
25554         AC_TYPE_PID_T.
25555
25556 1999-03-28  Jim Meyering  <meyering@ascend.com>
25557
25558         * m4/jm-macros.m4: Define GNU_PACKAGE here.
25559         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
25560         replaced e.g., in the *.sh files of the sh-utils.
25561
25562 1999-03-20  Jim Meyering  <meyering@ascend.com>
25563
25564         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
25565         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
25566         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
25567
25568 1999-03-19  Jim Meyering  <meyering@ascend.com>
25569
25570         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
25571
25572 1999-03-12  Jim Meyering  <meyering@ascend.com>
25573
25574         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
25575
25576 1999-03-07  Jim Meyering  <meyering@ascend.com>
25577
25578         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
25579         declared.
25580
25581 1999-02-17  Jim Meyering  <meyering@ascend.com>
25582
25583         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
25584         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
25585
25586 1999-02-07  Jim Meyering  <meyering@ascend.com>
25587
25588         * m4/group-member.m4: New file -- extracted from sh-utils'
25589         configure.in.
25590
25591         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
25592         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
25593
25594 1999-02-06  Jim Meyering  <meyering@ascend.com>
25595
25596         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
25597         * m4/fnmatch.m4: Likewise.
25598         * m4/getgroups.m4: Likewise.
25599         * m4/lstat.m4: Likewise.
25600         * m4/malloc.m4: Likewise.
25601         * m4/putenv.m4: Likewise.
25602         * m4/realloc.m4: Likewise.
25603         * m4/regex.m4: Likewise.
25604         * m4/stat.m4: Likewise.
25605         * m4/strftime.m4: Likewise.
25606         Suggestion from Alain Magloire.
25607
25608         * m4/chown.m4: Use `.$ac_objext', not `.o'.
25609         * m4/fnmatch.m4: Likewise.
25610         * m4/getgroups.m4: Likewise.
25611         * m4/getline.m4: Likewise.
25612         * m4/lstat.m4: Likewise.
25613         * m4/malloc.m4: Likewise.
25614         * m4/memcmp.m4: Likewise.
25615         * m4/putenv.m4: Likewise.
25616         * m4/realloc.m4: Likewise.
25617         * m4/regex.m4: Likewise.
25618         * m4/stat.m4: Likewise.
25619         * m4/strftime.m4: Likewise.
25620         Suggestion from Alain Magloire.
25621
25622         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
25623         an argument.
25624
25625         * m4/regex.m4: Add a run-time Test for proper operation of
25626         re_compile_pattern.
25627
25628 1999-01-31  Jim Meyering  <meyering@ascend.com>
25629
25630         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
25631
25632 1999-01-30  Jim Meyering  <meyering@ascend.com>
25633
25634         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
25635
25636         * m4/jm-mktime.m4: Make this a wrapper around the official
25637         AM_FUNC_MKTIME rather than my private copy, now that the official one
25638         is up to date.
25639         * m4/mktime.m4: Remove file.
25640
25641         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
25642         * m4/uptime.m4: Likewise.
25643         * m4/uintmax_t.m4: Likewise.
25644
25645 1999-01-28  Jim Meyering  <meyering@ascend.com>
25646
25647         * m4/jm-macros.m4: Use jm_AFS.
25648         * m4/afs.m4: New file (from fileutils' configure.in).
25649
25650         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
25651         * m4/chown.m4: Likewise.
25652         * m4/d-ino.m4: Likewise.
25653         * m4/d-type.m4: Likewise.
25654         * m4/fnmatch.m4: Likewise.
25655         * m4/getgroups.m4: Likewise.
25656         * m4/gettext.m4: Likewise.
25657         * m4/jm-mktime.m4: Likewise.
25658         * m4/jm-winsz2.m4: Likewise.
25659         * m4/lcmessage.m4: Likewise.
25660         * m4/ls-mntd-fs.m4: Likewise.
25661         * m4/malloc.m4: Likewise.
25662         * m4/memcmp.m4: Likewise.
25663         * m4/putenv.m4: Likewise.
25664         * m4/realloc.m4: Likewise.
25665         * m4/st_mtim.m4: Likewise.
25666         * m4/strftime.m4: Likewise.
25667
25668 1999-01-16  Jim Meyering  <meyering@ascend.com>
25669
25670         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
25671         (ARGMATCH_DIE_DECL): Define.
25672
25673 1999-01-12  Jim Meyering  <meyering@ascend.com>
25674
25675         * m4/Makefile.am.in: Rewrite to avoid using fmt.
25676         Reported by Lars Hecking.
25677
25678 1999-01-10  Jim Meyering  <meyering@ascend.com>
25679
25680         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
25681         gross kludge.
25682         * m4/inttypes_h.m4: Likewise.
25683         * m4/lstat.m4: Likewise.
25684         * m4/malloc.m4: Likewise.
25685         * m4/readdir.m4: Likewise.
25686         * m4/realloc.m4: Likewise.
25687         * m4/st_dm_mode.m4: Likewise.
25688         * m4/stat.m4: Likewise.
25689         * m4/utimbuf.m4: Likewise.
25690         * m4/utimes.m4: Likewise.
25691
25692         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
25693         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
25694         comments in config.h.in are meaningful.
25695
25696         * m4/jm-macros.m4: Require autoconf-2.13 here.
25697
25698         * m4/regex.m4: By default, don't use the included regex.c on systems
25699         with glibc 2.  Suggestion from Uli Drepper.
25700
25701 1999-01-02  Jim Meyering  <meyering@ascend.com>
25702
25703         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
25704
25705 1998-12-18  Jim Meyering  <meyering@ascend.com>
25706
25707         * m4/Makefile.am.in (Makefile.am): Simplify rule.
25708         Based on a suggestion from Lars Hecking.
25709
25710 1998-11-16  Paul Eggert  <eggert@twinsun.com>
25711
25712         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
25713
25714 1998-11-16  Jim Meyering  <meyering@ascend.com>
25715
25716         * m4/lfs.m4: Double-quote the `uname...` expression.
25717
25718 1998-11-14  Jim Meyering  <meyering@ascend.com>
25719
25720         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
25721         * m4/stat.m4: Likewise.
25722
25723 1998-11-03  Jim Meyering  <meyering@ascend.com>
25724
25725         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
25726         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
25727
25728 1998-10-18  Jim Meyering  <meyering@ascend.com>
25729
25730         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
25731
25732 1998-10-17  Jim Meyering  <meyering@ascend.com>
25733
25734         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
25735         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
25736         calls for those previously hard-coded headers.  Instead, take a new
25737         parameter.
25738         (jm_CHECK_DECLARATIONS): Reflect interface change.
25739         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
25740         (jm_CHECK_DECL_LOCALTIME_R): New macro.
25741
25742         * m4/mktime.m4: Test for spring-forward gap before long-running test.
25743
25744 1998-10-14  Jim Meyering  <meyering@ascend.com>
25745
25746         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
25747         instead of "TZ=America/Vancouver".  From Paul Eggert.
25748
25749 1998-10-11  Jim Meyering  <meyering@ascend.com>
25750
25751         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
25752         This adds a test for a recently added compatibility fix for mktime.c.
25753         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
25754
25755 1998-09-27  Jim Meyering  <meyering@ascend.com>
25756
25757         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
25758
25759         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
25760         ../configure.in, including a change from Gordon Matzigkeit to allow
25761         cross-compiling for the Hurd.
25762
25763         * m4/glibc.m4: New file/macro to test for the GNU C Library
25764         versions 1 and 2.  From Gordon Matzigkeit.
25765         Indent.
25766
25767 1998-09-21  Jim Meyering  <meyering@ascend.com>
25768
25769         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
25770
25771 1998-08-18  Paul Eggert  <eggert@twinsun.com>
25772
25773         Port nanosecond-resolution times to UnixWare 2.1.2 and
25774         pedantic Solaris 2.6.
25775
25776         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
25777         AC_STRUCT_ST_MTIM.
25778         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
25779         Generate name of ns member, instead of just 1 or undef.
25780         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
25781
25782 1998-08-15  Jim Meyering  <meyering@ascend.com>
25783
25784         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
25785         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
25786         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
25787         instead of jm_TYPE_SSIZE_T.
25788
25789 1998-08-12  Jim Meyering  <meyering@ascend.com>
25790
25791         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
25792
25793 1998-08-02  Jim Meyering  <meyering@ascend.com>
25794
25795         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
25796         in acconfig.h manually.
25797
25798 1998-07-31  Paul Eggert  <eggert@twinsun.com>
25799
25800         * m4/st_mtim.m4: New file.
25801
25802 1998-07-28  Jim Meyering  <meyering@ascend.com>
25803
25804         * m4/utimes.m4: Undef stat.
25805
25806 1998-07-25  Jim Meyering  <meyering@ascend.com>
25807
25808         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
25809         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
25810
25811 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
25812
25813         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
25814         uid and gid actually remain unchanged.
25815
25816 1998-07-07  Jim Meyering  <meyering@ascend.com>
25817
25818         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
25819
25820 1998-07-04  Jim Meyering  <meyering@ascend.com>
25821
25822         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
25823         to prove that this macro can be used in packages without regex.c.
25824
25825 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
25826
25827         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
25828         is to be used.
25829
25830 1998-07-03  Jim Meyering  <meyering@ascend.com>
25831
25832         * m4/gettext.m4: Add -lintl if it's found to be necessary.
25833
25834         * m4/gettext.m4: New file -- from gettext-0.10.35.
25835         * m4/lcmessage.m4: Likewise.
25836         * m4/progtest.m4: Likewise.
25837
25838         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
25839         * m4/jm-macros.m4: Require the new macro.
25840
25841 1998-06-29  Jim Meyering  <meyering@ascend.com>
25842
25843         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
25844         for the definition of NGROUPS (used in a system header included
25845         by sys/mount.h).
25846
25847 1998-06-28  Jim Meyering  <meyering@ascend.com>
25848
25849         * m4/ls-mntd-fs.m4: New file.
25850         * m4/fstypename.m4: New file.
25851
25852         * m4/jm-macros.m4: Require the new macro.
25853         * m4/jm-glibc-io.m4: New file.
25854
25855 1998-05-19  Jim Meyering  <meyering@ascend.com>
25856
25857         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
25858         * m4/lchown.m4: New file.
25859
25860         * m4/Makefile.am.in: New file.
25861         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
25862
25863 1998-05-14  Jim Meyering  <meyering@ascend.com>
25864
25865         * m4/Makefile.am (EXTRA_DIST): Add them.
25866         * m4/jm-macros.m4: New file.
25867         * m4/utimbuf.m4: New file.
25868
25869 1998-05-12  Jim Meyering  <meyering@ascend.com>
25870
25871         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
25872
25873 1998-05-11  Jim Meyering  <meyering@ascend.com>
25874
25875         * m4/isc-posix.m4: New file.
25876
25877 1998-05-10  Jim Meyering  <meyering@ascend.com>
25878
25879         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
25880
25881 1998-05-09  Jim Meyering  <meyering@ascend.com>
25882
25883         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
25884         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
25885         with automake.
25886
25887         * m4/ssize_t.m4: New file.
25888         * m4/mktime.m4: Remove file -- the new automake has this now.
25889
25890 1998-04-26  Jim Meyering  <meyering@ascend.com>
25891
25892         * m4/assert.m4: New file.
25893         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
25894
25895 1998-04-05  Jim Meyering  <meyering@ascend.com>
25896
25897         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
25898         (jm_PREREQ): Use it here.
25899
25900 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
25901
25902         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
25903         in acconfig.h.
25904
25905 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
25906
25907         * m4/prereq.m4: New file.
25908         * m4/error.m4: New file.
25909         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
25910
25911 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
25912
25913         * m4/getline.m4: Don't set am_cv_func_working_getline before the
25914         cache-check for the same variable -- that defeated the purpose of
25915         the test; the test program was never run.  This was a problem only
25916         on systems with losing getline functions -- HP-UX 10.20 is one.
25917         Reported by Bjorn Helgaas.
25918
25919 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
25920
25921         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
25922
25923 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
25924
25925         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
25926
25927         * m4/const.m4: New file.  Use an initializer in this declaration
25928         typedef int charset[2]; const charset x;
25929         Reported by Bob Glickstein.
25930
25931 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
25932
25933         * m4/chown.m4: Fix reversed types on -1 args to chown.
25934         From Kaveh Ghazi.
25935
25936 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
25937
25938         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
25939         Add lseek and memchr.
25940
25941         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
25942         T.E.Dickey <dickey@clark.net> said that some older preprocessors
25943         have a 20-character limit on names.
25944
25945 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
25946
25947         * m4/inttypes_h.m4: New file.
25948         * m4/uintmax_t.m4: New file.
25949         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
25950
25951 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
25952   Free Software Foundation, Inc.
25953 Copying and distribution of this file, with or without modification,
25954 are permitted provided the copyright notice and this notice are preserved.