New module 'streq'.
[pspp] / ChangeLog
1 2007-01-23  Bruno Haible  <bruno@clisp.org>
2
3         * modules/striconveha-tests: New file.
4         * tests/test-striconveha.c: New file.
5
6         * lib/striconveha.h: Include <stdbool.h>.
7         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
8         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
9         (mem_iconveha_notranslit): Renamed from mem_iconveha.
10         (mem_iconveha): New function.
11         (str_iconveha_notranslit): Renamed from str_iconveha.
12         (str_iconveha): New function.
13         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
14         c-strcase.
15
16 2007-01-23  Bruno Haible  <bruno@clisp.org>
17
18         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
19         encodings without forgiving before trying any encoding with handler.
20         (str_iconveha): Try all encodings without forgiving before trying any
21         encoding with handler.
22
23 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
24
25         Import the following changes from libc.
26
27         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
28
29         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
30
31         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
32
33         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
34         normal_bracket label.
35
36         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
37
38         [BZ #361]
39         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
40         to normal_bracket after fetching the next character.
41
42 2007-01-22  Bruno Haible  <bruno@clisp.org>
43
44         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
45         argument.
46         * lib/striconveh.c (iconv_carefully_1): New function.
47         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
48         argument.
49         (str_cd_iconveh): Update.
50         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
51         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
52         * tests/test-striconveh.c (MAGIC): New macro.
53         (new_offsets): New function.
54         (main): Test call with and without offsets.
55
56 2007-01-22  Bruno Haible  <bruno@clisp.org>
57
58         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
59         * modules/sys_select (Makefile.am): Likewise.
60         * modules/sys_socket (Makefile.am): Likewise.
61         * modules/sys_time (Makefile.am): Likewise.
62
63 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
64
65         * modules/gettimeofday (License): Change from GPL to LGPL, since
66         gettimeofday is a library function.
67
68 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69
70         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
71
72 2007-01-21  Bruno Haible  <bruno@clisp.org>
73
74         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
75
76 2007-01-21  Bruno Haible  <bruno@clisp.org>
77
78         * modules/striconveha: New file.
79         * lib/striconveha.h: New file.
80         * lib/striconveha.c: New file.
81         * MODULES.html.sh (Internationalization functions): Add striconveha.
82         * lib/striconv.c (str_iconv): Optimize the case of an empty input
83         string.
84         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
85
86 2007-01-21  Bruno Haible  <bruno@clisp.org>
87
88         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
89         * lib/striconveh.c (str_iconveh): Likewise.
90
91 2007-01-21  Bruno Haible  <bruno@clisp.org>
92
93         * lib/striconveh.h (mem_iconveh): New declaration.
94         * lib/striconveh.c (mem_iconveh): New function.
95         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
96
97 2007-01-21  Bruno Haible  <bruno@clisp.org>
98
99         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
100
101         * lib/striconveh.h (mem_cd_iconveh): Change specification.
102         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
103         original result buffer.
104         (str_cd_iconveh): Update.
105         * tests/test-striconveh.c (main): Update.
106
107         * lib/striconv.h (mem_cd_iconv): Change specification.
108         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
109         result buffer.
110         (str_cd_iconv): Update.
111         * tests/test-striconv.c (main): Update.
112
113 2007-01-21  Bruno Haible  <bruno@clisp.org>
114
115         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
116
117 2007-01-20  Jim Meyering  <jim@meyering.net>
118
119         * lib/userspec.c (parse_with_separator): If a user or group string
120         starts with "+", skip the corresponding name-to-ID look-up, since
121         such a look-up must fail: user and group names may not include "+".
122
123 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
124
125         * lib/poll.c: Include sys/time.h and time.h unconditionally,
126         since we now assume the sys_time module.
127         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
128         check for sys/time.h; no longer needed.
129         * modules/poll (Depends-on): Depend on sys_time.
130
131 2007-01-18  Bruno Haible  <bruno@clisp.org>
132
133         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
134         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
135
136         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
137         gettimeofday.
138
139         * tests/test-gettimeofday.c: Include <time.h>.
140         (dummy): Remove variable.
141
142         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
143         gl_HEADER_SYS_TIME_H.
144         (gl_HEADER_SYS_TIME_H): New macro.
145
146         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
147         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
148         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
149         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
150         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
151         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
152         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
153         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
154         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
155         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
156         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
157
158         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
159         last change; it caused a compilation error when cross-compiling to
160         Cygwin.
161
162 2007-01-18  Jim Meyering  <jim@meyering.net>
163
164         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
165         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
166         than the race-prone "test -d sys || mkdir sys".
167         (configure.ac): Use AC_PROG_MKDIR_P.
168         * modules/sys_select: Likewise.
169         * modules/sys_socket: Likewise.
170         * modules/sys_time: Likewise.
171
172 2007-01-18  Eric Blake  <ebb9@byu.net>
173
174         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
175         replace gettimeofday.
176         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
177         name, to avoid infinite recursion.
178
179 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
180
181         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
182         module sys_time.
183         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
184         assume timespec.h defines struct timeval.
185         * lib/settime.c: Likewise.
186         * lib/utimens.c: Likewise.
187         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
188         since we now assume the gettimeofday module.
189         * lib/tempname.c (__gen_tempname): Likewise.
190         * lib/gettimeofday.h: Remove.
191         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
192         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
193         Include <time.h>, for 'time()'.
194         (localtime_buffer_addr): Also use this workaround if
195         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
196         to simplify the uses.  All uses changed.
197         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
198         that #undef is inside {}, and 'const' follows type name consistently.
199         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
200         (gettimeofday): Do not use the maximum possible value for
201         tv->tv_usec, since that might break usages other than ls.c.
202         Instead, we'll leave ls.c alone.  This undoes today's patch
203         by Bruno.  Add a compile-time warning for 1s-clock resolution;
204         we've never observed the problem but might as well keep the
205         canary.
206         * lib/nanosleep.c: Include timespec.h first, for interface check.
207         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
208         now assume the sys_time module.
209         * lib/tempname.c: Likewise.
210         * lib/timespec.h: Likewise.
211         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
212         needed.
213         * lib/strftime.c: Likewise.
214         * lib/timespec.h: Likewise.
215         * lib/posixtm.c: Include posixtm.h first, for interface check.
216         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
217         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
218         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
219         * lib/sys_time_.h: New file.
220         * lib/timespec.h (struct timespec): Use long int, not long.
221         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
222         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
223         Remove obsolescent call to AC_HEADER_TIME.
224         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
225         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
226         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
227         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
228         Likewise.
229         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
230         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
231         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
232         into the sys_time module.  Check for gettimeofday just once.
233         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
234         for gettimeofday signature to just check the signature.  Merely
235         compile it, since linking doesn't test signature.  Improve test for
236         whether gettimeofday.o is actually needed.
237         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
238         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
239         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
240         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
241         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
242         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
243         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
244         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
245         than worrying about sys/time.h.
246         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
247         Don't bother worrying about TIME_WITH_SYS_TIME.
248         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
249         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
250         * m4/sys_time_h.m4: New file.
251         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
252         Don't include sys/time.h.  Return from main rather than exiting.
253         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
254         all uses changed.
255         * modules/gethrxtime (Depends-on): Add sys_time.
256         * modules/gettime (Depends-on): Likewise.
257         * modules/gettimeofday (Depends-on): Likewise.
258         * modules/nanosleep (Depends-on): Likewise.
259         * modules/settime (Depends-on): Likewise.
260         * modules/tempname (Depends-on): Likewise.
261         * modules/utimens (Depends-on): Likewise.
262         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
263         (Include:) Change back to <sys/time.h>.
264         (Maintainer:) Add self.
265         * modules/sys_time: New file.
266         * modules/tempname (Depends-on): Add gettimeofday.
267         * tests/test-gettimeofday.c: Include <sys/time.h>
268         rather than gettimeofday.h.
269
270 2007-01-17  Bruno Haible  <bruno@clisp.org>
271
272         * gnulib-tool (func_get_license): Revert last patch. Instead, let
273         the license default to GPL.
274         (func_create_testdir): Don't complain if a module is LGPL and its
275         tests module depends on GPLed modules.
276
277 2007-01-17  Bruno Haible  <bruno@clisp.org>
278
279         * lib/gettimeofday.c (gettimeofday): Add code for the case
280         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
281         maximum possible value for tv->tv_usec, rather than the minimum one.
282
283 2005-10-08  Martin Lambers  <marlam@marlam.de>
284 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
285 2007-01-16  Bruno Haible  <bruno@clisp.org>
286
287         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
288         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
289         gl_FUNC_GETTIMEOFDAY.
290         (Include): Add gettimeofday.h.
291         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
292         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
293         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
294         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
295         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
296         * lib/gettimeofday.h: New file.
297         * lib/gettimeofday.c: Include <sys/timeb.h>.
298         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
299         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
300         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
301         fall back on time().
302
303         * tests/test-gettimeofday.c: New file.
304         * modules/gettimeofday-tests: New file.
305
306 2007-01-16  Eric Blake  <ebb9@byu.net>
307
308         * modules/fnmatch (Depends-on): Depend on wchar.
309         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
310         * m4/fnmatch.m4: Likewise.
311         * modules/mbchar (Makefile.am): Assume <wchar.h>.
312         * m4/mbchar.m4: Likewise.
313         * modules/mbswidth (Depends-on): Depend on wchar.
314         * lib/mbswidth.c: Assume <wchar.h>.
315         * m4/mbswidth.m4: Likewise.
316         * modules/quotearg (Depends-on): Depend on wchar.
317         * lib/quotearg.c: Assume <wchar.h>.
318         * m4/quotearg.m4: Likewise.
319         * modules/regex (Depends-on): Depend on wchar.
320         * lib/regex_internal.h: Assume <wchar.h>.
321         * m4/regex.m4: Likewise.
322         * modules/stdint (Depends-on): Depend on wchar.
323         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
324         * m4/stdint.m4: Likewise.
325         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
326         * modules/strftime (Depends-on): Depend on wchar.
327         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
328         * modules/strtol (Depends-on): Depend on wchar.
329         * lib/strtol.c: Assume <wchar.h>.
330         * modules/wcwidth (Depends-on): Depend on wchar.
331         * lib/wcwidth.h: Assume <wchar.h>.
332         * m4/wcwidth.m4: Likewise.
333
334 2007-01-16  Bruno Haible  <bruno@clisp.org>
335
336         * modules/csharpexec-script: New, created from...
337         * modules/csharpexec: ... this.
338
339 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
340
341         * modules/javaexec-script: New, created from...
342         * modules/javaexec: ... this.
343
344 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
345
346         * modules/poll (Dependencies): Add sys_select.
347
348 2007-01-15  Jim Meyering  <jim@meyering.net>
349
350         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
351         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
352         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
353         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
354
355 2007-01-15  Bruno Haible  <bruno@clisp.org>
356
357         * modules/striconveh: New file.
358         * lib/striconveh.h: New file.
359         * lib/striconveh.c: New file.
360         * MODULES.html.sh (Internationalization functions): Add striconveh.
361
362         * modules/striconveh-tests: New file.
363         * tests/test-striconveh.c: New file.
364
365 2007-01-15  Bruno Haible  <bruno@clisp.org>
366
367         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
368         not from GNU libiconv or GNU libc.
369
370 2007-01-15  Bruno Haible  <bruno@clisp.org>
371
372         * doc/gnulib-intro.texi (Copyright): Explain the different license
373         terms for module descriptions, autoconf macros, tests, documentation.
374
375 2007-01-14  Bruno Haible  <bruno@clisp.org>
376
377         * modules/striconv-tests: New file.
378         * tests/test-striconv.c: New file.
379
380 2007-01-14  Bruno Haible  <bruno@clisp.org>
381
382         * modules/iconv-tests: New file.
383         * tests/test-iconv.c: New file.
384
385 2007-01-14  Bruno Haible  <bruno@clisp.org>
386
387         * gnulib-tool (func_get_license): For test modules, use the license of
388         the main module.
389
390 2007-01-14  Bruno Haible  <bruno@clisp.org>
391
392         * modules/iconv (Include): Clarify that <iconv.h> can only be included
393         if iconv is found to exist.
394
395 2007-01-14  Bruno Haible  <bruno@clisp.org>
396
397         * modules/c-ctype-tests: New file.
398         * tests/test-c-ctype.c: New file.
399
400 2007-01-14  Bruno Haible  <bruno@clisp.org>
401
402         * modules/binary-io-tests: New file.
403         * tests/test-binary-io.sh: New file.
404         * tests/test-binary-io.c: New file.
405
406 2007-01-14  Bruno Haible  <bruno@clisp.org>
407
408         * modules/array-oset-tests: New file.
409         * tests/test-array_oset.c: New file.
410
411 2007-01-14  Bruno Haible  <bruno@clisp.org>
412
413         * modules/array-list-tests: New file.
414         * tests/test-array_list.c: New file.
415
416 2007-01-14  Bruno Haible  <bruno@clisp.org>
417
418         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
419         and make.
420         Reported by Simon Josefsson in
421         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
422
423 2007-01-14  Bruno Haible  <bruno@clisp.org>
424
425         * modules/allocsa-tests: New file.
426         * tests/test-allocsa.c: New file.
427
428 2007-01-14  Bruno Haible  <bruno@clisp.org>
429
430         * modules/fchdir (Depends-on): Add absolute-header.
431         * modules/unistd (Depends-on): Likewise.
432
433 2006-12-30  Bruno Haible  <bruno@clisp.org>
434
435         * modules/fchdir: New file.
436         * modules/unistd (Files): Add lib/unistd_.h.
437         (Makefile.am): Generate unistd.h from unistd_.h.
438         * lib/fchdir.c: New file.
439         * lib/dirent_.h: New file.
440         * lib/unistd_.h: New file.
441         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
442         * m4/fchdir.m4: New file.
443         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
444         (gl_HEADER_UNISTD): Invoke it.
445         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
446         function.
447         * lib/backupfile.c (opendir, closedir): Undefine.
448         * lib/chown.c (open, close): Undefine.
449         * lib/clean-temp.c (open, close): Undefine.
450         * lib/copy-file.c (open, close): Undefine.
451         * lib/execute.c (open, close): Undefine.
452         * lib/fsusage.c (open, close): Undefine.
453         * lib/gc-gnulib.c (open, close): Undefine.
454         * lib/getcwd.c (opendir, closedir): Undefine.
455         * lib/glob.c (opendir, closedir): Undefine.
456         * lib/javacomp.c (open, close): Undefine.
457         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
458         * lib/openat-proc.c (open, close): Undefine.
459         * lib/pagealign_alloc.c (open, close): Undefine.
460         * lib/pipe.c (open, close): Undefine.
461         * lib/progreloc.c (open, close): Undefine.
462         * lib/savedir.c (opendir, closedir): Undefine.
463         * lib/utime.c (open, close): Undefine.
464         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
465
466 2007-01-10  Bruno Haible  <bruno@clisp.org>
467
468         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
469
470 2007-01-12  Eric Blake  <ebb9@byu.net>
471
472         Provide a robust <wchar.h>.  Further simplifications are now
473         possible in other modules, but not included here.
474         * modules/wchar: New module.
475         * m4/wchar.m4: New file.
476         * lib/wchar_.h: Likewise.
477         * modules/mbchar (Depends-on): Depend on wchar, as the first use
478         of the new module.
479         * MODULES.html.sh (Extended multibyte and wide character utilities):
480         New section.
481
482 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
483
484         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
485         to a reasonable default for memory allocation.
486         (xreadlink): Don't allocate a huge buffer, to work around a buggy
487         file system that reports garbage st_size values for symlinks.
488         Problem reported by Liyang Hu.
489
490 2007-01-11  Simon Josefsson  <simon@josefsson.org>
491
492         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
493         Emacs .#* auto-save files).
494
495 2007-01-11  Bruno Haible  <bruno@clisp.org>
496
497         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
498         directory.
499
500 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
501
502         Use @...@ consistently in lib/wctype_.h.
503         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
504         on it being set to 1 or 0.
505         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
506         go back to AC_SUBSTing it.
507         * modules/wctype (Makefile.am): Undo previous change.
508
509 2007-01-10  Eric Blake  <ebb9@byu.net>
510
511         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
512         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
513         * modules/wctype (Makefile.am): Likewise.
514         Reported by Chris McGuire.
515
516 2007-01-10  Jim Meyering  <jim@meyering.net>
517
518         fts.c: a small readability/maintainability improvement
519         * lib/fts.c (fts_read): Make this code slightly more readable and
520         maintainable by hoisting the "sp->fts_cur = p" assignments to
521         immediately follow the statements that set P.  Derived from
522         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
523
524 2007-01-10  Eric Blake  <ebb9@byu.net>
525
526         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
527         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
528         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
529         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
530         Reported by Chris McGuire.
531
532 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
533
534         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
535         in sed script.
536
537 2007-01-09  Bruno Haible  <bruno@clisp.org>
538
539         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
540         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
541         variables.
542         (func_module): Use them.
543
544 2007-01-09  Bruno Haible  <bruno@clisp.org>
545
546         * modules/unistr/base: New file.
547         * lib/unistr.h: New file.
548
549         * modules/unistr/u8-to-u16: New file.
550         * lib/unistr/u8-to-u16.c: New file.
551
552         * modules/unistr/u8-to-u32: New file.
553         * lib/unistr/u8-to-u32.c: New file.
554
555         * modules/unistr/u16-to-u8: New file.
556         * lib/unistr/u16-to-u8.c: New file.
557
558         * modules/unistr/u16-to-u32: New file.
559         * lib/unistr/u16-to-u32.c: New file.
560
561         * modules/unistr/u32-to-u8: New file.
562         * lib/unistr/u32-to-u8.c: New file.
563
564         * modules/unistr/u32-to-u16: New file.
565         * lib/unistr/u32-to-u16.c: New file.
566
567         * modules/unistr/u8-check: New file.
568         * modules/unistr/u16-check: New file.
569         * modules/unistr/u32-check: New file.
570         * lib/unistr/u8-check.c: New file.
571         * lib/unistr/u16-check.c: New file.
572         * lib/unistr/u32-check.c: New file.
573
574         * modules/unistr/u8-chr: New file.
575         * modules/unistr/u16-chr: New file.
576         * modules/unistr/u32-chr: New file.
577         * lib/unistr/u8-chr.c: New file.
578         * lib/unistr/u16-chr.c: New file.
579         * lib/unistr/u32-chr.c: New file.
580
581         * modules/unistr/u8-cmp: New file.
582         * modules/unistr/u16-cmp: New file.
583         * modules/unistr/u32-cmp: New file.
584         * lib/unistr/u8-cmp.c: New file.
585         * lib/unistr/u16-cmp.c: New file.
586         * lib/unistr/u32-cmp.c: New file.
587
588         * modules/unistr/u8-cpy: New file.
589         * modules/unistr/u16-cpy: New file.
590         * modules/unistr/u32-cpy: New file.
591         * lib/unistr/u8-cpy.c: New file.
592         * lib/unistr/u16-cpy.c: New file.
593         * lib/unistr/u32-cpy.c: New file.
594         * lib/unistr/u-cpy.h: New file.
595
596         * modules/unistr/u8-cpy-alloc: New file.
597         * modules/unistr/u16-cpy-alloc: New file.
598         * modules/unistr/u32-cpy-alloc: New file.
599         * lib/unistr/u8-cpy-alloc.c: New file.
600         * lib/unistr/u16-cpy-alloc.c: New file.
601         * lib/unistr/u32-cpy-alloc.c: New file.
602         * lib/unistr/u-cpy-alloc.h: New file.
603
604         * modules/unistr/u8-endswith: New file.
605         * modules/unistr/u16-endswith: New file.
606         * modules/unistr/u32-endswith: New file.
607         * lib/unistr/u8-endswith.c: New file.
608         * lib/unistr/u16-endswith.c: New file.
609         * lib/unistr/u32-endswith.c: New file.
610         * lib/unistr/u-endswith.h: New file.
611
612         * modules/unistr/u8-mblen: New file.
613         * modules/unistr/u16-mblen: New file.
614         * modules/unistr/u32-mblen: New file.
615         * lib/unistr/u8-mblen.c: New file.
616         * lib/unistr/u16-mblen.c: New file.
617         * lib/unistr/u32-mblen.c: New file.
618
619         * modules/unistr/u8-mbtouc: New file.
620         * modules/unistr/u16-mbtouc: New file.
621         * modules/unistr/u32-mbtouc: New file.
622         * lib/unistr/u8-mbtouc.c: New file.
623         * lib/unistr/u16-mbtouc.c: New file.
624         * lib/unistr/u32-mbtouc.c: New file.
625
626         * modules/unistr/u8-mbtouc-safe: New file.
627         * modules/unistr/u16-mbtouc-safe: New file.
628         * modules/unistr/u32-mbtouc-safe: New file.
629         * lib/unistr/u8-mbtouc-safe.c: New file.
630         * lib/unistr/u16-mbtouc-safe.c: New file.
631         * lib/unistr/u32-mbtouc-safe.c: New file.
632
633         * modules/unistr/u8-move: New file.
634         * modules/unistr/u16-move: New file.
635         * modules/unistr/u32-move: New file.
636         * lib/unistr/u8-move.c: New file.
637         * lib/unistr/u16-move.c: New file.
638         * lib/unistr/u32-move.c: New file.
639         * lib/unistr/u-move.h: New file.
640
641         * modules/unistr/u8-next: New file.
642         * modules/unistr/u16-next: New file.
643         * modules/unistr/u32-next: New file.
644         * lib/unistr/u8-next.c: New file.
645         * lib/unistr/u16-next.c: New file.
646         * lib/unistr/u32-next.c: New file.
647
648         * modules/unistr/u8-prev: New file.
649         * modules/unistr/u16-prev: New file.
650         * modules/unistr/u32-prev: New file.
651         * lib/unistr/u8-prev.c: New file.
652         * lib/unistr/u16-prev.c: New file.
653         * lib/unistr/u32-prev.c: New file.
654
655         * modules/unistr/u8-set: New file.
656         * modules/unistr/u16-set: New file.
657         * modules/unistr/u32-set: New file.
658         * lib/unistr/u8-set.c: New file.
659         * lib/unistr/u16-set.c: New file.
660         * lib/unistr/u32-set.c: New file.
661         * lib/unistr/u-set.h: New file.
662
663         * modules/unistr/u8-startswith: New file.
664         * modules/unistr/u16-startswith: New file.
665         * modules/unistr/u32-startswith: New file.
666         * lib/unistr/u8-startswith.c: New file.
667         * lib/unistr/u16-startswith.c: New file.
668         * lib/unistr/u32-startswith.c: New file.
669         * lib/unistr/u-startswith.h: New file.
670
671         * modules/unistr/u8-stpcpy: New file.
672         * modules/unistr/u16-stpcpy: New file.
673         * modules/unistr/u32-stpcpy: New file.
674         * lib/unistr/u8-stpcpy.c: New file.
675         * lib/unistr/u16-stpcpy.c: New file.
676         * lib/unistr/u32-stpcpy.c: New file.
677         * lib/unistr/u-stpcpy.h: New file.
678
679         * modules/unistr/u8-stpncpy: New file.
680         * modules/unistr/u16-stpncpy: New file.
681         * modules/unistr/u32-stpncpy: New file.
682         * lib/unistr/u8-stpncpy.c: New file.
683         * lib/unistr/u16-stpncpy.c: New file.
684         * lib/unistr/u32-stpncpy.c: New file.
685         * lib/unistr/u-stpncpy.h: New file.
686
687         * modules/unistr/u8-strcat: New file.
688         * modules/unistr/u16-strcat: New file.
689         * modules/unistr/u32-strcat: New file.
690         * lib/unistr/u8-strcat.c: New file.
691         * lib/unistr/u16-strcat.c: New file.
692         * lib/unistr/u32-strcat.c: New file.
693         * lib/unistr/u-strcat.h: New file.
694
695         * modules/unistr/u8-strchr: New file.
696         * modules/unistr/u16-strchr: New file.
697         * modules/unistr/u32-strchr: New file.
698         * lib/unistr/u8-strchr.c: New file.
699         * lib/unistr/u16-strchr.c: New file.
700         * lib/unistr/u32-strchr.c: New file.
701
702         * modules/unistr/u8-strcmp: New file.
703         * modules/unistr/u16-strcmp: New file.
704         * modules/unistr/u32-strcmp: New file.
705         * lib/unistr/u8-strcmp.c: New file.
706         * lib/unistr/u16-strcmp.c: New file.
707         * lib/unistr/u32-strcmp.c: New file.
708
709         * modules/unistr/u8-strcpy: New file.
710         * modules/unistr/u16-strcpy: New file.
711         * modules/unistr/u32-strcpy: New file.
712         * lib/unistr/u8-strcpy.c: New file.
713         * lib/unistr/u16-strcpy.c: New file.
714         * lib/unistr/u32-strcpy.c: New file.
715         * lib/unistr/u-strcpy.h: New file.
716
717         * modules/unistr/u8-strcspn: New file.
718         * modules/unistr/u16-strcspn: New file.
719         * modules/unistr/u32-strcspn: New file.
720         * lib/unistr/u8-strcspn.c: New file.
721         * lib/unistr/u16-strcspn.c: New file.
722         * lib/unistr/u32-strcspn.c: New file.
723         * lib/unistr/u-strcspn.h: New file.
724
725         * modules/unistr/u8-strdup: New file.
726         * modules/unistr/u16-strdup: New file.
727         * modules/unistr/u32-strdup: New file.
728         * lib/unistr/u8-strdup.c: New file.
729         * lib/unistr/u16-strdup.c: New file.
730         * lib/unistr/u32-strdup.c: New file.
731         * lib/unistr/u-strdup.h: New file.
732
733         * modules/unistr/u8-strlen: New file.
734         * modules/unistr/u16-strlen: New file.
735         * modules/unistr/u32-strlen: New file.
736         * lib/unistr/u8-strlen.c: New file.
737         * lib/unistr/u16-strlen.c: New file.
738         * lib/unistr/u32-strlen.c: New file.
739         * lib/unistr/u-strlen.h: New file.
740
741         * modules/unistr/u8-strmblen: New file.
742         * modules/unistr/u16-strmblen: New file.
743         * modules/unistr/u32-strmblen: New file.
744         * lib/unistr/u8-strmblen.c: New file.
745         * lib/unistr/u16-strmblen.c: New file.
746         * lib/unistr/u32-strmblen.c: New file.
747
748         * modules/unistr/u8-strmbtouc: New file.
749         * modules/unistr/u16-strmbtouc: New file.
750         * modules/unistr/u32-strmbtouc: New file.
751         * lib/unistr/u8-strmbtouc.c: New file.
752         * lib/unistr/u16-strmbtouc.c: New file.
753         * lib/unistr/u32-strmbtouc.c: New file.
754
755         * modules/unistr/u8-strncat: New file.
756         * modules/unistr/u16-strncat: New file.
757         * modules/unistr/u32-strncat: New file.
758         * lib/unistr/u8-strncat.c: New file.
759         * lib/unistr/u16-strncat.c: New file.
760         * lib/unistr/u32-strncat.c: New file.
761         * lib/unistr/u-strncat.h: New file.
762
763         * modules/unistr/u8-strncmp: New file.
764         * modules/unistr/u16-strncmp: New file.
765         * modules/unistr/u32-strncmp: New file.
766         * lib/unistr/u8-strncmp.c: New file.
767         * lib/unistr/u16-strncmp.c: New file.
768         * lib/unistr/u32-strncmp.c: New file.
769
770         * modules/unistr/u8-strncpy: New file.
771         * modules/unistr/u16-strncpy: New file.
772         * modules/unistr/u32-strncpy: New file.
773         * lib/unistr/u8-strncpy.c: New file.
774         * lib/unistr/u16-strncpy.c: New file.
775         * lib/unistr/u32-strncpy.c: New file.
776         * lib/unistr/u-strncpy.h: New file.
777
778         * modules/unistr/u8-strnlen: New file.
779         * modules/unistr/u16-strnlen: New file.
780         * modules/unistr/u32-strnlen: New file.
781         * lib/unistr/u8-strnlen.c: New file.
782         * lib/unistr/u16-strnlen.c: New file.
783         * lib/unistr/u32-strnlen.c: New file.
784         * lib/unistr/u-strnlen.h: New file.
785
786         * modules/unistr/u8-strpbrk: New file.
787         * modules/unistr/u16-strpbrk: New file.
788         * modules/unistr/u32-strpbrk: New file.
789         * lib/unistr/u8-strpbrk.c: New file.
790         * lib/unistr/u16-strpbrk.c: New file.
791         * lib/unistr/u32-strpbrk.c: New file.
792         * lib/unistr/u-strpbrk.h: New file.
793
794         * modules/unistr/u8-strrchr: New file.
795         * modules/unistr/u16-strrchr: New file.
796         * modules/unistr/u32-strrchr: New file.
797         * lib/unistr/u8-strrchr.c: New file.
798         * lib/unistr/u16-strrchr.c: New file.
799         * lib/unistr/u32-strrchr.c: New file.
800
801         * modules/unistr/u8-strspn: New file.
802         * modules/unistr/u16-strspn: New file.
803         * modules/unistr/u32-strspn: New file.
804         * lib/unistr/u8-strspn.c: New file.
805         * lib/unistr/u16-strspn.c: New file.
806         * lib/unistr/u32-strspn.c: New file.
807         * lib/unistr/u-strspn.h: New file.
808
809         * modules/unistr/u8-strstr: New file.
810         * modules/unistr/u16-strstr: New file.
811         * modules/unistr/u32-strstr: New file.
812         * lib/unistr/u8-strstr.c: New file.
813         * lib/unistr/u16-strstr.c: New file.
814         * lib/unistr/u32-strstr.c: New file.
815         * lib/unistr/u-strstr.h: New file.
816
817         * modules/unistr/u8-strtok: New file.
818         * modules/unistr/u16-strtok: New file.
819         * modules/unistr/u32-strtok: New file.
820         * lib/unistr/u8-strtok.c: New file.
821         * lib/unistr/u16-strtok.c: New file.
822         * lib/unistr/u32-strtok.c: New file.
823         * lib/unistr/u-strtok.h: New file.
824
825         * modules/unistr/u8-uctomb: New file.
826         * modules/unistr/u16-uctomb: New file.
827         * modules/unistr/u32-uctomb: New file.
828         * lib/unistr/u8-uctomb.c: New file.
829         * lib/unistr/u16-uctomb.c: New file.
830         * lib/unistr/u32-uctomb.c: New file.
831
832         * MODULES.html.sh (Unicode string functions): Add the new modules.
833
834 2007-01-08  Bruno Haible  <bruno@clisp.org>
835
836         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
837         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
838         subdirectories.
839
840 2007-01-08  Karl Berry  <karl@gnu.org>
841
842         * doc/error.texi: mention that main() fns must set program_name
843         when progname is used.
844
845 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
846
847         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
848         WCTYPE_H is empty, for the benefit of builds from non-distclean
849         directories.  Problem reported by Eric Blake in
850         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
851
852 2007-01-08  Bruno Haible  <bruno@clisp.org>
853
854         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
855         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
856         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
857         PROVIDE_CANONICALIZE_FILENAME_MODE.
858         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
859
860 2007-01-08  Bruno Haible  <bruno@clisp.org>
861
862         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
863         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
864         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
865         * lib/fts.c: Likewise.
866         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
867
868 2006-12-25  Bruno Haible  <bruno@clisp.org>
869
870         * modules/utf8-ucs4-safe: New file.
871         * lib/utf8-ucs4-safe.h: New file.
872         * lib/unistr/utf8-ucs4-safe.c: New file.
873
874         * modules/utf16-ucs4-safe: New file.
875         * lib/utf16-ucs4-safe.h: New file.
876         * lib/unistr/utf16-ucs4-safe.c: New file.
877
878         * MODULES.html.sh (Unicode string functions): Add the new modules.
879
880 2007-01-08  Bruno Haible  <bruno@clisp.org>
881
882         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
883         (Depends-on): Add unitypes.
884         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
885         (u8_mbtouc_aux): Move out to separate file.
886         (u8_mbtouc): Use ucs4_t, uint8_t types.
887         * lib/unistr/utf8-ucs4.c: New file.
888
889         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
890         (Depends-on): Add unitypes.
891         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
892         (u16_mbtouc_aux): Move out to separate file.
893         (u16_mbtouc): Use ucs4_t, uint16_t types.
894         * lib/unistr/utf16-ucs4.c: New file.
895
896         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
897         (Depends-on): Add unitypes.
898         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
899         (u8_uctomb_aux): Move out to separate file.
900         (u8_uctomb): Use ucs4_t, uint8_t types.
901         * lib/unistr/ucs4-utf8.c: New file.
902
903         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
904         (Depends-on): Add unitypes.
905         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
906         (u16_uctomb_aux): Move out to separate file.
907         (u16_uctomb): Use ucs4_t, uint16_t types.
908         * lib/unistr/ucs4-utf16.c: New file.
909
910 2006-12-25  Bruno Haible  <bruno@clisp.org>
911
912         * modules/unitypes: New file.
913         * lib/unitypes.h: New file.
914         * MODULES.html.sh (func_all_modules): New section "Unicode string
915         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
916         this section. Add unitypes.
917
918 2007-01-08  Bruno Haible  <bruno@clisp.org>
919
920         Avoid variable names that conflict with those from libtool.
921         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
922         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
923         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
924         library_names_spec to acl_library_names_spec, hardcode_* to
925         acl_hardcode_*.
926         Reported by Ralf Wildenhues.
927
928 2007-01-08  Bruno Haible  <bruno@clisp.org>
929
930         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
931         definition.
932         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
933         definition.
934         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
935         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
936         definition.
937         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
938         definition.
939         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
940         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
941         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
942         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
943         definition.
944         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
945         definition.
946         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
947         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
948         GC_USE_<algorithm>.
949         * lib/gc-libgcrypt.c: Likewise.
950         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
951         * modules/gc-arctwo (configure.ac): Likewise.
952         * modules/gc-des (configure.ac): Likewise.
953         * modules/gc-hmac-md5 (configure.ac): Likewise.
954         * modules/gc-hmac-sha1 (configure.ac): Likewise.
955         * modules/gc-md2 (configure.ac): Likewise.
956         * modules/gc-md4 (configure.ac): Likewise.
957         * modules/gc-md5 (configure.ac): Likewise.
958         * modules/gc-random (configure.ac): Likewise.
959         * modules/gc-rijndael (configure.ac): Likewise.
960         * modules/gc-sha1 (configure.ac): Likewise.
961
962 2007-01-08  Bruno Haible  <bruno@clisp.org>
963
964         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
965         macro definition.
966         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
967         definition.
968         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
969         definition.
970         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
971         * modules/fcntl-safer (configure.ac): Likewise.
972         * modules/fopen-safer (configure.ac): Likewise.
973         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
974         GNULIB_FWRITEERROR macro definition.
975
976 2007-01-08  Bruno Haible  <bruno@clisp.org>
977
978         * m4/gnulib-common.m4: New file.
979         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
980         (func_get_filelist): Add m4/gnulib-common.m4.
981
982 2007-01-08  Bruno Haible  <bruno@clisp.org>
983
984         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
985         command.
986
987 2007-01-08  Jim Meyering  <jim@meyering.net>
988
989         Use a more robust test for a "can't happen" condition.
990         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
991         narrowed the st_size value.  Presuming the "can't happen" condition
992         is true, that narrowing could conceivably convert an invalid st_size
993         value into a valid one.  Instead, use a change based on Matthew
994         Woehlke's original patch.
995
996         Slight readability improvement: use an assert-like macro
997         in place of literal "abort ()" uses.
998         * lib/fts.c (fts_assert): Define.
999         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
1000         Use this macro instead of a bare 'abort'.
1001
1002 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1003
1004         Don't worry about using IRIX 5.3's wctype.h broken definitions;
1005         simply work around them.
1006         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
1007         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
1008         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before declaring.
1009         Don't bother to define as macros, since the standard doesn't require it.
1010         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
1011         longer worry about IRIX 5.3.
1012         (HAVE_WCTYPE_CTMP_BUG): Remove.
1013
1014 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1015
1016         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
1017         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
1018         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
1019         Problems reported by Georg Schwarz for IRIX 5.3.
1020
1021         * gnulib-tool (autoconf_minversion): Take the maximum version number
1022         found, not the minimum.  Problem reported by James Youngman.
1023
1024 2007-01-03  Karl Berry  <karl@gnu.org>
1025
1026         * doc/error.texi: new file, explaining interaction with progname.
1027         * doc/gnulib.texi: include it.  Update copyright.
1028
1029 2007-01-03  Simon Josefsson  <simon@josefsson.org>
1030
1031         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
1032         AC_CANONICAL_HOST, to improve autobuild outputs.
1033
1034 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
1035             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
1036
1037         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
1038         sockets, server sockets, and other file descriptors.  Count errors
1039         to compute the return value.  Reorder the code a bit to be easier
1040         to follow.  Don't set event bits that were not requested (except
1041         POLLERR and POLLHUP).
1042
1043 2007-01-01  Bruno Haible  <bruno@clisp.org>
1044
1045         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
1046
1047 2007-01-03  Jim Meyering  <jim@meyering.net>
1048
1049         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
1050
1051 2007-01-02  Bruno Haible  <bruno@clisp.org>
1052
1053         * modules/settime (Include): Require timespec.h.
1054         * modules/nanosleep (Include): Likewise.
1055
1056 2007-01-01  Bruno Haible  <bruno@clisp.org>
1057
1058         * gnulib-tool (func_emit_copyright_notice): Bump year.
1059         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
1060
1061 2007-01-01  Bruno Haible  <bruno@clisp.org>
1062
1063         Improve support for OpenBSD.
1064         * build-aux/config.rpath (libname_spec): Export.
1065         (library_names_spec): New variable. Export.
1066         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
1067         library_names_spec from the config.rpath output. Locate shared library
1068         through the name pattern in library_names_spec.
1069
1070 2007-01-01  Eric Blake  <ebb9@byu.net>
1071
1072         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
1073
1074 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1075
1076         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
1077         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
1078         assume the C locale, and avoid an "eval" that could cause trouble.
1079         Problem with SORT reported by Bob Proulx.
1080
1081         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
1082         Define.  Trivial patch from Henning Nielsen Lund, originally
1083         sent to bug-grep@gnu.org today.
1084
1085 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1086
1087         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
1088         struct stat.  Problem reported by Henning Nielsen Lund.
1089         * lib/acl.c: Include acl.h first, to check interface.  Don't
1090         bother to include sys/types.h and sys/stat.h again.
1091
1092 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
1093
1094         Import the following change from libc; problem reported by
1095         Sven Verdoolaege.
1096
1097         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
1098
1099         [BZ #1373]
1100         * lib/argp.h: Remove __NTH for __argp_usage inline function.
1101
1102 2006-12-28  Jim Meyering  <jim@meyering.net>
1103
1104         * build-aux/announce-gen: Do not assume that the package
1105         builds any of tar.gz, tar.bz2, and .xdelta files.
1106         Suggestion from Simon Josefsson.
1107
1108 2006-12-28  Simon Josefsson  <simon@josefsson.org>
1109
1110         * modules/announce-gen: New file.
1111
1112 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1113
1114         * lib/mbchar.h: Just include <wctype.h>; the wctype module
1115         handles its gotchas now.
1116         * lib/mbswidth.c: Likewise.
1117         * lib/wcwidth.h: Likewise.
1118         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
1119         and iswcntrl; the wctype module does this stuff now.
1120         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1121         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1122         * modules/mbchar (Depends-on): Add wctype.
1123         * modules/mbswidth (Depends-on): Likewise.
1124         * modules/wcwidth (Depends-on): Likewise.
1125
1126 2006-12-27  Eric Blake  <ebb9@byu.net>
1127
1128         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
1129         module uses more than what <wctype.h> is required to provide.
1130
1131 2006-12-26  Eric Blake  <ebb9@byu.net>
1132
1133         * gnulib-tool (sed_extract_prog): Avoid space-tab.
1134
1135 2006-12-26  Eric Blake  <ebb9@byu.net>
1136
1137         * modules/absolute-header: New module.
1138         * modules/fcntl (Depends-on): Depend on it.
1139         * modules/inttypes (Depends-on): Likewise.
1140         * modules/stdint (Depends-on): Likewise.
1141         * modules/sys_stat (Depends-on): Likewise.
1142         * modules/wctype (Depends-on): Likewise.
1143         * MODULES.html.sh (Support for building libraries and
1144         executables): Document it.
1145
1146 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1147
1148         * gnulib-tool (SED): Remove, undoing previous change.
1149         The problem was that it broke coreutils on Solaris, because
1150         "sed --posix" leaked into a makefile.
1151         (sed): New alias, if 'alias' and GNU sed.
1152
1153 2006-12-24  Jim Meyering  <jim@meyering.net>
1154
1155         Work around an fchownat bug in glibc-2.4:
1156         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
1157         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
1158         in spite of the -P option.
1159         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
1160         New macros.
1161         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
1162         * modules/openat (Files): Add lib/fchownat.c.
1163         * lib/openat.c (fchownat): Don't define here.  Move to...
1164         * lib/fchownat.c: ...this new file.
1165
1166 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1167
1168         Fix bug reported by Bruno Haible in
1169         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
1170         where quotearg.c didn't compile on Mac OS X 10.2 because it
1171         lacks <wchar.h> and wint_t.
1172         * lib/wctype_.h (__wctype_wint_t): New type.
1173         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
1174         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
1175         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
1176         Arg is now of type __wctype_wint_t, not wint_t.
1177         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
1178         substitute HAVE_WINT_T.
1179         * modules/wctype (Files): Add m4/wint_t.m4.
1180         (wctype.h): Substitute HAVE_WINT_T.
1181
1182 2006-12-23  Bruno Haible  <bruno@clisp.org>
1183
1184         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
1185
1186 2006-12-23  Bruno Haible  <bruno@clisp.org>
1187
1188         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
1189         S_ISLNK.
1190         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
1191         mingw.
1192
1193 2006-12-22  Bruno Haible  <bruno@clisp.org>
1194
1195         * lib/copy-file.c: Include acl.h.
1196         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
1197         Close the file descriptors only after being done with copy_acl.
1198         * modules/copy-file (Depends-on): Add acl.
1199
1200 2006-12-22  Bruno Haible  <bruno@clisp.org>
1201
1202         * gnulib-tool (SED): New variable.
1203         Use $SED instead of sed everywhere.
1204
1205 2006-12-22  Bruno Haible  <bruno@clisp.org>
1206
1207         * modules/no-c++: New file.
1208         * m4/no-c++.m4: New file.
1209         * MODULES.html.sh (Support for building libraries and executables):
1210         Add no-c++.
1211
1212 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1213
1214         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
1215         Include <limits.h>, and use its INT_MAX to rewrite the
1216         j loop so that it does not overflow 'int'.  Problem reported by
1217         Ralf Wildenhues in
1218         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
1219         Play it safe by shifting left by 1 rather than multiplying by 2,
1220         as GCC is less likely to optimize this away when the value
1221         is signed (when it assumes overflow leads to undefined behavior).
1222         Also, don't assume time_t uses two's complement.
1223
1224 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1225
1226         * MODULES.html.sh: New module wctype.
1227         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
1228         * lib/fnmatch.c: Don't bother to include <wchar.h> before
1229         <wctype.h>, since the new wctype module should fix this.
1230         * lib/quotearg.c: Include <wctype.h> unconditionally, since
1231         the wctype module should arrange for it.
1232         * lib/regex_internal.h: Likewise.
1233         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
1234         since the wctype module should handle this now.
1235         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
1236         * modules/fnmatch (Depends-on): Add wctype.
1237         * modules/quotearg (Depends-on): Likewise.
1238         * modules/regex (Depends-on): Likewise.
1239
1240 2006-12-19  Bruno Haible  <bruno@clisp.org>
1241
1242         * lib/strdup.h [C++]: Wrap definitions in extern "C".
1243         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
1244
1245 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1246
1247         * modules/savewd (Depends-on): Fix dependency on fcntl.
1248
1249 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1250
1251         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
1252         conforms to C99, rather than relying on the user's environment
1253         setting of STDINT_H.
1254
1255 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1256         and Eric Blake  <ebb9@byu.net>
1257
1258         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
1259         This is more consistent with the other defines here.
1260         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
1261         Port to z/OS.  Problem reported by Paul Gilmartin.
1262         Change local vars to use gl_ prefix rather than ac_.
1263         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
1264         with other defines.
1265         * modules/double-slash-root: New module.
1266         * modules/dirname (Files): Remove m4/double-slash-root.m4.
1267         (Depends-on): Add double-slash-root.
1268         * MODULES.html.sh (File system functions): Mention new module.
1269
1270 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
1271
1272         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
1273         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
1274         This is for the benefit of gzip, which doesn't do i18n.
1275
1276 2006-12-12  Jim Meyering  <jim@meyering.net>
1277
1278         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
1279         Reported by Andreas Schwab <schwab@suse.de>.
1280
1281 2006-12-12  Bruno Haible  <bruno@clisp.org>
1282
1283         Merge these changes.
1284         2006-09-05  Bruno Haible  <bruno@clisp.org>
1285         * lib/iconvme.c (iconv_string): No need to save and restore errno when
1286         iconv_alloc succeeded.
1287         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
1288         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
1289         test for " && dest " at the end - dest is always != NULL there. Call
1290         iconv with 4xNULL arguments initially, to reset the state. Call iconv
1291         with 2xNULL arguments, also to flush the state storage. Handle the
1292         IRIX iconv behaviour. Realloc the final result, to throw away unused
1293         memory.
1294
1295 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1296
1297         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
1298         and fchmodat unconditionally, since glibc 2.4 has them.
1299         Problem reported by Arkadiusz Miskiewicz.
1300
1301 2006-12-10  Bruno Haible  <bruno@clisp.org>
1302
1303         * gnulib-tool (func_import): Show the include files only for those
1304         modules that are copied and specified.
1305         Reported by Karl Berry.
1306
1307 2006-12-08  Jim Meyering  <jim@meyering.net>
1308
1309         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
1310         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
1311
1312         * build-aux/announce-gen: Add two new options, both optional:
1313         --bootstrap-tools=TOOL_LIST
1314               a comma-separated list of tools, e.g.,
1315               autoconf,automake,bison,gnulib
1316         --gnulib-snapshot-date=DATE
1317               if gnulib is in the bootstrap tool list,
1318               then report this as the snapshot date.
1319               If not specified, use the current date/time.
1320               If you specify a date here, be sure it's UTC.
1321
1322 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1323
1324         * tests/test-argp-2.sh: Fix test to match actual output.
1325         (func_compare): Fix sed script to be portable.
1326
1327 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1328
1329         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
1330         workaround for this case.  It is not autoconfigured now; offhand
1331         it's hard to see how to autoconfigure it.
1332
1333 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
1334
1335         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
1336         a directory that is about to be chowned.  Such a directory's
1337         initial file permissions should permit the owner only and this
1338         should not be changed until after the chown, since the group and
1339         other bits would be incorrect if they granted permission before
1340         the chown.
1341
1342         Fix porting problem for iswctype reported by Georg Schwarz in:
1343         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
1344         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
1345         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
1346         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
1347         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
1348
1349 2006-12-03  Jim Meyering  <jim@meyering.net>
1350
1351         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
1352         p->fts_statp may not yet be defined.
1353         (fts_read): Instead, set it in the caller, once p->fts_statp is
1354         sure to be defined, and corresponds to a top-level directory.
1355         This bug made du -x fail.  Here's the coreutils test case:
1356         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
1357         Reported by Mike Frysinger.
1358
1359 2006-12-01  Jim Meyering  <jim@meyering.net>
1360
1361         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
1362         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
1363         Reported by Simon Josefsson.
1364
1365 2006-11-30  Jim Meyering  <jim@meyering.net>
1366
1367         * m4/warning.m4: Use the all-permissive copyright notice
1368         recommended by RMS (rather than LGPL).
1369         * m4/vararrays.m4: Likewise.
1370         * m4/flexmember.m4: Likewise.
1371
1372 2006-11-29  Bruno Haible  <bruno@clisp.org>
1373
1374         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
1375         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
1376         using +=.
1377         Reported by Simon Josefsson <simon@josefsson.org>.
1378
1379 2006-11-28  James Youngman <jay@gnu.org>
1380
1381         * README: Advise users that they might find the bug-gnulib@gnu.org
1382         and autotools-announce@gnu.org mailing lists useful.
1383
1384 2006-11-28  Bruno Haible  <bruno@clisp.org>
1385
1386         * m4/ptrdiff_max.m4: Remove file.
1387
1388 2006-11-21  Bruno Haible  <bruno@clisp.org>
1389
1390         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
1391         _AC_COMPUTE_INT.
1392         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1393         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
1394         _AC_COMPUTE_INT.
1395         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1396         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
1397         _AC_COMPUTE_INT.
1398         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1399
1400 2006-11-28  Jim Meyering  <jim@meyering.net>
1401
1402         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
1403         warning from "gcc -Wshadow" about shadowing the builtin.
1404
1405 2006-11-27  Bruno Haible  <bruno@clisp.org>
1406
1407         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
1408         _AC_COMPUTE_INT.
1409         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1410
1411 2006-11-27  Bruno Haible  <bruno@clisp.org>
1412             Paul Eggert  <eggert@cs.ucla.edu>
1413
1414         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
1415
1416 2006-11-26  Bruno Haible  <bruno@clisp.org>
1417
1418         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
1419         noinst_LTLIBRARIES.
1420
1421 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
1422             Bruno Haible  <bruno@clisp.org>
1423
1424         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
1425         if compiling with "gcc -ansi".
1426
1427 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
1428
1429         Fix some incompatibilities with gcc -ansi -pedantic.
1430         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
1431         if compiling pedantically with GCC, unless it's C99 or later.
1432         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
1433         it mishandles gcc -ansi -pedantic as well.
1434         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
1435         if gcc -pedantic.
1436         * lib/regexec.c (check_node_accept_bytes): Don't use auto
1437         initializers for struct if -pedantic, unless it's C99 or later.
1438
1439 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
1440
1441         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
1442         Don't close an fd more than once. Identical atimes indicate
1443         success, not failure.
1444
1445 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
1446
1447         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
1448
1449 2006-11-23  Jim Meyering  <jim@meyering.net>
1450
1451         * build-aux/announce-gen: New file.  From coreutils.
1452
1453 2006-11-22  Jim Meyering  <jim@meyering.net>
1454
1455         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
1456         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
1457         (fts_read): Use a temporary to narrow the overused st_size member
1458         before using it in a switch statement.  Reported by Matthew Woehlke.
1459
1460         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
1461         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
1462
1463 2006-11-20  Bruno Haible  <bruno@clisp.org>
1464
1465         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
1466         changequote instead of pairs of brackets.
1467         Reported by Andreas Schwab <schwab@suse.de>.
1468
1469 2006-11-21  Jim Meyering  <jim@meyering.net>
1470
1471         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
1472         so as to remain compatible with older compilers.
1473         Patch from Michael Deutschmann.
1474
1475 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
1476
1477         * MODULES.html.sh (File system functions): Add openat.
1478
1479         * lib/openat.h (rpl_fstatat): New macro, if
1480         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
1481         (fstatat): Define to rpl_fstatat under the same conditions,
1482         unless COMPILING_FSTATAT.
1483         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
1484         seems to have the bug.
1485         * lib/fstatat.c: New file.
1486         * modules/openat (Files): Add it.
1487
1488 2006-11-20  Bruno Haible  <bruno@clisp.org>
1489
1490         * Makefile: New file.
1491
1492 2006-11-20  Jim Meyering  <jim@meyering.net>
1493
1494         The beginnings of syntax-related checks for gnulib.
1495         * lib/Makefile: New file.
1496         * lib/t-idcache: New script.  Ensure that the two halves of
1497         idcache.c stay in sync.
1498
1499         * lib/idcache.c: Adjust comments in user- and group- portions to
1500         be more accurate, and to be consistent with one another.
1501
1502 2006-11-20  Jim Meyering  <jim@meyering.net>
1503
1504         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
1505         continue using the flexible array member (thus, this module performs
1506         half as many malloc calls), with the addition that...
1507         (getgroup, getuser): Consistently record a non-match via an empty
1508         "name" string, and map an empty string match to a NULL return value.
1509         * modules/idcache (Depends-on): Re-add flexmember.
1510
1511         * lib/idcache.c (getuser): Remove all uses of the register keyword.
1512         (getuidbyname, getgroup, getgidbyname): Likewise.
1513
1514         Use cleaner syntax: NULL rather than 0.
1515         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
1516
1517 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
1518
1519         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
1520         It mishandled the case where the group was missing.
1521         Problem reported by Greg Schafer.
1522         * modules/idcache: Likewise.
1523
1524 2006-11-18  Jim Meyering  <jim@meyering.net>
1525
1526         * check-module (%exempt_header): Add exception for some
1527         conditionally-included headers.
1528
1529         * modules/i-ring (Depends-on): Add verify.
1530         (License): Change to LGPL.
1531
1532 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
1533
1534         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
1535         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
1536         and inttostr.h.  Use snprintf rather than uinttostr, so that
1537         LGPLed code doesn't depend on GPLed.
1538
1539 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
1540
1541         * modules/inline (License): Change from GPL to LGPL.
1542
1543 2006-11-17  Jim Meyering  <jim@meyering.net>
1544
1545         * modules/d-type (License): Switch to LGPL.
1546
1547 2006-11-15  Bruno Haible  <bruno@clisp.org>
1548
1549         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
1550
1551 2006-11-15  Eric Blake  <ebb9@byu.net>
1552
1553         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
1554         the module dependency.
1555
1556 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
1557             Bruno Haible  <bruno@clisp.org>
1558
1559         * gnulib-tool (func_create_testdir): Add license consistency check.
1560
1561 2006-11-15  Eric Blake  <ebb9@byu.net>
1562
1563         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
1564         random "(cached)" in configure output.
1565
1566 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1567
1568         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
1569         test for conforming inttypes.h is both announced and cached.
1570
1571         * MODULES.html.sh (seen_modules, seen_files): New variables.
1572         (func_module): Rewrite to use a few less gnulib-tool and sed
1573         invocations.  Avoid a couple of quadratic algorithms for ...
1574         (missed_modules, missed_files): ... these, with ...
1575         (func_append, func_tmpdir): ... these new functions, from
1576         gnulib-tool.  Analogously, install traps for cleanup.
1577
1578         * tests/test-gc.c (main): Remove unused variables.
1579         * tests/test-read-file.c: Include stdlib.h, for 'free'.
1580
1581 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
1582
1583         * modules/inttostr (License): Change to LGPL.
1584
1585 2006-11-14  Eric Blake  <ebb9@byu.net>
1586
1587         * modules/tempname (License): Change to LGPL.
1588
1589 2006-11-14  Eric Blake  <ebb9@byu.net>
1590
1591         * doc/functions.texi (Function Portability): *printf functions on
1592         Cygwin now understand all POSIX size specifiers.
1593
1594 2006-11-14  Bruno Haible  <bruno@clisp.org>
1595
1596         * modules/c-ctype (License): Change to LGPL.
1597
1598 2006-11-12  Bruno Haible  <bruno@clisp.org>
1599
1600         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
1601         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
1602         for GNOME libraries, for which the include files are installed in
1603         subdirectories of $prefix/include.
1604
1605 2006-11-12  Bruno Haible  <bruno@clisp.org>
1606
1607         * m4/lib-link.m4: Require at least autoconf-2.54.
1608         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
1609         name to underscores for the --with option.
1610
1611 2006-11-13  Bruno Haible  <bruno@clisp.org>
1612
1613         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
1614         the tests directory.
1615         Reported by Ralf Wildenhues.
1616
1617 2006-11-13  Bruno Haible  <bruno@clisp.org>
1618
1619         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
1620         (func_emit_initmacro_end): Undo the override here.
1621         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
1622         Works around the famous automake error in coreutils.
1623
1624 2006-11-13  Eric Blake  <ebb9@byu.net>
1625
1626         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
1627         element, not its node.
1628
1629 2006-11-12  Bruno Haible  <bruno@clisp.org>
1630
1631         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
1632         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
1633
1634 2006-11-12  Bruno Haible  <bruno@clisp.org>
1635
1636         * gnulib-tool: New option --local-symlink.
1637         (func_usage): Document it.
1638         (lsymbolic): New variable.
1639         (func_import, func_create_testdir): If --symlink was not specified,
1640         test whether --local-symlink was specified and the file comes from
1641         the local_gnulib_dir.
1642
1643 2006-11-12  Bruno Haible  <bruno@clisp.org>
1644
1645         * gnulib-tool (func_ln): New function.
1646         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
1647
1648 2006-11-12  Bruno Haible  <bruno@clisp.org>
1649
1650         Finish support for source files in subdirectories.
1651         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
1652         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
1653         AUTOMAKE_OPTIONS.
1654         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
1655
1656 2006-11-12  Bruno Haible  <bruno@clisp.org>
1657
1658         * gnulib-tool (func_get_automake_snippet): Synthesize also an
1659         EXTRA_lib_SOURCES augmentation.
1660         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
1661
1662 2006-11-12  Jim Meyering  <jim@meyering.net>
1663
1664         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
1665         file descriptors.  This also averts a failure on systems with
1666         native openat support when a traversed directory lacks "x" access.
1667         * lib/fts_.h: Include "i-ring.h"
1668         (struct FTS) [fts_fd_ring]: New member.
1669         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
1670         (FCHDIR): Add parentheses.
1671         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
1672         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
1673         When descending, rather than simply closing the previous
1674         fts_cwd_fd value, push that file descriptor onto the ring.
1675         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
1676         (fts_open): Initialize the new fd_ring member.
1677         (fts_close): Clear the ring.
1678         (fts_safe_changedir): When possible, use our new fd_ring to skip
1679         the diropen and fstat and dev/ino comparison that would normally
1680         accompany a virtual `chdir ("..")'.
1681
1682         * modules/fts (Depends-on): Add i-ring.
1683         * modules/i-ring: New module.
1684         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
1685         * m4/i-ring.m4: New file.
1686
1687 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1688
1689         * gnulib-tool (func_create_testdir): Fix replacement of
1690         `build-aux' in configure.ac.  Run autotools in gltests
1691         subdirectory.
1692         (func_create_testdir, func_create_megatestdir, test): There is
1693         no need for '--force' in most autotool invocations in a new
1694         tree.  Actually fail the whole test if any of the tools, or the
1695         configure or make stages fail.
1696
1697         Sync from Automake.
1698         * build-aux/gnupload: Revert last change.  Add pointer to upload
1699         instructions of the GNU Maintenance Instructions.
1700         Suggestion by Karl Berry.
1701
1702 2006-11-10  Jim Meyering  <jim@meyering.net>
1703
1704         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
1705
1706 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1707
1708         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
1709         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
1710         (bind_textdomain_codeset) [! ENABLE_NLS]:
1711         Evaluate all the arguments.  That way, callers get compatible behavior
1712         if the arguments have side effects.  Also, it avoids some GCC
1713         diagnostics in some cases; Joel E. Denny reported problems when Bison
1714         was configured with --enable-gcc-warnigs.
1715
1716 2006-11-10  Jim Meyering  <jim@meyering.net>
1717
1718         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
1719         relevant options in CFLAGS (like -O, -fno-inline) are taken into
1720         account.
1721
1722 2006-11-10  Jim Meyering  <jim@meyering.net>
1723
1724         * modules/inline: New file/module.
1725         * modules/xalloc (Files): Remove m4/inline.m4.
1726         (Depends-on): Add inline, instead.
1727         * modules/oset: Likewise.
1728         * modules/list: Likewise.
1729
1730 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1731
1732         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
1733         Problem reported by Matthew Woehlke.
1734
1735 2006-11-09  Bruno Haible  <bruno@clisp.org>
1736
1737         * lib/tempname.c (gen_tempname): Remove variant that invokes
1738         __gen_tempname.
1739         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
1740         __gen_tempname.
1741
1742 2006-11-08  Bruno Haible  <bruno@clisp.org>
1743
1744         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
1745         to 'yes' instead of 'cross-compiling'.
1746
1747 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
1748
1749         * lib/quotearg.h (quotearg_free): New decl.
1750         * lib/quotearg.c (quotearg_free): New function.
1751         (slot0, nslots, slotvec0, slotvec):
1752         Now file-scope so that quotearg_free can get at them.
1753
1754 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1755
1756         Sync from Automake.
1757         * build-aux/gnupload: Add missing 'gnu' to example URL.
1758         Report by Karl Berry.
1759
1760 2006-11-08  Bruno Haible  <bruno@clisp.org>
1761
1762         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
1763         Suggested by Paul Eggert.
1764
1765 2006-11-08  Jim Meyering  <jim@meyering.net>
1766
1767         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
1768         It's already included if !_LIBC.
1769         (fts_safe_changedir): Add a comment.
1770
1771 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1772
1773         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
1774         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
1775         Matthew Woehlke.
1776
1777         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
1778         definitions up, to avoid colliding with change below.
1779         (static_inline) [HAVE_INLINE]: New macro.
1780         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1781         Provide extern decls when !HAVE_INLINE.  Do not define unless
1782         static_inline is defined, either by us or by xmalloc.c.  Use
1783         static_inline rather than static inline.
1784         (XCALLOC): Optimize sizeof(T) = 1 case.
1785         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
1786
1787 2006-11-07  Bruno Haible  <bruno@clisp.org>
1788
1789         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
1790         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
1791         AC_C_INLINE.
1792         * modules/xalloc (Files): Add m4/inline.m4.
1793
1794 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1795
1796         * README: Fix typo.
1797         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
1798         (Miscellanous Notes): ...from this.
1799
1800 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1801
1802         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
1803         Mention that offsetof should be used instead of sizeof.
1804         From Bruno Haible.
1805
1806 2006-11-07  Bruno Haible  <bruno@clisp.org>
1807
1808         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
1809
1810 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
1811
1812         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
1813         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
1814         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
1815         (gl_tree_add_before, gl_tree_add_after):
1816         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
1817         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
1818         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
1819         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
1820         (gl_linked_add_after, gl_linked_add_at): Likewise.
1821         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
1822         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
1823         (gl_tree_add_before, gl_tree_add_after): Likewise.
1824         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
1825         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
1826         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
1827
1828 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1829
1830         * lib/gl_oset.h: Use C comment style, not C++ comment style.
1831
1832 2006-11-06  Bruno Haible  <bruno@clisp.org>
1833
1834         * m4/inline.m4: New file.
1835         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
1836         * modules/list (Files): Add m4/inline.m4.
1837         * modules/oset (Files): Likewise.
1838
1839 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
1840
1841         * lib/idcache.c: Include <stddef.h>, for offsetof.
1842         (struct userid.name): Change from char * to a flexible array member.
1843         All uses changed.
1844         * modules/idcache (Depends-on): Add flexmember.
1845
1846         * MODULES.html.sh (Core language properties): New module flexmember.
1847         * modules/flexmember, m4/flexmember.m4: New files.
1848
1849         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
1850         inline functions that are identical with the old xnmalloc_inline,
1851         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
1852         that we can avoid some unnecessary integer multiplications and
1853         divisions in the common case where the element size is known at
1854         compile time.
1855         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
1856         needed.
1857         (xnboundedmalloc): Remove.
1858         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
1859         arguments, for consistency with rest of this header.
1860         (xcharalloc): Rewrite using XNMALLOC.
1861         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
1862         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
1863         versions have been moved to lib/xalloc.h and renamed to be the
1864         non-*_inline versions.
1865         (xmalloc, xrealloc): Implement without reference to the xnmalloc
1866         and xnrealloc functions, since those functions are now inline and
1867         now call us.
1868         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
1869         renaming described above.
1870         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
1871         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
1872         captures the dependency in AC_C_INLINE.
1873
1874         New module canonicalize-lgpl, proposed by Charles Wilson in
1875         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
1876         with a few small changes afterwards.
1877         * MODULES.html.sh (File system functions): New module
1878         canonicalize-lgpl.
1879         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
1880         and canonicalize_file_name.
1881         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
1882         * modules/canonicalize-lgpl: New files.
1883
1884 2006-11-05  Bruno Haible  <bruno@clisp.org>
1885
1886         * gnulib-tool (func_import, func_create_testdir): Create directories
1887         also for files in subdirectories of lib/.
1888
1889 2006-11-05  Bruno Haible  <bruno@clisp.org>
1890
1891         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
1892         ANSI C compliant.
1893
1894 2006-11-03  Bruno Haible  <bruno@clisp.org>
1895
1896         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
1897         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
1898         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
1899         (xnboundedmalloc): New inline function.
1900         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
1901         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
1902         xmalloc.
1903         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
1904         xmalloc.
1905         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
1906         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
1907         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
1908         xmalloc.
1909         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
1910         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
1911         xmalloc.
1912         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
1913         gl_tree_add_after): Use XMALLOC instead of xmalloc.
1914         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
1915         xmalloc.
1916         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
1917         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
1918         gl_tree_add_after): Use XMALLOC instead of xmalloc.
1919         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
1920         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
1921         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
1922         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
1923
1924 2006-11-03  Bruno Haible  <bruno@clisp.org>
1925
1926         * lib/c-ctype.h [C++]: Define functions without name mangling.
1927         * lib/fwriteerror.h [C++]: Likewise.
1928         * lib/gcd.h [C++]: Likewise.
1929         * lib/linebreak.h [C++]: Likewise.
1930
1931 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
1932
1933         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
1934         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
1935         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
1936         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
1937         Check for functions and headers just once.
1938         Check for declaration of canonicalize_file_name.
1939         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
1940
1941 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
1942
1943         * gnulib-tool (func_import): Fix typo in actioncmd.
1944
1945 2006-11-02  Bruno Haible  <bruno@clisp.org>
1946
1947         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
1948         newline sequence in the Makefile.am snippet as a space, like "make"
1949         does.
1950         Reported by Roger Persson <perrog@gmail.com>.
1951
1952 2006-11-01  Bruno Haible  <bruno@clisp.org>
1953
1954         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
1955         already declared in <string.h>.
1956         * lib/strcase.h (strncasecmp): Don't declare it if yes.
1957
1958 2006-11-01  Bruno Haible  <bruno@clisp.org>
1959
1960         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
1961         * lib/strcase.h: Include <string.h>.
1962         (strcasecmp): Define to rpl_strcasecmp here.
1963
1964 2006-11-01  Bruno Haible  <bruno@clisp.org>
1965
1966         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
1967
1968 2006-11-01  Eric Blake  <ebb9@byu.net>
1969
1970         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
1971
1972         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
1973
1974 2006-10-29  Bruno Haible  <bruno@clisp.org>
1975
1976         Make it compile in C++ mode.
1977         * lib/full-write.c (full_rw): Add a cast.
1978
1979 2006-11-01  Bruno Haible  <bruno@clisp.org>
1980
1981         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
1982         be POSIX compliant.
1983         Reported by Roger Persson <perrog@gmail.com>.
1984
1985 2006-11-01  Eric Blake  <ebb9@byu.net>
1986
1987         * lib/getopt_.h: Fix comments.
1988
1989 2006-10-31  Eric Blake  <ebb9@byu.net>
1990
1991         * modules/tmpdir (Depends-on): Add sys_stat.
1992         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
1993         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
1994         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
1995         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
1996         tempname.
1997
1998 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
1999
2000         Avoid some C++ diagnostics reported by Bruno Haible.
2001         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
2002         xmalloc.
2003         (quotearg_alloc): Use xcharalloc rather than xmalloc.
2004         (struct slotvec): Move to top level.
2005         (quotearg_n_options): Rewrite to avoid xmalloc.
2006         * lib/xalloc.h (xcharalloc): New function.
2007         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
2008         [defined __cplusplus]: Add function template that provides result
2009         type propagation.  This part of the change is from Bruno Haible.
2010
2011 2006-10-29  Bruno Haible  <bruno@clisp.org>
2012
2013         Make it compile in C++ mode.
2014         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
2015         * lib/strnlen1.c (strnlen1): Cast memchr result.
2016         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
2017         * lib/clean-temp.c (string_equals, string_hash): Add casts.
2018         (create_temp_dir): Rename local variable 'template'.
2019         (compile_csharp_using_sscli): Add cast.
2020         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
2021         * lib/findprog.c (find_in_path): Likewise.
2022         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
2023         * lib/wait-process.c (register_slave_subprocess): Likewise.
2024
2025 2006-10-22  Bruno Haible  <bruno@clisp.org>
2026
2027         * modules/tsearch: New file.
2028         * lib/tsearch.h: New file.
2029         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
2030         * m4/tsearch.m4: New file.
2031         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
2032
2033 2006-10-29  Eric Blake  <ebb9@byu.net>
2034
2035         * lib/arcfour.c: Assume config.h.
2036         * lib/arctwo.c: Likewise.
2037         * lib/base64.c: Likewise.
2038         * lib/check-version.c: Likewise.
2039         * lib/crc.c: Likewise.
2040         * lib/des.c: Likewise.
2041         * lib/gc-gnulib.c: Likewise.
2042         * lib/gc-libgcrypt.c: Likewise.
2043         * lib/gc-pbkdf2-sha1.c: Likewise.
2044         * lib/getaddrinfo.c: Likewise.
2045         * lib/getdelim.c: Likewise.
2046         * lib/getline.c: Likewise.
2047         * lib/hmac-md5.c: Likewise.
2048         * lib/hmac-sha1.c: Likewise.
2049         * lib/iconvme.c: Likewise.
2050         * lib/md2.c: Likewise.
2051         * lib/md4.c: Likewise.
2052         * lib/memxor.c: Likewise.
2053         * lib/read-file.c: Likewise.
2054         * lib/readline.c: Likewise.
2055         * lib/rijndael-alg-fst.c: Likewise.
2056         * lib/rijndael-api-fst.c: Likewise.
2057         * lib/xgetdomainname.c: Likewise.
2058
2059 2006-10-28  Eric Blake  <ebb9@byu.net>
2060
2061         * lib/xstrndup.c: Assume config.h.
2062
2063 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
2064
2065         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
2066         stat-macros.h is now for our own macros, whereas stat_h is for
2067         macros in the <sys/stat.h> name space.
2068         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
2069         (STAT_MACROS_H): Remove.
2070         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
2071         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
2072         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
2073         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
2074         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
2075         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
2076         Move these macros to ...
2077         * lib/stat_.h: here.  Don't include stat-macros.h.
2078         * lib/canonicalize.c: Don't include stat-macros.h.
2079         * lib/chown.c: Likewise.
2080         * lib/euidaccess.c: Likewise.
2081         * lib/file-type.c: Likewise.
2082         * lib/filemode.c: Likewise.
2083         * lib/glob.c: Likewise.
2084         * lib/isapipe.c: Likewise.
2085         * lib/lchown.c: Likewise.
2086         * lib/lstat.c: Likewise.
2087         * lib/mkdir-p.c: Likewise.
2088         * lib/rmdir.c: Likewise.
2089         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
2090         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
2091         unless mkdir isn't declared, to speed up 'configure'.
2092         Always create sys/stat.h, since it's unlikely any real sys/stat.h
2093         would define all the S_* symbols.
2094         * modules/canonicalize (Depends-on):
2095         Depend on sys_stat, not stat-macros.
2096         * modules/chown: Likewise.
2097         * modules/euidaccess: Likewise.
2098         * modules/filemode: Likewise.
2099         * modules/file-type: Likewise.
2100         * modules/glob: Likewise.
2101         * modules/isapipe: Likewise.
2102         * modules/lchown: Likewise.
2103         * modules/lstat: Likewise.
2104         * modules/mkancesdirs: Likewise.
2105         * modules/rmdir: Likewise.
2106         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
2107         * modules/modechange: Likewise.
2108         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
2109         (configure.ac): Remove gl_STAT_MACROS.
2110         * modules/sys_stat (Depends-on): Remove stat-macros.
2111
2112 2006-10-27  Bruno Haible  <bruno@clisp.org>
2113
2114         * m4/signed.m4: Remove file.
2115         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
2116         invocation.
2117         * modules/vasnprintf (Files): Remove m4/signed.m4.
2118
2119 2006-10-27  Bruno Haible  <bruno@clisp.org>
2120
2121         Update to GNU gettext 0.16.
2122         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
2123         m4/inttypes-h.m4, m4/signed.m4.
2124         * m4/gettext.m4: Update to GNU gettext 0.16.
2125         * m4/intl.m4: New file, from GNU gettext.
2126         * m4/intldir.m4: New file, from GNU gettext.
2127         * config/srclist.txt: Update
2128
2129 2006-10-27  Eric Blake  <ebb9@byu.net>
2130
2131         * MODULES.html.sh: Document tempname.
2132         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
2133         dependencies.
2134         (Files): Move lib/tempname.c...
2135         * modules/tempname: ...to this new module.
2136         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
2137         (gl_PREREQ_TEMPNAME): Move...
2138         * m4/tempname.m4: ...to this new file.
2139         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
2140         * modules/sys_stat (Depends-on): Add stat-macros.
2141         * lib/stat_.h (includes): Pick up stat macros.
2142         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
2143         if stat macros are broken.
2144         * lib/tempname.c (includes): No need to include "stat-macros.h".
2145         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
2146         (direxists, __path_search) [!_LIBC]: Don't compile these in
2147         gnulib; the tmpdir module covers that.
2148         * lib/tempname.h: New file.
2149
2150 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
2151
2152         * COPYING: Explain how gnulib-tool converts licence headers.
2153         Almost all wording by Eric Blake.
2154
2155 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
2156
2157         * lib/mbchar.h (is_basic_table): Make read-only.
2158         * lib/mbchar.c (is_basic_table): Likewise.
2159         Reported by John Darrington.
2160
2161 2006-10-25  Bruno Haible  <bruno@clisp.org>
2162
2163         * lib/progname.h (set_program_name): Undefine before defining.
2164
2165 2006-10-25  Bruno Haible  <bruno@clisp.org>
2166
2167         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
2168         false for non-gcc C++ compilers.
2169         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
2170
2171 2006-10-24  Bruno Haible  <bruno@clisp.org>
2172
2173         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
2174         iconv implementations like Irix iconv.
2175
2176 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2177
2178         * modules/vararrays: New file.
2179         * m4/vararrays.m4: New file, taken from diffutils.
2180         * MODULES.html.sh: New module vararrays.
2181
2182 2006-10-24  Karl Berry  <karl@gnu.org>
2183
2184         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
2185         Don't call GNU Unix.
2186
2187 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2188
2189         * users.txt: Add Libtool.
2190
2191         Sync from Libtool:
2192
2193         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2194
2195         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
2196         to gnulib's policy of including config.h unconditionally.
2197
2198 2006-10-24  Bruno Haible  <bruno@clisp.org>
2199
2200         * modules/wcwidth (Files): Add m4/wint_t.m4.
2201         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
2202         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
2203
2204 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2205
2206         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
2207         to pacify GCC with some -W flags enabled.  Problem reported by
2208         Bruno Haible.
2209
2210 2006-10-24  Jim Meyering  <jim@meyering.net>
2211
2212         * MODULES.html.sh: Remove uinttostr.  It's not a module.
2213         Reported by Karl Berry.
2214
2215 2006-10-23  Bruno Haible  <bruno@clisp.org>
2216
2217         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
2218
2219 2006-10-24  Bruno Haible  <bruno@clisp.org>
2220
2221         * lib/gl_list.h: Use C comment style, not C++ comment style.
2222
2223 2006-10-23  Eric Blake  <ebb9@byu.net>
2224
2225         * lib/getaddrinfo.c (includes): Add missing include.
2226
2227 2006-10-23  Bruno Haible  <bruno@clisp.org>
2228             Paul Eggert  <eggert@cs.ucla.edu>
2229
2230         Ability to rename obstack_free.
2231         * lib/obstack.h (__obstack_free): New macro. Declare instead of
2232         obstack_free.
2233         (obstack_free): Invoke the __obstack_free macro.
2234         * lib/obstack.c (obstack_free): Use __obstack_free macro.
2235
2236 2006-10-23  Bruno Haible  <bruno@clisp.org>
2237             Paul Eggert  <eggert@cs.ucla.edu>
2238
2239         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
2240         __argc, __argv from the declaration. (They are defined as macros on
2241         mingw.)
2242
2243 2006-10-22  Bruno Haible  <bruno@clisp.org>
2244
2245         * doc/gnulib-intro.texi: New file.
2246         * doc/gnulib.texi: Include it.
2247
2248 2006-10-21  Bruno Haible  <bruno@clisp.org>
2249
2250         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
2251         "Introduction", "Miscellanous Notes", "Particular Modules".
2252
2253 2006-10-21  Bruno Haible  <bruno@clisp.org>
2254
2255         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2256         Change mostlyclean-local rule to avoid sh syntax error from bash
2257         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
2258
2259 2006-10-23  Jim Meyering  <jim@meyering.net>
2260
2261         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
2262         in place of snprintf.
2263
2264         * modules/inttostr (Files): Add lib/uinttostr.c.
2265         * lib/uinttostr.c (inttostr): New file/function.
2266         * lib/inttostr.h (uinttostr): Declare.
2267         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
2268         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
2269         Add uinttostr.
2270         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
2271
2272 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
2273
2274         * lib/canonicalize.c (ELOOP): Define if not already defined.
2275         Problem reported by Bruno Haible in
2276         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
2277
2278 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
2279
2280         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
2281         Problem reported by Perry Smith and Ville Laurikari.
2282
2283         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
2284         uses.
2285
2286 2006-10-19  Bruno Haible  <bruno@clisp.org>
2287
2288         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
2289         for mingw.
2290
2291 2006-10-19  Bruno Haible  <bruno@clisp.org>
2292
2293         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
2294         Needed for mingw.
2295
2296 2006-10-19  Bruno Haible  <bruno@clisp.org>
2297
2298         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
2299
2300 2006-10-19  Bruno Haible  <bruno@clisp.org>
2301
2302         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
2303         it.
2304
2305 2006-10-19  Bruno Haible  <bruno@clisp.org>
2306
2307         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
2308         invocation.
2309
2310 2006-10-19  Bruno Haible  <bruno@clisp.org>
2311
2312         * gnulib-tool (func_create_testdir): Don't include ftruncate and
2313         mountlist by default.
2314
2315 2006-10-16  Bruno Haible  <bruno@clisp.org>
2316
2317         * lib/c-strstr.c: Include c-strstr.h.
2318
2319 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
2320
2321         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
2322         in a slash.
2323
2324 2006-10-18  Bruno Haible  <bruno@clisp.org>
2325
2326         * lib/lock.h [C++]: Wrap definitions in extern "C".
2327
2328 2006-10-18  Bruno Haible  <bruno@clisp.org>
2329
2330         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
2331         gl_LIBOBJS list.
2332
2333 2006-10-18  Bruno Haible  <bruno@clisp.org>
2334
2335         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
2336
2337 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
2338
2339         * lib/xstrtol.h: Include gettext.h.
2340         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
2341         Problem reported by Eric Blake.
2342         * modules/xstrtol (Depends-on): Add gettext-h.
2343
2344 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
2345
2346         * lib/strftime.c (advance): New macro.
2347         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
2348         incomplete type, so you can't add 0 to it.  Problem and patch
2349         reported by Eelco Dolstra for dietlibc.
2350
2351 2006-10-18  Jim Meyering  <jim@meyering.net>
2352
2353         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
2354         type for a local, and rename it: s/up/user_proc/.
2355
2356 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
2357
2358         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
2359         READ_UTMP_USER_PROCESS.
2360         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
2361
2362 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
2363
2364         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
2365         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
2366
2367 2006-10-17  Eric Blake  <ebb9@byu.net>
2368
2369         * lib/sigprocmask.c (sigprocmask): Fix typo.
2370
2371         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
2372
2373         * modules/clean-temp (Makefile.am): Don't add to make output...
2374         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
2375         config.h.
2376
2377 2006-10-17  Bruno Haible  <bruno@clisp.org>
2378
2379         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
2380         differently if DEFAULT_TEXT_DOMAIN is set.
2381
2382 2006-10-16  Bruno Haible  <bruno@clisp.org>
2383
2384         * lib/clean-temp.c: Include fwriteerror.h.
2385
2386 2006-10-16  Bruno Haible  <bruno@clisp.org>
2387
2388         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
2389
2390 2006-10-16  Bruno Haible  <bruno@clisp.org>
2391
2392         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
2393         * lib/sigprocmask.h: Include <sys/types.h>.
2394         (sigset_t): Use the system's definition if present.
2395
2396 2006-10-17  Eric Blake  <ebb9@byu.net>
2397
2398         * lib/xvasprintf.c (includes): Assume config.h.
2399         * lib/xasprintf.c (includes): Likewise.
2400
2401 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2402
2403         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
2404         at least as wide as intmax_t.
2405
2406 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
2407
2408         (Imported from Automake.)
2409         * build-aux/gnupload: Update to version 1.1 of directive file.
2410
2411 2006-10-16  Eric Blake  <ebb9@byu.net>
2412
2413         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
2414         match Automake 1.10a.
2415
2416 2006-10-14  Bruno Haible  <bruno@clisp.org>
2417
2418         * modules/sigprocmask: New file.
2419         * lib/sigprocmask.h: New file.
2420         * lib/sigprocmask.c: New file.
2421         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
2422         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
2423         request sigprocmask.o.
2424         (gl_PREREQ_SIGPROCMASK): New macro.
2425         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
2426         (Depends-on): Add sigprocmask.
2427         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
2428         gt_SIGNALBLOCKING. Test for 'raise' only once.
2429         * lib/fatal-signal.c: Include sigprocmask.h.
2430         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
2431         unblock_fatal_signals): Define always.
2432         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
2433         sigprocmask.
2434
2435 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2436
2437         Sync from Automake.
2438         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
2439         which incorrectly sets the mode of an existing destination
2440         directory.  In some cases the unpatched install-sh could do the
2441         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
2442         system.  We hope this is rare in practice, but it's clearly worth
2443         fixing.  Problem reported by Alex Unleashed in
2444         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
2445         Also, don't bother to check for -m bugs unless we're using -m;
2446         suggested by Stepan Kasal.
2447
2448 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2449
2450         Sync from Automake.
2451         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
2452         `-c' flag, so they appear at the same position as in %FASTDEP%
2453         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
2454         which ignores unknown options only after the first non-option.
2455         Bug report against M4 by Nelson H. F. Beebe.
2456
2457 2006-10-13  Jim Meyering  <jim@meyering.net>
2458
2459         Fix a bug in yesterday's change.
2460         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
2461         p->fts_statp->st_dev would be used uninitialized.
2462         Ensures that we always call fts_stat on the very first entry.
2463         Miklos Szeredi reported that find -xdev stopped working.
2464
2465 2006-10-12  Bruno Haible  <bruno@clisp.org>
2466
2467         * gnulib-tool (func_get_automake_snippet): Append an automatically
2468         computed EXTRA_DIST augmentation.
2469         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
2470         * modules/alloca-opt (Makefile.am): Likewise.
2471         * modules/allocsa (Makefile.am): Likewise.
2472         * modules/arcfour (Makefile.am): Likewise.
2473         * modules/arctwo (Makefile.am): Likewise.
2474         * modules/argmatch (Makefile.am): Likewise.
2475         * modules/argz (Makefile.am): Likewise.
2476         * modules/atexit (Makefile.am): Likewise.
2477         * modules/backupfile (Makefile.am): Likewise.
2478         * modules/byteswap (Makefile.am): Likewise.
2479         * modules/c-strtod (Makefile.am): Likewise.
2480         * modules/c-strtold (Makefile.am): Likewise.
2481         * modules/calloc (Makefile.am): Likewise.
2482         * modules/canon-host (Makefile.am): Likewise.
2483         * modules/canonicalize (Makefile.am): Likewise.
2484         * modules/chdir-long (Makefile.am): Likewise.
2485         * modules/chdir-safer (Makefile.am): Likewise.
2486         * modules/check-version (Makefile.am): Likewise.
2487         * modules/chown (Makefile.am): Likewise.
2488         * modules/cloexec (Makefile.am): Likewise.
2489         * modules/close-stream (Makefile.am): Likewise.
2490         * modules/closeout (Makefile.am): Likewise.
2491         * modules/crc (Makefile.am): Likewise.
2492         * modules/csharpexec (Makefile.am): Likewise.
2493         * modules/cycle-check (Makefile.am): Likewise.
2494         * modules/des (Makefile.am): Likewise.
2495         * modules/dev-ino (Makefile.am): Likewise.
2496         * modules/dirfd (Makefile.am): Likewise.
2497         * modules/dirname (Makefile.am): Likewise.
2498         * modules/dup2 (Makefile.am): Likewise.
2499         * modules/eealloc (Makefile.am): Likewise.
2500         * modules/error (Makefile.am): Likewise.
2501         * modules/euidaccess (Makefile.am): Likewise.
2502         * modules/exclude (Makefile.am): Likewise.
2503         * modules/exitfail (Makefile.am): Likewise.
2504         * modules/fcntl-safer (Makefile.am): Likewise.
2505         * modules/fcntl (Makefile.am): Likewise.
2506         * modules/file-type (Makefile.am): Likewise.
2507         * modules/fileblocks (Makefile.am): Likewise.
2508         * modules/filemode (Makefile.am): Likewise.
2509         * modules/filenamecat (Makefile.am): Likewise.
2510         * modules/fnmatch (Makefile.am): Likewise.
2511         * modules/fopen-safer (Makefile.am): Likewise.
2512         * modules/fpending (Makefile.am): Likewise.
2513         * modules/fprintftime (Makefile.am): Likewise.
2514         * modules/free (Makefile.am): Likewise.
2515         * modules/fsusage (Makefile.am): Likewise.
2516         * modules/ftruncate (Makefile.am): Likewise.
2517         * modules/fts (Makefile.am): Likewise.
2518         * modules/gc-arcfour (Makefile.am): Likewise.
2519         * modules/gc-des (Makefile.am): Likewise.
2520         * modules/gc-hmac-md5 (Makefile.am): Likewise.
2521         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
2522         * modules/gc-md4 (Makefile.am): Likewise.
2523         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
2524         * modules/gc-sha1 (Makefile.am): Likewise.
2525         * modules/gc (Makefile.am): Likewise.
2526         * modules/getaddrinfo (Makefile.am): Likewise.
2527         * modules/getcwd (Makefile.am): Likewise.
2528         * modules/getdelim (Makefile.am): Likewise.
2529         * modules/getdomainname (Makefile.am): Likewise.
2530         * modules/getgroups (Makefile.am): Likewise.
2531         * modules/gethostname (Makefile.am): Likewise.
2532         * modules/gethrxtime (Makefile.am): Likewise.
2533         * modules/getline (Makefile.am): Likewise.
2534         * modules/getloadavg (Makefile.am): Likewise.
2535         * modules/getlogin_r (Makefile.am): Likewise.
2536         * modules/getndelim2 (Makefile.am): Likewise.
2537         * modules/getopt (Makefile.am): Likewise.
2538         * modules/getpagesize (Makefile.am): Likewise.
2539         * modules/getpass-gnu (Makefile.am): Likewise.
2540         * modules/getpass (Makefile.am): Likewise.
2541         * modules/getsubopt (Makefile.am): Likewise.
2542         * modules/gettime (Makefile.am): Likewise.
2543         * modules/gettimeofday (Makefile.am): Likewise.
2544         * modules/getugroups (Makefile.am): Likewise.
2545         * modules/getusershell (Makefile.am): Likewise.
2546         * modules/glob (Makefile.am): Likewise.
2547         * modules/group-member (Makefile.am): Likewise.
2548         * modules/hard-locale (Makefile.am): Likewise.
2549         * modules/hash (Makefile.am): Likewise.
2550         * modules/hmac-md5 (Makefile.am): Likewise.
2551         * modules/hmac-sha1 (Makefile.am): Likewise.
2552         * modules/human (Makefile.am): Likewise.
2553         * modules/idcache (Makefile.am): Likewise.
2554         * modules/imaxabs (Makefile.am): Likewise.
2555         * modules/imaxdiv (Makefile.am): Likewise.
2556         * modules/inet_ntop (Makefile.am): Likewise.
2557         * modules/inet_pton (Makefile.am): Likewise.
2558         * modules/intprops (Makefile.am): Likewise.
2559         * modules/inttostr (Makefile.am): Likewise.
2560         * modules/inttypes (Makefile.am): Likewise.
2561         * modules/isapipe (Makefile.am): Likewise.
2562         * modules/javaversion (Makefile.am): Likewise.
2563         * modules/lchmod (Makefile.am): Likewise.
2564         * modules/lchown (Makefile.am): Likewise.
2565         * modules/localcharset (Makefile.am): Likewise.
2566         * modules/long-options (Makefile.am): Likewise.
2567         * modules/lstat (Makefile.am): Likewise.
2568         * modules/malloc (Makefile.am): Likewise.
2569         * modules/mathl (Makefile.am): Likewise.
2570         * modules/mbchar (Makefile.am): Likewise.
2571         * modules/md2 (Makefile.am): Likewise.
2572         * modules/md4 (Makefile.am): Likewise.
2573         * modules/md5 (Makefile.am): Likewise.
2574         * modules/memcasecmp (Makefile.am): Likewise.
2575         * modules/memchr (Makefile.am): Likewise.
2576         * modules/memcmp (Makefile.am): Likewise.
2577         * modules/memcoll (Makefile.am): Likewise.
2578         * modules/memcpy (Makefile.am): Likewise.
2579         * modules/memmem (Makefile.am): Likewise.
2580         * modules/memmove (Makefile.am): Likewise.
2581         * modules/mempcpy (Makefile.am): Likewise.
2582         * modules/memrchr (Makefile.am): Likewise.
2583         * modules/memset (Makefile.am): Likewise.
2584         * modules/memxor (Makefile.am): Likewise.
2585         * modules/mkancesdirs (Makefile.am): Likewise.
2586         * modules/mkdir-p (Makefile.am): Likewise.
2587         * modules/mkdir (Makefile.am): Likewise.
2588         * modules/mkdtemp (Makefile.am): Likewise.
2589         * modules/mkstemp (Makefile.am): Likewise.
2590         * modules/mktime (Makefile.am): Likewise.
2591         * modules/modechange (Makefile.am): Likewise.
2592         * modules/mountlist (Makefile.am): Likewise.
2593         * modules/nanosleep (Makefile.am): Likewise.
2594         * modules/obstack (Makefile.am): Likewise.
2595         * modules/openat (Makefile.am): Likewise.
2596         * modules/pagealign_alloc (Makefile.am): Likewise.
2597         * modules/pathmax (Makefile.am): Likewise.
2598         * modules/physmem (Makefile.am): Likewise.
2599         * modules/poll (Makefile.am): Likewise.
2600         * modules/posixtm (Makefile.am): Likewise.
2601         * modules/posixver (Makefile.am): Likewise.
2602         * modules/putenv (Makefile.am): Likewise.
2603         * modules/quote (Makefile.am): Likewise.
2604         * modules/quotearg (Makefile.am): Likewise.
2605         * modules/raise (Makefile.am): Likewise.
2606         * modules/read-file (Makefile.am): Likewise.
2607         * modules/readline (Makefile.am): Likewise.
2608         * modules/readlink (Makefile.am): Likewise.
2609         * modules/readtokens (Makefile.am): Likewise.
2610         * modules/readutmp (Makefile.am): Likewise.
2611         * modules/realloc (Makefile.am): Likewise.
2612         * modules/regex (Makefile.am): Likewise.
2613         * modules/rename-dest-slash (Makefile.am): Likewise.
2614         * modules/rename (Makefile.am): Likewise.
2615         * modules/rijndael (Makefile.am): Likewise.
2616         * modules/rmdir (Makefile.am): Likewise.
2617         * modules/rpmatch (Makefile.am): Likewise.
2618         * modules/safe-read (Makefile.am): Likewise.
2619         * modules/safe-write (Makefile.am): Likewise.
2620         * modules/same-inode (Makefile.am): Likewise.
2621         * modules/same (Makefile.am): Likewise.
2622         * modules/save-cwd (Makefile.am): Likewise.
2623         * modules/savedir (Makefile.am): Likewise.
2624         * modules/setenv (Makefile.am): Likewise.
2625         * modules/settime (Makefile.am): Likewise.
2626         * modules/sha1 (Makefile.am): Likewise.
2627         * modules/sig2str (Makefile.am): Likewise.
2628         * modules/snprintf (Makefile.am): Likewise.
2629         * modules/stat-macros (Makefile.am): Likewise.
2630         * modules/stat-time (Makefile.am): Likewise.
2631         * modules/stdbool (Makefile.am): Likewise.
2632         * modules/stdint (Makefile.am): Likewise.
2633         * modules/stdlib-safer (Makefile.am): Likewise.
2634         * modules/stpcpy (Makefile.am): Likewise.
2635         * modules/stpncpy (Makefile.am): Likewise.
2636         * modules/strcase (Makefile.am): Likewise.
2637         * modules/strcasestr (Makefile.am): Likewise.
2638         * modules/strchrnul (Makefile.am): Likewise.
2639         * modules/strcspn (Makefile.am): Likewise.
2640         * modules/strdup (Makefile.am): Likewise.
2641         * modules/strerror (Makefile.am): Likewise.
2642         * modules/strftime (Makefile.am): Likewise.
2643         * modules/strndup (Makefile.am): Likewise.
2644         * modules/strnlen (Makefile.am): Likewise.
2645         * modules/strpbrk (Makefile.am): Likewise.
2646         * modules/strsep (Makefile.am): Likewise.
2647         * modules/strstr (Makefile.am): Likewise.
2648         * modules/strtod (Makefile.am): Likewise.
2649         * modules/strtoimax (Makefile.am): Likewise.
2650         * modules/strtok_r (Makefile.am): Likewise.
2651         * modules/strtol (Makefile.am): Likewise.
2652         * modules/strtoll (Makefile.am): Likewise.
2653         * modules/strtoul (Makefile.am): Likewise.
2654         * modules/strtoull (Makefile.am): Likewise.
2655         * modules/strtoumax (Makefile.am): Likewise.
2656         * modules/strverscmp (Makefile.am): Likewise.
2657         * modules/sys_socket (Makefile.am): Likewise.
2658         * modules/sys_stat (Makefile.am): Likewise.
2659         * modules/sysexits (Makefile.am): Likewise.
2660         * modules/time_r (Makefile.am): Likewise.
2661         * modules/timegm (Makefile.am): Likewise.
2662         * modules/timespec (Makefile.am): Likewise.
2663         * modules/tmpfile-safer (Makefile.am): Likewise.
2664         * modules/trim (Makefile.am): Likewise.
2665         * modules/unistd-safer (Makefile.am): Likewise.
2666         * modules/unlinkdir (Makefile.am): Likewise.
2667         * modules/unlocked-io (Makefile.am): Likewise.
2668         * modules/userspec (Makefile.am): Likewise.
2669         * modules/utime (Makefile.am): Likewise.
2670         * modules/utimecmp (Makefile.am): Likewise.
2671         * modules/utimens (Makefile.am): Likewise.
2672         * modules/vasnprintf (Makefile.am): Likewise.
2673         * modules/vasprintf (Makefile.am): Likewise.
2674         * modules/vsnprintf (Makefile.am): Likewise.
2675         * modules/xalloc (Makefile.am): Likewise.
2676         * modules/xgetcwd (Makefile.am): Likewise.
2677         * modules/xnanosleep (Makefile.am): Likewise.
2678         * modules/xreadlink (Makefile.am): Likewise.
2679         * modules/xstrtod (Makefile.am): Likewise.
2680         * modules/xstrtol (Makefile.am): Likewise.
2681         * modules/xstrtold (Makefile.am): Likewise.
2682         * modules/yesno (Makefile.am): Likewise.
2683         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
2684
2685 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2686
2687         * modules/error (Makefile.am): Distribute files through
2688         EXTRA_DIST, not lib_SOURCES.
2689
2690 2006-10-12  Eric Blake  <ebb9@byu.net>
2691
2692         * modules/error (Makefile.am): Distribute files in /lib.
2693         * modules/obstack (Makefile.am): Likewise.
2694
2695 2006-10-12  Bruno Haible  <bruno@clisp.org>
2696
2697         * modules/acl (Makefile.am): Distribute all files in lib/ through
2698         EXTRA_DIST.
2699         * modules/arcfour (Makefile.am): Likewise.
2700         * modules/arctwo (Makefile.am): Likewise.
2701         * modules/argmatch (Makefile.am): Likewise.
2702         * modules/argz (Makefile.am): Likewise.
2703         * modules/atexit (Makefile.am): Likewise.
2704         * modules/backupfile (Makefile.am): Likewise.
2705         * modules/c-strtod (Makefile.am): Likewise.
2706         * modules/c-strtold (Makefile.am): Likewise.
2707         * modules/calloc (Makefile.am): Likewise.
2708         * modules/canon-host (Makefile.am): Likewise.
2709         * modules/canonicalize (Makefile.am): Likewise.
2710         * modules/chdir-long (Makefile.am): Likewise.
2711         * modules/chdir-safer (Makefile.am): Likewise.
2712         * modules/check-version (Makefile.am): Likewise.
2713         * modules/chown (Makefile.am): Likewise.
2714         * modules/cloexec (Makefile.am): Likewise.
2715         * modules/close-stream (Makefile.am): Likewise.
2716         * modules/closeout (Makefile.am): Likewise.
2717         * modules/crc (Makefile.am): Likewise.
2718         * modules/cycle-check (Makefile.am): Likewise.
2719         * modules/des (Makefile.am): Likewise.
2720         * modules/dirfd (Makefile.am): Likewise.
2721         * modules/dirname (Makefile.am): Likewise.
2722         * modules/dup2 (Makefile.am): Likewise.
2723         * modules/euidaccess (Makefile.am): Likewise.
2724         * modules/exclude (Makefile.am): Likewise.
2725         * modules/exitfail (Makefile.am): Likewise.
2726         * modules/fcntl-safer (Makefile.am): Likewise.
2727         * modules/file-type (Makefile.am): Likewise.
2728         * modules/fileblocks (Makefile.am): Likewise.
2729         * modules/filemode (Makefile.am): Likewise.
2730         * modules/filenamecat (Makefile.am): Likewise.
2731         * modules/fnmatch (Makefile.am): Likewise.
2732         * modules/fopen-safer (Makefile.am): Likewise.
2733         * modules/fpending (Makefile.am): Likewise.
2734         * modules/fprintftime (Makefile.am): Likewise.
2735         * modules/free (Makefile.am): Likewise.
2736         * modules/fsusage (Makefile.am): Likewise.
2737         * modules/ftruncate (Makefile.am): Likewise.
2738         * modules/fts (Makefile.am): Likewise.
2739         * modules/gc (Makefile.am): Likewise.
2740         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
2741         * modules/getaddrinfo (Makefile.am): Likewise.
2742         * modules/getcwd (Makefile.am): Likewise.
2743         * modules/getdelim (Makefile.am): Likewise.
2744         * modules/getdomainname (Makefile.am): Likewise.
2745         * modules/getgroups (Makefile.am): Likewise.
2746         * modules/gethostname (Makefile.am): Likewise.
2747         * modules/gethrxtime (Makefile.am): Likewise.
2748         * modules/getline (Makefile.am): Likewise.
2749         * modules/getloadavg (Makefile.am): Likewise.
2750         * modules/getlogin_r (Makefile.am): Likewise.
2751         * modules/getopt (Makefile.am): Likewise.
2752         * modules/getpass (Makefile.am): Likewise.
2753         * modules/getpass-gnu (Makefile.am): Likewise.
2754         * modules/getsubopt (Makefile.am): Likewise.
2755         * modules/gettime (Makefile.am): Likewise.
2756         * modules/gettimeofday (Makefile.am): Likewise.
2757         * modules/getugroups (Makefile.am): Likewise.
2758         * modules/getusershell (Makefile.am): Likewise.
2759         * modules/glob (Makefile.am): Likewise.
2760         * modules/group-member (Makefile.am): Likewise.
2761         * modules/hard-locale (Makefile.am): Likewise.
2762         * modules/hash (Makefile.am): Likewise.
2763         * modules/hmac-md5 (Makefile.am): Likewise.
2764         * modules/hmac-sha1 (Makefile.am): Likewise.
2765         * modules/human (Makefile.am): Likewise.
2766         * modules/idcache (Makefile.am): Likewise.
2767         * modules/imaxabs (Makefile.am): Likewise.
2768         * modules/imaxdiv (Makefile.am): Likewise.
2769         * modules/inet_ntop (Makefile.am): Likewise.
2770         * modules/inet_pton (Makefile.am): Likewise.
2771         * modules/inttostr (Makefile.am): Likewise.
2772         * modules/isapipe (Makefile.am): Likewise.
2773         * modules/lchown (Makefile.am): Likewise.
2774         * modules/long-options (Makefile.am): Likewise.
2775         * modules/lstat (Makefile.am): Likewise.
2776         * modules/malloc (Makefile.am): Likewise.
2777         * modules/mathl (Makefile.am): Likewise.
2778         * modules/mbchar (Makefile.am): Likewise.
2779         * modules/md2 (Makefile.am): Likewise.
2780         * modules/md4 (Makefile.am): Likewise.
2781         * modules/md5 (Makefile.am): Likewise.
2782         * modules/memcasecmp (Makefile.am): Likewise.
2783         * modules/memchr (Makefile.am): Likewise.
2784         * modules/memcmp (Makefile.am): Likewise.
2785         * modules/memcoll (Makefile.am): Likewise.
2786         * modules/memcpy (Makefile.am): Likewise.
2787         * modules/memmem (Makefile.am): Likewise.
2788         * modules/memmove (Makefile.am): Likewise.
2789         * modules/mempcpy (Makefile.am): Likewise.
2790         * modules/memrchr (Makefile.am): Likewise.
2791         * modules/memset (Makefile.am): Likewise.
2792         * modules/memxor (Makefile.am): Likewise.
2793         * modules/mkancesdirs (Makefile.am): Likewise.
2794         * modules/mkdir (Makefile.am): Likewise.
2795         * modules/mkdir-p (Makefile.am): Likewise.
2796         * modules/mkdtemp (Makefile.am): Likewise.
2797         * modules/mkstemp (Makefile.am): Likewise.
2798         * modules/mktime (Makefile.am): Likewise.
2799         * modules/modechange (Makefile.am): Likewise.
2800         * modules/mountlist (Makefile.am): Likewise.
2801         * modules/nanosleep (Makefile.am): Likewise.
2802         * modules/openat (Makefile.am): Likewise.
2803         * modules/pagealign_alloc (Makefile.am): Likewise.
2804         * modules/physmem (Makefile.am): Likewise.
2805         * modules/poll (Makefile.am): Likewise.
2806         * modules/posixtm (Makefile.am): Likewise.
2807         * modules/posixver (Makefile.am): Likewise.
2808         * modules/putenv (Makefile.am): Likewise.
2809         * modules/quote (Makefile.am): Likewise.
2810         * modules/quotearg (Makefile.am): Likewise.
2811         * modules/raise (Makefile.am): Likewise.
2812         * modules/read-file (Makefile.am): Likewise.
2813         * modules/readline (Makefile.am): Likewise.
2814         * modules/readlink (Makefile.am): Likewise.
2815         * modules/readtokens (Makefile.am): Likewise.
2816         * modules/readutmp (Makefile.am): Likewise.
2817         * modules/realloc (Makefile.am): Likewise.
2818         * modules/regex (Makefile.am): Likewise.
2819         * modules/rename (Makefile.am): Likewise.
2820         * modules/rename-dest-slash (Makefile.am): Likewise.
2821         * modules/rijndael (Makefile.am): Likewise.
2822         * modules/rmdir (Makefile.am): Likewise.
2823         * modules/rpmatch (Makefile.am): Likewise.
2824         * modules/safe-read (Makefile.am): Likewise.
2825         * modules/safe-write (Makefile.am): Likewise.
2826         * modules/same (Makefile.am): Likewise.
2827         * modules/save-cwd (Makefile.am): Likewise.
2828         * modules/savedir (Makefile.am): Likewise.
2829         * modules/setenv (Makefile.am): Likewise.
2830         * modules/settime (Makefile.am): Likewise.
2831         * modules/sha1 (Makefile.am): Likewise.
2832         * modules/sig2str (Makefile.am): Likewise.
2833         * modules/snprintf (Makefile.am): Likewise.
2834         * modules/stdlib-safer (Makefile.am): Likewise.
2835         * modules/stpcpy (Makefile.am): Likewise.
2836         * modules/stpncpy (Makefile.am): Likewise.
2837         * modules/strcase (Makefile.am): Likewise.
2838         * modules/strcasestr (Makefile.am): Likewise.
2839         * modules/strchrnul (Makefile.am): Likewise.
2840         * modules/strcspn (Makefile.am): Likewise.
2841         * modules/strdup (Makefile.am): Likewise.
2842         * modules/strerror (Makefile.am): Likewise.
2843         * modules/strftime (Makefile.am): Likewise.
2844         * modules/strndup (Makefile.am): Likewise.
2845         * modules/strnlen (Makefile.am): Likewise.
2846         * modules/strpbrk (Makefile.am): Likewise.
2847         * modules/strsep (Makefile.am): Likewise.
2848         * modules/strstr (Makefile.am): Likewise.
2849         * modules/strtod (Makefile.am): Likewise.
2850         * modules/strtoimax (Makefile.am): Likewise.
2851         * modules/strtok_r (Makefile.am): Likewise.
2852         * modules/strtol (Makefile.am): Likewise.
2853         * modules/strtoll (Makefile.am): Likewise.
2854         * modules/strtoul (Makefile.am): Likewise.
2855         * modules/strtoull (Makefile.am): Likewise.
2856         * modules/strtoumax (Makefile.am): Likewise.
2857         * modules/strverscmp (Makefile.am): Likewise.
2858         * modules/time_r (Makefile.am): Likewise.
2859         * modules/timegm (Makefile.am): Likewise.
2860         * modules/tmpfile-safer (Makefile.am): Likewise.
2861         * modules/unistd-safer (Makefile.am): Likewise.
2862         * modules/unlinkdir (Makefile.am): Likewise.
2863         * modules/userspec (Makefile.am): Likewise.
2864         * modules/utime (Makefile.am): Likewise.
2865         * modules/utimecmp (Makefile.am): Likewise.
2866         * modules/utimens (Makefile.am): Likewise.
2867         * modules/vasnprintf (Makefile.am): Likewise.
2868         * modules/vasprintf (Makefile.am): Likewise.
2869         * modules/vsnprintf (Makefile.am): Likewise.
2870         * modules/xalloc (Makefile.am): Likewise.
2871         * modules/xgetcwd (Makefile.am): Likewise.
2872         * modules/xnanosleep (Makefile.am): Likewise.
2873         * modules/xreadlink (Makefile.am): Likewise.
2874         * modules/xstrtod (Makefile.am): Likewise.
2875         * modules/xstrtol (Makefile.am): Likewise.
2876         * modules/xstrtold (Makefile.am): Likewise.
2877         * modules/yesno (Makefile.am): Likewise.
2878
2879 2006-10-12  Jim Meyering  <jim@meyering.net>
2880
2881         * m4/getloadavg.m4: Revert the change below.
2882
2883         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
2884         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
2885         fail with a symlink, which is what coreutils' ./bootstrap now
2886         creates by default.
2887
2888 2006-10-12  Bruno Haible  <bruno@clisp.org>
2889
2890         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
2891         mingw.
2892         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
2893         MSVC and mingw explicitly.
2894
2895 2006-10-11  Simon Josefsson  <jas@extundo.com>
2896             Bruno Haible  <bruno@clisp.org>
2897
2898         Add support for multiple gnulib-tool invocations in the scope of a
2899         single configure.ac file.
2900         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
2901         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
2902         with the same contents as the _LIBADD variable.
2903         (func_emit_initmacro_start, func_emit_initmacro_end,
2904         func_emit_initmacro_done): New functions.
2905         (func_import, func_create_testdir): Invoke them. Allow the identifiers
2906         gl_LIBOBJS and gl_LTLIBOBJS.
2907
2908 2006-10-11  Bruno Haible  <bruno@clisp.org>
2909
2910         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
2911         (func_create_testdir): Don't create po/Makefile.am, don't invoke
2912         autoreconf. Instead, invoke autopoint explicitly but move back the
2913         *.m4 files from gnulib.
2914
2915 2006-10-11  Bruno Haible  <bruno@clisp.org>
2916
2917         * gnulib-tool (func_usage): Make module names after --create-testdir
2918         optional.
2919         (func_create_testdir): If no module was specified, use nearly all
2920         modules.
2921
2922 2006-10-12  Jim Meyering  <jim@meyering.net>
2923
2924         Big performance improvement for fts-based tools that use FTS_NOSTAT.
2925         Avoid spurious inode-mismatch problems on non-POSIX file systems.
2926         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
2927         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
2928         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
2929         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
2930         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
2931         (fts_set_stat_required): New function.
2932         (fts_open): Defer the calls to fts_stat, if possible or requested.
2933         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
2934         into fts_stat itself.
2935         (fts_read): Perform any required (deferred) fts_stat call.
2936         (fts_build): Likewise, for the directory we're about to open and read.
2937         In the readdir loop, carefully decide whether each entry will require
2938         an eventual call to fts_stat, using dirent.d_type info if available.
2939         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
2940         a command line argument into this function.  Update all callers.
2941         Map a return value of FTS_DOT to FTS_D for a command line argument.
2942         * modules/fts (Depends-on): Add d-type.  Alphabetize.
2943         Thanks to Miklos Szeredi for his tenacity and for the initial
2944         bug report about "find" failing on a FUSE-based file system.
2945
2946         * lib/fts.c (fts_open): Use consistent indentation.
2947
2948 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2949
2950         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
2951         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
2952         reported by Jim Meyering.  All uses of cache variables renamed
2953         to match Autoconf's.
2954         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
2955         the other one.
2956
2957         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
2958         Fix misspelling in diagnostic.
2959
2960 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
2961
2962         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
2963         defined.  Problem reported by Matthew Woehlke.
2964
2965         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
2966         Add support for Tandem NonStop R series.
2967         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
2968         Use new macro.
2969
2970         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
2971         (has_trailing_slash): Omit size arg; all callers changed.
2972         Omit 'inline', since it doesn't help performance and we'd
2973         need to configure it.
2974         Don't count //, ///, etc. as having a trailing slash.
2975         As a side effect, this removes a C99ism reported by Matthew Woehlke.
2976         (rpl_rename_dest_slash): On failure, use rename's errno rather
2977         than (in some cases) an incorrect or junk errno.
2978         Simplify code by removing need to compute length; this does
2979         cause it to make two passes instead of one over the file name,
2980         but it's worth it.
2981
2982         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
2983         change, since Autoconf's version may no longer be appropriate now
2984         that we are using CVS Autoconf's version.  Add support for Tandem.
2985
2986 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
2987             Bruno Haible  <bruno@clisp.org>
2988
2989         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
2990         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
2991         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
2992         gl_AC_TYPE_LONG_LONG.
2993
2994         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
2995         instead of HAVE_LONG_LONG.
2996         * lib/printf-args.c (printf_fetchargs): Likewise.
2997         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
2998         * lib/vasnprintf.c (VASNPRINTF): Likewise.
2999         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
3000         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
3001         gl_AC_TYPE_LONG_LONG.
3002
3003 2006-10-11  Bruno Haible  <bruno@clisp.org>
3004
3005         * m4/longlong.m4: Add comments.
3006         * m4/ulonglong.m4: Likewise.
3007
3008 2006-10-10  Bruno Haible  <bruno@clisp.org>
3009
3010         Make it possible to #define stpcpy, strdup to aliases.
3011         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
3012         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
3013
3014 2006-10-10  Bruno Haible  <bruno@clisp.org>
3015
3016         Make it possible to #define gcd to an alias.
3017         * lib/gcd.c: Include config.h.
3018
3019 2006-10-10  Bruno Haible  <bruno@clisp.org>
3020
3021         Make it possible to #define c_isascii to an alias.
3022         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
3023         defined. Undefine the macros before defining them, to avoid gcc
3024         warnings.
3025         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
3026         define NO_C_CTYPE_MACROS early.
3027
3028 2006-10-10  Bruno Haible  <bruno@clisp.org>
3029
3030         Make it possible to #define set_program_name to an alias.
3031         * lib/progname.c: Don't undefine set_program_name; instead, undefine
3032         ENABLE_RELOCATABLE early.
3033
3034 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
3035
3036         Port to Tandem NSK OSS, which has 64-bit signed int but at most
3037         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
3038         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
3039         More generally, don't assume that 64-bit signed int is available
3040         if unsigned int is, and vice versa.
3041         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
3042         unsigned symbols, not on their signed counterparts.
3043         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
3044         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
3045         (UINT64_C, UINTMAX_C):
3046         Likewise.
3047         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
3048         unsigned counterparts.
3049         (Have_long_long, Unsigned): New macros.
3050         (Int): Renamed from INT.
3051         (strtoimax): Use the new macros.
3052         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
3053         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
3054         * modules/inttypes (inttypes.h): Substitute
3055         HAVE_UNSIGNED_LONG_LONG_INT.
3056         * modules/stdint (stdint.h): Likewise.
3057         (Files): Add m4/ulonglong.m4.
3058
3059 2006-10-10  Bruno Haible  <bruno@clisp.org>
3060
3061         Fix a gcc -Wshadow warning.
3062         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
3063         to 'bucket'.
3064         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
3065         gl_linked_indexof_from_to): Likewise.
3066         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
3067         Likewise.
3068         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
3069         Likewise.
3070         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
3071         Reported by Eric Blake.
3072
3073 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
3074
3075         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
3076         for NetBSD.  Problem reported by Bruno Haible.
3077
3078 2006-10-09  Jim Meyering  <jim@meyering.net>
3079
3080         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
3081         Patch from Bruno Haible.
3082
3083 2006-10-09  Jim Meyering  <jim@meyering.net>
3084
3085         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
3086         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
3087         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
3088
3089 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
3090
3091         Don't include <config.h> twice; this doesn't work in some cases,
3092         e.g., when config.h has "#define intmax_t long long int" and
3093         we include <config.h>, <inttypes.h>, <config.h> in that order.
3094         Problem reported by Matthew Woehlke in:
3095         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
3096         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
3097         * lib/fts-cycle.c: Don't include config.h.
3098         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
3099         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
3100         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
3101         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
3102         inttypes.h.
3103         * lib/xstrtoumax.c: Likewise.
3104         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
3105         __strtol and the like, so that this module is more like its siblings.
3106         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
3107         Remove; no longer needed now that we assume gnulib inttypes.h.
3108
3109 2006-10-08  Bruno Haible  <bruno@clisp.org>
3110
3111         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
3112         option.
3113
3114 2006-10-07  Jim Meyering  <jim@meyering.net>
3115
3116         * modules/inttypes (inttypes.h): Revert what seems to have been
3117         an inadvertent part of today's change: use "|", not "/" in the
3118         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
3119
3120 2006-10-07  Bruno Haible  <bruno@clisp.org>
3121
3122         * modules/sublist: New file.
3123
3124 2006-10-07  Bruno Haible  <bruno@clisp.org>
3125
3126         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
3127         * modules/argz (argz.h): Likewise.
3128         * modules/arpa_inet (arpa/inet.h): Likewise.
3129         * modules/byteswap (byteswap.h): Likewise.
3130         * modules/configmake (configmake.h): Likewise.
3131         * modules/fcntl (fcntl.h): Likewise.
3132         * modules/fnmatch (fnmatch.h): Likewise.
3133         * modules/getopt (getopt.h): Likewise.
3134         * modules/glob (glob.h): Likewise.
3135         * modules/inttypes (inttypes.h): Likewise.
3136         * modules/netinet_in (netinet/in.h): Likewise.
3137         * modules/poll (poll.h): Likewise.
3138         * modules/stdbool (stdbool.h): Likewise.
3139         * modules/stdint (stdint.h): Likewise.
3140         * modules/sys_select (sys/select.h): Likewise.
3141         * modules/sys_socket (sys/socket.h): Likewise.
3142         * modules/sys_stat (sys/stat.h): Likewise.
3143         * modules/sysexits (sysexits.h): Likewise.
3144         * modules/unistd (unistd.h): Likewise.
3145         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3146         Add a "DO NOT EDIT" comment to the generated file.
3147         (func_import): Likewise for gnulib-comp.m4.
3148
3149 2006-10-07  Bruno Haible  <bruno@clisp.org>
3150
3151         * lib/gl_sublist.h: New file.
3152         * lib/gl_sublist.c: New file.
3153
3154 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
3155
3156         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
3157         name (relative to the original working directory) and the file
3158         name component (relative to the temporary working directory).  All
3159         callers changed.
3160         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
3161         * lib/mkdir-p.c (make_dir_parents): Likewise.
3162         * lib/mkdir-p.h (make_dir_parents): Likewise.
3163
3164 2006-10-06  Eric Blake  <ebb9@byu.net>
3165
3166         Define several macros for use by the clean-temp module.
3167         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
3168         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
3169         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
3170
3171         * lib/clean-temp.h (close_stream_temp): New declaration.
3172         * lib/clean-temp.c (includes): Pull in headers according to what
3173         other modules are in use.
3174         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
3175
3176 2006-10-06  Bruno Haible  <bruno@clisp.org>
3177
3178         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
3179         instead of fopen, fwriteerror.
3180
3181 2006-10-06  Bruno Haible  <bruno@clisp.org>
3182
3183         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
3184         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
3185         int.
3186         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
3187         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
3188         Return an error indicator.
3189         Suggested by Eric Blake.
3190
3191 2006-10-06  Bruno Haible  <bruno@clisp.org>
3192
3193         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
3194         Reported by Eric Blake.
3195
3196 2006-10-06  Bruno Haible  <bruno@clisp.org>
3197
3198         * modules/closeout (Description): Mention stderr too.
3199
3200 2006-10-06  Bruno Haible  <bruno@clisp.org>
3201         and Paul Eggert  <eggert@cs.ucla.edu>
3202
3203         * lib/closeout.c (close_stdout): Also close stderr.
3204         * lib/closeout.h: Update comment.
3205
3206 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
3207
3208         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
3209         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
3210         * lib/dirchownmod.c: Include lchown.h.
3211         * lib/lchown.c: Don't include files that lchown.h now includes.
3212         Don't declare chown, since lchown.h now does that.
3213         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
3214         (lchown): Define to rpl_chown if lchown is declared but
3215         does not exist.  Declare using a prototype if lchown is not
3216         declared.  Add a copyright notice.
3217         * lib/mkstemp.h: Include <unistd.h>.
3218         * lib/openat.c: Include lchown.h.
3219
3220         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
3221         we now test for that separately.
3222         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
3223         rather than O_NOFOLLOW, when testing whether it's possible to
3224         avoid a race condition reliably.
3225         * lib/savewd.c (savewd_chdir): Likewise.
3226
3227         Remove macros that are no longer needed now that stdint.h is
3228         reliable.
3229         * lib/fsusage.c (UINTMAX_MAX): Remove.
3230         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
3231         * lib/utimecmp.c (SIZE_MAX): Remove.
3232
3233         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
3234
3235         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
3236         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
3237         O_NOATIME works.
3238
3239 2006-10-05  Bruno Haible  <bruno@clisp.org>
3240
3241         * lib/gl_list.h (gl_sortedlist_search_from_to,
3242         gl_sortedlist_indexof_from_to): New declarations.
3243         (gl_list_implementation): New fields sortedlist_search_from_to,
3244         sortedlist_indexof_from_to.
3245         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
3246         inline functions.
3247         * lib/gl_list.c (gl_sortedlist_search_from_to,
3248         gl_sortedlist_indexof_from_to): New functions.
3249         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
3250         function.
3251         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
3252         (gl_array_sortedlist_search_from_to): New function.
3253         (gl_array_list_implementation): Update.
3254         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
3255         function.
3256         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
3257         (gl_carray_sortedlist_search_from_to): New function.
3258         (gl_carray_list_implementation): Update.
3259         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
3260         gl_linked_sortedlist_indexof_from_to): New functions.
3261         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
3262         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
3263         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
3264         gl_tree_sortedlist_indexof_from_to): New functions.
3265         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
3266         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
3267         Update.
3268         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
3269         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
3270         Update.
3271
3272 2006-10-05  Bruno Haible  <bruno@clisp.org>
3273
3274         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
3275         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
3276         (struct gl_list_implementation): Add fields search_from_to,
3277         indexof_from_to. Remove fields search, indexof.
3278         (gl_list_search): Use the search_from_to method.
3279         (gl_list_search_from, gl_list_search_from_to): New functions.
3280         (gl_list_indexof): Use the indexof_from_to method.
3281         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
3282         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
3283         (gl_list_search_from, gl_list_search_from_to): New functions.
3284         (gl_list_indexof): Use the indexof_from_to method.
3285         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
3286         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
3287         gl_array_indexof. Add start_index, end_index arguments.
3288         (gl_array_search_from_to): Renamed from gl_array_search. Add
3289         start_index, end_index arguments.
3290         (gl_array_remove, gl_array_list_implementation): Update.
3291         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
3292         gl_carray_indexof. Add start_index, end_index arguments.
3293         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
3294         start_index, end_index arguments.
3295         (gl_carray_remove, gl_carray_list_implementation): Update.
3296         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
3297         gl_linked_search. Add start_index, end_index arguments.
3298         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
3299         start_index, end_index arguments.
3300         (gl_linked_remove): Update.
3301         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
3302         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
3303         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
3304         field to 'size_t'.
3305         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
3306         gl_tree_search. Add start_index, end_index arguments.
3307         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
3308         start_index, end_index arguments.
3309         (gl_tree_remove): Update.
3310         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
3311         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
3312         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
3313         function.
3314         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
3315         gl_tree_search. Add start_index, end_index arguments.
3316         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
3317         start_index, end_index arguments.
3318         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
3319         Update.
3320         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
3321
3322 2006-10-05  Bruno Haible  <bruno@clisp.org>
3323
3324         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
3325
3326         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
3327         fwriteerror_temp): New declarations.
3328         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
3329         (descriptors): New variable.
3330         (cleanup): First, close the descriptors.
3331         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
3332         fclose_temp, fwriteerror_temp): New functions.
3333
3334 2006-10-04  Jim Meyering  <jim@meyering.net>
3335
3336         * lib/fts.c (fts_open): Tiny comment change.
3337
3338 2006-10-04  Bruno Haible  <bruno@clisp.org>
3339
3340         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
3341         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
3342         gl_LOCK_BODY.
3343         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
3344         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
3345         gl_LOCK_EARLY_BODY.
3346         (gl_LOCK): Require gl_LOCK_BODY.
3347
3348 2006-10-04  Bruno Haible  <bruno@clisp.org>
3349
3350         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
3351         (gl_oset_search_atleast): New declaration.
3352         (struct gl_oset_implementation): Add field 'search_atleast'.
3353         (gl_oset_search_atleast): New inline function.
3354         * lib/gl_oset.c (gl_oset_search_atleast): New function.
3355         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
3356         (gl_array_oset_implementation): Update.
3357         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
3358         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
3359         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
3360
3361 2006-10-04  Bruno Haible  <bruno@clisp.org>
3362
3363         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
3364
3365 2006-10-03  Bruno Haible  <bruno@clisp.org>
3366
3367         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
3368         from gl_avltreehash_list_implementation.
3369
3370 2006-10-03  Bruno Haible  <bruno@clisp.org>
3371
3372         * lib/gl_oset.c (gl_oset_add): Fix return type.
3373
3374 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
3375
3376         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
3377
3378 2006-10-02  Eric Blake  <ebb9@byu.net>
3379
3380         * modules/strnlen (Depends-on): Add extensions.
3381
3382 2006-10-02  Eric Blake  <ebb9@byu.net>
3383
3384         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
3385         definition in 2.60+.
3386
3387 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
3388
3389         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
3390         checks.
3391
3392 2006-10-02  Bruno Haible  <bruno@clisp.org>
3393
3394         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
3395         to the AUTOMAKE_OPTIONS.
3396         Reported by Jim Meyering.
3397
3398 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
3399
3400         Work around bug in Solaris 10 /proc file system:
3401         /proc/self/fd/NNN/.. isn't the parent directory of
3402         the directory whose file descriptor is NNN.  This needs to
3403         be worked around at run time, not compile time, since a
3404         program might be built on Solaris 8, where things work, and
3405         run on Solaris 10.
3406         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
3407         to use the following interface instead:
3408         (OPENAT_BUFFER_SIZE): New macro.
3409         (openat_proc_name): New function.
3410         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
3411         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
3412         Likewise.
3413         * lib/openat-proc.c: New file.
3414         * modules/openat (Files): Add lib/openat-proc.c.
3415         (Depends-on): Add same-inode, stdbool.
3416         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
3417
3418 2006-09-29  Bruno Haible  <bruno@clisp.org>
3419
3420         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
3421         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
3422         argument. Set stdout_closed before testing for ferror, not after.
3423         (fwriteerror, fwriteerror_no_ebadf): New functions.
3424
3425 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3426
3427         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
3428
3429 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
3430
3431         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
3432         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
3433
3434 2006-09-28  Jim Meyering  <jim@meyering.net>
3435
3436         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
3437         Include <unistd.h>.
3438
3439 2006-09-28  Bruno Haible  <bruno@clisp.org>
3440
3441         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
3442         * modules/linkedhash-list (Depends-on): Likewise.
3443         * modules/rbtreehash-list (Depends-on): Likewise.
3444
3445 2006-09-28  Bruno Haible  <bruno@clisp.org>
3446
3447         * lib/strndup.h: Simplify the redefinition of strndup.
3448         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
3449         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
3450
3451 2006-09-28  Bruno Haible  <bruno@clisp.org>
3452
3453         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
3454         * lib/gl_linkedhash_list.c: Likewise.
3455         * lib/gl_rbtreehash_list.c: Likewise.
3456
3457 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
3458
3459         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
3460         getaddrinfo.
3461
3462         * lib/__fpending.h: Don't include <stdio_ext.h> unless
3463         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
3464         it causes <stdio_ext.h> to cause a compile-time error.
3465         Problem reported by Nelson H. F. Beebe.
3466         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
3467         of HAVE_DECL___PENDING.
3468
3469         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
3470         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
3471         declaration.
3472
3473 2006-09-27  Jim Meyering  <jim@meyering.net>
3474
3475         This file could end up with a definition for a function
3476         named __strndup, rather than rpl_strndup on a system with
3477         incomplete weak_alias support.
3478         * lib/strndup.c (strndup): Rename from __strndup.
3479         Remove #defines that used to map __strndup to strndup.
3480         Don't use K&R prototypes.
3481         Remove LIBC-related code, since this file is not sync'd with glibc.
3482         * lib/strndup.h: Revamp, accordingly.
3483         * m4/strndup.m4: Modernize.
3484
3485 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3486
3487         * modules/savewd (Depends-on): Add 'raise'.
3488         * lib/savewd.c: Include <signal.h>, for 'raise'.
3489
3490 2006-09-26  Jim Meyering  <jim@meyering.net>
3491
3492         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
3493         when we detect Darwin 8.7.0's acl_get_file bug.
3494         Rearrange to perform the new (below) run-test while $LIBS
3495         contains any acl-related library.  Set USE_ACL at the end.
3496         (gl_ACL_GET_FILE): New function.
3497
3498 2006-09-26  Eric Blake  <ebb9@byu.net>
3499
3500         * lib/verror.c: Include <config.h> unconditionally.
3501
3502 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
3503
3504         * modules/clock-time (Maintainer): Add self.
3505         * modules/getlogin_r (Depends-on): Add extensions.
3506
3507 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3508
3509         * modules/clock-time: New module.
3510         * modules/nanosleep (Depends-on): Add clock-time.
3511         * modules/gethrxtime (Depends-on): Likewise.
3512         * modules/gettime (Depends-on): Likewise.
3513         * modules/settime (Depends-on): Likewise.
3514
3515         * modules/fts-lgpl: Depend on openat.
3516         * modules/mkancesdirs: Depend on savewd.
3517         * modules/mkdir-p: Likewise.
3518
3519 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3520
3521         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
3522
3523         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
3524         `gl_have_arbitrary_file_name_length_limit' to
3525         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
3526         actually works between configure runs.
3527
3528 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3529             Bruno Haible  <bruno@clisp.org>
3530
3531         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
3532
3533 2006-09-25  Jim Meyering  <jim@meyering.net>
3534
3535         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
3536         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
3537
3538 2006-09-25  Eric Blake  <ebb9@byu.net>
3539
3540         * gnulib-tool (func_import, func_create_testdir): Fix typos in
3541         exec's in 2006-09-18 patch when shuffling fds.
3542
3543 2006-09-25  Bruno Haible  <bruno@clisp.org>
3544
3545         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
3546         Reported by Jim Meyering.
3547
3548 2006-09-24  Jim Meyering  <jim@meyering.net>
3549
3550         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
3551         compare a pointer against a literal "0".  That caused failures with
3552         at least HP-UX's hpcc.
3553
3554 2006-09-22  Simon Josefsson  <jas@extundo.com>
3555
3556         * modules/gc-sha1:
3557         * modules/gc-md4:
3558         * modules/gc-hmac-sha1:
3559         * modules/gc-hmac-md5:
3560         * modules/gc-des:
3561         * modules/gc-arcfour: Distribute more files.
3562
3563 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3564
3565         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
3566         (gl_linked_iterator_from_to): Initialize struct completely.
3567         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
3568         (gl_tree_iterator_from_to): Likewise
3569         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
3570         * lib/gl_array_list.c [lint] (gl_array_iterator)
3571         (gl_array_iterator_from_to): Likewise.
3572         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
3573         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
3574         (gl_carray_iterator_from_to): Likewise.
3575
3576         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
3577         * lib/md4.c (md4_process_block): Remove unused variable.
3578         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
3579         parentheses for clarity.
3580
3581 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3582
3583         * modules/bison-i18n (Depends-on): Add gettext.
3584
3585 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3586
3587         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
3588         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
3589         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
3590         also add missing comma that caused broken test.
3591         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
3592         stdlib.h, for `abort'.
3593         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
3594         variables.
3595         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
3596         include unistd.h if present, for `rmdir'.
3597         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
3598         variables.
3599         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
3600         in the process include standard headers for prototypes.
3601         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
3602         gets declared on GNU/Linux.
3603         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
3604         unistd.h, for `rmdir'.
3605         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
3606
3607         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
3608         always true.
3609         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
3610
3611         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
3612
3613 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3614
3615         * gnulib-tool (func_version): Create output all at once.  This
3616         may help avoid triggering unnecessary SIGPIPEs, and at any
3617         rate it doesn't hurt.
3618
3619 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3620             Bruno Haible  <bruno@clisp.org>
3621
3622         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
3623         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
3624         * m4/signed.m4 (bh_C_SIGNED): Likewise.
3625
3626         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
3627         (gl_FUNC_VASPRINTF): Invoke it.
3628
3629 2006-09-22  Bruno Haible  <bruno@clisp.org>
3630
3631         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
3632         getloadavg.c as first argument.
3633
3634 2006-09-22  Bruno Haible  <bruno@clisp.org>
3635
3636         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
3637         at the beginning of the gl_INIT macro.
3638         * modules/getloadavg (configure.ac): Pass $gl_source_base to
3639         gl_GETLOADAVG.
3640
3641 2006-09-22  Bruno Haible  <bruno@clisp.org>
3642
3643         * gnulib-tool (func_create_megatestdir): Don't include the config-h
3644         module.
3645         Suggested by Ralf Wildenhues.
3646
3647 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
3648
3649         Import this patch from libc:
3650
3651         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
3652
3653         * lib/regex_internal.c (re_string_reconstruct): Handle
3654         offset < pstr->valid_raw_len && pstr->offsets_needed case.
3655         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
3656         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
3657         re_string_context_at.
3658
3659         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
3660         now requires it.
3661         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
3662         gl_REGEX now does it for us.
3663         (gl_REGEX): Add test taken from
3664         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
3665
3666         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
3667         Check that large offsets work.  Modernize Autoconf usages.
3668         Prefer "yes" to mean a good thing rather than a bad.
3669         Don't put "#define mkstemp" in config.h, as this might interfere
3670         with standard system headers that "#define mkstemp mkstemp64".
3671
3672         * modules/mkstemp (Depends-on): Add extensions, so that
3673         mkstemp is visible on some platforms.
3674         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
3675         (Include): Change to "mkstemp.h" from <stdlib.h>.
3676         (Files): Add mkstemp.h.
3677
3678         * lib/mkstemp.h: New file, since some standard headers
3679         #define mkstemp.
3680         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
3681         Include "mkstemp.h".
3682         Make the _LIBC code resemble glibc original more,
3683         e.g., use K&R style.
3684         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
3685         (mkstemp): Remove, since mkstemp.h does this for us.
3686         * lib/stdlib--.h: Include mkstemp.h.
3687
3688         Import this patch from libc:
3689
3690         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
3691
3692         * lib/tempname.c (__gen_tempname): Change attempts_min
3693         into a macro.  Use preprocessor to decide how to initialize
3694         attempts [Coverity CID 67].
3695
3696 2006-09-20  Bruno Haible  <bruno@clisp.org>
3697
3698         * lib/mkdtemp.c: Import from libc.
3699         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
3700                 * sysdeps/posix/tempname.c (__gen_tempname): Change
3701                 attempts_min into a macro.  Use preprocessor to decide how to
3702                 initialize attempts [Coverity CID 67].
3703         2001-11-27  Paul Eggert  <eggert@twinsun.com>
3704                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
3705                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
3706
3707 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3708
3709         * gnulib-tool (func_exit): New function, to allow to pass the
3710         exit status portably through the trap.  Use everywhere.
3711         (--help, --version): Signal a write error.
3712         (trap): catch SIGPIPE, for write errors.
3713         Exit at the end of the trap, with the correct exit status.
3714
3715 2006-09-19  Karl Berry  <karl@gnu.org>
3716
3717         * doc/gnulib.texi: note about the license texinfo files.
3718
3719 2006-09-19  Eric Blake  <ebb9@byu.net>
3720
3721         * gnulib-tool: Avoid space-tab.
3722
3723 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3724
3725         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
3726         that prevented coreutils 6.1 from building.  Problem reported
3727         by Petter Reinholdtsen.
3728
3729 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3730
3731         * gnulib-tool (avoidlist): Fix typo that broke options like
3732         --avoid=lock that are used by coreutils bootstrap.
3733
3734 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
3735
3736         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
3737         more systematically.
3738
3739 2006-09-18  Jim Meyering  <jim@meyering.net>
3740
3741         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
3742
3743 2006-09-18  Bruno Haible  <bruno@clisp.org>
3744
3745         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
3746
3747 2006-09-18  Bruno Haible  <bruno@clisp.org>
3748
3749         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
3750         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
3751         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
3752         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
3753         * m4/gettext.m4: Require autoconf >= 2.52.
3754         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
3755         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
3756         of gl_cv_header_inttypes_h.
3757
3758 2006-09-18  Bruno Haible  <bruno@clisp.org>
3759
3760         * lib/javaversion.c: Include configmake.h.
3761
3762 2006-09-18  Bruno Haible  <bruno@clisp.org>
3763
3764         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
3765         avoid that the while loops be executed in a subshell.
3766
3767 2006-09-18  Bruno Haible  <bruno@clisp.org>
3768
3769         * MODULES.html.sh (func_module): Break long lines.
3770         Suggested by Bruce Korb <bkorb@gnu.org>.
3771
3772 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3773
3774         Speed up by a factor of 1.12.
3775         * gnulib-tool (nl): New variable.
3776         (func_import): Rewrite include directive extraction to only read each
3777         directive once.
3778
3779 2006-09-17  Bruno Haible  <bruno@clisp.org>
3780
3781         * modules/javaversion (Makefile.am): Remove DEFS setting.
3782         (Depends-on): Add configmake, for PKGDATADIR definition.
3783
3784 2006-09-17  Bruno Haible  <bruno@clisp.org>
3785
3786         * gnulib-tool (func_create_testdir): Rewrite all files at once.
3787
3788 2006-09-17  Bruno Haible  <bruno@clisp.org>
3789
3790         * gnulib-tool (func_append): New function, stolen from libtool.m4.
3791         (func_modules_transitive_closure, func_modules_add_dummy,
3792         func_modules_to_filelist, func_import, func_create_testdir,
3793         func_create_megatestdir, ...): Use it wherever possible.
3794         Suggested by Ralf Wildenhues.
3795
3796 2006-09-16  Karl Berry  <karl@gnu.org>
3797
3798         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
3799         to avoid sectioning errors.
3800         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
3801         [ifinfo]: blank line after @center-ed titles.
3802         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
3803         Spell FSF address consistently with others.
3804         (These changes approved by rms.)
3805
3806 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3807
3808         Speed up by a factor of 1.61.
3809         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
3810         already checked module names again.
3811
3812 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3813
3814         Speed up by a factor of 1.13.
3815         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
3816         for new_files, and the input to func_add_or_update.
3817
3818 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3819
3820         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
3821         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
3822
3823 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
3824
3825         * modules/mkancesdirs (Depends-on): Add fcntl.
3826         * modules/savewd: New file.
3827         * MODULES.html.sh (File system functions): Add savewd.
3828
3829         * modules/configmake (Makefile.am): Add support for the
3830         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
3831
3832 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
3833
3834         * m4/savewd.m4: New file.
3835
3836 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
3837
3838         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
3839         (dirchownmod): New arg FD.  All callers changed.
3840         Use FD rather than opening the directory ourself, as opening is
3841         now the caller's responsibility.
3842         * lib/dirchownmod.h: Likewise.
3843         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
3844         hosts that require <sys/types.h> before <sys/stat.h>.  Include
3845         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
3846         (test_dir): Remove.
3847         (mkancesdirs): Return length of prefix of FILE that has already
3848         been made, or -2 if there is a child doing the work.  Redo
3849         algorithm so that it is O(N) rather than O(N**2).  Optimize away
3850         ".", and treat ".." specially since it might stray back into
3851         already-created areas.  Use a subprocess if necessary.  New arg
3852         WD; all users changed.  MAKE_DIR function should now return 1
3853         if it creates a directory that is not readable.  Return -2 if
3854         a child process is spun off.
3855         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
3856         Adjust signature to match code.
3857         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
3858         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
3859         all users changed.
3860         * lib/savewd.c, lib/savewd.h: New files.
3861
3862 2006-09-15  Jim Meyering  <jim@meyering.net>
3863
3864         * modules/rename-dest-slash: New module.
3865         * MODULES.html.sh (posix_compat): Add it here.
3866
3867         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
3868
3869 2006-09-15  Jim Meyering  <jim@meyering.net>
3870
3871         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
3872         file.
3873
3874         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
3875
3876 2006-09-15  Jim Meyering  <jim@meyering.net>
3877
3878         * lib/rename-dest-slash.c (has_trailing_slash): Use
3879         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
3880         (rpl_rename_dest_slash): Perform the cheaper trailing slash
3881         test before testing whether SRC is a directory.
3882         Suggestions from Bruno Haible.
3883
3884         Avoid a warning about an unused variable.
3885         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
3886         into the #ifdef block where it's used.
3887
3888         * lib/rename-dest-slash.c: New file.
3889
3890 2006-09-14  Bruno Haible  <bruno@clisp.org>
3891
3892         * lib/allocsa.c: Include <config.h> unconditionally.
3893         * lib/asnprintf.c: Likewise.
3894         * lib/asprintf.c: Likewise.
3895         * lib/c-strcasecmp.c: Likewise.
3896         * lib/c-strcasestr.c: Likewise.
3897         * lib/c-strncasecmp.c: Likewise.
3898         * lib/c-strstr.c: Likewise.
3899         * lib/classpath.c: Likewise.
3900         * lib/clean-temp.c: Likewise.
3901         * lib/concatpath.c: Likewise.
3902         * lib/copy-file.c: Likewise.
3903         * lib/csharpcomp.c: Likewise.
3904         * lib/csharpexec.c: Likewise.
3905         * lib/execute.c: Likewise.
3906         * lib/fatal-signal.c: Likewise.
3907         * lib/findprog.c: Likewise.
3908         * lib/fwriteerror.c: Likewise.
3909         * lib/gl_array_list.c: Likewise.
3910         * lib/gl_array_oset.c: Likewise.
3911         * lib/gl_avltree_list.c: Likewise.
3912         * lib/gl_avltree_oset.c: Likewise.
3913         * lib/gl_avltreehash_list.c: Likewise.
3914         * lib/gl_carray_list.c: Likewise.
3915         * lib/gl_linked_list.c: Likewise.
3916         * lib/gl_linkedhash_list.c: Likewise.
3917         * lib/gl_list.c: Likewise.
3918         * lib/gl_oset.c: Likewise.
3919         * lib/gl_rbtree_list.c: Likewise.
3920         * lib/gl_rbtree_oset.c: Likewise.
3921         * lib/gl_rbtreehash_list.c: Likewise.
3922         * lib/imaxabs.c: Likewise.
3923         * lib/imaxdiv.c: Likewise.
3924         * lib/javacomp.c: Likewise.
3925         * lib/javaexec.c: Likewise.
3926         * lib/javaversion.c: Likewise.
3927         * lib/linebreak.c: Likewise.
3928         * lib/localcharset.c: Likewise.
3929         * lib/lock.c: Likewise.
3930         * lib/mbchar.c: Likewise.
3931         * lib/mbswidth.c: Likewise.
3932         * lib/mkdtemp.c: Likewise.
3933         * lib/pipe.c: Likewise.
3934         * lib/printf-args.c: Likewise.
3935         * lib/printf-parse.c: Likewise.
3936         * lib/progname.c: Likewise.
3937         * lib/progreloc.c: Likewise.
3938         * lib/readlink.c: Likewise.
3939         * lib/sh-quote.c: Likewise.
3940         * lib/stpcpy.c: Likewise.
3941         * lib/stpncpy.c: Likewise.
3942         * lib/strcasecmp.c: Likewise.
3943         * lib/strcasestr.c: Likewise.
3944         * lib/strcspn.c: Likewise.
3945         * lib/striconv.c: Likewise.
3946         * lib/strncasecmp.c: Likewise.
3947         * lib/strnlen1.c: Likewise.
3948         * lib/strstr.c: Likewise.
3949         * lib/strtok_r.c: Likewise.
3950         * lib/tls.c: Likewise.
3951         * lib/tmpdir.c: Likewise.
3952         * lib/unicodeio.c: Likewise.
3953         * lib/unsetenv.c: Likewise.
3954         * lib/vasnprintf.c: Likewise.
3955         * lib/vasprintf.c: Likewise.
3956         * lib/wait-process.c: Likewise.
3957         * lib/xallocsa.c: Likewise.
3958         * lib/xsetenv.c: Likewise.
3959         * lib/xstriconv.c: Likewise.
3960
3961 2006-09-13  Simon Josefsson  <jas@extundo.com>
3962
3963         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
3964         that internally, suggested by Ralf Wildenhues
3965         <Ralf.Wildenhues@gmx.de>.
3966
3967 2006-09-13  Simon Josefsson  <jas@extundo.com>
3968
3969         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
3970         @LIBOBJS@.
3971         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3972
3973 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3974
3975         * lib/_fpending.c: Include <config.h> unconditionally, since we no
3976         longer worry about uses that don't define HAVE_CONFIG_H.
3977         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
3978         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
3979         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
3980         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
3981         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
3982         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
3983         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
3984         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
3985         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
3986         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
3987         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
3988         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
3989         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
3990         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
3991         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
3992         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
3993         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
3994         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
3995         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
3996         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
3997         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
3998         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
3999         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
4000         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
4001         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
4002         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
4003         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
4004         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
4005         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
4006         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
4007         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
4008         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
4009         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
4010         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
4011         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
4012         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
4013         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
4014         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
4015         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
4016         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
4017         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
4018         Likewise.
4019
4020 2006-09-13  Eric Blake  <ebb9@byu.net>
4021
4022         * lib/getopt.c: Fix typo in last commit.
4023
4024 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
4025
4026         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
4027         dgettext.
4028
4029 2006-09-12  Jim Meyering  <jim@meyering.net>
4030
4031         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
4032         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
4033         Reported by Nelson H. F. Beebe.
4034
4035 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
4036
4037         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
4038         program_invocation_name and program_invocation_short_name are
4039         initialized.
4040         * lib/argp-namefrob.h: Move declarations of program_invocation_name
4041         and program_invocation_short_name to argp.h, so they are visible
4042         to user programs.
4043         * lib/argp.h: Likewise
4044
4045 2006-09-10  Bruno Haible  <bruno@clisp.org>
4046
4047         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
4048         m4/inttypes_h.m4, m4/uintmax_t.m4.
4049
4050 2006-09-10  Bruno Haible  <bruno@clisp.org>
4051
4052         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
4053         gl_AC_TYPE_UINTMAX_T.
4054
4055 2006-09-10  Bruno Haible  <bruno@clisp.org>
4056
4057         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
4058
4059 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
4060
4061         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
4062         convention.  Text proposed by Bruno Haible.
4063         (struct argp_option): Document the use of N_() wrappers.
4064
4065         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
4066         '\v', and translate the two parts separately, instead of feeding
4067         the whole string to gettext.  This allows to exclude
4068         '\v' from the strings visible to the translator by writing doc
4069         strings as N_("..") "\v" N_("..").
4070
4071 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
4072
4073         * config/srclist.txt: Undo latest change; the bug was fixed.
4074
4075 2006-09-09  Bruno Haible  <bruno@clisp.org>
4076
4077         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
4078         assignments if building a library without libtool.
4079         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
4080         in func_emit_lib_Makefile_am.
4081         (func_import): When building a static library libfoo.a, arrange to
4082         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
4083         (func_create_testdir): Likewise.
4084         * modules/gc (configure.ac, Makefile.am): If building statically,
4085         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
4086         * modules/iconvme (configure.ac, Makefile.am): Likewise.
4087         * modules/striconv (configure.ac, Makefile.am): Likewise.
4088         Based on a suggestion by Ralf Wildenhues.
4089
4090 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4091
4092         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
4093         Check for unistd.h too, since Autoconf doesn't assume POSIX.
4094         Also:
4095
4096         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4097         Add year_2050_test to catch glibc bug 2821
4098         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
4099
4100         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4101         Prefer #ifdef to #if.
4102
4103         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
4104         Return from 'main' instead of calling 'exit'.
4105
4106 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4107
4108         * lib/mktime.c (guess_time_tm): Fix bug where mktime
4109         returned the maximum time_t value rather than (time_t) -1.
4110         Problem originally reported by William Bardwell
4111         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
4112
4113         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
4114         Moved to here ...
4115         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
4116         ... from here.
4117
4118 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4119
4120         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
4121         2821 is fixed.
4122
4123 2006-09-08  Jim Meyering  <jim@meyering.net>
4124
4125         Don't make generated files read-only.  That would bother too many
4126         people.  However, do retain the ability to work when targets are
4127         read-only: remove the destination and temporary files before writing
4128         them (when generated via sed or echo), or by using the -f option for
4129         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
4130         * modules/alloca-opt, modules/argz, modules/arpa_inet:
4131         * modules/byteswap, modules/configmake, modules/fcntl:
4132         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
4133         * modules/localcharset, modules/netinet_in, modules/poll:
4134         * modules/stdbool, modules/stdint, modules/sys_select:
4135         * modules/sys_socket, modules/sys_stat, modules/sysexits:
4136
4137 2006-09-08  Jim Meyering  <jim@meyering.net>
4138
4139         Avoid new build failure on FreeBSD 6.0.
4140         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
4141         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
4142         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
4143
4144 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4145
4146         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
4147
4148 2006-09-07  Jim Meyering  <jim@meyering.net>
4149
4150         Fix global typo in last change: use chmod u-w, not chmod u-x.
4151         Spotted by Paul Eggert and Bruce Korb.
4152         * modules/alloca-opt, modules/argz, modules/arpa_inet:
4153         * modules/byteswap, modules/configmake, modules/fcntl:
4154         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
4155         * modules/localcharset, modules/netinet_in, modules/poll:
4156         * modules/stdbool, modules/stdint, modules/sys_select:
4157         * modules/sys_socket, modules/sys_stat, modules/sysexits:
4158
4159 2006-09-06  Jim Meyering  <jim@meyering.net>
4160
4161         Make generated files be read-only.
4162         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
4163         Ensure that each generated file is now read-only.
4164         * modules/argz: Likewise.
4165         * modules/arpa_inet: Likewise.
4166         * modules/byteswap: Likewise.
4167         * modules/configmake: Likewise.
4168         * modules/fcntl: Likewise.
4169         * modules/fnmatch: Likewise.
4170         * modules/getopt: Likewise.
4171         * modules/glob: Likewise.
4172         * modules/inttypes: Likewise.
4173         * modules/netinet_in: Likewise.
4174         * modules/poll: Likewise.
4175         * modules/stdbool: Likewise.
4176         * modules/stdint: Likewise.
4177         * modules/sys_select: Likewise.
4178         * modules/sys_socket: Likewise.
4179         * modules/sys_stat: Likewise.
4180         * modules/sysexits: Likewise.
4181         * modules/localcharset: Same as above, but continue using temporary
4182         file named "t-$@" (why different?) rather than the "$@-t" used
4183         everywhere else.
4184
4185         * modules/sysexits (Makefile.am): Replace literal occurrences
4186         of "sysexit.h" more readable, and more consistent, "$@".
4187
4188 2006-09-06  Bruno Haible  <bruno@clisp.org>
4189
4190         * modules/striconv: New file.
4191         * modules/xstriconv: New file.
4192         * MODULES.html.sh (Internationalization functions): Add striconv,
4193         xstriconv.
4194
4195 2006-09-06  Bruno Haible  <bruno@clisp.org>
4196
4197         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
4198         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
4199         not using libtool correctly.
4200
4201 2006-09-06  Bruno Haible  <bruno@clisp.org>
4202
4203         * lib/striconv.h: New file.
4204         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
4205         iconvstring.c.
4206         * lib/xstriconv.h: New file.
4207         * lib/xstriconv.c: New file.
4208
4209 2006-09-06  Bruno Haible  <bruno@clisp.org>
4210
4211         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
4212         lib_..._LDFLAGS.
4213
4214 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4215
4216         * lib/argz_.h: Sync from Libtool.
4217
4218         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
4219                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4220
4221         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
4222
4223 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
4224
4225         * modules/trim: New file.
4226
4227 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
4228
4229         * lib/trim.h: New file.
4230         * lib/trim.c: New file.
4231
4232 2006-09-05  Bruno Haible  <bruno@clisp.org>
4233
4234         * MODULES.html.sh (String handling): Add trim.
4235
4236 2006-09-04  Karl Berry  <karl@gnu.org>
4237
4238         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
4239         until next release.
4240
4241 2006-09-03  Bruno Haible  <bruno@clisp.org>
4242
4243         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
4244         correctly.
4245
4246 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4247
4248         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
4249         not gl_GETLOADAVG.  Omit unneeded semicolons.
4250         Problems reported by Ralf Wildenhues in
4251         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
4252         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
4253         at the end, which is the usual gnulib style.
4254
4255         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
4256         of doing all the work ourselves.
4257         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
4258         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
4259
4260 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4261
4262         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
4263         Problem reported by Ralf Wildenhues in
4264         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
4265
4266         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
4267         HAVE_STRUCT_STATFS_F_FSTYPENAME.
4268
4269 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4270
4271         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
4272         yesterday's patch by changing test -n to test -z.
4273
4274 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4275
4276         * modules/getloadavg (Files): Add m4/getloadavg.m4.
4277         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
4278         the former is now obsolescent.
4279
4280         * modules/chdir-long (Depends-on): Add fcntl.
4281
4282 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4283
4284         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
4285         obsolescent, and programs should use gnulib instead.
4286         * m4/getloadavg.m4: New file, with contents taken from Autoconf
4287         but with prefixes changed.
4288
4289 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4290
4291         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
4292         or stdbool.h, because they might not exist while configuring.
4293
4294         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
4295         Don't include unistd.h or limits.h; not needed, since chdir-long.h
4296         does that for us.
4297         (O_DIRECTORY): Remove.
4298
4299 2006-08-31  Eric Blake  <ebb9@byu.net>
4300
4301         * gnulib-tool: Don't let emacs change spaces to TAB.
4302
4303 2006-08-31  Bruno Haible  <bruno@clisp.org>
4304
4305         * gnulib-tool: When calling func_import more than once, do it in a
4306         subshell.
4307         Reported by Eric Blake <ebb9@byu.net>.
4308
4309 2006-08-31  Bruno Haible  <bruno@clisp.org>
4310
4311         * gnulib-tool (nl): Remove variable.
4312         (sed_transform_lib_file): Use more robust test for config-h module.
4313         (func_import): Fix typo in 2006-08-25 patch.
4314
4315 2006-08-31  Bruno Haible  <bruno@clisp.org>
4316
4317         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
4318         specified, augment Makefile.am variables instead of assigning them.
4319
4320 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4321
4322         Work around a bug in both the Linux and SunOS 64-bit kernels:
4323         nanosleep mishandles sleeps for longer than 2**31 seconds.
4324         Problem reported by Frank v Waveren in
4325         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
4326         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
4327         Check for nanosleep bug.
4328         (LIB_NANOSLEEP): Append clock_gettime library if needed.
4329
4330 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4331
4332         Work around a bug in both the Linux and SunOS 64-bit kernels:
4333         nanosleep mishandles sleeps for longer than 2**31 seconds.
4334         Problem reported by Frank v Waveren in
4335         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
4336         * lib/nanosleep.c (BILLION): New constant.
4337         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
4338         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
4339         implementation.
4340
4341 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4342
4343         * modules/nanosleep (Depends-on): Add gettime.
4344
4345 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4346         and Simon Josefsson  <jas@extundo.com>
4347         and Oskar Liljeblad  <oskar@osk.mine.nu>
4348
4349         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
4350         * gnulib-tool (func_import): New license type 'unmodifiable license
4351         text'.
4352         * modules/fdl: Use it.  Longer description.
4353         * module/gpl, module/lgpl: New files.
4354
4355 2006-08-30  Jim Meyering  <jim@meyering.net>
4356
4357         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
4358         shadowing the parameter.
4359
4360 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4361
4362         Sync from Libtool:
4363
4364         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4365
4366         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
4367         sharing with gnulib.  Report by Eric Blake.
4368
4369 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4370
4371         * modules/isapipe: New file.
4372         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
4373
4374 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4375
4376         * modules/configmake (Makefile.am): Add a comment, and omit
4377         the CONFIGMAKE_ prefix from generated macro names.  Suggested
4378         by Bruno Haible.
4379
4380 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4381
4382         * m4/isapipe.m4: New file.
4383
4384 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4385
4386         * lib/isapipe.c, lib/isapipe.h: New files.
4387
4388 2006-08-29  Jim Meyering  <jim@meyering.net>
4389
4390         * modules/configmake (Makefile.am): Make configmake.h depend on
4391         Makefile.  Otherwise, a stale configmake.h could hang around.
4392
4393 2006-08-29  Eric Blake  <ebb9@byu.net>
4394
4395         * lib/error.c (error_at_line, print_errno_message): Match libc, after
4396         resolution of upstream bug 3044.
4397
4398 2006-08-29  Bruno Haible  <bruno@clisp.org>
4399
4400         * modules/localcharset (Depends-on): Add configmake.
4401         (Makefile.am): Remove setting of LIBDIR through DEFS.
4402
4403 2006-08-29  Bruno Haible  <bruno@clisp.org>
4404
4405         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
4406         defined.
4407
4408 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4409
4410         * modules/fcntl: New file.
4411         * modules/chdir-safer (Depends-on): Add fcntl.
4412         * modules/fts: Likewise.
4413         * modules/mkdir-p: Likewise.
4414
4415         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
4416         This undoes the most recent change, since we're now addressing the
4417         problem in a different way.
4418
4419         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
4420         into output, since the output might be called Makefile.am even
4421         if $makefile_name is something different.
4422         (func_import): Use $makefile_am rather than
4423         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
4424         empty.
4425
4426         * modules/inttypes (Files): Add m4/inttypes-h.m4.
4427
4428 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4429
4430         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
4431         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
4432         recent change to stdint.m4, since we're now addressing the problem in a
4433         different way.
4434
4435 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4436
4437         * m4/fcntl_h.m4: New file.
4438
4439 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4440
4441         * lib/fcntl_.h: New file.
4442         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
4443         the fcntl module.
4444         * lib/dirchownmod.c: Likewise.
4445         * lib/fts.c: Likewise.
4446
4447         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
4448         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
4449         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
4450         just before including <inttypes.h>, to avoid circular inclusion.
4451
4452 2006-08-28  Jim Meyering  <jim@meyering.net>
4453
4454         * doc/visibility.texi: Actually read and correct the grammar of the
4455         sentence affected by yesterday's change.
4456
4457 2006-08-28  Eric Blake  <ebb9@byu.net>
4458
4459         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
4460         needs wrapper.
4461
4462 2006-08-28  Eric Blake  <ebb9@byu.net>
4463
4464         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
4465
4466 2006-08-28  Eric Blake  <ebb9@byu.net>
4467
4468         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
4469
4470 2006-08-28  Bruno Haible  <bruno@clisp.org>
4471
4472         * modules/c-strstr: New file, from GNU gettext.
4473         * MODULES.html.sh (String handling): Add c-strstr.
4474
4475 2006-08-28  Bruno Haible  <bruno@clisp.org>
4476
4477         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
4478         macros.
4479         Reported by Eric Blake.
4480
4481 2006-08-28  Bruno Haible  <bruno@clisp.org>
4482
4483         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
4484         (VASNPRINTF): Return a string of length > INT_MAX without failing.
4485         * lib/vasprintf.c: Include errno.h, limits.h.
4486         (EOVERFLOW): New fallback definition.
4487         (vasprintf): Test here whether the string length is > INT_MAX.
4488         * lib/vsnprintf.c: Include errno.h, limits.h.
4489         (EOVERFLOW): New fallback definition.
4490         (vsnprintf): Fix bug when generated string was too long for the buffer.
4491         Test here whether the string length is > INT_MAX.
4492
4493 2006-08-28  Bruno Haible  <bruno@clisp.org>
4494
4495         * lib/inttypes_.h (SCNX*): Remove definitions.
4496         Reported by Eric Blake.
4497
4498 2006-08-28  Bruno Haible  <bruno@clisp.org>
4499
4500         * lib/c-strstr.h: New file, from GNU gettext.
4501         * lib/c-strstr.c: New file, from GNU gettext.
4502
4503 2006-08-28  Bruno Haible  <bruno@clisp.org>
4504
4505         * gnulib-tool: Reorder some statements.
4506
4507 2006-08-28  Bruno Haible  <bruno@clisp.org>
4508
4509         * gnulib-tool: New option --makefile-name.
4510         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
4511         $makefile_name.
4512         (func_import): Write $makefile_name to the cache file, and read it from
4513         there unless explicitly specified. Use $makefile_name as file name
4514         instead of Makefile.am. Adjust the recommendations accordingly.
4515
4516 2006-08-28  Bruno Haible  <bruno@clisp.org>
4517
4518         * gnulib-tool (func_verify_module): Check against misapplying patch.
4519
4520 2006-08-28  Bruno Haible  <bruno@clisp.org>
4521
4522         * gnulib-tool (func_relativize, func_relconcat): New functions.
4523         Give an error if --local-dir is given with --update.
4524         Remove trailing slashes from $local_gnulib_dir.
4525         (func_import): Store the relativized $local_gnulib_dir in
4526         gnulib-cache.m4, and read it from there if not specified explicitly.
4527
4528 2006-08-28  Bruno Haible  <bruno@clisp.org>
4529
4530         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
4531         is the current directory. Respect also $local_gnulib_dir.
4532
4533 2006-08-28  Bruno Haible  <bruno@clisp.org>
4534             Simon Josefsson  <jas@extundo.com>
4535
4536         BeOS portability.
4537         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
4538
4539 2006-08-27  Jim Meyering  <jim@meyering.net>
4540
4541         * doc/visibility.texi: Remove duplicate word: "pointer".
4542
4543 2006-08-26  Bruno Haible  <bruno@clisp.org>
4544
4545         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
4546         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
4547         (Makefile.am): Create inttypes.h from inttypes_.h.
4548         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
4549
4550         * modules/imaxabs: New file.
4551
4552         * modules/imaxdiv: New file.
4553
4554 2006-08-26  Bruno Haible  <bruno@clisp.org>
4555
4556         * m4/inttypes.m4: New file.
4557         * m4/_inttypes_h.m4: Remove file.
4558         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
4559         PRI_MACROS_BROKEN.
4560         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
4561
4562         * m4/imaxabs.m4: New file.
4563
4564         * m4/imaxdiv.m4: New file.
4565
4566 2006-08-26  Bruno Haible  <bruno@clisp.org>
4567
4568         * lib/inttypes_.h: New file.
4569         * lib/inttypes.h: Remove file.
4570         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
4571
4572         * lib/imaxabs.c: New file.
4573
4574         * lib/imaxdiv.c: New file.
4575
4576 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
4577
4578         New config-h module, so that "make" output needn't be cluttered
4579         by -DHAVE_CONFIG_H.
4580         * MODULES.html.sh (Support for building libraries and executables):
4581         Add config-h.
4582         * modules/config-h: New file.
4583         * gnulib-tool (nl, sed_transform_lib_file): New vars.
4584         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
4585         the config-h module is used.
4586
4587         New configmake module, so that "make" output needn't be cluttered
4588         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
4589         * MODULES.html.sh (Support for building libraries and executables):
4590         Add configmake.
4591         * modules/configmake: New file.
4592
4593 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
4594
4595         * m4/config-h.m4: New file.
4596
4597 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4598
4599         * config/srclist.txt: Add elisp-comp.
4600
4601 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4602
4603         * MODULES.html.sh (Support for building libraries and executables):
4604         Add elisp-comp.
4605         * build-aux/elisp-comp: New file.
4606         * modules/elisp-comp: New file.
4607
4608 2006-08-24  Bruno Haible  <bruno@clisp.org>
4609
4610         * gnulib-tool (func_create_testdir): Use non-default values of
4611         sourcebase and m4base.
4612
4613 2006-08-24  Bruno Haible  <bruno@clisp.org>
4614
4615         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
4616         HTML structure.
4617
4618 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4619
4620         * modules/openat (Depends-on): Add lchown.
4621
4622 2006-08-23  Bruno Haible  <bruno@clisp.org>
4623
4624         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
4625         of gl_LOCK_EARLY instead of gl_LOCK.
4626
4627 2006-08-23  Bruno Haible  <bruno@clisp.org>
4628
4629         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
4630         on OSF/1 to no.
4631         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
4632
4633 2006-08-23  Bruno Haible  <bruno@clisp.org>
4634
4635         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
4636         as unusable.
4637
4638         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
4639         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
4640         (gl_LOCK): New macro.
4641
4642 2006-08-22  Simon Josefsson  <jas@extundo.com>
4643
4644         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
4645         to md5 module.
4646
4647 2006-08-22  Simon Josefsson  <jas@extundo.com>
4648
4649         * MODULES.html.sh: Add "Support for maintaining and release
4650         projects".
4651
4652         * build-aux/gnupload: New file, from coreutils.
4653
4654 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
4655
4656         Avoid the need for AC_LIBSOURCES in m4 macros.
4657         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
4658         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
4659         * modules/check-version (EXTRA_DIST): Add check-version.h.
4660         * modules/crc (EXTRA_DIST): Add crc.h.
4661         * modules/des (EXTRA_DIST): Add des.h.
4662         * modules/gc (EXTRA_DIST): Add gc.h.
4663         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
4664         * modules/getline (EXTRA_DIST): Add getline.h.
4665         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
4666         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
4667         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
4668         * modules/md2 (EXTRA_DIST): Add md2.h.
4669         * modules/md4 (EXTRA_DIST): Add md4.h.
4670         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
4671         * modules/read-file (EXTRA_DIST): Add read-file.h.
4672         * modules/readline (EXTRA_DIST): Add readline.h.
4673         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
4674         rijndael-api-fst.h.
4675
4676 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
4677
4678         * m4/rijndael.m4 (gl_ARCFOUR):
4679         * m4/arctwo.m4 (gl_ARCTWO):
4680         * m4/check-version.m4 (gl_CHECK_VERSION):
4681         * m4/crc.m4 (gl_CRC):
4682         * m4/des.m4 (gl_DES):
4683         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
4684         * m4/gc.m4 (gl_GC):
4685         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
4686         * m4/getline.m4 (gl_FUNC_GETLINE):
4687         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
4688         * m4/hmac-md5.m4 (gl_HMAC_MD5):
4689         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
4690         * m4/md2.m4 (gl_MD2):
4691         * m4/md4.m4 (gl_MD4):
4692         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
4693         * m4/read-file.m4 (gl_FUNC_READ_FILE):
4694         * m4/readline.m4 (gl_FUNC_READLINE):
4695         * m4/rijndael.m4 (gl_RIJNDAEL):
4696         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
4697         to get the necessary .h files and whatnot.
4698
4699 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
4700
4701         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
4702         gnulib rather than the other way around.
4703         * config/srclistvars.sh (COREUTILS): Remove.
4704
4705 2006-08-22  Jim Meyering  <jim@meyering.net>
4706
4707         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
4708
4709         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
4710
4711 2006-08-22  Eric Blake  <ebb9@byu.net>
4712
4713         * modules/regexprops-generic: New file.
4714         * MODULES.html.sh (Support for building documentation): List it.
4715
4716 2006-08-22  Eric Blake  <ebb9@byu.net>
4717
4718         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
4719         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
4720         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
4721         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
4722
4723 2006-08-22  Bruno Haible  <bruno@clisp.org>
4724
4725         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
4726         and lib_LTLIBRARIES like the other lib_* variables.
4727
4728 2006-08-22  Bruno Haible  <bruno@clisp.org>
4729
4730         * build-aux/x-to-1.in: New file, from GNU gettext.
4731
4732 2006-08-22  Bruno Haible  <bruno@clisp.org>
4733
4734         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
4735         <utmpx.h> exists.
4736
4737 2006-08-22  Bruno Haible  <bruno@clisp.org>
4738
4739         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
4740         <utmpx.h> exists.
4741
4742 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4743
4744         BeOS portability.
4745         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
4746         exist.
4747         Problem reported by Bruno Haible.
4748
4749 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4750
4751         Avoid the need for AC_LIBSOURCES in m4 macros.
4752         * modules/acl (EXTRA_DIST): Add acl.h.
4753         * modules/argmatch (Files): Add m4/argmatch.m4.
4754         (configure.ac): Add gl_ARGMATCH.
4755         (EXTRA_DIST): Renamed from lib_SOURCES, for
4756         consistency with the other modules.  Remove argmatch.c.
4757         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
4758         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
4759         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
4760         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
4761         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
4762         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
4763         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
4764         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
4765         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
4766         * modules/closeout (EXTRA_DIST): Add closeout.h.
4767         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
4768         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
4769         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
4770         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
4771         dirname.h; remove basename.c and stripslash.c.
4772         * modules/exclude (EXTRA_DIST): Add exclude.h.
4773         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
4774         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
4775         * modules/file-type (EXTRA_DIST): Add file-type.h.
4776         * modules/filemode (EXTRA_DIST): Add filemode.h.
4777         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
4778         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
4779         * modules/fpending (EXTRA_DIST): Add __fpending.h.
4780         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
4781         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
4782         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
4783         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
4784         * modules/getdate (EXTRA_DIST): Add getdate.c.
4785         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
4786         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
4787         * modules/getpass (EXTRA_DIST): Add getpass.h.
4788         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
4789         * modules/group-member (EXTRA_DIST): Add group-member.h.
4790         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
4791         * modules/hash (EXTRA_DIST): Add hash.h.
4792         * modules/human (EXTRA_DIST): Add human.h.
4793         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
4794         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
4795         * modules/lchown (EXTRA_DIST): Add lchown.h.
4796         * modules/long-options (EXTRA_DIST): Add long-options.h.
4797         * modules/lstat (EXTRA_DIST): Add lstat.h.
4798         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
4799         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
4800         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
4801         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
4802         * modules/memxor (EXTRA_DIST): Add memxor.h.
4803         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
4804         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
4805         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
4806         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
4807         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
4808         * modules/physmem (EXTRA_DIST): Add physmem.h.
4809         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
4810         * modules/posixver (EXTRA_DIST): Add posixver.h.
4811         * modules/quote (EXTRA_DIST): Add quote.h.
4812         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
4813         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
4814         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
4815         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
4816         regex_internal.h regexec.c.
4817         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
4818         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
4819         * modules/same (EXTRA_DIST): Add same.h.
4820         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
4821         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
4822         * modules/savedir (EXTRA_DIST): Add savedir.h.
4823         * modules/sha1 (EXTRA_DIST): Add sha1.h.
4824         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
4825         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
4826         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
4827         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
4828         * modules/strdup (EXTRA_DIST): Add strdup.h.
4829         * modules/strftime (EXTRA_DIST): Add strftime.h.
4830         * modules/strndup (EXTRA_DIST): Add strndup.h.
4831         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
4832         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
4833         * modules/time_r (EXTRA_DIST): Add time_r.h.
4834         * modules/timespec (EXTRA_DIST): Add timespec.h.
4835         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
4836         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
4837         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
4838         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
4839         * modules/userspec (EXTRA_DIST): Add userspec.h.
4840         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
4841         * modules/utimens (EXTRA_DIST): Add utimens.h.
4842         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
4843         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
4844         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
4845         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
4846         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
4847         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
4848         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
4849         * modules/yesno (EXTRA_DIST): Add yesno.h.
4850
4851 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4852
4853         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
4854
4855         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
4856         * m4/dev-ino.m4, same-inode.m4: Remove.
4857
4858         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
4859         * m4/acl.m4 (AC_FUNC_ACL):
4860         * m4/backupfile.m4 (gl_BACKUPFILE):
4861         * m4/c-strtod.m4 (gl_C99_STRTOLD):
4862         * m4/canon-host.m4 (gl_CANON_HOST):
4863         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
4864         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
4865         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
4866         * m4/cloexec.m4 (gl_CLOEXEC):
4867         * m4/close-stream.m4 (gl_CLOSE_STREAM):
4868         * m4/closeout.m4 (gl_CLOSEOUT):
4869         * m4/dirfd.m4 (gl_FUNC_DIRFD):
4870         * m4/dirname.m4 (gl_DIRNAME):
4871         * m4/exclude.m4 (gl_EXCLUDE):
4872         * m4/exitfail.m4 (gl_EXITFAIL):
4873         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
4874         * m4/file-type.m4 (gl_FILE_TYPE):
4875         * m4/filemode.m4 (gl_FILEMODE):
4876         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
4877         * m4/fpending.m4 (gl_FUNC_FPENDING):
4878         * m4/fprintftime.m4 (gl_FPRINTFTIME):
4879         * m4/fts.m4 (gl_FUNC_FTS):
4880         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
4881         * m4/getdate.m4 (gl_GETDATE):
4882         * m4/gethrxtime.m4 (gl_GETHRXTIME):
4883         * m4/getpagesize.m4 (gl_GETPAGESIZE):
4884         * m4/getpass.m4 (gl_FUNC_GETPASS):
4885         * m4/gettime.m4 (gl_GETTIME):
4886         * m4/getugroups.m4 (gl_GETUGROUPS):
4887         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
4888         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
4889         * m4/hard-locale.m4 (gl_HARD_LOCALE):
4890         * m4/hash.m4 (gl_HASH):
4891         * m4/idcache.m4 (gl_IDCACHE):
4892         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
4893         * m4/lchown.m4 (gl_FUNC_LCHOWN):
4894         * m4/long-options.m4 (gl_LONG_OPTIONS):
4895         * m4/lstat.m4 (gl_FUNC_LSTAT):
4896         * m4/md5.m4 (gl_MD5):
4897         * m4/memcasecmp.m4 (gl_MEMCASECMP):
4898         * m4/memcoll.m4 (gl_MEMCOLL):
4899         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
4900         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
4901         * m4/memxor.m4 (gl_MEMXOR):
4902         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
4903         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
4904         * m4/modechange.m4 (gl_MODECHANGE):
4905         * m4/mountlist.m4 (gl_MOUNTLIST):
4906         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
4907         * m4/openat.m4 (gl_FUNC_OPENAT):
4908         * m4/pathmax.m4 (gl_PATHMAX):
4909         * m4/physmem.m4 (gl_PHYSMEM):
4910         * m4/posixtm.m4 (gl_POSIXTM):
4911         * m4/posixver.m4 (gl_POSIXVER):
4912         * m4/quote.m4 (gl_QUOTE):
4913         * m4/quotearg.m4 (gl_QUOTEARG):
4914         * m4/readtokens.m4 (gl_READTOKENS):
4915         * m4/readutmp.m4 (gl_READUTMP):
4916         * m4/regex.m4 (gl_REGEX):
4917         * m4/safe-read.m4 (gl_SAFE_READ):
4918         * m4/safe-write.m4 (gl_SAFE_WRITE):
4919         * m4/same.m4 (gl_SAME):
4920         * m4/save-cwd.m4 (gl_SAVE_CWD):
4921         * m4/savedir.m4 (gl_SAVEDIR):
4922         * m4/settime.m4 (gl_SETTIME):
4923         * m4/sha1.m4 (gl_SHA1):
4924         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
4925         * m4/stat-macros.m4 (gl_STAT_MACROS):
4926         * m4/stat-time.m4 (gl_STAT_TIME):
4927         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
4928         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
4929         * m4/strdup.m4 (gl_FUNC_STRDUP):
4930         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
4931         * m4/strndup.m4 (gl_FUNC_STRNDUP):
4932         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
4933         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
4934         * m4/time_r.m4 (gl_TIME_R):
4935         * m4/timespec.m4 (gl_TIMESPEC):
4936         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
4937         * m4/unlinkdir.m4 (gl_UNLINKDIR):
4938         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
4939         * m4/userspec.m4 (gl_USERSPEC):
4940         * m4/utimecmp.m4 (gl_UTIMECMP):
4941         * m4/utimens.m4 (gl_UTIMENS):
4942         * m4/xalloc.m4 (gl_XALLOC):
4943         * m4/xgetcwd.m4 (gl_XGETCWD):
4944         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
4945         * m4/xreadlink.m4 (gl_XREADLINK):
4946         * m4/xstrtod.m4 (gl_XSTRTOD):
4947         * m4/yesno.m4 (gl_YESNO):
4948         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
4949         to get the necessary .h files and whatnot.
4950
4951 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
4952             Bruno Haible  <bruno@clisp.org>
4953
4954         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
4955         /bin/sh understanding of '!' conditional negation.
4956
4957 2006-08-21  Jim Meyering  <jim@meyering.net>
4958
4959         * modules/openat (Depends-on): Really alphabetize.
4960
4961         * modules/acl (Depends-on): Add error and quote.
4962
4963         * check-module (find_included_lib_files): Add at-func.c to the
4964         ok-to-include-more-than-once white list.
4965
4966         * modules/openat (Depends-on): Add lstat.  Alphabetize.
4967
4968 2006-08-21  Bruno Haible  <bruno@clisp.org>
4969
4970         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4971         Emit a pkgdata_DATA variable only if some snippets add contents to it.
4972         Reported by Martin Lambers <marlam@marlam.de>.
4973
4974 2006-08-21  Bruno Haible  <bruno@clisp.org>
4975
4976         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
4977         specify an installation location, don't emit a noinst_LIBRARIES or
4978         noinst_LTLIBRARIES assignment.
4979
4980 2006-08-21  Bruno Haible  <bruno@clisp.org>
4981
4982         BeOS portability.
4983         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
4984         BeOS has mbrtowc() but no <wctype.h>.
4985
4986 2006-08-21  Bruno Haible  <bruno@clisp.org>
4987
4988         BeOS portability.
4989         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
4990         exist.
4991
4992 2006-08-21  Bruno Haible  <bruno@clisp.org>
4993
4994         BeOS portability.
4995         * lib/mbchar.h: Include <wctype.h> only if it exists.
4996
4997 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
4998
4999         Remove files that are no longer needed by their respective modules.
5000         * m4/obstack.m4: Remove.
5001         * m4/strerror_r.m4: Remove.
5002         * m4/uint32_t.m4: Remove.
5003         * m4/uintptr_t.m4: Remove.
5004         * m4/ullong_max.m4: Remove.
5005         * m4/xstrtoimax.m4: Remove.
5006         * m4/xstrtoumax.m4: Remove.
5007
5008         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
5009         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
5010         dependencies now capture this.
5011
5012         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
5013         Do not use AC_LIBSOURCES, since gnulib modules now do this.
5014         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
5015         * m4/human.m4 (gl_HUMAN): Likewise.
5016         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
5017         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
5018
5019         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
5020
5021         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
5022         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
5023         stdint.
5024         * m4/human.m4 (gl_HUMAN): Likewise.
5025         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
5026         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
5027         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
5028         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
5029         * m4/xstrtol (gl_XSTRTOL): Likewise.
5030
5031         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
5032         AC_TYPE_LONG_LONG_INT.
5033         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
5034         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
5035         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
5036         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
5037
5038         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
5039         on stdbool.
5040
5041         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
5042         (gl_PREREQ_XSTRTOUL): Remove.
5043
5044         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
5045
5046         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
5047         mode.
5048
5049 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5050
5051         Add and change modules to make it easier for coreutils to use
5052         gnulib-tool.
5053         * modules/backupfile (Files): Remove m4/d-ino.m4.
5054         (Depends-on): Add d-ino.
5055         * modules/cycle-check (Depends-on): Add stdint.
5056         (lib_SOURCES): Add cycle-check.h.
5057         * modules/d-ino: New module.
5058         * modules/d-type: New module.
5059         * modules/error (Files): Remove m4/strerror_r.m4.
5060         * modules/filemode (Files): Add m4/st_dm_mode.m4.
5061         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
5062         m4/inttypes_h.m4, m4/uintmax_t.m4.
5063         (Depends-on): Add stdint.
5064         (lib_SOURCES): Add fsusage.h.
5065         * modules/getcwd (Files): Remove d-ino.m4.
5066         (Depends-on): Add d-ino.
5067         * modules/getndelim2 (Depends-on): Add stdint.
5068         * modules/glob (Files): Remove m4/d-type.m4.
5069         (Depends-on): Add d-type.
5070         * modules/host-os: New module.
5071         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
5072         m4/inttypes_h.m4, m4/uintmax_t.m4.
5073         * Depends-on: Add stdint.
5074         (lib_SOURCES): Add human.h.
5075         * modules/inttostr (Files): Remove m4/intmax_t.m4,
5076         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
5077         m4/uintmax_t.m4, m4/ulonglong.m4.
5078         (Depends-on): Add stdint.
5079         (EXTRA_DIST): Add inttostr.h.
5080         * modules/lchmod: New module.
5081         * modules/link-follow: New module.
5082         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
5083         (Depends-on): Add lchmod.
5084         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
5085         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
5086         (Depends-on): Add stdint.
5087         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
5088         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
5089         (Depends-on): Add stdint.
5090         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
5091         * modules/perl: New module.
5092         * modules/regex (Depends-on): Add stdint.
5093         * modules/rmdir-errno: New module.
5094         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
5095         m4/intmax_t.m4.
5096         (Depends-on): Add stdint.
5097         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
5098         m4/uintmax_t.m4.
5099         (Depends-on): Add stdint.
5100         * modules/unlink-busy: New module.
5101         * modules/utimecmp (Depends-on): Add stdint.
5102         * modules/uptime: New module.
5103         * modules/winsz-ioctl: New module.
5104         * modules/winsz-termios: New module.
5105         * modules/xnanosleep (Depends-on): Add nanosleep.
5106         * modules/ullong_max: Remove.
5107         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
5108         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
5109         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
5110         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
5111         (Depends-on): Add inttypes.
5112         (lib_SOURCES): Add xstrtol.h.
5113         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
5114         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
5115         * MODULES.html.sh: Move 'assert' into the assert section.
5116         Move 'dummy' into the linking section.
5117         Remove ullong_max.
5118         Add section for compatibility checks for POSIX:2001 functions,
5119         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
5120         winsz-ioctl, and winsz-termios into it.
5121         Add lchmod.
5122         Add top-level Misc section and put host-os, perl, and uptime
5123         into it.
5124
5125 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5126
5127         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
5128         now assume the stdint module.  Do not include inttypes.h.
5129         * lib/fsusage.h: Likewise.
5130         * lib/getndelim2.c: Likewise.
5131         * lib/human.h: Likewise.
5132         * lib/inttostr.h: Likewise.
5133         * lib/obstack.c: Likewise.
5134         * lib/regex_internal.h: Likewise.
5135         * lib/tempname.c: Likewise.
5136         * lib/utimecmp.c: Likewise.
5137         * lib/xstrtol.h: Likewise.
5138
5139         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
5140
5141         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
5142         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
5143         * lib/xtime.h: Likewise.
5144
5145 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5146
5147         * modules/openat (Files): Add lib/fchmodat.c.
5148         Fixes problem reported by Jay Youngman.
5149
5150 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5151
5152         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
5153         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
5154
5155 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
5156             Bruno Haible  <bruno@clisp.org>
5157
5158         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
5159         and is a script that invokes bison. Tighten the code. Add comments.
5160
5161 2006-08-18  Jim Meyering  <jim@meyering.net>
5162
5163         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
5164         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
5165         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
5166         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
5167
5168 2006-08-18  Bruno Haible  <bruno@clisp.org>
5169
5170         * modules/bison-i18n: New file.
5171         * MODULES.html.sh (Internationalization functions): Add it.
5172
5173 2006-08-18  Bruno Haible  <bruno@clisp.org>
5174
5175         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
5176         sys/statvfs.h. When getmntinfo was found, check its declaration and
5177         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
5178
5179 2006-08-18  Bruno Haible  <bruno@clisp.org>
5180
5181         * m4/bison-i18n.m4: New file, from bison.
5182
5183 2006-08-18  Bruno Haible  <bruno@clisp.org>
5184
5185         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
5186         (ME_DUMMY): Treat "kernfs" as a dummy.
5187         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
5188
5189 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
5190
5191         Update from coreutils.
5192
5193         2006-08-15  Jim Meyering  <jim@meyering.net>
5194
5195         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
5196
5197         2006-01-17  Jim Meyering  <jim@meyering.net>
5198
5199         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
5200
5201         2006-01-11  Jim Meyering  <jim@meyering.net>
5202
5203         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
5204         Check for the lchmod function.
5205
5206 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
5207
5208         Update from coreutils.
5209
5210         * lib/__fpending.h: Add copyright notice.
5211         * lib/fprintftime.h: Likewise.
5212         * lib/savedir.c: Use (C) in copyright notice.
5213         * lib/savedir.h: Likewise.
5214
5215         2006-08-15  Jim Meyering  <jim@meyering.net>
5216
5217         * lib/at-func.c: New file, with the logic of all emulated at-functions.
5218         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
5219         in support of the EXPECTED_ERRNO macro.
5220         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
5221         definitions.  Instead, define the appropriate symbols and include
5222         "at-func.c".
5223         * lib/mkdirat.c (mkdirat): Likewise.
5224         * lib/fchmodat.c (fchmodat): Likewise.
5225         (ENOSYS): Remove definition.
5226         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
5227         it.  Don't include "unistd--.h" -- it wasn't ever used.
5228
5229         2006-01-17  Jim Meyering  <jim@meyering.net>
5230
5231         Rewrite fts.c not to change the current working directory,
5232         by using openat, fstatat, fdopendir, etc..
5233
5234         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
5235         (HAVE_OPENAT_SUPPORT): Define.
5236         [_LIBC] (fchdir): Don't undef or define; no longer used.
5237         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
5238         Now, this `function' always succeeds, and consumes its file descriptor
5239         parameter -- so callers must not close such FDs.  Update callers.
5240         (diropen_fd, opendirat, cwd_advance_fd): New functions.
5241         (diropen): Add parameter, SP.  Adjust all callers.
5242         Implement using diropen_fd, rather than open.
5243         (fts_open): Initialize new member, fts_cwd_fd.
5244         Remove fts_rft-setting code.
5245         (fts_close): Close fts_cwd_fd, if necessary.
5246         (__opendir2): Define in terms of opendir or opendirat,
5247         depending on whether the FST_NOCHDIR flag is set.
5248         (fts_build): Since fts_safe_changedir consumes its FD, and since
5249         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
5250         and close the dup'd file descriptor upon failure.
5251         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
5252         (fts_safe_changedir): Tweak semantics to reflect that this function
5253         now calls cwd_advance_fd and hence consumes its FD argument.
5254         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
5255         [struct FTS] (fts_rft): Remove now-unused member.
5256         [struct FTS] (fts_cycle.state): Improve comment.
5257
5258         * lib/openat.c (openat_needs_fchdir): New function.
5259         * lib/openat.h (openat_needs_fchdir): Declare it.
5260
5261 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
5262
5263         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
5264         Problem and fix reported by Pádraig Brady in
5265         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
5266
5267 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5268
5269         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
5270
5271 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5272
5273         * lib/memcoll.c (memcoll): Optimize for the common case where the
5274         arguments are bytewise equal.
5275
5276 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5277
5278         * doc/regexprops-generic.texi: Add a copyright notice.
5279
5280 2006-08-15  Bruno Haible  <bruno@clisp.org>
5281
5282         * modules/tmpdir (License): Change to LGPL.
5283
5284 2006-08-15  Bruno Haible  <bruno@clisp.org>
5285
5286         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
5287         module.
5288
5289 2006-08-14  Simon Josefsson  <jas@extundo.com>
5290
5291         * config/srclist.txt: Add gnupload.
5292
5293 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5294
5295         Change copyright notice from LGPL 2 to GPL 2, since that's the
5296         standard form used in the gnulib repository.
5297         * tests/test-lock.c: Likewise.
5298         * tests/test-stdint.c: Likewise.
5299         * tests/test-tls.c: Likewise.
5300
5301         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
5302         prelude-manager.  User shorter URLs for GNU projects, without '?'.
5303         Add copyright notice.
5304
5305         * check-module: Add copyright notice.  Output a copyright
5306         notice if "--version" is specified.
5307         * modules/COPYING: New file.
5308         * tests/test-getaddrinfo.c: Add copyright notice.
5309         * tests/test-verify.c: Likewise.
5310
5311 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5312
5313         Change copyright notice from LGPL 2 to GPL 2, since that's the
5314         standard form used in the gnulib repository.
5315         * lib/lock.c: LGPL -> GPL.
5316         * lib/lock.h: Likewise.
5317         * lib/strnlen1.c: Likewise.
5318         * lib/strnlen1.h: Likewise.
5319         * lib/tls.c: Likewise.
5320         * lib/tls.h: Likewise.
5321         * lib/tmpdir.c: Likewise.
5322
5323         * lib/TODO: Remove; this belongs only in coreutils.
5324
5325 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5326
5327         Add copyright notices to long-enough files that lack them, since
5328         otherwise the files aren't clearly free.  Use the same notice that
5329         getdate.texi already uses.
5330         * doc/alloca-opt.texi: Add copyright notice.
5331         * doc/alloca.texi: Likewise.
5332         * doc/ctime.texi: Likewise.
5333         * doc/functions.texi: Likewise.
5334         * doc/gcd.texi: Likewise.
5335         * doc/gnulib-tool.texi: Likewise.
5336         * doc/inet_ntoa.texi: Likewise.
5337         * doc/visibility.texi: Likewise.
5338
5339         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
5340         * doc/quote.texi: Add copyright notice.
5341
5342         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
5343         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
5344         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
5345         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
5346         is now obsolete, and give a pointer to the Sun list.
5347         Add copyright notice.
5348
5349 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5350
5351         * config/srclistvars.sh: Add copyright notice.
5352
5353 2006-08-14  Eric Blake  <ebb9@byu.net>
5354
5355         Import the following change from libc:
5356
5357         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
5358
5359         Upstream bug 2997.
5360         * lib/misc/error.c: Add space between program name and message if file
5361         name is missing.
5362
5363 2006-08-12  Karl Berry  <karl@gnu.org>
5364
5365         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
5366         remove, these originate in gnulib now.
5367
5368 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5369
5370         * doc/Makefile (standards.info standards.html standards.dvi):
5371         Also depend on make-stds.texi.
5372
5373 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
5374
5375         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
5376         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
5377
5378         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
5379         in wchar_t.  Problem reported by Eric Blake.
5380
5381         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
5382         LEN is smaller than SIZE.  Suggested by Bruno Haible.
5383         Also, help the compiler to keep LEN in a register.
5384
5385 2006-08-11  Eric Blake  <ebb9@byu.net>
5386
5387         * users.txt: Sort.  Add tar.
5388
5389 2006-08-11  Bruno Haible  <bruno@clisp.org>
5390
5391         * users.txt: New file.
5392
5393 2006-08-11  Bruno Haible  <bruno@clisp.org>
5394
5395         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
5396         before <wchar.h>. Needed for OSF/1 and BSD/OS.
5397
5398 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5399
5400         * modules/snprintf (Depends-on): Remove minmax.
5401         (Maintainer): Add self and Bruno.
5402
5403 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5404
5405         * lib/.cppi-disable: Add snprintf.h, socket_.h.
5406         * lib/snprintf.c: Include <errno.h> and <limits.h>.
5407         (EOVERFLOW): Define if the system does not.
5408         Do not include "minmax.h"; it wasn't used.
5409         (snprintf): Don't assume size_t promotes to an unsigned type.
5410         Fix bug when generated string was too long for the buffer: the
5411         buffer's contents are supposed to be the initial prefix of the
5412         output.  Don't assume vasnprintf returns EOVERFLOW if the size
5413         exceeds INT_MAX; do the check ourselves.
5414
5415         Import the following changes from libc:
5416
5417         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
5418
5419         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
5420         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
5421         set wc to the byte which couldn't be converted.
5422         (re_string_reconstruct): Don't clear valid_raw_len before calling
5423         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
5424         tip_context using re_string_context_at.
5425
5426         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
5427
5428         * lib/posix/regex.h: g++ still cannot handled [restrict].
5429
5430         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
5431
5432         * lib/posix/regex.h: Remove special handling for VMS.
5433
5434 2006-08-10  Jim Meyering  <jim@meyering.net>
5435
5436         * modules/same-inode: New module.
5437         * modules/dev-ino: New module.
5438         * modules/cycle-check: Depend on these modules, rather than simply
5439         including their .h files.
5440         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
5441         required via m4/cycle-check.m4.
5442         * modules/same: Depend on new same-inode module, rather than
5443         including same-inode.h.
5444         * modules/chdir-safer: New file.
5445
5446         * modules/chown (Depends-on): Add stat-macros.
5447
5448 2006-08-10  Jim Meyering  <jim@meyering.net>
5449
5450         * m4/cycle-check.m4: New file.
5451         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
5452         * m4/dev-ino.m4, m4/same-inode.m4: New files.
5453
5454 2006-08-10  Eric Blake  <ebb9@byu.net>
5455
5456         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
5457         in from original proposal.
5458
5459 2006-08-10  Eric Blake  <ebb9@byu.net>
5460         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5461
5462         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
5463         namespace.
5464
5465 2006-08-10  Bruno Haible  <bruno@clisp.org>
5466
5467         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
5468         as well.
5469
5470 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5471
5472         Sync from coreutils.
5473
5474         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
5475
5476         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
5477         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
5478
5479 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5480
5481         * modules/restrict: Remove; no longer needed now that we assume
5482         Autoconf 2.59 or later.
5483         * MODULES.html.sh: Remove 'restrict'.
5484         * modules/argp (Depends-on): Remove 'restrict'.
5485         * modules/base64 (Depends-on): Likewise.
5486         * modules/gc (Depends-on): Likewise.
5487         * modules/getaddrinfo (Depends-on): Likewise.
5488         * modules/glob (Depends-on): Likewise.
5489         * modules/inet_ntop (Depends-on): Likewise.
5490         * modules/inet_pton (Depends-on): Likewise.
5491         * modules/memxor (Depends-on): Likewise.
5492         * modules/regex (Depends-on): Likewise.
5493         * modules/strtok_r (Depends-on): Likewise.
5494         * modules/time_r (Depends-on): Likewise.
5495
5496 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5497
5498         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
5499         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
5500         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
5501         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
5502         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
5503         * m4/memxor.m4 (gl_MEMXOR): Likewise.
5504         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
5505         gl_C_RESTRICT replaced by AC_C_RESTRICT.
5506
5507         Merge from coreutils.
5508         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
5509         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
5510         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
5511         * m4/time_r.m4 (gl_TIME_R): Likewise.
5512
5513 2006-08-09  Karl Berry  <karl@gnu.org>
5514
5515         * config/srclist.txt: no more gettext-tools, per Bruno.
5516
5517 2006-08-08  Eric Blake  <ebb9@byu.net>
5518
5519         * modules/verror: New module.
5520         * MODULES.html.sh: Document it.
5521
5522 2006-08-08  Eric Blake  <ebb9@byu.net>
5523
5524         * lib/verror.h, lib/verror.c: New files.
5525
5526 2006-08-08  Eric Blake  <ebb9@byu.net>
5527
5528         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
5529         verror_at_line output complies with GNU Coding Standards even when
5530         file is NULL.
5531
5532 2006-08-07  Bruno Haible  <bruno@clisp.org>
5533
5534         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
5535         versions of AIX.
5536         Reported by Ralf Wildenhues.
5537
5538 2006-08-07  Bruno Haible  <bruno@clisp.org>
5539
5540         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
5541         in an AC_DEFUN. Needed so that the autoconf snippets can use
5542         AC_REQUIRE.
5543
5544 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5545
5546         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5547         Initialize pkgdata_DATA.
5548         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
5549         overriding it.
5550
5551 2006-08-06  Eric Blake  <ebb9@byu.net>
5552
5553         * lib/error.h: Fold in some upstream changes from glibc.
5554         * lib/error.c: Likewise.
5555
5556 2006-08-04  Bruno Haible  <bruno@clisp.org>
5557
5558         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5559         Make the mostlyclean-local rule depend on mostlyclean-generic.
5560         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
5561
5562 2006-07-31  Bruno Haible  <bruno@clisp.org>
5563
5564         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
5565         <stdlib.h>, <string.h>.
5566
5567 2006-07-30  Bruno Haible  <bruno@clisp.org>
5568
5569         * modules/readlink (License): Change to LGPL.
5570
5571 2006-07-30  Bruno Haible  <bruno@clisp.org>
5572
5573         * modules/javaversion (Makefile.am): Distribute javaversion.java and
5574         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
5575         set PKGDATADIR to point to it.
5576
5577 2006-07-30  Bruno Haible  <bruno@clisp.org>
5578
5579         * modules/csharpexec (configure.ac): Comment out macro invocation.
5580         * modules/javaexec (configure.ac): Likewise.
5581         * modules/javacomp-script (configure.ac): Likewise.
5582
5583         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
5584
5585 2006-07-30  Bruno Haible  <bruno@clisp.org>
5586
5587         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
5588         linked-list.
5589
5590 2006-07-30  Bruno Haible  <bruno@clisp.org>
5591
5592         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
5593
5594 2006-07-30  Bruno Haible  <bruno@clisp.org>
5595
5596         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5597         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
5598         get removed.
5599
5600 2006-07-29  Bruno Haible  <bruno@clisp.org>
5601
5602         Make it possible for gnulib-tool to work with locally modified or
5603         augmented gnulib repositories.
5604         * gnulib-tool (func_usage): Document --local-dir option.
5605         (local_gnulib_dir): New variable.
5606         Handle --local-dir option.
5607         (func_lookup_file): New function.
5608         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
5609         (func_get_description, func_get_filelist, func_get_description,
5610         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
5611         func_get_automake_snippet, func_get_include_directive,
5612         func_get_license, func_get_maintainer): Use func_lookup_file.
5613         (func_import, func_create_testdir): Use func_lookup_file.
5614
5615 2006-07-29  Bruno Haible  <bruno@clisp.org>
5616
5617         * modules/setenv (Depends-on): Add unistd.
5618
5619 2006-07-29  Bruno Haible  <bruno@clisp.org>
5620
5621         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
5622
5623 2006-07-29  Bruno Haible  <bruno@clisp.org>
5624
5625         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
5626
5627 2006-07-29  Bruno Haible  <bruno@clisp.org>
5628
5629         * gnulib-tool (import, update): If there is no Makefile.am, look at
5630         aclocal.m4, instead of bailing out.
5631
5632 2006-07-29  Bruno Haible  <bruno@clisp.org>
5633
5634         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
5635         Categorize the options by when they are useful.
5636
5637 2006-07-29  Bruno Haible  <bruno@clisp.org>
5638
5639         * gnulib-tool (func_usage): Document option --no-libtool.
5640         Handle option --no-libtool.
5641         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
5642         for changed semantics of $libtool variable.
5643         (func_import): Likewise. If libtool is not used, show this through
5644         an option --no-libtool.
5645         (func_create_testdir): Update.
5646
5647 2006-07-29  Bruno Haible  <bruno@clisp.org>
5648
5649         * gnulib-tool (func_import): Extend error message about missing
5650         --doc-base.
5651
5652 2006-07-29  Bruno Haible  <bruno@clisp.org>
5653
5654         * gnulib-tool (func_import): Don't create the $docbase directory if
5655         there is no file to store there.
5656
5657 2006-07-29  Bruno Haible  <bruno@clisp.org>
5658
5659         * gnulib-tool (autoconf_minversion): If a --dir option is given and
5660         relevant, look for configure.ac there, not in the current directory.
5661         Also use a simple search for AC_PREREQ, not "autoconf --trace".
5662
5663 2006-07-29  Bruno Haible  <bruno@clisp.org>
5664
5665         * gnulib-tool (SORT): New variable.
5666         (func_usage): Undocument --assume-autoconf option.
5667         Remove --assume-autoconf option handling.
5668         (autoconf_minversion): Determine from the contents of configure.ac.
5669         (func_import): Remove autoconf_minversion handling.
5670         Suggested by Eric Blake.
5671
5672 2006-07-29  Bruno Haible  <bruno@clisp.org>
5673
5674         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
5675
5676 2006-07-29  Bruno Haible  <bruno@clisp.org>
5677
5678         * config/srclist.txt (*setenv.[ch]): Remove rules.
5679
5680 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
5681
5682         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
5683
5684 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
5685
5686         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
5687         arpa/inet.h.
5688
5689 2006-07-28  Simon Josefsson  <jas@extundo.com>
5690
5691         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
5692         * modules/inet_pton (Depends-on): Likewise.
5693
5694 2006-07-28  Simon Josefsson  <jas@extundo.com>
5695
5696         * m4/netinet_in_h.m4: New file.
5697
5698 2006-07-28  Simon Josefsson  <jas@extundo.com>
5699
5700         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
5701         #include's.
5702
5703 2006-07-28  Simon Josefsson  <jas@extundo.com>
5704
5705         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
5706         #include's.
5707
5708 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
5709
5710         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
5711         setgid on directories only if they set these bits.
5712         * lib/modechange.h: Remove obsolete comment about masks.
5713
5714 2006-07-28  Eric Blake  <ebb9@byu.net>
5715
5716         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
5717         macro expansion.
5718
5719 2006-07-28  Bruno Haible  <bruno@clisp.org>
5720
5721         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
5722
5723 2006-07-28  Bruno Haible  <bruno@clisp.org>
5724
5725         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
5726
5727 2006-07-28  Bruno Haible  <bruno@clisp.org>
5728
5729         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
5730         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
5731         Define fallbacks.
5732         Avoids link error on FreeBSD 4.x.
5733         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
5734
5735         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
5736         encoding.
5737         * lib/mbswidth.c (iswcntrl): Likewise.
5738
5739 2006-07-27  Bruno Haible  <bruno@clisp.org>
5740
5741         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
5742         test.
5743
5744 2006-07-27  Bruno Haible  <bruno@clisp.org>
5745
5746         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
5747         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
5748         defined.
5749
5750 2006-07-26  Eric Blake  <ebb9@byu.net>
5751
5752         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
5753
5754 2006-07-26  Eric Blake  <ebb9@byu.net>
5755
5756         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
5757         like mingw that lack mkstemp.
5758         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
5759         avoid compilation warning on mingw.
5760
5761 2006-07-26  Bruno Haible  <bruno@clisp.org>
5762
5763         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
5764         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
5765         INT_FAST*_MIN, INTPTR_MIN.
5766
5767 2006-07-25  Bruno Haible  <bruno@clisp.org>
5768
5769         * modules/version-etc (Depends-on): Add stdarg.
5770
5771 2006-07-25  Bruno Haible  <bruno@clisp.org>
5772
5773         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
5774         complex commands.
5775
5776 2006-07-25  Bruno Haible  <bruno@clisp.org>
5777
5778         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
5779         defined in <stdarg.h> or config.h.
5780
5781 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5782
5783         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
5784         (gl_STDIO_SAFER): Remove.
5785
5786 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5787
5788         * MODULES.html.sh (File stream based Input/Output):
5789         Add fopen-safer, tmpfile-safer; remove stdio-safer.
5790         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
5791         * modules/fopen-safer, modules/tmpfile-safer: New files.
5792         * modules/stdio-safer: Remove.
5793
5794 2006-07-24  Bruno Haible  <bruno@clisp.org>
5795
5796         * modules/tmpdir: New file.
5797         * MODULES.html.sh (File system functions): Add it.
5798
5799 2006-07-24  Bruno Haible  <bruno@clisp.org>
5800
5801         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
5802         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
5803
5804 2006-07-24  Bruno Haible  <bruno@clisp.org>
5805
5806         * modules/clean-temp: New file.
5807
5808 2006-07-24  Bruno Haible  <bruno@clisp.org>
5809
5810         * m4/tmpdir.m4: New file, from GNU gettext.
5811
5812 2006-07-24  Bruno Haible  <bruno@clisp.org>
5813
5814         * lib/tmpdir.h: New file, from GNU gettext.
5815         * lib/tmpdir.c: New file, from GNU gettext.
5816
5817 2006-07-24  Bruno Haible  <bruno@clisp.org>
5818
5819         * lib/clean-temp.h: New file, from GNU gettext.
5820         * lib/clean-temp.c: New file, from GNU gettext.
5821
5822 2006-07-23  Eric Blake  <ebb9@byu.net>
5823
5824         * modules/stdio-safer (Files): Add tmpfile-safer.c.
5825         (Depends-on): Add binary-io.
5826
5827 2006-07-23  Eric Blake  <ebb9@byu.net>
5828
5829         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
5830
5831 2006-07-23  Eric Blake  <ebb9@byu.net>
5832
5833         * lib/tmpfile-safer.c: New file.
5834         * lib/stdio-safer.h (fopen_safer): Add prototype.
5835         * lib/stdio--.h (tmpfile): Make safer.
5836
5837 2006-07-23  Bruno Haible  <bruno@clisp.org>
5838
5839         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
5840         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
5841         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
5842         gl_linked_remove_at): Use it.
5843
5844 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
5845         and Simon Josefsson <jas@extundo.com>
5846
5847         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
5848
5849         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
5850
5851 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
5852
5853         * modules/close-stream: New file.
5854         * modules/closeout (Description): Make it clear that it exits
5855         with a diagnostic on error.
5856         (Depends-on): Add close-stream.  Remove fpending, stdbool.
5857         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
5858
5859 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
5860
5861         * m4/close-stream.m4: New file.
5862
5863 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
5864
5865         * lib/close-stream.c, lib/close-stream.h: New files.
5866
5867 2006-07-22  Bruno Haible  <bruno@clisp.org>
5868
5869         Merge from GNU gettext 0.15.
5870
5871         2006-05-01  Bruno Haible  <bruno@clisp.org>
5872
5873                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
5874
5875         2006-07-22  Bruno Haible  <bruno@clisp.org>
5876
5877                 * modules/javaversion: New file.
5878                 * MODULES.html.sh (Java): Add javaversion.
5879
5880         2006-03-12  Bruno Haible  <bruno@clisp.org>
5881
5882                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
5883
5884         2005-12-04  Bruno Haible  <bruno@clisp.org>
5885
5886                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
5887                 (untested).
5888
5889         2006-06-21  Bruno Haible  <bruno@clisp.org>
5890
5891                 Avoid warnings from recent versions of mcs.
5892                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
5893                 -o, -L, -r any more. Use options documented since mcs-1.0
5894                 instead. Similarly for -g.
5895
5896         2005-12-04  Bruno Haible  <bruno@clisp.org>
5897
5898                 * build-aux/csharpcomp.sh.in: Suffix for resources is
5899                 .resources, not .resource.
5900
5901         2005-07-09  Bruno Haible  <bruno@clisp.org>
5902
5903                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
5904                 add a .dll suffix.
5905                 Reported by Mark Junker <mjscod@gmx.de>.
5906
5907         2006-07-22  Bruno Haible  <bruno@clisp.org>
5908
5909                 * modules/gettext: Upgrade to gettext-0.15.
5910                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
5911                 m4/visibility.m4.
5912                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
5913
5914 2006-07-22  Bruno Haible  <bruno@clisp.org>
5915
5916         Merge from GNU gettext 0.15.
5917
5918         2006-03-25  Bruno Haible  <bruno@clisp.org>
5919
5920                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
5921
5922         2006-07-21  Bruno Haible  <bruno@clisp.org>
5923
5924                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
5925                 "1.1".
5926
5927         2006-05-09  Bruno Haible  <bruno@clisp.org>
5928
5929                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
5930                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
5931                 for the conftestver execution.
5932
5933         2006-05-01  Bruno Haible  <bruno@clisp.org>
5934
5935                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
5936                 optional target-version argument. Verify that the compiler
5937                 groks source of the specified source-version, or add -source
5938                 option as necessary. Verify that the compiler produces
5939                 bytecode in the specified target-version, or add -target and
5940                 -source options as necessary. Make the result of the test
5941                 available as variable CONF_JAVAC. Also log error output in
5942                 config.log.
5943
5944         2006-03-11  Bruno Haible  <bruno@clisp.org>
5945
5946                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
5947
5948         2006-05-09  Bruno Haible  <bruno@clisp.org>
5949
5950                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
5951                 CLASSPATH_SEPARATOR to a semicolon.
5952
5953         2006-03-12  Bruno Haible  <bruno@clisp.org>
5954
5955                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
5956                 available as variable CONF_JAVA, for subsequent autoconf
5957                 tests. Also log error output in config.log.
5958
5959         2006-07-19  Bruno Haible  <bruno@clisp.org>
5960
5961                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
5962                 that getline works on glibc2 systems. Needed to avoid trouble
5963                 in relocatable.c.
5964                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
5965
5966         2005-12-04  Bruno Haible  <bruno@clisp.org>
5967
5968                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
5969                 launcher (untested).
5970
5971         2005-12-04  Bruno Haible  <bruno@clisp.org>
5972
5973                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
5974
5975         2006-07-22  Bruno Haible  <bruno@clisp.org>
5976
5977                 * gettext.m4: Update from GNU gettext-0.15.
5978                 * nls.m4: Likewise.
5979                 * po.m4: Likewise.
5980                 * inttypes-pri.m4: Likewise.
5981                 * inttypes-h.m4: Renamed from inttypes.m4.
5982                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
5983
5984 2006-07-22  Bruno Haible  <bruno@clisp.org>
5985
5986         Merge from GNU gettext 0.15.
5987
5988         2005-07-05  Bruno Haible  <bruno@clisp.org>
5989
5990                 * printf-args.c (printf_fetchargs): Work around broken
5991                 definition of wint_t on mingw.
5992
5993         2005-02-12  Bruno Haible  <bruno@clisp.org>
5994
5995                 * xallocsa.h: Add extern "C" for C++.
5996
5997         2006-05-17  Bruno Haible  <bruno@clisp.org>
5998
5999                 Cygwin portability.
6000                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
6001
6002         2006-04-30  Bruno Haible  <bruno@clisp.org>
6003
6004                 * progreloc.c: Include <mach-o/dyld.h> if available.
6005                 (find_executable): Use _NSGetExecutablePath when possible.
6006
6007         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
6008
6009                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
6010                 function.
6011
6012         2005-12-29  Bruno Haible  <bruno@clisp.org>
6013
6014                 * progreloc.c (set_program_name_and_installdir): Fix
6015                 compilation error.
6016
6017         2005-12-04  Bruno Haible  <bruno@clisp.org>
6018
6019                 Cygwin portability.
6020                 * progreloc.c: Include <windows.h> also on Cygwin.
6021                 (find_executable): Add support for Cygwin.
6022                 (set_program_name_and_installdir): Handle also platforms with
6023                 nonempty EXEEXT.
6024
6025         2006-07-11  Bruno Haible  <bruno@clisp.org>
6026
6027                 * javacomp.c: Fix a comment.
6028                 Reported by Jim Meyering.
6029
6030         2006-04-30  Bruno Haible  <bruno@clisp.org>
6031
6032                 * javacomp.h (compile_java_class): Add source_version,
6033                 target_version arguments.
6034                 * javacomp.c: Rewritten to choose only a compiler that
6035                 respects the specified source_version and target_version.
6036
6037         2006-06-27  Bruno Haible  <bruno@clisp.org>
6038
6039                 Assume correct S_ISDIR macro.
6040                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
6041
6042         2006-07-22  Bruno Haible  <bruno@clisp.org>
6043
6044                 * javaversion.h: New file, from GNU gettext.
6045                 * javaversion.c: New file, from GNU gettext.
6046                 * javaversion.java: New file, from GNU gettext.
6047                 * javaversion.class: New file, from GNU gettext.
6048
6049         2006-05-17  Bruno Haible  <bruno@clisp.org>
6050
6051                 Cygwin portability.
6052                 * javaexec.c (execute_java_class): Test for jview program
6053                 also on Cygwin.
6054
6055         2006-04-09  Bruno Haible  <bruno@clisp.org>
6056
6057                 * fatal-signal.c: Don't include string.h.
6058                 (at_fatal_signal): Use a copying loop instead of memcpy.
6059
6060         2005-12-04  Bruno Haible  <bruno@clisp.org>
6061
6062                 * csharpexec.c: Add support for 'clix' launcher (untested).
6063                 (execute_csharp_using_sscli): New function.
6064                 (execute_csharp_program): Call it.
6065
6066         2006-06-21  Bruno Haible  <bruno@clisp.org>
6067
6068                 Avoid warnings from recent versions of mcs.
6069                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
6070                 -o, -L, -r any more. Use options documented since mcs-1.0
6071                 instead. Similarly for -g.
6072
6073         2005-07-09  Bruno Haible  <bruno@clisp.org>
6074
6075                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
6076                 add a .dll suffix.
6077                 Reported by Mark Junker <mjscod@gmx.de>.
6078
6079         2006-06-17  Bruno Haible  <bruno@clisp.org>
6080
6081                 * config.charset: Update for NetBSD 3.0.
6082
6083         2006-05-17  Bruno Haible  <bruno@clisp.org>
6084
6085                 Cygwin portability.
6086                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
6087
6088         2006-05-16  Bruno Haible  <bruno@clisp.org>
6089
6090                 * localcharset.c [CYGWIN]: Include <windows.h>.
6091                 (get_charset_aliases): For Cygwin, return the same CPxxx
6092                 aliases list as under WIN32.
6093                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
6094                 the environment variables. Fall back to GetACP().
6095
6096         2006-04-05  Bruno Haible  <bruno@clisp.org>
6097
6098                 * config.charset: Update Juan Manuel Guerrero's address.
6099
6100         2005-02-12  Bruno Haible  <bruno@clisp.org>
6101
6102                 * allocsa.h: Add extern "C" for C++.
6103
6104         2005-02-10  Bruno Haible  <bruno@clisp.org>
6105
6106                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
6107                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
6108
6109         2006-07-22  Bruno Haible  <bruno@clisp.org>
6110
6111                 * gettext.h: Update to GNU gettext-0.15.
6112
6113 2006-07-22  Bruno Haible  <bruno@clisp.org>
6114
6115         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
6116         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
6117         lib-prefix.m4, longdouble.m4, ssize_t.m4.
6118
6119 2006-07-21  Eric Blake  <ebb9@byu.net>
6120
6121         * modules/stdlib-safer: New file.
6122         * MODULES.html.sh (File stream based Input/Output): Add
6123         stdlib-safer.
6124
6125 2006-07-21  Eric Blake  <ebb9@byu.net>
6126
6127         * lib/stdlib-safer.h: New file from coreutils, required by
6128         stdlib--.h.
6129
6130 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
6131
6132         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
6133
6134 2006-07-20  Bruno Haible  <bruno@clisp.org>
6135
6136         * gnulib-tool: Recognize new option --assume-autoconf.
6137         (autoconf_minversion): New variable.
6138         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
6139
6140 2006-07-20  Bruno Haible  <bruno@clisp.org>
6141
6142         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
6143
6144 2006-07-19  Derek R. Price  <derek@ximbiot.com>
6145
6146         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
6147         Reindent and repaginate.
6148
6149 2006-07-19  Derek Price  <derek@ximbiot.com>
6150
6151         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
6152         Correct grammar.
6153
6154 2006-07-17  Bruno Haible  <bruno@clisp.org>
6155
6156         * modules/list: New file.
6157         * modules/array-list: New file.
6158         * modules/carray-list, modules/carray-list-tests: New files.
6159         * modules/linked-list, modules/linked-list-tests: New files.
6160         * modules/avltree-list, modules/avltree-list-tests: New files.
6161         * modules/rbtree-list, modules/rbtree-list-tests: New files.
6162         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
6163         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
6164         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
6165         * modules/oset: New file.
6166         * modules/array-oset: New file.
6167         * modules/avltree-oset, modules/avltree-oset-tests: New files.
6168         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
6169         * tests/test-carray_list.c: New file.
6170         * tests/test-linked_list.c: New file.
6171         * tests/test-avltree_list.c: New file.
6172         * tests/test-rbtree_list.c: New file.
6173         * tests/test-linkedhash_list.c: New file.
6174         * tests/test-avltreehash_list.c: New file.
6175         * tests/test-rbtreehash_list.c: New file.
6176         * tests/test-avltree_oset.c: New file.
6177         * tests/test-rbtree_oset.c: New file.
6178         * MODULES.html.sh (Container data structures): New section.
6179
6180 2006-07-17  Bruno Haible  <bruno@clisp.org>
6181
6182         * m4/gl_list.m4: New file.
6183
6184 2006-07-17  Bruno Haible  <bruno@clisp.org>
6185
6186         * lib/gl_list.h: New file.
6187         * lib/gl_list.c: New file.
6188         * lib/gl_array_list.h: New file.
6189         * lib/gl_array_list.c: New file.
6190         * lib/gl_carray_list.h: New file.
6191         * lib/gl_carray_list.c: New file.
6192         * lib/gl_linked_list.h: New file.
6193         * lib/gl_linked_list.c: New file.
6194         * lib/gl_anylinked_list1.h: New file.
6195         * lib/gl_anylinked_list2.h: New file.
6196         * lib/gl_avltree_list.h: New file.
6197         * lib/gl_avltree_list.c: New file.
6198         * lib/gl_anyavltree_list1.h: New file.
6199         * lib/gl_anyavltree_list2.h: New file.
6200         * lib/gl_rbtree_list.h: New file.
6201         * lib/gl_rbtree_list.c: New file.
6202         * lib/gl_anyrbtree_list1.h: New file.
6203         * lib/gl_anyrbtree_list2.h: New file.
6204         * lib/gl_anytree_list1.h: New file.
6205         * lib/gl_anytree_list2.h: New file.
6206         * lib/gl_linkedhash_list.h: New file.
6207         * lib/gl_linkedhash_list.c: New file.
6208         * lib/gl_anyhash_list1.h: New file.
6209         * lib/gl_anyhash_list2.h: New file.
6210         * lib/gl_avltreehash_list.h: New file.
6211         * lib/gl_avltreehash_list.c: New file.
6212         * lib/gl_rbtreehash_list.h: New file.
6213         * lib/gl_rbtreehash_list.c: New file.
6214         * lib/gl_anytreehash_list1.h: New file.
6215         * lib/gl_anytreehash_list2.h: New file.
6216
6217         * lib/gl_oset.h: New file.
6218         * lib/gl_oset.c: New file.
6219         * lib/gl_array_oset.h: New file.
6220         * lib/gl_array_oset.c: New file.
6221         * lib/gl_avltree_oset.h: New file.
6222         * lib/gl_avltree_oset.c: New file.
6223         * lib/gl_rbtree_oset.h: New file.
6224         * lib/gl_rbtree_oset.c: New file.
6225         * lib/gl_anytree_oset.h: New file.
6226
6227 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6228
6229         * m4/mkancesdirs.m4: New file.
6230         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
6231         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
6232         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
6233         it.
6234
6235 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6236
6237         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
6238         * lib/mkancesdirs.h: New files.
6239         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
6240         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
6241         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
6242         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
6243         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
6244         callers changed.  Revamp internals significantly, by not
6245         attempting to create directories that are temporarily more
6246         permissive than the final results.  Do not attempt to use
6247         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
6248         This removes some race conditions, fixes some bugs, and simplifies
6249         things.  Use new dirchownmod function to do owner and mode changes.
6250         * lib/mkdir-p.h: Likewise.
6251         * lib/modechange.c (octal_to_mode): New function.
6252         (struct mode_change): New member mentioned.
6253         (make_node_op_equals): New arg mentioned.  All callers changed.
6254         (mode_compile): Keep track of which mode bits the user has explicitly
6255         mentioned.
6256         (mode_adjust): New arg DIR, so that we implement the X op correctly.
6257         New arg PMODE_BITS, to keep track of which mode bits the user
6258         mentioned; it treats S_ISUID and S_ISGID speciall.
6259         All callers changed.
6260         * lib/modechange.h: Likewise.
6261
6262 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6263
6264         * MODULES.html.sh: Add mkancestors.
6265         * modules/mkancesdirs: New module.
6266         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
6267         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
6268         The chdir-safer and afs files are now orphans; I'll remove them
6269         unless someone speaks up.
6270         Add lib/dirchownmod.c, lib/dirchownmod.h.
6271         (Depends-on): Remove alloca, chown, save-cwd, dirname.
6272         Add lchown, mkancesdirs.
6273         (Maintainer): Add self.
6274
6275 2006-07-15  Karl Berry  <karl@gnu.org>
6276
6277         * gnulib-tool: help message wording/arrangement.
6278
6279 2006-07-14  Simon Josefsson  <jas@extundo.com>
6280
6281         * doc/gnulib.texi (Libtool and Windows): New section.
6282
6283 2006-07-12  Simon Josefsson  <jas@extundo.com>
6284
6285         * modules/gendocs (License): Fix license, approved by Karl.
6286
6287 2006-07-12  Eric Blake  <ebb9@byu.net>
6288
6289         * MODULES.html.sh: Add gendocs.
6290
6291 2006-07-11  Eric Blake  <ebb9@byu.net>
6292
6293         * modules/fdl: New module, to install doc/fdl.texi.
6294         * MODULES.html.sh: Add new section for documentation modules.
6295         * gnulib-tool: Avoid space-tab.
6296         (--doc-base): New option, to manage files from doc.
6297
6298 2006-07-11  Eric Blake  <ebb9@byu.net>
6299
6300         * m4/absolute-header.m4: Fix comments to match recent change.
6301
6302 2006-07-11  Eric Blake  <ebb9@byu.net>
6303
6304         * gnulib-tool: List --doc-base before --tests-base.
6305
6306 2006-07-11  Derek R. Price  <derek@ximbiot.com>
6307
6308         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
6309
6310 2006-07-11  Bruno Haible  <bruno@clisp.org>
6311
6312         * README: Mention where to put documentation.
6313
6314 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6315
6316         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
6317
6318 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
6319
6320         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
6321         to stdint.m4.
6322
6323 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
6324
6325         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
6326         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
6327         "no/such/file/stdint.h" when there is no such file, so that
6328         the resulting C code can be parsed by dodgy compilers.
6329         Problems reported by Bob Proulx.
6330
6331 2006-07-10  Derek R. Price  <derek@ximbiot.com>
6332
6333         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
6334         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
6335         macros into the GNU _D_EXACT_NAMLEN.
6336         * lib/savedir.c:  Likewise.
6337         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
6338
6339 2006-07-10  Derek R. Price  <derek@ximbiot.com>
6340         and Paul Eggert  <eggert@cs.ucla.edu>
6341
6342         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
6343         * m4/savedir.m4:
6344         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
6345         macros into the GNU _D_EXACT_NAMLEN.
6346
6347 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6348
6349         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
6350         around the absolute name, to work around a problem with the HP-UX
6351         11.23 native C compiler, reported by Bob Proulx.
6352
6353 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6354
6355         * doc/maintain.texi, make-stds.texi: Sync from
6356         <http://savannah.gnu.org/projects/gnustandards>.
6357
6358 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6359
6360         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
6361
6362 2006-07-09  Jim Meyering  <jim@meyering.net>
6363
6364         * m4/glob.m4: Remove a doubled word in a comment.
6365
6366 2006-07-09  Jim Meyering  <jim@meyering.net>
6367
6368         * lib/argp-pv.c: Remove a doubled word in a comment.
6369         * lib/check-version.c (check_version): Likewise.
6370         * lib/javacomp.c (compile_java_class): Likewise.
6371
6372 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
6373
6374         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
6375         for the benefit of people using Autoconf 2.60.  If you want to
6376         support older Autoconf versions you can copy m4/onceonly_2_57.m4
6377         (or m4/onceonly.m4, if pre-2.57) manually.
6378
6379 2006-07-08  Jim Meyering  <jim@meyering.net>
6380
6381         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
6382         comment.
6383         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
6384         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
6385         comment.
6386
6387 2006-07-08  Jim Meyering  <jim@meyering.net>
6388
6389         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
6390
6391 2006-07-07  Simon Josefsson  <jas@extundo.com>
6392
6393         * tests/test-crc.c: Change expected crc value, the test vector
6394         were probably computed using the old broken crc.c?
6395
6396 2006-07-06  Simon Josefsson  <jas@extundo.com>
6397
6398         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
6399         now the canonical place for the M4 file).
6400
6401         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
6402         from the sys_socket dependency now.
6403
6404         * modules/inet_pton (Files): Ditto.
6405
6406         * modules/inet_ntop (Files): Ditto.
6407
6408 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
6409
6410         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
6411         not gl_PREREQ_GETUSERSHELL.
6412
6413 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6414
6415         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
6416         with only one argument, for Autoconf 2.60.
6417         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
6418         expand to nothing, so add a shell command to avoid syntax error.
6419         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6420
6421 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6422
6423         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
6424
6425 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6426
6427         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
6428         no longer needed.  Check for isblank decl.
6429         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
6430         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
6431         of existence.
6432
6433 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6434
6435         * lib/getloadavg.c: Use __VMS, not VMS.
6436         * lib/getopt.c: Likewise.
6437         * lib/getpagesize.h: Likewise.
6438         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
6439         and probably does not work.
6440
6441 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6442
6443         * lib/.cppi-disable: Add wcwidth.
6444         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
6445         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
6446         (ISGRAPH): Remove.  All uses changed to isgraph.
6447         (FOLD) [!defined _LIBC]: Remove special case.
6448         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
6449         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
6450         HAVE_ISBLANK.
6451         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
6452         case.
6453
6454 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
6455
6456         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
6457         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
6458         brackets.  Other minor changes to suppress some compiler
6459         warnings.
6460
6461 2006-07-06  Derek R. Price  <derek@ximbiot.com>
6462         and Paul Eggert  <eggert@cs.ucla.edu>
6463
6464         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
6465         of invoking obsolescent AC_HEADER_DIRENT macro.
6466         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
6467         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
6468         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6469         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
6470         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
6471         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
6472         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
6473         * m4/readdir.m4: Remove; no longer needed.
6474
6475 2006-07-06  Derek R. Price  <derek@ximbiot.com>
6476         and Paul Eggert  <eggert@cs.ucla.edu>
6477
6478         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
6479         Don't worry about this obsolete case any more.
6480         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
6481         directories.
6482         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
6483         worry about this obsolete case any more.
6484         * lib/fts.c: Likewise.
6485         * lib/getcwd.c: Likewise.
6486         * lib/glob.h: Likewise.
6487         * lib/savedir.c: Likewise.
6488
6489 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
6490
6491         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
6492         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
6493         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
6494         needed.
6495         All uses removed.
6496         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
6497         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
6498         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
6499         needed.
6500         * m4/getdate.m4 (gl_GETDATE): Likewise.
6501         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
6502         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
6503         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6504         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
6505         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
6506         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
6507         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
6508         needed.
6509
6510 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
6511
6512         * lib/memcasecmp.c: Include <limits.h>.
6513         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
6514         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
6515         Don't assume isdigit succeeds only on '0' through '9'.
6516
6517 2006-07-05  Eric Blake  <ebb9@byu.net>
6518
6519         * modules/getaddrinfo (Depends-on): Add snprintf.
6520
6521 2006-07-05  Eric Blake  <ebb9@byu.net>
6522
6523         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
6524         to avoid 'header present but could not be compiled' on cygwin.
6525
6526 2006-07-05  Eric Blake  <ebb9@byu.net>
6527
6528         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
6529         missing from netdb.h.
6530         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
6531
6532 2006-07-05  Derek R. Price  <derek@ximbiot.com>
6533
6534         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
6535         no longer needed.
6536         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
6537         * m4/getdate.m4 (gl_GETDATE): Likewise.
6538         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
6539         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
6540         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6541         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
6542         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
6543
6544 2006-07-05  Derek R. Price  <derek@ximbiot.com>
6545
6546         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
6547         All uses of is_space replaced by isspace.
6548         * lib/exit.h: Don't talk about STDC_HEADERS.
6549         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
6550         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
6551         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
6552         replaced by isprint etc.
6553         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
6554         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
6555         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
6556         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
6557         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
6558         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
6559
6560 2006-07-05  Bruno Haible  <bruno@clisp.org>
6561
6562         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
6563         the function exists, before testing against AIX.
6564         Reported by Martin Lambers <marlam@marlam.de>.
6565
6566 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
6567
6568         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
6569         From Mark D. Baushke.
6570
6571 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
6572
6573         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
6574         to the absolute name, not just one, to bypass Sun C 5.8's
6575         "warning: #include of /usr/include/... may be non-portable".
6576
6577 2006-07-04  Eric Blake  <ebb9@byu.net>
6578
6579         * modules/dirname-tests: New test module.
6580         * tests/test-dirname.c: New file, replacing dirname.c
6581         TEST_DIRNAME section that was recently deleted.
6582
6583 2006-07-04  Bruno Haible  <bruno@clisp.org>
6584
6585         Assume ANSI C header files and <ctype.h> functions.
6586         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
6587         (mbsnwidth): Use isprint, iscntrl instead.
6588
6589 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
6590
6591         Merge from coreutils.
6592         * MODULES.html.sh: Add xstrtold.
6593         * modules/xstrtold: New file.
6594         * modules/cycle-check (Files): Add lib/same-inode.h.
6595         * modules/dirname (Files): Add m4/double-slash-root.m4.
6596         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
6597         * modules/mkdir-p (Files): Add lib/same-inode.h.
6598         * modules/same (Files): Add lib/same-inode.h.
6599
6600 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
6601
6602         * m4/absolute-header.m4: Renamed from full-header-path.m4.
6603         This is to keep the terminology clean; POSIX talks about
6604         "absolute pathnames", not "full pathnames", but the GNU
6605         Coding Standards say to use "path" for something else;
6606         so use "absolute" to keep both sides happy.
6607         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
6608         Set gl_absolute_header, not gl_full_header_path.
6609         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
6610         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
6611         All uses changed.
6612
6613         Merge from coreutils.
6614
6615         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
6616
6617         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
6618         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
6619         want to require the building of c-strtod.o.
6620         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
6621         needs -lm directly.
6622         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
6623
6624         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
6625
6626         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
6627         --as-needed option if available.  Problem reported by Albert Chin in
6628         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
6629         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
6630         cc merely issues a bunch of annoying warnings for --as-needed
6631         (this problem was reported by Bob Proulx).  Also, try linking with
6632         -lm to detect a bug in binutils 2.16 (this problem was reported
6633         by Ralf Wildenhues).
6634
6635         2006-06-18  Jim Meyering  <jim@meyering.net>
6636
6637         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
6638         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
6639         macro.
6640         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
6641         also check for glibc-2.4's abort-inducing bug.
6642
6643         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
6644         Low-probability clean-up should be to use rmdir to get rid of
6645         the just-created directory, not unlink.
6646
6647         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
6648         configure fail, and request a bug report to inform us about it.
6649         Add a comment that, barring reports to the contrary, in 2007 we'll
6650         assume ftruncate is universally available.
6651
6652         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
6653
6654         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
6655
6656         2006-03-12  Jim Meyering  <jim@meyering.net>
6657
6658         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
6659         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
6660         * m4/same.m4 (gl_SAME): Likewise.
6661         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
6662
6663         2006-03-11  Eric Blake  <ebb9@byu.net>
6664
6665         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
6666         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
6667         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
6668         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
6669
6670 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
6671
6672         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
6673         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
6674         reported by Mark D. Baushke, one in
6675         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
6676
6677         Merge from coreutils.
6678
6679         * lib/.cppi-disable: Add stdint_.h.
6680         * lib/.cvsignore: Add stdint.h.
6681
6682         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
6683
6684         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
6685         both double and long double versions.
6686         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
6687         * lib/xstrtold.c: New file.
6688         * lib/xstrtod.h (xstrtold): New decl.
6689
6690         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
6691
6692         * lib/filemode.c (setst): Remove.
6693         (strmode): Rewrite to avoid setst.  This makes the code shorter,
6694         (arguably) clearer, and the generated code is a bit smaller on my
6695         Debian GNU/Linux stable x86 host.
6696
6697         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
6698
6699         * lib/filemode.c: Include "filemode.h" first, to test the interface.
6700         Assume that filemode.h includes sys/types.h and sys/stat.h.
6701         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
6702         (ftypelet): Reorder to put common cases first, for efficiency.
6703         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
6704         to do 'M'.
6705         (strmode): Renamed from mode_string, and now stores 12 bytes instead
6706         of 10, for compatibility with FreeBSD.  All callers changed.
6707         (filemodestring): Now stores 12 bytes instead of 10, and sets file
6708         types that can't be deduced solely from st_mode.  First arg is now a
6709         const pointer.
6710         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
6711         (strmode): Renamed from mode_string.
6712         (filemodestring): New decl.
6713         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
6714         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
6715         needed.
6716         (S_ISPORT, S_ISWHT): New macros, if not already defined.
6717
6718         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
6719
6720         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
6721         fsusage.h now does that.  Include fsusage.h first, to test interface.
6722         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
6723         at most one method (the old code could have generated decls that
6724         didn't conform to C89, not that this was ever exercised).
6725         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
6726
6727         2006-03-19  Jim Meyering  <jim@meyering.net>
6728
6729         Work even in a chroot where d_ino values for entries in "/"
6730         don't match the stat.st_ino values for the same names.
6731         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
6732         number, iterate through all entries again, using lstat instead.
6733         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
6734         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
6735
6736         * lib/getcwd.c (__getcwd): Clarify a comment.
6737         Use memcpy in place of a call to strcpy.
6738
6739         2006-03-12  Jim Meyering  <jim@meyering.net>
6740
6741         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
6742         matches that of the current directory (which we're about to chdir ".."
6743         out of), then save the dev-ino of the parent, instead.
6744
6745         * lib/same-inode.h (SAME_INODE): New file/macro.
6746         * lib/chdir-safer.c (SAME_INODE): Remove definition.
6747         Include "same-inode.h", instead.
6748         * lib/same.c: Likewise.
6749         * lib/cycle-check.h: Include "same-inode.h".
6750         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
6751         * lib/cycle-check.c (SAME_INODE): Remove definition.
6752         * lib/root-dev-ino.h: Include "same-inode.h".
6753
6754         2006-03-11  Eric Blake  <ebb9@byu.net>
6755
6756         * lib/same.c (same_name): s/base_name/last_component/
6757         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
6758         * lib/filenamecat.c (file_name_concat): Likewise.
6759
6760         2006-03-11  Eric Blake  <ebb9@byu.net>,
6761                     Paul Eggert  <eggert@cs.ucla.edu>
6762
6763         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
6764         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
6765         drive prefix.
6766         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
6767         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
6768         (last_component): New method.
6769         * lib/dirname.c (dir_len): Determine when drive letters need a
6770         subsequent slash.  Preserve // when it is special.
6771         (dir_name): Don't append dot when drive letter is absolute.
6772         [TEST_DIRNAME]: Move into a full-blown gnulib test.
6773         * lib/basename.c (base_name): New semantics - malloc the result.
6774         Preserve // when it is special.  Preserve relative files that look
6775         like drive letters.
6776         (base_len): Preserve // when it is special.
6777         (last_component): New method, similar to old base_name semantics.
6778         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
6779         base_name.  Strip redundant slashes from ///.
6780
6781 2006-07-03  Jim Meyering  <jim@meyering.net>
6782
6783         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
6784         macro is used before the first cycle_check call.
6785
6786 2006-07-03  Eric Blake  <ebb9@byu.net>
6787
6788         * modules/dirname (Depends-on): Add xstrndup.
6789
6790 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
6791
6792         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
6793         test cases, so that config.log is a bit easier to follow.
6794
6795 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
6796
6797         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
6798         both are 64 bits, since this seems to be the tradition, and this
6799         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
6800         we ever run into a host that prefers long long to long in this
6801         case, we'll need another configure-time test.  Problem reported by
6802         Jim Meyering.
6803
6804 2006-07-02  Eric Blake  <ebb9@byu.net>
6805
6806         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
6807
6808 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
6809
6810         * modules/inttypes (Depends-on): No longer depends on stdint.
6811         * modules/stdint (Description): Say more about assumptions.
6812         Say that the fast types might differ.  Say macros are used.
6813         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
6814         (Makefile.am): Revise list of substituted symbols to match
6815         new stdint.m4.
6816         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
6817         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
6818         * tests/test-stdint.c (verify_same_types)
6819         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
6820         the code conforms to C99/C89.
6821         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
6822         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
6823
6824 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
6825
6826         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
6827         but fix a bug, by requiring at least 64 bits.
6828         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
6829         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
6830         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
6831         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
6832
6833         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
6834         changes.  Make 2.59 a prerequisite.  Check and substitute for
6835         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
6836         inttypes.h.  Do not use special include files; just use the
6837         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
6838         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
6839         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
6840         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
6841         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
6842         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
6843         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
6844         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
6845         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
6846         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
6847         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
6848         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
6849         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
6850         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
6851         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
6852         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
6853         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
6854         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
6855         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
6856         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
6857         WINT_MAX.  Check for C99 conformance more strictly, by detecting
6858         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
6859         not check for things that C99 does not require, e.g., int8_t.  If
6860         a test isn't needed unless <stdint.h> isn't working, and is
6861         unlikely to be needed for any other reason, then don't do it
6862         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
6863         size_t, since we assume C89 freestanding at least.  Do not check
6864         for sig_atomic_t, wchar_t, or wint_t, since the code now does
6865         the right thing even if the types are not defined.  Instead use:
6866         (gl_STDINT_TYPE_PROPERTIES): New macro.
6867         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
6868         testing whether <sys/types.h> clashes, as Autoconf does this for
6869         us now.  All uses removed.
6870         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
6871         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
6872         (gl_CHECK_TYPE_SAME):
6873         Remove; no longer needed.
6874         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
6875         exists, since we'll return 0 anyway in that case.
6876         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
6877
6878 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
6879
6880         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
6881         possible collision with system files.
6882         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
6883         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
6884         WCHAR_MIN and WCHAR_MAX in this case.
6885         (<stddef.h>): Do not include; no longer needed.
6886         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
6887         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
6888         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
6889         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
6890         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
6891         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
6892         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
6893         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
6894         !defined(__c99))]: Include in this case too, since it's harmless
6895         now.
6896         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
6897         dangerous to do so.
6898         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
6899         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
6900         (_STDINT_MIN, _STDINT_MAX): New macros.
6901         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
6902         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
6903         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
6904         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
6905         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
6906         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
6907         macros, not typedefs; this simplifies things quite a bit.
6908         Use long int for all types narrower than int64_t.
6909         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
6910         Define in terms of long long int or int64_t or long int,
6911         not int64_t or int32_t.  This saves some compile-time testing.
6912         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
6913         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
6914         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
6915         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
6916         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
6917         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
6918         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
6919         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
6920         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
6921         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
6922         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
6923         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
6924         undef any previous version and define our own version, for
6925         simplicity and consistency with the new macros for types.
6926         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
6927         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
6928         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
6929         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
6930         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
6931         @WINT_T_SUFFIX@ to keep things simple here.
6932         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
6933         Simplify by assuming typical 8/16/32/64 host, since we're
6934         already doing that elsewhere anyway.
6935         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
6936         and assume long long int is 64 bits if available.  This
6937         speeds up 'configure'.
6938
6939 2006-07-01  Eric Blake  <ebb9@byu.net>
6940
6941         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
6942         Reported by Andreas Buening.
6943
6944 2006-07-01  Eric Blake  <ebb9@byu.net>
6945
6946         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
6947
6948 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
6949
6950         * lib/getaddrinfo.c: fixed typo
6951
6952 2006-06-29  Jim Meyering  <jim@meyering.net>
6953
6954         * modules/strftime (Maintainer): Add my name, since with the
6955         FPRINTFTIME changes strftime.c has forked from glibc.
6956
6957 2006-06-29  Eric Blake  <ebb9@byu.net>
6958
6959         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
6960
6961 2006-06-29  Eric Blake  <ebb9@byu.net>
6962
6963         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
6964
6965 2006-06-29  Eric Blake  <ebb9@byu.net>
6966
6967         * lib/stat_.h: New file.
6968
6969 2006-06-29  Eric Blake  <ebb9@byu.net>
6970
6971         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
6972         unused static function.
6973
6974 2006-06-29  Eric Blake  <ebb9@byu.net>
6975
6976         * doc/functions.texi (Function Portability): Document missing lstat
6977         on mingw.
6978
6979 2006-06-29  Eric Blake  <ebb9@byu.net>
6980
6981         * MODULES.html.sh: Add sys_stat.
6982         * modules/sys_stat: New module.
6983         * modules/mkstemp (Depends-on): Add sys_stat.
6984
6985 2006-06-29  Derek R. Price  <derek@ximbiot.com>
6986
6987         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
6988
6989 2006-06-29  Derek R. Price  <derek@ximbiot.com>
6990
6991         * m4/c-bs-a.m4: Removed.
6992
6993 2006-06-29  Derek R. Price  <derek@ximbiot.com>
6994
6995         * lib/strftime.c: Assume strftime() exists.
6996
6997 2006-06-29  Derek Price  <derek@ximbiot.com>
6998
6999         * modules/c-bs-a: Removed - \a is C89.
7000         * MODULES.html.sh: Remove c-bs-a.
7001
7002 2006-06-29  Bruno Haible  <bruno@clisp.org>
7003
7004         * modules/wcwidth (License): Change to LGPL.
7005
7006 2006-06-28  Simon Josefsson  <jas@extundo.com>
7007
7008         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
7009         on _WIN32.
7010
7011         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
7012         getnameinfo.
7013
7014 2006-06-28  Simon Josefsson  <jas@extundo.com>
7015
7016         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
7017
7018 2006-06-28  Simon Josefsson  <jas@extundo.com>
7019
7020         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
7021         functions there.  It will succeed on Windows XP, but on Windows
7022         2000 and (presumably) earlier, it will fail, and use the internal
7023         re-implementation.
7024         (use_win32_p): New function.
7025         (getaddrinfo): Use strtoul on servname, to support numeric ports.
7026         Support AI_NUMERICSERV to disable getservbyname.
7027         (getnameinfo): New function, only supports
7028         NI_NUMERICHOST|NI_NUMERICSERV for now.
7029
7030         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
7031         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
7032         getnameinfo.
7033
7034 2006-06-28  Eric Blake  <ebb9@byu.net>
7035
7036         * modules/wcwidth: New file.
7037         * modules/mbchar (Depends-on): Add wcwidth.
7038         * modules/mbswidth (Depends-on): Add wcwidth.
7039         * MODULES.html.sh: Add wcwidth.
7040
7041 2006-06-28  Eric Blake  <ebb9@byu.net>
7042
7043         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
7044         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
7045
7046 2006-06-28  Eric Blake  <ebb9@byu.net>
7047
7048         * lib/xvasprintf.h: Fix comments.
7049
7050 2006-06-28  Eric Blake  <ebb9@byu.net>
7051
7052         * lib/mbchar.h (wcwidth): Include wcwidth.h.
7053         * lib/mbswidth.c (wcwidth): Move from here...
7054         * lib/wcwidth.h: ...to this new file.
7055
7056 2006-06-28  Derek R. Price  <derek@ximbiot.com>
7057
7058         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
7059
7060         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
7061         it's obsolete.
7062         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
7063
7064 2006-06-28  Derek R. Price  <derek@ximbiot.com>
7065
7066         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
7067         Autoconf 2.60 says this stuff was obsolete.
7068
7069 2006-06-28  Bruno Haible  <bruno@clisp.org>
7070
7071         * modules/wcwidth (Files): Add m4/wchar_t.m4.
7072
7073 2006-06-28  Bruno Haible  <bruno@clisp.org>
7074
7075         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
7076         gt_TYPE_WCHAR_T.
7077
7078 2006-06-28  Bruno Haible  <bruno@clisp.org>
7079
7080         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
7081         declaration for wcwidth.
7082         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
7083
7084 2006-06-28  Bruno Haible  <bruno@clisp.org>
7085
7086         * lib/mkdtemp.c [MINGW]: Include <io.h>.
7087         (mkdir): Define using _mkdir.
7088
7089 2006-06-28  Bruno Haible  <bruno@clisp.org>
7090
7091         * lib/getaddrinfo.h: Fix POSIX URL.
7092         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
7093         _WIN32.
7094         (use_win32_p): Make static.
7095         (getaddrinfo): Reject service name if it is empty or does not consist
7096         solely of decimal digits, or if its value is > 65535.
7097         (getnameinfo): Remove useless casts.
7098
7099 2006-06-27  Simon Josefsson  <jas@extundo.com>
7100
7101         * modules/sys_select: New file, suggested by Bruno Haible, Paul
7102         Eggert and Martin Lambers.
7103
7104 2006-06-27  Simon Josefsson  <jas@extundo.com>
7105
7106         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
7107         Eggert and Martin Lambers.
7108
7109 2006-06-27  Bruno Haible  <bruno@clisp.org>
7110
7111         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
7112         result to 0, not to empty.
7113         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
7114
7115 2006-06-27  Bruno Haible  <bruno@clisp.org>
7116
7117         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
7118
7119 2006-06-26  Simon Josefsson  <jas@extundo.com>
7120
7121         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
7122         present.
7123
7124 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
7125
7126         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
7127         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
7128         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
7129
7130 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
7131
7132         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
7133
7134 2006-06-26  Bruno Haible  <bruno@clisp.org>
7135
7136         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
7137
7138 2006-06-26  Bruno Haible  <bruno@clisp.org>
7139
7140         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
7141
7142 2006-06-26  Bruno Haible  <bruno@clisp.org>
7143
7144         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
7145         SGI C compiler in pre-C99 mode.
7146         Suggested by Mark D. Baushke and Larry Jones.
7147
7148 2006-06-26  Bruno Haible  <bruno@clisp.org>
7149
7150         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
7151         WCHAR_MAX.
7152         Reported by Mark D. Baushke and Larry Jones.
7153
7154 2006-06-26  Bruno Haible  <bruno@clisp.org>
7155
7156         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
7157         in pre-C99 mode.
7158         Suggested by Mark D. Baushke and Larry Jones.
7159
7160 2006-06-23  Simon Josefsson  <jas@extundo.com>
7161             Bruno Haible  <bruno@clisp.org>
7162
7163         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
7164         Emit mostlyclean-local rule.
7165         (func_emit_tests_Makefile_am): Likewise.
7166         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
7167
7168 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
7169
7170         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
7171
7172 2006-06-23  Bruno Haible  <bruno@clisp.org>
7173
7174         * tests/test-stdint.c: Update to match ISO C 99 Technical
7175         Corrigendum 1.
7176
7177 2006-06-23  Bruno Haible  <bruno@clisp.org>
7178
7179         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
7180
7181 2006-06-23  Bruno Haible  <bruno@clisp.org>
7182
7183         * lib/stdint_.h: Treat IRIX like OpenBSD.
7184
7185 2006-06-23  Bruno Haible  <bruno@clisp.org>
7186
7187         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
7188         ISO C 99 Technical Corrigendum 1.
7189
7190 2006-06-22  Simon Josefsson  <jas@extundo.com>
7191
7192         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
7193         MinGW.
7194
7195 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
7196
7197         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
7198         needed.  Some compiler complained about some of them.  Problem reported
7199         by Larry Jones in
7200         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
7201
7202 2006-06-21  Simon Josefsson  <jas@extundo.com>
7203
7204         * tests/test-getaddrinfo.c: New file.
7205
7206         * modules/getaddrinfo-tests: New file.
7207
7208         * MODULES.html.sh: Add inet_pton.
7209
7210         * modules/inet_pton: New file.
7211
7212 2006-06-21  Simon Josefsson  <jas@extundo.com>
7213
7214         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
7215         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
7216         of using the (limited) gnulib implementation on Windows XP.
7217
7218         * m4/inet_pton.m4: New file.
7219
7220 2006-06-21  Simon Josefsson  <jas@extundo.com>
7221
7222         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
7223         variable.
7224
7225         * lib/socket_.h: Don't define WINVER.
7226
7227         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
7228         slightly modified to work in gnulib.
7229
7230 2006-06-21  Simon Josefsson  <jas@extundo.com>
7231
7232         * doc/gnulib.texi (Windows sockets): Add.
7233
7234 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
7235
7236         * lib/read-file.c (fread_file): Start with buffer allocation of
7237         0 bytes rather than 1 byte; this simplifies the code.
7238         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
7239         code to free buffer and save/restore errno.
7240         (internal_read_file): Remove unused local.
7241
7242 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
7243
7244         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
7245         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
7246         Problem reported by Denis Excoffier in
7247         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
7248
7249 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7250
7251         * modules/sys_socket, modules/socklen: Include sys/types since
7252         FreeBSD 4.x's sys/socket.h needs it.
7253
7254 2006-06-19  Simon Josefsson  <jas@extundo.com>
7255
7256         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
7257
7258 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
7259
7260         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
7261
7262 2006-06-19  Bruno Haible  <bruno@clisp.org>
7263
7264         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
7265         and FULL_PATH_INTTYPES_H in angle brackets.
7266         Reported by Mark D. Baushke <mdb@gnu.org>.
7267
7268 2006-06-17  Eric Blake  <ebb9@byu.net>
7269
7270         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
7271         errno.
7272
7273 2006-06-17  Bruno Haible  <bruno@clisp.org>
7274
7275         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
7276         <sys/inttypes.h>.
7277
7278 2006-06-17  Bruno Haible  <bruno@clisp.org>
7279
7280         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
7281         whether errno is declared. Assume <errno.h> declares errno.
7282
7283 2006-06-17  Bruno Haible  <bruno@clisp.org>
7284
7285         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
7286
7287 2006-06-17  Bruno Haible  <bruno@clisp.org>
7288
7289         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
7290         problem on Solaris 2.5.1.
7291
7292 2006-06-16  Eric Blake  <ebb9@byu.net>
7293
7294         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
7295         * lib/unicodeio.c [!defined errno]: Likewise.
7296         * lib/strtol.c [!defined errno]: Likewise.
7297         * lib/strtod.c [!defined errno]: Likewise.
7298
7299 2006-06-15  Eric Blake  <ebb9@byu.net>
7300
7301         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
7302
7303 2006-06-15  Eric Blake  <ebb9@byu.net>
7304
7305         * config/srclist.txt (ssize_t.m4): Lose sync.
7306
7307 2006-06-15  Bruno Haible  <bruno@clisp.org>
7308
7309         * modules/stdint (Files): Include m4/full-header-path.m4,
7310         m4/size_max.m4, m4/wchar_t.m4.
7311         (Makefile.am): Many more substitutions.
7312         * modules/stdint-tests: New file.
7313         * tests/test-stdint.c: New file.
7314
7315 2006-06-15  Bruno Haible  <bruno@clisp.org>
7316
7317         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
7318         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
7319         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
7320         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
7321         gl_CHECK_TYPE_SAME): New macros.
7322
7323 2006-06-15  Bruno Haible  <bruno@clisp.org>
7324
7325         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
7326
7327 2006-06-15  Bruno Haible  <bruno@clisp.org>
7328
7329         * lib/stdint_.h: Rewritten to be fully auto-configured.
7330         Fixes bug on HP-UX/IA64.
7331
7332 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
7333
7334         * lib/getdate.y (__attribute__): Don't define if already defined.
7335         Problem reported by Larry Jones.
7336         * lib/utimens.c (__attribute__): Likewise.
7337
7338 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
7339
7340         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
7341         reported by Andreas Schwab.
7342
7343 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7344             Bruno Haible  <bruno@clisp.org>
7345
7346         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
7347         check for the declaration of strnlen and a run test that exposes the
7348         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
7349         rpl_strndup.
7350
7351 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7352             Bruno Haible  <bruno@clisp.org>
7353
7354         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
7355
7356 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7357
7358         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
7359         compile test, for Tru64 4.0D.
7360
7361 2006-05-28  Karl Berry  <karl@gnu.org>
7362
7363         * config/srclist.txt (printf-args.c): lose sync.
7364
7365 2006-05-26  Martin Lambers  <marlam@marlam.de>
7366
7367         * lib/getpass.c: Updates the test for the native W32 API, and adds
7368         missing includes, thus fixing compilation warnings.
7369
7370 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
7371
7372         * lib/exclude.c (exclude_fnmatch): New function.
7373         (excluded_file_name): Call exclude_fnmatch.
7374         * lib/exclude.h (excluded_file_name): New prototype
7375
7376 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7377
7378         * lib/tempname.c (small_open, large_open): New macros.
7379         (__open, __open64) [!_LIBC]: Remove.
7380         (__gen_tempname): Use small_open and large_open instead of __open
7381         and __open64.  This fixes a portability bug on HP-UX 11.11i
7382         reported by Simon Wing-Tang in
7383         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
7384
7385 2006-05-24  Bruno Haible  <bruno@clisp.org>
7386
7387         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
7388         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
7389         Reported by Thorsten Maerz <torte@netztorte.de> via
7390         Aaron Stone <aaron@serendipity.cx>.
7391
7392 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7393
7394         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
7395         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
7396         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
7397         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
7398         not really conditional on the cache.
7399         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
7400
7401 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7402
7403         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
7404         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
7405         (my_usleep): Don't mishandle maximum value.
7406
7407 2006-05-19  Jim Meyering  <jim@meyering.net>
7408
7409         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
7410
7411 2006-05-17  Bruno Haible  <bruno@clisp.org>
7412
7413         Cygwin portability.
7414         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
7415
7416 2006-05-17  Bruno Haible  <bruno@clisp.org>
7417
7418         * lib/stdint_.h: Fix recognition of Cygwin.
7419
7420 2006-05-15  Bruno Haible  <bruno@clisp.org>
7421
7422         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
7423         on libtool patch by Ralf Wildenhues.
7424
7425 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
7426
7427         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
7428         test for C99 conformance; (bool) 0.5 is an integer constant
7429         expression, but (bool) -0.5 is not.  Problem reported by Fedor
7430         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
7431
7432 2006-05-11  Simon Josefsson  <jas@extundo.com>
7433
7434         * m4/xvasprintf.m4: Fix obvious typo.
7435
7436 2006-05-11  Jim Meyering  <jim@meyering.net>
7437
7438         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
7439         James Lemley.
7440
7441 2006-05-10  Simon Josefsson  <jas@extundo.com>
7442
7443         * lib/md4.c: Typo fix, update copyright years.
7444         (K1, K2): Don't use L because it turn computations into 64-bit on
7445         64-bit platforms.
7446
7447 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
7448
7449         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
7450         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
7451         unwanted sign propagation, e.g., on hosts with 64-bit int.
7452         There still are some problems with reeelly weird theoretical hosts
7453         (e.g., 33-bit int) but it's not worth worrying about now.
7454         * lib/sha1.c (rol): Likewise.
7455         (K1, K2, K3, K4): Remove unnecessary L suffix.
7456
7457 2006-05-10  Bruno Haible  <bruno@clisp.org>
7458
7459         * lib/des.c: Cast to avoid warnings.
7460
7461 2006-05-09  Bruno Haible  <bruno@clisp.org>
7462
7463         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
7464         (Depends-on): Depend also on xsize, stdarg.
7465         (configure.ac): Add gl_XVASPRINTF.
7466
7467 2006-05-09  Bruno Haible  <bruno@clisp.org>
7468
7469         * m4/xvasprintf.m4: New file.
7470
7471 2006-05-09  Bruno Haible  <bruno@clisp.org>
7472
7473         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
7474         (EOVERFLOW): Define fallback value.
7475         (xstrcat): New function.
7476         (xvasprintf): Recognize the special case of a string concatenation.
7477
7478 2006-05-08  Eric Blake  <ebb9@byu.net>
7479
7480         * gnulib-tool (func_version): Base copyright year on CVS date.
7481         (func_emit_copyright_notice): New function.
7482         (func_emit_lib_Makefile_am): Use it.
7483         (func_emit_tests_Makefile_am): Likewise.
7484         (func_import): Likewise.
7485
7486 2006-05-08  Bruno Haible  <bruno@clisp.org>
7487
7488         * modules/stdarg: New file.
7489         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
7490
7491 2006-05-08  Bruno Haible  <bruno@clisp.org>
7492
7493         * m4/stdarg.m4: New file, from GNU gettext.
7494
7495 2006-05-08  Bruno Haible  <bruno@clisp.org>
7496
7497         * config/srclist.txt (build-aux/config.rpath): different from latest
7498         release.
7499
7500 2006-05-08  Bruno Haible  <bruno@clisp.org>
7501
7502         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
7503
7504 2006-05-05  Jim Meyering  <jim@meyering.net>
7505
7506         * m4/warning.m4: New file, derived from bison's file by the same name.
7507
7508 2006-05-03  Bruno Haible  <bruno@clisp.org>
7509
7510         * lib/stdint_.h: Shorter URL.
7511         * lib/inttypes.h: Likewise.
7512
7513 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7514
7515         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
7516
7517 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7518
7519         * lib/verify.h: Document the internals better.  Most of this change
7520         was written by Bruno Haible.
7521
7522 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7523
7524         * doc/verify.texi: New file, partly based on a proposal by
7525         Bruno Haible.
7526
7527 2006-05-02  Bruno Haible  <bruno@clisp.org>
7528
7529         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
7530         test from here...
7531         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
7532
7533 2006-04-29  Bruno Haible  <bruno@clisp.org>
7534
7535         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
7536         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
7537
7538 2006-04-29  Bruno Haible  <bruno@clisp.org>
7539
7540         * gnulib-tool: Make --update option actually work.
7541
7542 2006-04-29  Bruno Haible  <bruno@clisp.org>
7543
7544         * doc/gcd.texi: New file.
7545         * doc/gnulib.texi: Include it.
7546
7547 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7548
7549         * lib/getdate.y (get_date): When adding relative date, start with the
7550         initial time, not with the result of the first mktime call.
7551
7552 2006-04-25  Bruno Haible  <bruno@clisp.org>
7553
7554         * gnulib-tool (func_import): Output the include directives in three
7555         blocks, sorted separately.
7556         Reported by Ben Pfaff <blp@cs.stanford.edu>.
7557
7558 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7559
7560         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
7561         to define main with arguments, for C++.  Reported by Eric Blake.
7562         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
7563         Prefer 'int main ()' to 'int main (void)', for C++.
7564         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7565         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
7566         for 'main', for C99 and C++.
7567
7568 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7569
7570         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
7571         Don't assume that exit status -1 is valid.
7572         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7573         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
7574         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
7575         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
7576         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
7577         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
7578         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
7579         functions can be used without declaring them, or that you can
7580         exit with status -1.
7581         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
7582
7583 2006-04-24  Karl Berry  <karl@gnu.org>
7584
7585         * config/srclist.txt (longdouble.m4): sync lost.
7586
7587 2006-04-24  Eric Blake  <ebb9@byu.net>
7588
7589         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
7590
7591 2006-04-24  Bruno Haible  <bruno@clisp.org>
7592
7593         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
7594         poll() implementation in AIX.
7595         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7596
7597 2006-04-24  Bruno Haible  <bruno@clisp.org>
7598
7599         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
7600         assigned exactly once.
7601
7602 2006-04-23  Claudio Fontana  <claudio@gnu.org>
7603             Bruno Haible  <bruno@clisp.org>
7604
7605         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
7606         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
7607         for AM_CPPFLAGS.
7608
7609 2006-04-23  Bruno Haible  <bruno@clisp.org>
7610
7611         * modules/copy-file: Depend on unistd.
7612         * modules/execute: Likewise.
7613         * modules/fatal-signal: Likewise.
7614         * modules/findprog: Likewise.
7615         * modules/mkdtemp : Likewise.
7616         * modules/pipe: Likewise.
7617         * modules/wait-process: Likewise.
7618
7619 2006-04-23  Bruno Haible  <bruno@clisp.org>
7620
7621         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
7622         condition was already detected.
7623         Reported by Ben Pfaff <blp@cs.stanford.edu>.
7624
7625 2006-04-23  Bruno Haible  <bruno@clisp.org>
7626
7627         * lib/copy-file.c: Include <unistd.h> unconditionally.
7628         * lib/execute.c: Likewise.
7629         * lib/fatal-signal.c: Likewise.
7630         * lib/findprog.c: Likewise.
7631         * lib/mkdtemp.c: Likewise.
7632         * lib/pipe.h: Likewise.
7633         * lib/pipe.c: Likewise.
7634         * lib/wait-process.h: Likewise.
7635
7636 2006-04-23  Bruno Haible  <bruno@clisp.org>
7637
7638         * gnulib-tool (func_usage): Fix --import description. Document
7639         --update.
7640         (func_import): Create temporary file in a temporary directory, if
7641         --dry-run is specified. Silence errors from 'grep' when there are no
7642         m4 files in $m4dir.
7643         (func_create_testdir): Silence errors from 'grep' when there are no
7644         m4 files in $m4dir.
7645         Reported by Karl Berry <karl@freefriends.org>.
7646
7647 2006-04-20  Bruno Haible  <bruno@clisp.org>
7648
7649         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
7650         one argument, so that the code will be portable to Autoconf 2.60.
7651         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
7652         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
7653         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
7654
7655 2006-04-19  Derek Price  <derek@ximbiot.com>
7656             Eric Blake  <ebb9@byu.net>
7657
7658         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
7659         rather than "/full/path.h".  Update comment to match.  Shorten &
7660         generalize m4_translit call via AS_TR_CPP.
7661
7662 2006-04-19  Derek Price  <derek@ximbiot.com>
7663             Eric Blake  <ebb9@byu.net>
7664
7665         * lib/inttypes.h: Correct grammar in comment.
7666
7667 2006-04-18  Derek Price  <derek@ximbiot.com>
7668             Paul Eggert  <eggert@cs.ucla.edu>
7669
7670         * modules/inttypes: New file.
7671         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
7672
7673 2006-04-18  Derek Price  <derek@ximbiot.com>
7674             Paul Eggert  <eggert@cs.ucla.edu>
7675
7676         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
7677         New files.
7678
7679 2006-04-18  Derek Price  <derek@ximbiot.com>
7680             Paul Eggert  <eggert@cs.ucla.edu>
7681
7682         * lib/inttypes.h: New file.
7683         * lib/strtoimax.c: Assume <inttypes.h>.
7684
7685 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7686
7687         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
7688         isn't mounted.  Problem reported by Kir Kolyshkin.
7689
7690 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7691
7692         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
7693         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
7694         Derek R. Price.
7695         * lib/regex.h (RE_DUP_MAX): Update comment to match current
7696         implementation.
7697
7698 2006-04-12  Eric Blake  <ebb9@byu.net>
7699
7700         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
7701         is now done automatically by the corresponding Autoconf macro.
7702
7703 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
7704
7705         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
7706         time_r.h.
7707
7708 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7709
7710         Merge regex changes from libc, removing some of our
7711         POSIX-conformance changes that were rejected and redoing them in a
7712         less-intrusive way.
7713
7714         * lib/regcomp.c (re_compile_internal, init_dfa):
7715         Length arg is now size_t, not Idx.  All uses changed.
7716         (peek_token): Forward decl now says internal_function.
7717         (__re_error_msgid, __re_error_msgid_idx):
7718         Now static rather than extern with attribute_hidden.
7719         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
7720         For some reason libc prefers K&R style defns for external functions.
7721         (regerror) [!defined _LIBC]: Likewise.
7722         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
7723         (seek_collating_symbol_entry, lookup_collation_sequence_value):
7724         (build_range_exp, build_collating_symbol):
7725         Use K&R-style defn.
7726         (re_compile_fastmap): Use '\0' to memset, not 0.
7727         (utf8_sb_map): Make the calculations more obvious.
7728         (init_dfa, parse_bracket_exp, build_charclass_op):
7729         Call calloc and cast result, as glibc does.
7730         (init_word_char, fetch_token, peek_token, peek_token_bracket):
7731         (build_range_exp, build_collating_symbol):
7732         Now internal functions.
7733
7734         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
7735
7736         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
7737         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
7738         Don't depend on VMS; depend on __VMS instead, for POSIX
7739         namespace cleanness.
7740         (regoff_t): Define to ssize_t, not long int.
7741
7742         Remove the REG_ macros named below.  Instead, make the old names
7743         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
7744         __USE_GNU_REGEX.
7745         (REG_BACKSLASH_ESCAPE_IN_LISTS):
7746         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
7747         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
7748         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
7749         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
7750         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
7751         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
7752         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
7753         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
7754         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
7755         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
7756         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
7757         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
7758         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
7759         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
7760         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
7761         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
7762         (REG_NREGS):
7763         Remove.  All uses replaced by the old RE_* names.
7764         (RE_BACKSLASH_ESCAPE_IN_LISTS):
7765         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
7766         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
7767         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
7768         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
7769         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
7770         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
7771         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
7772         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
7773         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
7774         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
7775         Don't bother having these macros be independent of each others'
7776         values, since they no longer exist in the POSIX name space.
7777
7778         Rename the following member names back to their old names,
7779         unless !__USE_GNU_REGEX.  All uses changed back.
7780         (buffer): Renamed from re_buffer.
7781         (allocated): Renamed from re_allocated.
7782         (used): Renamed from re_used.
7783         (syntax): Renamed from re_syntax.
7784         (fastmap): Renamed from re_fastmap.
7785         (translate): Renamed from re_translate.
7786         (can_be_null): Renamed from re_can_be_null.
7787         (regs_allocated): Renamed from re_regs_allocated.
7788         (fastmap_accurate): Renamed from re_fastmap_accurate.
7789         (no_sub): Renamed from re_no_sub.
7790         (not_bol): Renamed from re_not_bol.
7791         (not_eol): Renamed from re_not_eol.
7792         (newline_anchor): Renamed from re_newline_anchor.
7793         (num_regs): Renamed from rm_num_regs.
7794         (start): Renamed from rm_start.
7795         (end): Renamed from rm_end.
7796
7797         (free_state): Move up a bit.
7798
7799         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
7800         #define to be empty.
7801         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
7802         when that is what is intended.
7803         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
7804         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
7805         (MAX): New macro.
7806         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
7807         All uses changed back to re_malloc, etc.  It's now the caller's
7808         responsibility to check for overflow; all callers changed.
7809         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
7810         (re_x2nrealloc): Remove.
7811         (free_state): Remove decl.
7812
7813         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
7814         (re_set_registers, re_exec):
7815         Use K&R-style defn.
7816
7817         2006-01-31  Roland McGrath  <roland@redhat.com>
7818
7819         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
7820         Reported by Mike Frysinger <vapier@gentoo.org>.
7821
7822         2006-01-15  Andreas Jaeger  <aj@suse.de>
7823
7824         [BZ #1950]
7825         * lib/regex_internal.c (re_string_reconstruct): Adjust for
7826         build_wcs_upper_buffer change.
7827         (build_wcs_upper_buffer): Change return type.
7828
7829         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
7830
7831         * lib/regex_internal.h: Include <stdint.h> if available.
7832
7833         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
7834
7835         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
7836
7837         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
7838
7839         * lib/regcomp.c: Adjust for changed secondary hash function.
7840
7841         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
7842
7843         * lib/regex.h: Pretty printing.
7844         Clean up namespace a bit.
7845
7846         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
7847
7848         * lib/regexec.c (update_cur_sifted_state, check_arrival,
7849         check_arrival_add_next_nodes): Avoid using uninitialized variable.
7850
7851         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
7852                     Ulrich Drepper  <drepper@redhat.com>
7853
7854         [BZ #1302]
7855         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
7856         changed.
7857         (bitset_word_t): Renamed from bitset_word.  All uses changed.
7858
7859         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
7860
7861         [BZ #281]
7862         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
7863         * lib/regcomp.c: Remove unnecessary uses of
7864         unsigned RE_TRANSLATE_TYPE.
7865         * lib/regex_internal.h: Likewise.
7866         * lib/regex_internal.c: Likewise.
7867         * lib/regexec.c: Likewise.
7868         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
7869
7870         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
7871
7872         * lib/regexec.c (find_recover_state): Remove unnecessary
7873         initialization.
7874         (transit_state_bkref): Make DFA a const pointer.
7875         (get_subexp): Likewise.
7876         (check_arrival): Likewise.
7877         (update_cur_sifted_state): Likewise.
7878         (re_search_internal): Likewise.
7879         (prune_impossible_nodes): Likewise.
7880         (acquire_init_state_context): Likewise.
7881         (proceed_next_node): Likewise.
7882         (set_regs): Likewise.
7883         (free_fail_stack_return): Likewise.
7884         (check_arrival_expand_ecl): Mark DFA parameter as const.
7885         (check_arrival_expand_ecl_sub): Likewise.
7886         (check_subexp_limits): Likewise.
7887         (sub_epsilon_src_nodes):  Likewise.
7888         (add_epsilon_src_nodes):  Likewise.
7889         (merge_state_array): Likewise.
7890         (update_regs): Likewise.
7891         (build_trtable): Likewise.
7892         (sift_states_backward): Mark MCTX parameter as const.
7893         (build_sifted_states): Likewise.
7894         (update_cur_sifted_state): Likewise.
7895         (sift_states_mkref): Likewise.
7896         (check_arrival_expand_ecl): Mark eclosure as const.
7897         (check_dst_limits_calc_pos_1): Likewise.
7898         * lib/regex_internal.h (re_match_context_t): Make dfa a const
7899         pointer.
7900
7901         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
7902
7903         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
7904         (transit_state_sb): Likewise.
7905         (transit_state_mb): Likewise.
7906         (sift_states_iter_mb): Likewise.
7907         (check_arrival_add_next_nodes): Likewise.
7908         (check_node_accept_bytes): Change first parameter to pointer-to-const.
7909         [_LIBC] (re_search_2_stub): Use mempcpy.
7910
7911         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
7912         mbrtowc for very simple UTF-8 case.
7913
7914         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
7915         a pointer-to-const.
7916         (re_acquire_state_context): Likewise.
7917         * lib/regex_internal.h: Adjust prototypes.
7918
7919         * lib/regex.c: Prevent using C++ compilers.
7920
7921         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
7922         (re_acquire_state_context): Likewise.
7923
7924 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7925
7926         * modules/regex (Depends-on): Add ssize_t.
7927
7928 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7929
7930         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
7931         translation table.
7932
7933 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7934
7935         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
7936
7937 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
7938             Bruno Haible  <bruno@clisp.org>
7939
7940         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
7941         <sys/types.h> and <inttypes.h>.
7942
7943 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7944
7945         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
7946         `__error_t_defined', so argp.h will not typedef the former.
7947
7948 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
7949
7950         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
7951         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
7952         glibc names.  Even if glibc is changed to conform to POSIX, the
7953         traditional names will be available anyway, since regex depends on
7954         the extensions module.  Also, fix a longstanding typo in the
7955         implementation of Spencer ERE test #75 from grep 2.3.  Problems
7956         reported by Emanuele Giaquinta.  Also, change sense of cached
7957         variable, so that the message makes sense.
7958
7959 2006-03-24  Simon Josefsson  <jas@extundo.com>
7960
7961         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
7962         including some doc fixes.
7963         (base64_encode_alloc): Fix +1 bug on allocation failures.
7964
7965 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7966
7967         * lib/base64.c (base64_encode): Do not read past end of array with
7968         unsanitized input on systems with CHAR_BIT > 8.
7969
7970 2006-03-24  Eric Blake  <ebb9@byu.net>
7971
7972         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
7973
7974 2006-03-22  Karl Berry  <karl@gnu.org>
7975
7976         * config/srclist.txt (*setenv.[ch]): get from coreutils.
7977         * config/srclistvars.sh (COREUTILS): new var.
7978
7979 2006-03-17  Jim Meyering  <jim@meyering.net>
7980
7981         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
7982         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
7983
7984 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
7985
7986         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
7987         no longer needs it.  Instead, check that regoff_t is as least
7988         as wide as ptrdiff_t.
7989
7990         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
7991         so that our regex.h stays compatible with the installed regex.
7992         This is helpful for installers who configure --without-included-regex.
7993         Problem reported by Emanuele Giaquinta.
7994
7995 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
7996
7997         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
7998         Typedef to long int, not to off_, as POSIX will likely change
7999         in that direction.
8000
8001 2006-03-15  Eric Blake  <ebb9@byu.net>
8002
8003         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
8004
8005 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
8006
8007         * lib/argp-help.c (validate_uparams): Fix typo
8008         * lib/argp-parse.c (argp_default_options): Consistently begin help
8009         messages with a lowercase letter.
8010
8011 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
8012
8013         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
8014         overrun buffers and shouldn't be used (much as gets shouldn't be
8015         used).
8016         * lib/time_r.c (asctime_r, ctime_r): Likewise.
8017
8018 2006-03-08  Simon Josefsson  <jas@extundo.com>
8019
8020         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
8021         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8022
8023 2006-03-08  Simon Josefsson  <jas@extundo.com>
8024
8025         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
8026         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8027
8028 2006-03-08  Simon Josefsson  <jas@extundo.com>
8029
8030         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
8031         signal that configure disabled the device.
8032
8033 2006-03-08  Simon Josefsson  <jas@extundo.com>
8034
8035         * build-aux/maint.mk: Fix refresh-po, to handle no translated
8036         languages.
8037
8038 2006-03-07  Simon Josefsson  <jas@extundo.com>
8039
8040         * modules/getopt (Depends-on): Add unistd.
8041
8042         * modules/unistd: New file.
8043
8044 2006-03-07  Simon Josefsson  <jas@extundo.com>
8045
8046         * modules/gc-random: New file.
8047
8048 2006-03-07  Simon Josefsson  <jas@extundo.com>
8049
8050         * m4/unistd_h.m4: New file.
8051
8052 2006-03-07  Simon Josefsson  <jas@extundo.com>
8053
8054         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
8055         test to be side-effect free by storing the result in the cache
8056         variable gl_cv_lib_readline, and moving the assignment of
8057         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
8058         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8059
8060 2006-03-07  Simon Josefsson  <jas@extundo.com>
8061
8062         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
8063         error on missing devices (the functions will return an error).
8064
8065         * m4/gc.m4: Move random stuff to gc-random.m4
8066
8067 2006-03-07  Simon Josefsson  <jas@extundo.com>
8068
8069         * lib/unistd_.h: New file.
8070
8071 2006-03-07  Simon Josefsson  <jas@extundo.com>
8072
8073         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
8074
8075 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8076
8077         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
8078         Problem reported by Juan Manuel Guerrero.
8079
8080 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8081
8082         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
8083         the unistd module.
8084         * lib/getlogin_r.c: Likewise.
8085         * lib/getlogin_r.h: Likewise.
8086         * lib/glob.c: Likewise.
8087         * lib/pagealign_alloc.c: Likewise.
8088         * lib/unistd_.h: Remove; no longer needed.
8089
8090 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8091
8092         * MODULES.html.sh (Support for systems lacking POSIX:2001):
8093         Add unistd.
8094         * modules/c-stack (Depends-on): Add unistd.
8095         * modules/getlogin_r: Likewise.
8096         * modules/glob: Likewise.
8097         * modules/pagealign_alloc: Likewise.
8098         * modules/unistd (Files): Remove lib/unistd_.h.
8099         (EXTRA_DIST): Remove.
8100         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
8101         need unistd_.h.
8102         (MOSTLYCLEANFILES): Remove unistd.h-t.
8103
8104 2006-03-03  Simon Josefsson  <jas@extundo.com>
8105
8106         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
8107
8108 2006-03-03  Simon Josefsson  <jas@extundo.com>
8109
8110         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
8111         libidn and bison.
8112
8113 2006-03-03  Simon Josefsson  <jas@extundo.com>
8114
8115         * build-aux/maint.mk: Add indent target.
8116
8117 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
8118
8119         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
8120         our replacement poll.h in any case, to avoid a differing
8121         declaration from a system header.  Seen on AIX.
8122
8123 2006-03-01  Simon Josefsson  <jas@extundo.com>
8124
8125         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
8126         <kasal@ucw.cz>.
8127
8128 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
8129
8130         * modules/gettime (Depends-on): Add extensions module.
8131         * modules/nanosleep (Depends-on): Likewise.
8132         * modules/settime (Depends-on): Likewise.
8133
8134 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
8135
8136         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
8137         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
8138         pedantically.
8139         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8140         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
8141
8142         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
8143         not "==".  Reported by Ralf Wildenhues.
8144
8145 2006-03-01  Karl Berry  <karl@gnu.org>
8146
8147         * doc/Copyright/request-*: new files, synced from gnuorg.
8148
8149 2006-03-01  Karl Berry  <karl@gnu.org>
8150
8151         * config/srclist.txt (Copyright/*): new entries.
8152
8153 2006-02-28  Simon Josefsson  <jas@extundo.com>
8154
8155         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
8156
8157 2006-02-27  Simon Josefsson  <jas@extundo.com>
8158
8159         * lib/base64.h: Indent #define's.  From Jim Meyering
8160         <jim@meyering.net>.
8161
8162 2006-02-27  Jim Meyering  <jim@meyering.net>
8163
8164         Revert the change of 2006-02-24, so these files can continue
8165         to be sync'd from gettext.
8166         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
8167         of `config.h'.
8168
8169 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
8170
8171         * modules/intprops: New file.
8172         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
8173         Add intprops.
8174         * modules/getloadavg (Files): Remove lib/intprops.h.
8175         (Depends-on): Add intprops.
8176         * modules/human: Likewise.
8177         * modules/inttostr: Likewise.
8178         * modules/openat: Likewise.
8179         * modules/sig2str: Likewise.
8180         * modules/userspec: Likewise.
8181         * modules/utimecmp: Likewise.
8182         * modules/xnanosleep: Likewise.
8183         * modules/xstrtol: Likewise.
8184
8185 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
8186
8187         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
8188         * modules/lock-tests (TESTS): Use $(EXEEXT).
8189         * modules/tls-tests: Likewise.
8190         * modules/argp-tests: Likewise.
8191         (check_PROGRAMS): New var, replacing...
8192         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
8193
8194 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8195
8196         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
8197         `config.h'.
8198
8199 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8200
8201         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
8202
8203 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8204
8205         Sync from coreutils.
8206         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
8207         gl_CHDIR_SAFER.
8208
8209 2006-02-22  Jim Meyering  <jim@meyering.net>
8210
8211         Sync from coreutils.
8212         * m4/chdir-safer.m4: New file.
8213
8214 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
8215
8216         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
8217         AT_FDCWD exceeds INT_MAX.
8218         * lib/openat.h (AT_FDCWD): Likewise.
8219
8220 2006-02-17  Eric Blake  <address@hidden>
8221
8222         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
8223
8224 2006-02-16  Simon Josefsson  <jas@extundo.com>
8225
8226         * modules/getaddrinfo (Depends-on): Add sys_socket.
8227
8228 2006-02-15  Simon Josefsson  <jas@extundo.com>
8229
8230         * build-aux/maint.mk: Add dsyntax-check rule.
8231
8232 2006-02-15  Eric Blake  <ebb9@byu.net>
8233
8234         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
8235         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
8236         'present but cannot compile' warnings on cygwin.
8237         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
8238         use ws2tcpip.h if sys/socket.h works.
8239         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
8240         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
8241
8242 2006-02-14  Simon Josefsson  <jas@extundo.com>
8243
8244         * modules/maintainer-makefile (Files): Rename.
8245
8246         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
8247         and (the local) Makefile.cfg to maint-cfg.mk.
8248
8249         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
8250         to the latter.
8251
8252         * modules/maintainer-makefile: New module.
8253
8254         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
8255         severaly stripped to make it possible to build it up from scratch
8256         with reliable tests.
8257
8258         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
8259         fixes to permit overriding the default actions when configure and
8260         makefile are not available.
8261
8262 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
8263
8264         Sync from coreutils.
8265         * modules/lstat (Depends-on): Don't depend on xalloc.
8266         (License): Change from GPL to LGPL, since this is now simply a
8267         replacement for a libc function.
8268
8269 2006-02-14  Jim Meyering  <jim@meyering.net>
8270
8271         Sync from coreutils.
8272
8273         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
8274         failure on deficient systems, and simplify gnulib lgpl dependencies.
8275         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
8276         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
8277
8278         * lib/xalloc-die.c: Remove unused definition of N_.
8279
8280 2006-02-14  Jim Meyering  <jim@meyering.net>
8281
8282         Sync from coreutils.
8283         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
8284         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
8285         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
8286         double-quote uses of that variable, to accommodate the rare case in
8287         which getmntent is available in none of the libraries checked.  This
8288         happens at least on FreeBSD 5.0.
8289
8290 2006-02-13  Simon Josefsson  <jas@extundo.com>
8291
8292         * gnulib-tool (Usage): Fix --import, from
8293         karl@freefriends.org (Karl Berry).
8294
8295 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
8296
8297         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
8298
8299 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
8300
8301         * lib/argp-namefrob.h: Restore changes accidentally lost during the
8302         "autoupdate" on 2005-12-12.
8303
8304 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8305
8306         * modules/closeout (Depends-on): Remove atexit.
8307
8308 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8309
8310         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
8311         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
8312
8313 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
8314
8315         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
8316         __EXTENSIONS__ if this causes compilation to fail.  Problem
8317         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
8318         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
8319
8320 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8321
8322         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
8323         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
8324         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
8325         All uses changed.
8326
8327 2006-01-26  Simon Josefsson  <jas@extundo.com>
8328
8329         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
8330         prototype is visible on mingw32.
8331
8332         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
8333         for mingw32.
8334
8335         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
8336         mingw32).
8337
8338 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
8339
8340         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
8341         attempt to open for write; this always fails, at least on POSIX
8342         hosts.  This reinstates the 2006-01-09 change, which was
8343         inadvertently removed.
8344
8345 2006-01-26  Bruno Haible  <bruno@clisp.org>
8346
8347         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
8348         Reported by Paul Eggert.
8349
8350 2006-01-26  Bruno Haible  <bruno@clisp.org>
8351             Paul Eggert  <eggert@cs.ucla.edu>
8352
8353         * lib/stdbool_.h (_Bool)
8354         [(! (defined __cplusplus || defined __BEOS__)
8355           && !defined __GNUC__
8356           && !(defined __HP_cc || defined __xlc__
8357                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
8358                || defined __sgi))]:
8359         #define to signed char in these cases too; this simplifies
8360         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
8361         etc., separately) and makes it more conservative.
8362
8363 2006-01-25  Simon Josefsson  <jas@extundo.com>
8364
8365         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
8366         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
8367         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
8368
8369 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
8370
8371         * lib/argp-namefrob.h: Bugfix. Remove stray #
8372
8373 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8374
8375         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
8376         so that we test the test.
8377         Check for yet another HP-UX cc bug involving *bool |= bool.
8378
8379 2006-01-25  Karl Berry  <karl@gnu.org>
8380
8381         * config/srclist.txt (vasnprintf.c): sync lost.
8382
8383 2006-01-25  Jim Meyering  <jim@meyering.net>
8384
8385         Sync from the stable (b5) branch of coreutils:
8386
8387         * lib/fts.c (fts_children): Don't let close() clobber errno from
8388         failed fchdir().
8389
8390         * lib/fts.c (fts_stat): When following a symlink-to-directory,
8391         don't necessarily interpret stat-fails+lstat-succeeds as indicating
8392         a dangling symlink.  That can also happen at least for ELOOP.
8393         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
8394         FYI, this bug predates the inclusion of fts.c in coreutils.
8395
8396         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
8397         in their own block, so pre-c99 compilers don't object.
8398
8399         Avoid the double-free (first in fts_read, second in fts_close) that
8400         would occur when an `active' directory is made inaccessible (e.g.,
8401         via chmod a-x) during a traversal.
8402         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
8403         before returning.  Reproduce this failure by
8404         mkdir -p a/b; cd a; chmod a-x . b
8405         Reported by Stavros Passas.
8406
8407 2006-01-25  Jim Meyering  <jim@meyering.net>
8408
8409         * lib/fileblocks.c: Remove more useless parentheses.
8410         * lib/readutmp.h: Likewise.
8411
8412 2006-01-25  Bruno Haible  <bruno@clisp.org>
8413
8414         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
8415         warnings.
8416         Reported by Paul Eggert.
8417
8418 2006-01-25  Bruno Haible  <bruno@clisp.org>
8419
8420         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
8421         rid of a trap command. For Solaris sh.
8422         Reported by Mark D. Baushke <mdb@gnu.org>.
8423
8424 2006-01-24  Simon Josefsson  <jas@extundo.com>
8425
8426         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
8427         Bruno.
8428
8429 2006-01-24  Karl Berry  <karl@gnu.org>
8430
8431         * config/srclist.txt (argp-namefrob.h): sync lost.
8432
8433 2006-01-24  Jim Meyering  <jim@meyering.net>
8434
8435         * modules/openat (Files): Add lib/intprops.h.
8436         From Mark D. Baushke.
8437
8438 2006-01-24  Jim Meyering  <jim@meyering.net>
8439
8440         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
8441         Reported by Mark D. Baushke.
8442
8443 2006-01-24  Jim Meyering  <jim@meyering.net>
8444
8445         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
8446
8447 2006-01-24  Bruno Haible  <bruno@clisp.org>
8448
8449         * modules/strnlen (Maintainer): Change from glibc to all.
8450
8451 2006-01-24  Bruno Haible  <bruno@clisp.org>
8452
8453         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
8454         Patch by Paul Eggert.
8455
8456 2006-01-24  Bruno Haible  <bruno@clisp.org>
8457
8458         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
8459         already has it.
8460         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
8461         2005-11-26.
8462
8463         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
8464         'signed char' to avoid problems with the built-in _Bool type.
8465         Reported by Paul Eggert on 2005-11-26.
8466
8467 2006-01-24  Bruno Haible  <bruno@clisp.org>
8468
8469         * gnulib-tool (func_import): Avoid constructing complicated sed
8470         expressions inside backquote.
8471         Report and solution by Mark D. Baushke <mdb@gnu.org>.
8472
8473 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
8474
8475         These changes imported from libc.
8476         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
8477         test and two separate function calls.
8478         * lib/strndup.c (__strndup): Add libc_hidden_def.
8479
8480 2006-01-23  Simon Josefsson  <jas@extundo.com>
8481
8482         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
8483         Remove the test_*_SOURCES variable: automake infers it by default.
8484         * modules/tls-tests: Likewise.
8485
8486 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8487
8488         Work around porting bugs reported by Dieter in
8489         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
8490         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
8491         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
8492         Include "getopt.h" first, to check interface.
8493         (getenv): Declare only if defined HAVE_DECL_GETENV &&
8494         !HAVE_DECL_GETENV.
8495         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
8496         (__strndup): Revert to K&R-style function dfns, the glibc style.
8497         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
8498         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
8499         Include strnlen.h first, to get prototype properly.
8500         (strnlen): Renamed from __strnlen.
8501         Remove weak alias.
8502
8503 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8504
8505         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
8506
8507 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8508
8509         * config/srclist.txt: Adjust to reflect glibc reorganization.
8510         This affects only comments.
8511
8512 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
8513
8514          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
8515          Reported by Bruce Korb <bkorb@gnu.org>.
8516
8517 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
8518
8519         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
8520         to pacify gcc -Wswitch-default.
8521
8522 2006-01-22  Bruno Haible  <bruno@clisp.org>
8523
8524         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
8525         temporary buffer for sprintf, take into account the precision also
8526         for 'd', 'i', 'u', 'o', 'x', 'X'.
8527
8528 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
8529
8530         * modules/argp-tests: New module
8531         * tests/test-argp.c: New file
8532         * tests/test-argp-2.sh: New file
8533
8534 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
8535
8536         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
8537         (__argp_base_name): Removed
8538         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
8539         typo.
8540         (__argp_base_name): Provide macro definition or extern declaration
8541         depending on the configuration
8542
8543 2006-01-20  Simon Josefsson  <jas@extundo.com>
8544
8545         * modules/inet_ntop (Depends-on): Depend on sys_socket.
8546
8547 2006-01-20  Simon Josefsson  <jas@extundo.com>
8548
8549         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
8550
8551 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
8552
8553         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
8554         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
8555         Suggested by Bruno Haible.
8556
8557 2006-01-20  Karl Berry  <karl@gnu.org>
8558
8559         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
8560         until changes propagate, I guess.
8561
8562 2006-01-19  Simon Josefsson  <jas@extundo.com>
8563
8564         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
8565
8566 2006-01-19  Simon Josefsson  <jas@extundo.com>
8567
8568         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
8569
8570 2006-01-19  Simon Josefsson  <jas@extundo.com>
8571
8572         * gnulib-tool: Set check_PROGRAMS.
8573
8574         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
8575         modules/des-tests, modules/gc-arcfour-tests,
8576         modules/gc-arctwo-tests, modules/gc-des-tests,
8577         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
8578         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
8579         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
8580         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
8581         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
8582         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
8583         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
8584         test_*_SOURCES.
8585
8586 2006-01-18  Simon Josefsson  <jas@extundo.com>
8587
8588         * modules/socklen (Depends-on): Depend on sys_socket.
8589
8590 2006-01-18  Simon Josefsson  <jas@extundo.com>
8591
8592         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
8593         modules/des-tests, modules/gc-arcfour-tests,
8594         modules/gc-arctwo-tests, modules/gc-des-tests,
8595         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
8596         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
8597         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
8598         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
8599         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
8600         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
8601         $(EXEEXT) to automake TESTS variable, for mingw32.
8602
8603 2006-01-17  Simon Josefsson  <jas@extundo.com>
8604
8605         * modules/socklen (Include): Need sys/socket.h.
8606
8607 2006-01-17  Bruno Haible  <bruno@clisp.org>
8608
8609         * modules/ssize_t (Include): Add <sys/types.h>.
8610
8611 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
8612
8613         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
8614         it's not portable and it doesn't work with cross-compiles.
8615         Problem reported by Bruno Haible.  Fix missing-$ typo in
8616         'test "gl_cv_ignore_unused_libraries" ...' that prevented
8617         -zignore from being used with Sun's C compiler.
8618
8619 2006-01-12  Simon Josefsson  <jas@extundo.com>
8620
8621         * lib/base64.c: Fix warning, reported by Bruno Haible
8622         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
8623
8624 2006-01-12  Bruno Haible  <bruno@clisp.org>
8625
8626         * modules/ldd: New file.
8627         * build-aux/ldd.sh.in: New file.
8628         * MODULES.html.sh (Support for building libraries and executables): Add
8629         ldd.
8630
8631 2006-01-12  Bruno Haible  <bruno@clisp.org>
8632
8633         * m4/ldd.m4: New file.
8634
8635 2006-01-12  Bruno Haible  <bruno@clisp.org>
8636
8637         * gnulib-tool (func_import, func_create_testdir): Don't go into an
8638         endless loop while replacing $auxdir with build-aux.
8639
8640 2006-01-11  Simon Josefsson  <jas@extundo.com>
8641
8642         * lib/stdint_.h (SIZE_MAX): Add missing (.
8643
8644 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
8645
8646         Sync from coreutils.
8647         * lib/md5.c: Fix commentary typos.
8648         (alignof, UNALIGNED_P): No need for a GCC-specific version.
8649         * lib/md5.h (__attribute__): Remove; unused.
8650         * lib/sha1.c: Fix commentary to match md5 better.
8651         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
8652         so that we don't need to worry about alignment.  All uses changed.
8653         This merges the 2005-10-28 md5 change into sha1.
8654
8655 2006-01-11  Jim Meyering  <jim@meyering.net>
8656
8657         Sync from coreutils.
8658         * lib/md5.c (OP): Fix spacing.
8659
8660 2006-01-11  Bruno Haible  <bruno@clisp.org>
8661
8662         Ensure automatic ordering between gl_LOCK and gl_ARGP.
8663         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
8664         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
8665
8666 2006-01-11  Bruno Haible  <bruno@clisp.org>
8667
8668         Ensure automatic ordering between gl_LOCK and gl_ARGP.
8669         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
8670         the "early" section as well.
8671
8672 2006-01-11  Bruno Haible  <bruno@clisp.org>
8673
8674         Avoid "ar: no archive members specified" error on MacOS X.
8675         * gnulib-tool (func_modules_add_dummy): New function.
8676         (func_import, func_create_testdir): Invoke it.
8677
8678 2006-01-11  Bruno Haible  <bruno@clisp.org>
8679
8680         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
8681         with $auxdir in AC_CONFIG_FILES statements.
8682
8683 2006-01-11  Bruno Haible  <bruno@clisp.org>
8684
8685         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
8686         Initialize also noinst_HEADERS to empty.
8687
8688 2006-01-11  Bruno Haible  <bruno@clisp.org>
8689
8690         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
8691         variables.
8692         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
8693         autoreconf.
8694
8695 2006-01-11  Bruno Haible  <bruno@clisp.org>
8696
8697         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
8698         overridable by the user.
8699         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8700
8701 2006-01-10  Simon Josefsson  <jas@extundo.com>
8702
8703         * modules/sys_socket: New file.
8704
8705 2006-01-10  Simon Josefsson  <jas@extundo.com>
8706
8707         * m4/sys_socket_h.m4: New file.
8708
8709 2006-01-10  Simon Josefsson  <jas@extundo.com>
8710
8711         * lib/socket_.h: New file.
8712
8713 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8714
8715         * modules/readutmp (Maintainer): Add myself.
8716
8717 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8718
8719         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
8720         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
8721         People who are still concerned with buggy memcmp implementations
8722         can invoke gl_FUNC_MEMCMP themselves.
8723
8724 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8725
8726         * lib/regex_internal.h (BITSET_WORD_BITS):
8727         Work around a bug in 64-bit PGC (before version 6.1-2), where the
8728         preprocessor mishandles large unsigned values as if they were signed.
8729         Problem reported by Claudio Fontana in
8730         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
8731
8732 2006-01-10  Jim Meyering  <jim@meyering.net>
8733
8734         Avoid the double-free (first in fts_read, second in fts_close) that
8735         would occur when an `active' directory is made inaccessible (e.g.,
8736         via chmod a-x) during a traversal.
8737         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
8738         before returning.  Reproduce this failure by
8739         mkdir -p a/b; cd a; chmod a-x . b
8740         Reported by Stavros Passas.
8741
8742         Sync from coreutils.
8743         * lib/sha1.c: Tweak grammar in a comment.
8744
8745 2006-01-10  Jim Meyering  <jim@meyering.net>
8746
8747         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
8748         Patch by Joerg Sonnenberger.
8749
8750 2006-01-10  Bruno Haible  <bruno@clisp.org>
8751
8752         * modules/readutmp: Depend on module free.
8753         * modules/strtok_r: Depend on module restrict.
8754
8755 2006-01-10  Bruno Haible  <bruno@clisp.org>
8756
8757         * modules/gettext (configure.ac): Add an invocation of
8758         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
8759
8760 2006-01-10  Bruno Haible  <bruno@clisp.org>
8761
8762         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
8763         Reported by Werner Lemberg <wl@gnu.org>.
8764
8765 2006-01-10  Bruno Haible  <bruno@clisp.org>
8766
8767         * lib/localcharset.c: Update from GNU gettext.
8768
8769 2006-01-10  Bruno Haible  <bruno@clisp.org>
8770
8771         * lib/argp.h (__const): Remove macro. Use const instead.
8772         * lib/argp-fmtstream.h (__const): Likewise.
8773         * lib/glob_.h (__const): Remove macro.
8774         * lib/glob-libc.h: Use const instead of __const.
8775
8776 2006-01-10  Bruno Haible  <bruno@clisp.org>
8777
8778         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
8779         variable.
8780         Needed to avoid an automake error regarding the 'gettext' module.
8781
8782 2006-01-09  Simon Josefsson  <jas@extundo.com>
8783
8784         * modules/inet_ntop (Depends-on): Add restrict.
8785
8786 2006-01-09  Simon Josefsson  <jas@extundo.com>
8787
8788         * modules/gc-rijndael-tests (License): Put under LGPL.
8789
8790         * modules/gc-des-tests (License): Likewise.
8791
8792         * modules/gc-arcfour-tests (License): Likewise.
8793
8794         * modules/gc-arctwo-tests (License): Likewise.
8795
8796         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
8797
8798         * modules/gc-hmac-sha1-tests (Files): Likewise.
8799
8800         * modules/gc-hmac-md5-tests (License): Likewise.
8801
8802         * modules/gc-sha1-tests (License): Likewise.
8803
8804         * modules/gc-md5-tests (License): Likewise.
8805
8806         * modules/gc-md4-tests (License): Likewise.
8807
8808         * modules/gc-md2-tests (License): Likewise.
8809
8810         * modules/gc-tests (License): Likewise.
8811
8812         * modules/des-tests (License): Likewise.
8813
8814         * modules/md4-tests (License): Likewise.
8815
8816         * modules/md2-tests (License): Likewise.
8817
8818 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8819
8820         Sync from coreutils:
8821
8822         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
8823         * modules/lib-ignore: New file.
8824         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
8825         chdir-safer.m4, lchmod.m4.
8826         * modules/openat: Add mkdirat.c, openat-priv.h.
8827
8828 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8829
8830         Sync from coreutils.
8831         * m4/lib-ignore.m4: New file.
8832         * m4/lchmod.m4: New file.
8833
8834 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8835
8836         Sync from coreutils.
8837         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
8838         for write access: POSIX says that must fail.
8839         * lib/fts.c (diropen): Likewise.
8840         * lib/save-cwd.c (save_cwd): Likewise.
8841         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
8842         well, for minor improvements on hosts that lack O_DIRECTORY.
8843         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
8844         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
8845         Fall back on chown if open failed with EACCES.
8846
8847         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
8848         Report an error at compile-time if only a 1-second nominal clock
8849         resolution is found.
8850
8851         * lib/lchmod.h: New file.
8852         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
8853         (make_dir_parents): Use lchown rather than chown, and
8854         lchmod rather than chmod.
8855
8856         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
8857         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
8858         "proc" reported by n0dalus.
8859
8860         * lib/mountlist.c: Include <limits.h>.
8861         (dev_from_mount_options)
8862         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
8863         New function.  It no longer assumes "dev=" has the System V meaning
8864         on Linux (since it doesn't).  It also parses "dev=" more carefully.
8865         (read_file_system_list)
8866         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
8867         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
8868         dev= in that case.
8869
8870         * lib/posixtm.h (PDS_PRE_2000): New macro.
8871         * lib/posixtm.c (year): Arg is now syntax_bits rather than
8872         allow_century.  All usages changed.  Reject dates outside the range
8873         1969-1999 if PDS_PRE_2000 is used.
8874
8875 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8876
8877         Sync from coreutils.
8878         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
8879         (Time of day items): Mention the possibility of leap seconds.
8880         Problem reported by Dr. David Alan Gilbert.
8881
8882 2006-01-09  Jim Meyering  <jim@meyering.net>
8883
8884         Sync from coreutils.
8885
8886         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
8887
8888         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
8889
8890         * lib/modechange.c (mode_compile): Reject an invalid mode string
8891         that starts with an octal digit.  From Andreas Gruenbacher.
8892
8893         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
8894         and dup to open_safer and dup_safer, respectively.
8895         (openat_permissive): Fix typo in comment.
8896
8897         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
8898         "gettext.h"; either no longer needed or are guaranteed by openat.h.
8899         (_): Remove; no longer needed.
8900         (openat): Renamed from rpl_openat; no need for rpl_openat
8901         since openat.h renames openat for us.
8902         Replace most of the body with a call to openat_permissive,
8903         to avoid duplicate code.
8904         Port to (probably hypothetical) environments were mode_t is
8905         wider than int.
8906         (openat_permissive): Require mode arg, so that we can check
8907         types better.  Put it just after flags.  Change cwd failure
8908         indicator from pointer-to-bool to pointer-to-errno-value.
8909         All callers changed.
8910         Invoke openat_save_fail and/or openat_restore_fail if
8911         cwd_errno is null, so that openat can call us.
8912         (openat_permissive, fdopendir, fstatat, unlinkat):
8913         Simplify errno handling to avoid some duplicate code,
8914         as it's OK to set errno on success.
8915         * lib/openat.h: Revamp code so that function macros depend on
8916         __OPENAT_PREFIX only, not also on AT_FDCWD.
8917         (openat_ro): Remove.  Caller changed to use openat_permissive.
8918         (openat_permissive): Now a macro, if not a function.
8919         (openat_restore_fail, openat_save_fail): Now always functions,
8920         since mkdirat needs them even if __OPENAT_PREFIX is defined.
8921
8922         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
8923         and openat.c.
8924         * lib/mkdirat.c: Include openat-priv.h.
8925         Remove definitions of macros defined therein.
8926         * lib/openat.c: Likewise.
8927
8928         * lib/mkdirat.c (mkdirat): New file and function.
8929         * lib/openat.h (mkdirat): Declare.
8930
8931         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
8932
8933         * lib/openat.h (openat_permissive): Declare.
8934         (openat_ro): Define.
8935
8936         * lib/openat.c (EXPECTED_ERRNO): New macro.
8937         (openat_permissive): New function -- used in remove.c rewrite.
8938         (all functions): Set errno just before returning, only if there
8939         was an actual failure.
8940         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
8941
8942         Emulate openat-family functions using Linux's procfs, if possible.
8943         Idea and some code based on Ulrich Drepper's glibc changes.
8944
8945         * lib/openat.c: (BUILD_PROC_NAME): New macro.
8946         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
8947         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
8948         before falling back on save_cwd and restore_cwd.
8949         (fdopendir, fstatat, unlinkat): Likewise.
8950
8951         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
8952         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
8953
8954         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
8955         as second argument to va_arg.  Otherwise, some versions of gcc
8956         warn that `if this code is reached, the program will abort'.
8957
8958 2006-01-09  Jim Meyering  <jim@meyering.net>
8959
8960         Sync from coreutils.
8961         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
8962         Require openat-priv.h.
8963
8964 2006-01-09  Bruno Haible  <bruno@clisp.org>
8965
8966         * modules/strnlen (Include): Use strnlen.h.
8967
8968 2006-01-09  Bruno Haible  <bruno@clisp.org>
8969
8970         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
8971
8972 2006-01-09  Bruno Haible  <bruno@clisp.org>
8973
8974         * lib/sysexit_.h (EX_OK): New macro.
8975         Suggested by Martin Lambers <marlam@marlam.de>.
8976
8977 2006-01-09  Bruno Haible  <bruno@clisp.org>
8978
8979         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
8980         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
8981
8982 2006-01-09  Bruno Haible  <bruno@clisp.org>
8983
8984         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
8985         numbers.
8986
8987 2006-01-09  Bruno Haible  <bruno@clisp.org>
8988
8989         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
8990         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
8991         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
8992         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
8993
8994 2006-01-09  Bruno Haible  <bruno@clisp.org>
8995
8996         * build-aux/javacomp.sh.in: New file, moved from lib/.
8997         * modules/javacomp-script (Files): Update.
8998         (configure.ac): Add AC_CONFIG_FILES invocation.
8999         (EXTRA_DIST): Remove variable.
9000
9001         * build-aux/javaexec.sh.in: New file, moved from lib/.
9002         * modules/javaexec (Files): Update.
9003         (configure.ac): Add AC_CONFIG_FILES invocation.
9004         (EXTRA_DIST): Remove javaexec.sh.in.
9005
9006         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
9007         * modules/csharpcomp-script (Files): Update.
9008         (configure.ac): Add AC_CONFIG_FILES invocation.
9009         (EXTRA_DIST): Remove variable.
9010
9011         * build-aux/csharpexec.sh.in: New file, moved from lib/.
9012         * modules/csharpexec (Files): Update.
9013         (configure.ac): Add AC_CONFIG_FILES invocation.
9014         (EXTRA_DIST): Remove csharpexec.sh.in.
9015
9016 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
9017
9018         Sync from coreutils.
9019
9020         Add POSIX ACL support
9021         * lib/acl.h (copy_acl, set_acl): Add declarations.
9022         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
9023         systems other than Linux.
9024         (chmod_or_fchmod): New function: use fchmod when possible,
9025         and chmod otherwise.
9026         (file_has_acl): Add a POSIX ACL implementation, with a
9027         Linux-specific subcase.
9028         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
9029         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
9030         acls are unsupported.
9031         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
9032         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
9033         are unsupported.
9034
9035 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
9036
9037         Sync from coreutils.
9038         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
9039
9040 2006-01-07  Bruno Haible  <bruno@clisp.org>
9041
9042         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
9043         gl_EARLY.
9044
9045 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9046
9047         * lib/strftime.c (tzname): Don't declare if it is already #defined.
9048         Problem reported for Mingw by Mark Junker.
9049
9050 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9051
9052         * README: Gnulib normally doesn't generate a tarball.
9053
9054 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
9055
9056         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
9057         long int, not int, for nanosecond counts, so that people who are
9058         used to POSIX struct timespec won't be surprised.  Reported by Jim
9059         Meyering.
9060
9061 2005-12-28  Bruno Haible  <bruno@clisp.org>
9062
9063         * build-aux/config.rpath: Update from GNU gettext.
9064
9065 2005-12-16  Jim Meyering  <jim@meyering.net>
9066
9067         * modules/fprintftime: New module.
9068         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
9069
9070 2005-12-16  Jim Meyering  <jim@meyering.net>
9071
9072         * m4/fprintftime.m4: New file.
9073
9074 2005-12-16  Jim Meyering  <jim@meyering.net>
9075
9076         * lib/fprintftime.c, lib/fprintftime.h: New files.
9077
9078 2005-12-15  Simon Josefsson  <jas@extundo.com>
9079
9080         * modules/socklen (configure.ac): Fix M4 macro name, to align with
9081         new m4/socklen.m4.
9082
9083 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
9084
9085         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
9086         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
9087
9088 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
9089
9090         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
9091         * lib/argp-help.c (fill_in_uparams): Check if the constructed
9092         struct uparams is valid. Fall back to the default values if it is
9093         not.
9094
9095 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9096
9097         * modules/argp (Files): Add argp-pin.c
9098         (Depends-on): dirname
9099         (lib_SOURCES): Add argp-pin.c
9100
9101 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9102
9103         * m4/argp.m4:  Check if program_invocation_name and
9104         program_invocation_short_name are declared and define appropriate
9105         macros if they are not.
9106
9107 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9108
9109         * lib/argp-help.c (__argp_base_name): New function
9110         (__argp_short_program_name): Rewrite using __argp_base_name
9111         * lib/argp-namefrob.h: Define program_invocation_name and
9112         program_invocation_short_name if requested
9113         (__argp_base_name): Add prototype
9114         * lib/argp-parse.c (argp_def): Use gettext wrappers
9115         (argp_default_parser): Use __argp_base_name
9116         * lib/argp-pin.c: New file. Defines program_invocation_name and
9117         program_invocation_short_name on systems that lack them.
9118
9119 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
9120
9121         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
9122         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
9123         porting problem reported by Georg Schwarz in
9124         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
9125
9126 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
9127
9128         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
9129         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
9130         porting problem reported by Georg Schwarz in
9131         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
9132
9133 2005-12-05  Bruno Haible  <bruno@clisp.org>
9134
9135         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
9136         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
9137         Reported by Mark Junker <mjscod@gmx.de>.
9138
9139 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9140
9141         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
9142         Use implementation from Albert Chin, with some
9143         comments/corrections by Stepan Kasal and myself.
9144
9145 2005-12-02  Bruno Haible  <bruno@clisp.org>
9146
9147         * gnulib-tool (func_import): Accept GPLed build tool modules when
9148         --lgpl is given.
9149         * modules/csharpcomp-script: New file.
9150         * modules/csharpcomp: Depend on it.
9151         * modules/javacomp-script: New file.
9152         * modules/javacomp: Depend on it.
9153         Suggested by Simon Josefsson.
9154
9155 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
9156
9157         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
9158         statement, to work around an HP-UX 10.20 compiler bug reported by
9159         Peter O'Gorman.
9160
9161 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
9162
9163         * modules/savedir (Depends-on): Add openat.
9164
9165 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
9166
9167         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
9168         (uintmax_t) [defined uintmax_t]: Do not declare.
9169         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
9170         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
9171         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
9172         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
9173         sake of portability to weird hosts that C allows (though we don't
9174         know of any practical examples).
9175
9176         * lib/savedir.h (fdsavedir): New decl.
9177         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
9178         contains most of the former guts of savedir.
9179         (savedir): Use savedirstream.
9180         Include "openat.h".
9181
9182 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9183
9184         * modules/obstack (Files): Add m4/ulonglong.m4.
9185         Problem reported by Davide Angelocola.
9186
9187 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
9188
9189         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
9190         coreutils no longer futzes with rounding modes.
9191
9192 2005-11-14  Jim Meyering  <jim@meyering.net>
9193
9194         * lib/mkstemp-safer.c: Include <config.h>, required for possible
9195         replacement of mkstemp.
9196
9197 2005-11-10  Simon Josefsson  <jas@extundo.com>
9198
9199         * lib/readline.c: Remove EOL.
9200
9201 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9202
9203         * modules/gethrxtime (Depends-on): Add gettime.
9204
9205 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9206
9207         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
9208         or gettimeofday; no longer needed.
9209
9210 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9211
9212         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
9213         time business.
9214         (gethrxtime) [! (HAVE_NANOUPTIME
9215         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
9216         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
9217         our own approximation.
9218
9219 2005-11-08  Eric Blake  <ebb9@byu.net>
9220
9221         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
9222
9223 2005-11-08  Eric Blake  <ebb9@byu.net>
9224
9225         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
9226
9227 2005-11-04  Bruno Haible  <bruno@clisp.org>
9228
9229         * gnulib-tool: Implement --update mode.
9230
9231 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
9232
9233         Fix porting problem reported by Theodoros V. Kalamatianos.
9234         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
9235         Don't assume that futimes failing means we must fail.
9236
9237 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
9238
9239         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
9240         variables to suggest the intended function of the PATH_MAX check.
9241
9242 2005-10-30  Kean Johnston  <jkj@sco.com>
9243
9244         Trivial changes to support SCO systems.
9245         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
9246         as PATH_MAX.
9247         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
9248         where __ptr is null when no I/O is pending.
9249
9250 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
9251
9252         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
9253         leave errno alone.  Problem reported by Dmitry V. Levin.
9254
9255 2005-10-28  Simon Josefsson  <jas@extundo.com>
9256
9257         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
9258         Test more.
9259
9260         * tests/test-gc-md2.c, tests/test-md2.c: New files.
9261
9262         * modules/md2, modules/md2-tests: New files.
9263
9264 2005-10-28  Simon Josefsson  <jas@extundo.com>
9265
9266         * m4/inet_ntop.m4: More tests.
9267
9268         * m4/gc-md2.m4, md2.m4: New file.
9269
9270 2005-10-28  Simon Josefsson  <jas@extundo.com>
9271
9272         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
9273         "restrict" keywords, as per POSIX.  Protect the function
9274         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
9275         Don't use K&R prototypes.  Check the sprintf return values.
9276         Re-define EAFNOSUPPORT if not present.  Indent.
9277
9278         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
9279         suggested by Bruno Haible <bruno@clisp.org>.
9280
9281         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
9282
9283         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
9284
9285         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
9286         libgcrypt).
9287
9288         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
9289
9290         * lib/md2.h, lib/md2.c: New files.
9291
9292 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
9293
9294         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
9295         errno alone.  Problem reported by Frederic Jolliton.
9296
9297 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
9298
9299         * modules/verify (License): Change from GPL to LGPL.  This is a
9300         tiny module and there are apparently near-equivalents that are
9301         under the BSD license.
9302
9303 2005-10-24  Simon Josefsson  <jas@extundo.com>
9304
9305         * modules/sha1: Relicense to LGPL.
9306
9307 2005-10-24  Simon Josefsson  <jas@extundo.com>
9308
9309         * lib/md4.h: Shrink buffer size, now that we changed the type.
9310
9311 2005-10-23  Simon Josefsson  <jas@extundo.com>
9312
9313         * gnulib-tool (func_import): Fix --tests-base.
9314
9315 2005-10-22  Simon Josefsson  <jas@extundo.com>
9316
9317         * modules/arcfour (Depends-on): Need stdint.
9318
9319 2005-10-22  Simon Josefsson  <jas@extundo.com>
9320
9321         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
9322         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
9323
9324 2005-10-22  Simon Josefsson  <jas@extundo.com>
9325
9326         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
9327         suggested by Bruno Haible <bruno@clisp.org>.
9328
9329 2005-10-22  Simon Josefsson  <jas@extundo.com>
9330
9331         * lib/crc.h: Include stddef.h, for size_t.
9332
9333 2005-10-22  Simon Josefsson  <jas@extundo.com>
9334
9335         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
9336         arcfour_context struct (simplify test vector testing in GNU
9337         Shishi).
9338
9339 2005-10-21  Simon Josefsson  <jas@extundo.com>
9340
9341         * modules/des, modules/des-tests: New files.
9342
9343         * modules/gc-des, modules/gc-des-tests: New files.
9344
9345         * tests/test-des.c, tests/test-gc-des.c: New file.
9346
9347 2005-10-21  Simon Josefsson  <jas@extundo.com>
9348
9349         * modules/arctwo, modules/arctwo-tests: New files.
9350
9351         * tests/test-arctwo.c: New file.
9352
9353         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
9354
9355         * tests/test-gc-arctwo.c: New file.
9356
9357 2005-10-21  Simon Josefsson  <jas@extundo.com>
9358
9359         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
9360         Bruno Haible <bruno@clisp.org>.
9361
9362         * m4/gc-des.m4: New file.
9363
9364 2005-10-21  Simon Josefsson  <jas@extundo.com>
9365
9366         * m4/arctwo.m4: New file.
9367
9368         * m4/gc-arctwo.m4: New file.
9369
9370 2005-10-21  Simon Josefsson  <jas@extundo.com>
9371
9372         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
9373         block.
9374
9375 2005-10-21  Simon Josefsson  <jas@extundo.com>
9376
9377         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
9378         <bruno@clisp.org>.
9379
9380         * lib/hmac-sha1.c (hmac_sha1): Likewise.
9381
9382         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
9383         Bruno Haible <bruno@clisp.org>.
9384
9385         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
9386         <bruno@clisp.org>.
9387
9388 2005-10-21  Simon Josefsson  <jas@extundo.com>
9389
9390         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
9391
9392 2005-10-21  Simon Josefsson  <jas@extundo.com>
9393
9394         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
9395
9396 2005-10-21  Simon Josefsson  <jas@extundo.com>
9397
9398         * lib/des.h, lib/des.c: New files.
9399
9400         * lib/gc-gnulib.c: Support DES.c
9401
9402 2005-10-21  Simon Josefsson  <jas@extundo.com>
9403
9404         * lib/arctwo.h, lib/arctwo.c: New files.
9405
9406         * lib/gc-gnulib.c: Support ARCTWO.
9407
9408 2005-10-21  Simon Josefsson  <jas@extundo.com>
9409
9410         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
9411         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9412
9413 2005-10-21  Simon Josefsson  <jas@extundo.com>
9414
9415         * gnulib-tool (func_import, func_create_testdir): Define automake
9416         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
9417         Makefile.am snippet),
9418         suggested by Bruno Haible <bruno@clisp.org>.
9419
9420         * modules/gc (Makefile.am): Use it.
9421
9422 2005-10-21  Bruno Haible  <bruno@clisp.org>
9423
9424         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
9425         patch.
9426
9427 2005-10-19  Simon Josefsson  <jas@extundo.com>
9428
9429         * tests/test-gc-rijndael.c: New file.
9430
9431         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
9432
9433 2005-10-19  Simon Josefsson  <jas@extundo.com>
9434
9435         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
9436         interface too.
9437
9438 2005-10-19  Simon Josefsson  <jas@extundo.com>
9439
9440         * tests/test-gc-arcfour.c: New file.
9441
9442         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
9443
9444 2005-10-19  Simon Josefsson  <jas@extundo.com>
9445
9446         * modules/gc-md4, modules/gc-md4-tests: New file.
9447
9448         * tests/test-gc-md4.c: New file.
9449
9450 2005-10-19  Simon Josefsson  <jas@extundo.com>
9451
9452         * m4/gc-md4.m4: New file.
9453
9454 2005-10-19  Simon Josefsson  <jas@extundo.com>
9455
9456         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
9457         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
9458         <kasal@ucw.cz>.
9459
9460 2005-10-19  Simon Josefsson  <jas@extundo.com>
9461
9462         * m4/gc-arcfour.m4: New file.
9463
9464         * m4/gc-rijndael.m4: New file.
9465
9466 2005-10-19  Simon Josefsson  <jas@extundo.com>
9467
9468         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
9469
9470 2005-10-19  Simon Josefsson  <jas@extundo.com>
9471
9472         * lib/gc-gnulib.c: Support ARCFOUR.
9473
9474 2005-10-19  Simon Josefsson  <jas@extundo.com>
9475
9476         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
9477         support.
9478
9479         * lib/gc.h: Add ECB enum type.
9480
9481         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
9482
9483 2005-10-18  Simon Josefsson  <jas@extundo.com>
9484
9485         * tests/test-md5.c: New file.
9486
9487         * modules/md5-tests: New file.
9488
9489 2005-10-18  Simon Josefsson  <jas@extundo.com>
9490
9491         * tests/test-md4.c: New file.
9492
9493         * modules/md4, modules/md4-tests: New files.
9494
9495 2005-10-18  Simon Josefsson  <jas@extundo.com>
9496
9497         * m4/md4.m4: New file.
9498
9499 2005-10-18  Simon Josefsson  <jas@extundo.com>
9500
9501         * lib/md4.h, lib/md4.c: New files, based on md5.?.
9502
9503 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
9504
9505         * gnulib-tool (func_create_testdir): Omit the second check whether
9506         BUILT_SOURCES in nonempty.
9507
9508 2005-10-17  Simon Josefsson  <jas@extundo.com>
9509
9510         * tests/test-rijndael.c: New file.
9511
9512 2005-10-17  Simon Josefsson  <jas@extundo.com>
9513
9514         * modules/sha1: Depend on stdint instead of md5.
9515
9516         * modules/md5: Depend on stdint, remove uint32_t.
9517
9518 2005-10-17  Simon Josefsson  <jas@extundo.com>
9519
9520         * modules/gc-sha1-tests: New file.
9521
9522         * tests/test-gc-sha1.c: New file.
9523
9524 2005-10-17  Simon Josefsson  <jas@extundo.com>
9525
9526         * m4/md5.m4: Remove call to uint32_t.m4.
9527
9528 2005-10-17  Simon Josefsson  <jas@extundo.com>
9529
9530         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
9531
9532         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
9533         md5.h.
9534
9535         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
9536
9537         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
9538
9539 2005-10-17  Simon Josefsson  <jas@extundo.com>
9540
9541         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
9542
9543 2005-10-17  Simon Josefsson  <jas@extundo.com>
9544
9545         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
9546
9547 2005-10-17  Simon Josefsson  <jas@extundo.com>
9548
9549         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
9550
9551         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
9552
9553 2005-10-17  Bruno Haible  <bruno@clisp.org>
9554
9555         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
9556         that it can also be used in a test.
9557
9558 2005-10-16  Bruno Haible  <bruno@clisp.org>
9559
9560         * gnulib-tool (func_emit_tests_Makefile_am): Also define
9561         TESTS_ENVIRONMENT, so that individual tests can augment it.
9562
9563         * gnulib-tool (func_create_testdir): Use an intermediate target for
9564         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
9565         macros, like $(ALLOCA_H), which cannot be passed through the command
9566         line.
9567
9568 2005-10-15  Simon Josefsson  <jas@extundo.com>
9569
9570         * modules/rijndael-tests: New file.
9571
9572         * modules/rijndael: New file.
9573
9574 2005-10-15  Simon Josefsson  <jas@extundo.com>
9575
9576         * m4/rijndael.m4: New file.
9577
9578 2005-10-15  Simon Josefsson  <jas@extundo.com>
9579
9580         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
9581
9582         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
9583
9584 2005-10-14  Simon Josefsson  <jas@extundo.com>
9585
9586         * tests/test-arcfour.c: New file.
9587
9588         * modules/arcfour, modules/arcfour-tests: New files.
9589
9590 2005-10-14  Simon Josefsson  <jas@extundo.com>
9591
9592         * m4/arcfour.m4: New file.
9593
9594 2005-10-14  Simon Josefsson  <jas@extundo.com>
9595
9596         * lib/arcfour.h, lib/arcfour.c: New files.
9597
9598 2005-10-14  Roland McGrath  <roland@redhat.com>
9599
9600         Import from libc.  [BZ #1331]
9601         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
9602         macro argument.
9603         Reported by Matej Vela <vela@debian.org>.
9604
9605 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9606
9607         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
9608         include <wchar.h>; no longer needed.
9609
9610 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9611
9612         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
9613
9614 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
9615         and  Ulrich Drepper  <drepper@redhat.com>
9616
9617         Import from libc.
9618         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
9619         instead of inline stream orientation test and two separate
9620         function calls.  Pay no attention to USE_IN_LIBIO.
9621
9622 2005-10-13  Simon Josefsson  <jas@extundo.com>
9623
9624         * modules/gc-hmac-md5-tests: New file.
9625
9626         * tests/test-gc-hmac-sha1.c: New file.
9627
9628         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
9629
9630         * modules/gc-hmac-md5-tests: New file.
9631
9632         * tests/test-gc-md5.c: New file.
9633
9634         * modules/gc-md5-tests: New file.
9635
9636 2005-10-13  Simon Josefsson  <jas@extundo.com>
9637
9638         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
9639         Move memory allocation outside of loop.
9640
9641 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
9642
9643         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
9644         intermediate directory is in a read-only file system.  Problem
9645         reported by Eric Blake.
9646
9647 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
9648
9649         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
9650
9651 2005-10-12  Simon Josefsson  <jas@extundo.com>
9652
9653         * tests/test-hmac-sha1.c: New file.
9654
9655         * modules/hmac-sha1-tests: New file.
9656
9657         * modules/hmac-sha1: New file.
9658
9659 2005-10-12  Simon Josefsson  <jas@extundo.com>
9660
9661         * modules/gc-sha1: New file.
9662
9663 2005-10-12  Simon Josefsson  <jas@extundo.com>
9664
9665         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
9666
9667         * tests/test-gc-pbkdf2-sha1.c: New file.
9668
9669 2005-10-12  Simon Josefsson  <jas@extundo.com>
9670
9671         * modules/gc-md5, modules/gc-hmac-md5: New files.
9672
9673         * modules/gc (Files): Remove md5, memxor and hmac files.
9674
9675 2005-10-12  Simon Josefsson  <jas@extundo.com>
9676
9677         * m4/gc-pbkdf2-sha1.m4: New file.
9678
9679         * m4/gc-hmac-sha1.m4: New file.
9680
9681         * m4/gc-sha1: New file.
9682
9683         * m4/hmac-sha1.m4: New file.
9684
9685 2005-10-12  Simon Josefsson  <jas@extundo.com>
9686
9687         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
9688
9689         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
9690
9691 2005-10-12  Simon Josefsson  <jas@extundo.com>
9692
9693         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
9694         suggested by Bruno Haible <bruno@clisp.org>.
9695
9696 2005-10-12  Simon Josefsson  <jas@extundo.com>
9697
9698         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
9699
9700 2005-10-12  Simon Josefsson  <jas@extundo.com>
9701
9702         * lib/gc-pbkdf2-sha1.c: New file.
9703
9704         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
9705
9706 2005-10-12  Simon Josefsson  <jas@extundo.com>
9707
9708         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
9709
9710         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
9711
9712 2005-10-12  Simon Josefsson  <jas@extundo.com>
9713
9714         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
9715         GC_USE_HMAC_MD5, respectively.
9716
9717         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
9718         (gc_md5): Fix typo.
9719
9720         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
9721
9722         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
9723
9724         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
9725
9726 2005-10-12  Bruno Haible  <bruno@clisp.org>
9727
9728         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
9729         Reported by Stepan Kasal <kasal@ucw.cz>.
9730
9731 2005-10-11  Simon Josefsson  <jas@extundo.com>
9732
9733         * tests/test-crc.c: New file.
9734
9735         * modules/crc, modules/crc-tests: New files.
9736
9737 2005-10-11  Simon Josefsson  <jas@extundo.com>
9738
9739         * m4/crc.m4: New file.
9740
9741 2005-10-11  Simon Josefsson  <jas@extundo.com>
9742
9743         * lib/gc.h: Add gc_hash and gc_hash_buffer.
9744
9745         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
9746
9747         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
9748
9749 2005-10-11  Simon Josefsson  <jas@extundo.com>
9750
9751         * lib/crc.h, lib/crc.c: New files.
9752
9753         * lib/gc.h (gc_hash_buffer): Add doc.
9754
9755 2005-10-11  Bruno Haible  <bruno@clisp.org>
9756
9757         * modules/c-strcasestr: New file.
9758         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
9759
9760 2005-10-11  Bruno Haible  <bruno@clisp.org>
9761
9762         * modules/c-strcase: New file.
9763         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
9764
9765 2005-10-11  Bruno Haible  <bruno@clisp.org>
9766
9767         * lib/strcasecmp.c: Include limits.h.
9768         (strcasecmp): Avoid integer overflow on exotic platforms.
9769         * lib/strncasecmp.c: Include limits.h.
9770         (strncasecmp): Avoid integer overflow on exotic platforms.
9771         Reported by Paul Eggert.
9772
9773 2005-10-11  Bruno Haible  <bruno@clisp.org>
9774
9775         * lib/c-strcasestr.h: New file, from GNU gettext.
9776         * lib/c-strcasestr.c: New file, from GNU gettext.
9777
9778 2005-10-11  Bruno Haible  <bruno@clisp.org>
9779
9780         * lib/c-strcase.h: New file, from GNU gettext.
9781         * lib/c-strcasecmp.c: New file, from GNU gettext.
9782         * lib/c-strncasecmp.c: New file, from GNU gettext.
9783
9784 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
9785
9786         * modules/mempcpy (License): GPL -> LGPL.
9787         * modules/strchrnul (License): Likewise.
9788         * modules/sysexits (License): Likewise.
9789
9790 2005-10-08  Simon Josefsson  <jas@extundo.com>
9791
9792         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
9793
9794 2005-10-07  Simon Josefsson  <jas@extundo.com>
9795
9796         * m4/memxor.m4: Remove gl_C_RESTRICT call.
9797
9798 2005-10-06  Simon Josefsson  <jas@extundo.com>
9799
9800         * tests/test-hmac-md5.c: New file.
9801
9802         * modules/hmac-md5-tests: New file.
9803
9804         * modules/hmac-md5: New file.
9805
9806 2005-10-06  Simon Josefsson  <jas@extundo.com>
9807
9808         * m4/hmac-md5.m4: New file.
9809
9810         * m4/memxor.m4: Require gl_C_RESTRICT.
9811
9812 2005-10-06  Simon Josefsson  <jas@extundo.com>
9813
9814         * lib/memxor.c (memxor): Avoid casts and warnings.
9815
9816 2005-10-06  Simon Josefsson  <jas@extundo.com>
9817
9818         * lib/hmac-md5.c: New file.
9819
9820         * lib/hmac.h: New file.
9821
9822 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
9823
9824         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
9825         promotes to int, not unsigned int, to catch the AIX 5.3
9826         compiler bug.
9827
9828 2005-10-05  Simon Josefsson  <jas@extundo.com>
9829
9830         * modules/memxor: New file.
9831
9832         * modules/iconv (Files): Move config.rpath to havelib, it is used
9833         there.
9834
9835         * modules/havelib (Files): Add config.rpath.
9836
9837 2005-10-05  Simon Josefsson  <jas@extundo.com>
9838
9839         * m4/memxor.m4: New file.
9840
9841 2005-10-05  Simon Josefsson  <jas@extundo.com>
9842
9843         * lib/memxor.c (memxor): Fix compiler error.
9844
9845         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
9846         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
9847
9848         * lib/memxor.h, lib/memxor.c: New files.
9849
9850         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
9851         we assume all systems have it, suggested by Jim Meyering
9852         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
9853         any systems lack sys/socket.h; mingw32 is known to lack it, but we
9854         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
9855         same reasons.
9856
9857 2005-10-05  Simon Josefsson  <jas@extundo.com>
9858
9859         * config/srclist.txt: Add glibc bug 1423 for md5.h.
9860
9861 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
9862
9863         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
9864         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
9865         needed, since the source code now assumes these .h files.
9866
9867 2005-10-05  Derek Price  <derek@ximbiot.com>
9868
9869         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
9870
9871 2005-10-05  Bruno Haible  <bruno@clisp.org>
9872
9873         * modules/stdint (License): Change to LGPL.
9874
9875 2005-10-04  Simon Josefsson  <jas@extundo.com>
9876
9877         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
9878         D. Baushke" <mdb@gnu.org>.
9879
9880 2005-10-04  Bruno Haible  <bruno@clisp.org>
9881
9882         * lib/verify.h (verify_true): Provide alternative definition for C++.
9883
9884 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
9885
9886         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
9887         (SSIZE_MAX): New macro, if not already defined.
9888         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
9889         than 2 GiB.
9890
9891 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9892
9893         Sync from coreutils.
9894         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
9895         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
9896         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
9897         ULLONG_MAX doesn't work with 2.7.2.1.
9898
9899 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9900
9901         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
9902         From Ben Pfaff.
9903
9904         * modules/exclude (Depends-on): Depend on verify.
9905         * modules/strtoimax (Depends-on): Likewise.
9906         * modules/utimecmp (Depends-on): Likewise.
9907
9908 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9909
9910         * lib/exclude.c: Include verify.h.
9911         (verify): Remove.  All callers changed to use verify.h's version.
9912         * lib/strtoimax.c: Likewise.
9913         * lib/utimecmp.c: Likewis.e
9914
9915         Sync from coreutils.
9916         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
9917         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
9918         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
9919         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
9920         bother returning ENOSYS if settimeofday or stime fails; just let
9921         them return whatever errno they want to return.
9922         * lib/utimens.c: Include unistd.h, for dup2.
9923         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
9924         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
9925
9926 2005-10-02  Jim Meyering  <jim@meyering.net>
9927
9928         Sync from coreutils.
9929         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
9930         from glibc-2.2.5 that fails for read-only files.
9931
9932 2005-10-02  Jim Meyering  <jim@meyering.net>
9933
9934         Sync from coreutils.
9935         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
9936         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
9937         `#if HAVE_CONFIG_H'.
9938         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
9939         Remove AT_FDCWD test.
9940         Do not consume the fd unless successful.
9941         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
9942         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
9943         block, so that we don't even try to compile it if settimeofday is
9944         available.  This works around a compilation failure on OSF1 V5.1,
9945         due to stime requiring a `long int*' while tv_sec is `int'.
9946
9947 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
9948
9949         Sync from coreutils.
9950         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
9951         against `yes', rather than just testing for nonempty.
9952
9953 2005-10-01  Simon Josefsson  <jas@extundo.com>
9954
9955         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
9956         and Darwin.
9957
9958         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
9959         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
9960         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
9961         freeaddrinfo and gai_strerror are declared by the POSIX headers.
9962         Check if struct addrinfo is declared.
9963
9964 2005-10-01  Simon Josefsson  <jas@extundo.com>
9965
9966         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
9967         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
9968         AI_* and EAI_* definitions.  Protect function declarations.
9969
9970 2005-10-01  Jim Meyering  <jim@meyering.net>
9971
9972         Sync from coreutils.
9973
9974         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
9975         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
9976         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
9977         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
9978         in the inet and nsl libraries.  Required on Solaris 5.7.
9979
9980 2005-10-01  Jim Meyering  <jim@meyering.net>
9981
9982         Sync from coreutils.
9983         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
9984         in the inet and nsl libraries.  Required on Solaris 5.7.
9985
9986 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
9987
9988         * lib/getdelim.c (getdelim): Remove unused variables.
9989
9990 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
9991
9992         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
9993         so that the code works even with ancient cpp.  Portability problem
9994         with GCC 2.7.2.1 reported by Thomas M.Ott.
9995
9996 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
9997
9998         * modules/regex (Depends-on): Add strcase.
9999
10000         * modules/gethostname (Licence): Change from GPL to LGPL, since
10001         gethostname.c is a trivial implementation of a standard library
10002         function.
10003         * modules/poll (License): Change from GPL to LGPL, since it's
10004         derived from LGPL code.
10005
10006 2005-09-27  Jim Meyering  <jim@meyering.net>
10007
10008         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
10009         HAVE_CONFIG_H.
10010
10011         * lib/intprops.h (signed_type_or_expr__): Define.
10012         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
10013         for unsigned types.
10014
10015 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10016
10017         * lib/verify.h (verify_expr): Remove, replacing with:
10018         (verify_true): New macro that returns true instead of void.
10019         (verify_type__): Remove.
10020         (verify): Use verify_true rather than verify_type__.
10021
10022 2005-09-26  Bruno Haible  <bruno@clisp.org>
10023
10024         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
10025         is necessary.
10026         (lib_SOURCES): Remove mbchar.c.
10027         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
10028         (Files): Add m4/mbrtowc.m4.
10029         * modules/mbiter: Likewise.
10030         * modules/mbuiter: Likewise.
10031
10032 2005-09-26  Bruno Haible  <bruno@clisp.org>
10033
10034         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
10035         compile mbchar.c if they are not both present.
10036         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
10037         * m4/mbiter.m4 (gl_MBITER): Likewise.
10038         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
10039         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
10040         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
10041
10042 2005-09-25  Jim Meyering  <jim@meyering.net>
10043
10044         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
10045         also uses socklen_t.
10046
10047 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10048
10049         * lib/utimens.c (ENOSYS): Define if not already defined.
10050         (futimens): Support having a null PATH if the file descriptor
10051         is nonnegative.
10052
10053         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
10054         Remove.
10055         (__attribute): Define to empty unless GCC 3.1 or later.
10056         This works around a core dump on OpenBSD 3.4, which has GCC
10057         2.95.3, which dumps core when given __attribute__(()).  It also
10058         simplifies other tests, since we really don't want to bother with
10059         worrying about which ancient version of GCC supported what.
10060         Original problem reported by Yoann Vandoorselaere, with part of
10061         the fix suggested by Derek Price.
10062
10063 2005-09-24  Jim Meyering  <jim@meyering.net>
10064
10065         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
10066         so we can once again use a positive bitfield width of 1 -- now we
10067         don't have to explain why we were using a bitfield width of 2.
10068
10069 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10070
10071         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
10072         and similarly for the other external symbols.  Problem reported
10073         by James Gallager.
10074
10075         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
10076         bug reported by Jim Meyering.
10077
10078         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
10079         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
10080         not needed, since socklen is a prerequisite module.
10081
10082 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10083
10084         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
10085         Problem reported by Eric Blake.
10086         (getaddrinfo): Initialize se so that it's not garbage.
10087         Redo internal storage allocation so that it doesn't make unportable
10088         assumptions about alignment.
10089         Fix a memory leak.
10090
10091         * lib/utimens.c (futimens): Use futimesat if available.
10092         Prefer it to futimes since it doesn't have the futimes bug.
10093
10094         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
10095         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
10096         Instead, declare a function that returns a pointer to an array,
10097         and use verify_type__ to declare the size of the array.
10098         Problem and germ of a solution reported by Bruno Haible.
10099         (verify_type__): Use 2, not 1, for bitfield size, to avoid
10100         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
10101
10102 2005-09-23  Jim Meyering  <jim@meyering.net>
10103
10104         Sync from coreutils.
10105         Correct build failure (socklen_t not defined) on at least
10106         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
10107         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
10108
10109 2005-09-23  Jim Meyering  <jim@meyering.net>
10110
10111         * modules/getaddrinfo (Depends-on): Add socklen.
10112
10113 2005-09-23  Bruno Haible  <bruno@clisp.org>
10114
10115         * tests/test-verify.c: New file.
10116
10117 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10118
10119         Sync from coreutils.
10120
10121         * modules/argmatch (Depends-on): Add verify.
10122         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
10123         unistd-safer.
10124         * modules/save-cwd (Depends-on): Likewise.
10125
10126         * modules/openat (Files): Add lib/openat-die.c.
10127         (Depends-on): Remove error, exitfail.
10128         Add dirname.
10129
10130         * modules/verify: New file.
10131         * MODULES.html.sh (Diagnostics <assert.h>): New section,
10132         with "verify" module.
10133
10134 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10135
10136         Sync from coreutils.
10137
10138         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
10139         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
10140         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
10141         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
10142         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
10143         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
10144         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
10145         Don't bother checking for string.h, stdlib.h, unistd.h.
10146         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
10147         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
10148         module's job.
10149         * m4/jm-macros.m4 (gl_MACROS): Likewise.
10150         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
10151
10152         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
10153         (gl_GETDATE): Use it.
10154
10155         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
10156
10157 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10158
10159         Sync from coreutils.
10160
10161         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
10162         stat-time.h.
10163         * lib/argmatch.h: Include verify.h
10164         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
10165         (ARGMATCH_ASSERT): Remove; unused.
10166         * lib/canonicalize.c: Assume STDC_HEADERS.
10167         * lib/exclude.c: Include "strcase.h".
10168         * lib/regex_internal.h [!defined _LIBC]: Likewise.
10169         * lib/getusershell.c: Include stdio--.h rather than stdio.h
10170         and stdio-safer.h.
10171         (getusershell): Call fopen, not fopen_safer.
10172         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
10173         Do not include unistd-safer.h.
10174         (save_cwd): Don't call fd_safer; no longer needed
10175         now that we include fcntl--.h.
10176
10177         * lib/getdate.y (relative_time): New type.
10178         (RELATIVE_TIME_0): New constant.
10179         (parser_control): Use relative_time instead of doing it ourselves.
10180         (%union): Add new relative_time rel member.
10181         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
10182         Now typeless.
10183         (relunit, relunit_snumber): Now of type rel.
10184         (zone, rel, relunit, get_date): Adjust to above changes.
10185
10186         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
10187         Do not include unistd-safer.h.
10188         (getloadavg): Don't call fd_safer; no longer needed
10189         now that we include fcntl--.h.
10190
10191         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
10192         (make_dir_parents): Treat ENOSYS like EEXIST.
10193
10194         Improve quality of diagnostics on restore_cwd failure.
10195         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
10196         (make_dir_parents): Last arg is now int * (for errno), not bool *.
10197         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
10198         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
10199         each time through the loop.  Do not diagnose restore_cwd failure;
10200         that is the caller's job (and perhaps the caller does not care).
10201
10202         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
10203         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
10204         If the file already exists but is not a directory, don't bother
10205         to try to make its parents.
10206         Close potential file descriptor leak if we can't chdir("/") (!).
10207         Don't always return true if chdir($PWD) fails; return true only
10208         if the requested action was done successfully (except for the
10209         chdir($PWD)).
10210         Don't log final directory unless we actually made it.
10211         Refactor to avoid duplicate code to fix up permissions.
10212         Don't attempt to fix up parent permissions if chdir($PWD) fails.
10213
10214         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
10215         to make it a bit faster and (I hope) clearer.
10216         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
10217         Fix bug in formats like %2N.
10218
10219         * lib/verify.h: New file.
10220
10221 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10222
10223         Sync from coreutils.
10224         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
10225
10226 2005-09-22  Jim Meyering  <jim@meyering.net>
10227
10228         Sync from coreutils.
10229
10230         * m4/lstat.m4 (gl_FUNC_LSTAT):
10231         Use AC_LIBSOURCES to require lstat.c and lstat.h.
10232         Remove obsolete comment.
10233         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
10234         * m4/xstrtod.m4: Likewise.
10235
10236         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
10237
10238 2005-09-22  Jim Meyering  <jim@meyering.net>
10239
10240         Sync from coreutils.
10241
10242         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
10243
10244         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
10245         the .tm_year member, since otherwise gcc-4.0 would now warn about
10246         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
10247
10248         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
10249         order to avoid an unsuppressible warning from gcc on 64-bit systems.
10250
10251         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
10252         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
10253         when run in a time zone for which daylight savings time is in effect
10254         for the starting date.
10255
10256         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
10257         stop us from restricting permissions of just-created absolute-named
10258         directories.
10259         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
10260         to restore initial working directory.
10261         * lib/mkdir-p.c (make_dir_parents): New parameter:
10262         different_working_dir, to tell caller if/when we change the working
10263         directory and are unable to return to the initial one.
10264         * lib/mkdir-p.h (make_dir_parents): Update prototype.
10265         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
10266         `return false'.  This fixes a bug introduced on 2004-07-30.
10267
10268         * lib/openat.c (fdopendir): Be sure to close the supplied
10269         file descriptor before returning.  This makes our replacement
10270         implementation a little closer to Solaris's, where fdopendir
10271         ties the file descriptor to the returned DIR* pointer.
10272         * lib/openat.c (unlinkat): New function.
10273         * lib/openat.h (unlinkat): Add prototype.
10274         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
10275         (openat_restore_fail): Rename from openat_restore_die.
10276         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
10277
10278         Provide an alternative to exiting immediately upon save_cwd or
10279         restore_cwd failure.  Now, an application can arrange e.g.,
10280         to perform a longjump in that case.
10281         * lib/openat.c: Include dirname.h.
10282         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
10283         (rpl_openat, fdopendir, fstatat): Call openat_save_die
10284         and openat_restore_die rather than calling error directly.
10285         Don't include "error.h" or "exitfail.h"; they're no longer needed.
10286
10287         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
10288         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
10289         define.
10290
10291         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
10292         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
10293                             int utc, int nanoseconds);
10294         Background:
10295         date should not have to allocate a megabyte of virtual memory to
10296         handle a format argument like +%1048575T.  When implemented with
10297         strftime, it must allocate such a buffer, use strftime to fill it
10298         in, print it, then free it.
10299         With fprintftime, it simply prints everything and exits.
10300         With no need for memory allocation, that's one fewer way to fail.
10301         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
10302         optional field width, not before, so we accept %9:z, not %:9z.
10303         (my_strftime): Be sure to use L_('x') for literals.
10304
10305         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
10306         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
10307         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
10308         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
10309         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
10310         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
10311         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
10312         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
10313         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
10314         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
10315         * lib/xgethostname.c, lib/xreadlink.c:
10316         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
10317
10318         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
10319         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
10320         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
10321         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
10322         and don't include <sys/file.h>).
10323
10324 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
10325
10326         Sync from coreutils.
10327
10328         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
10329         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
10330         [!LDAV_DONE]: Avoid unused variable warning.
10331
10332 2005-09-21  Bruno Haible  <bruno@clisp.org>
10333
10334         * lib/unicodeio.h (unicode_to_mb): New declaration.
10335
10336 2005-09-20  Derek Price  <derek@ximbiot.com>
10337
10338         * lib/getaddrinfo.c: Don't include <netdb.h> included from
10339         getaddrinfo.h.
10340
10341 2005-09-20  Bruno Haible  <bruno@clisp.org>
10342
10343         * gnulib-tool: Remove trailing slashes from the values specified for
10344         --source-base, --m4-base, --tests-base, --aux-dir.
10345         Suggested by Simon Josefsson <jas@extundo.com>.
10346
10347 2005-09-20  Bruno Haible  <bruno@clisp.org>
10348
10349         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
10350         func_modules_to_filelist, func_import, func_create_testdir): Make all
10351         sorting results locale-independent, so that gnulib-cache.m4 doesn't
10352         change when gnulib-tool is invoked in a different locale.
10353
10354 2005-09-19  Simon Josefsson  <jas@extundo.com>
10355
10356         * m4/socklen.m4: Fix typo.
10357
10358 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10359
10360         Use a consistent style for including <config.h>.
10361         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
10362         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
10363         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
10364         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
10365         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
10366         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
10367         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
10368         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
10369         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
10370         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
10371         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
10372         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
10373         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
10374         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
10375         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
10376         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
10377         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
10378         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
10379         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
10380         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
10381         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
10382         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
10383         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
10384         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
10385         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
10386         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
10387         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
10388         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
10389         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
10390         lib/xstrtoumax.c, lib/yesno.c:
10391         Standardize inclusion of config.h.
10392         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
10393         lib/inttostr.h:  Removed inclusion of config.h from header files.
10394         * lib/inttostr.c:  Adjusted in-tree users.
10395         * lib/timespec.h: Remove superfluous warning to include config.h.
10396         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
10397         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
10398         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
10399         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
10400         config.h with HAVE_CONFIG_H.
10401
10402 2005-09-19  Jim Meyering  <jim@meyering.net>
10403
10404         * modules/pathmax (License): Change to LGPL.
10405
10406 2005-09-19  Derek Price  <derek@ximbiot.com>
10407
10408         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
10409
10410 2005-09-19  Bruno Haible  <bruno@clisp.org>
10411
10412         * gnulib-tool (import): Provide default for --tests-base.
10413
10414 2005-09-19  Bruno Haible  <bruno@clisp.org>
10415
10416         * doc/quote.texi: New file, extracted from gnulib.texi.
10417         * doc/ctime.texi: New file, extracted from gnulib.texi.
10418         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
10419         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
10420         * doc/gnulib.texi: Include them.
10421
10422 2005-09-18  Bruno Haible  <bruno@clisp.org>
10423
10424         Portability fix.
10425         * gnulib-tool (func_readlink): New function.
10426         (func_ln_if_changed): Use it.
10427
10428 2005-09-18  Bruno Haible  <bruno@clisp.org>
10429
10430         * gnulib-tool: Support --with-tests also with --import.
10431         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
10432         (func_import): Use variables $testsbase and $inctests. Emit a
10433         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
10434         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
10435         SUBDIRS += $testsdir.
10436         (func_create_testdir): Update.
10437
10438 2005-09-18  Bruno Haible  <bruno@clisp.org>
10439
10440         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
10441         instead of $dry_run.
10442         (func_cp_if_changed, func_mv_if_changed): Remove functions.
10443         (func_ln_if_changed): Don't handle dry-run here.
10444         (func_import): In dry-run mode, detect more precisely which actions
10445         would be performed, and don't use "...ing" verbs.
10446
10447 2005-09-18  Bruno Haible  <bruno@clisp.org>
10448
10449         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
10450         (func_import): Use join on two temporary files instead of three nested
10451         loops, in order to determine which files are new or old.
10452
10453 2005-09-18  Bruno Haible  <bruno@clisp.org>
10454
10455         * gnulib-tool (func_import): Comment out code that spits out the
10456         new files with --dry-run.
10457
10458 2005-09-18  Bruno Haible  <bruno@clisp.org>
10459
10460         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
10461
10462 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10463
10464         * lib/stat-time.h: New file.
10465         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
10466         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
10467         in a different way.
10468         (timespec_cmp): New function.
10469         * lib/utimecmp.c: Include stat-time.h.
10470         (SYSCALL_RESOLUTION): Depend on whether various struct stat
10471         members exist, not on the obsolescent ST_MTIM_NSEC.
10472         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
10473
10474 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10475
10476         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
10477
10478 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10479
10480         * MODULES.html.sh (File system functions): Add stat-time.
10481         * modules/stat-time: New file.
10482         * modules/timespec (Files): Remove m4/st_mtim.m4; this
10483         is now done in a different way, by the stat-time module.
10484         * modules/utimecmp (Depends-on): Add stat-time.
10485
10486 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10487
10488         * m4/st_mtim.m4: Remove.  Superseded by...
10489         * m4/stat-time.m4: New file.
10490         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
10491         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
10492
10493 2005-09-15  Derek Price  <derek@ximbiot.com>
10494
10495         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
10496
10497 2005-09-15  Derek Price  <derek@ximbiot.com>
10498
10499         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
10500         * lib/regex_internal.c: Ditto, using this...
10501         (__GNUC_PREREQ): ...new macro.
10502         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
10503         using...
10504         (__GNUC_PREREQ): ...this new macro.
10505
10506         * lib/strstr.h: Include string.h. Define strstr as a macro here.
10507
10508 2005-09-15  Derek Price  <derek@ximbiot.com>
10509             Paul Eggert  <eggert@cs.ucla.edu>
10510
10511         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
10512         changes, consolidating in...
10513         * lib/regex_internal.h: ...this file.
10514
10515 2005-09-13  Jim Meyering  <jim@meyering.net>
10516
10517         * lib/canon-host.c: Filter through gnu indent and reword comments
10518         slightly.
10519         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
10520
10521 2005-09-13  Derek Price  <derek@ximbiot.com>
10522
10523         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
10524         failure.
10525         Reported by Jim Meyering  <jim@meyering.net>.
10526
10527 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
10528
10529         * lib/base64.c: Typo.
10530         (base64_encode): Put b64str in initialized data section.
10531
10532 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
10533
10534         Merge glibc and coreutils changes into gnulib, plus a few
10535         extra fixes.
10536         * lib/md5.c: Use #error rather than a string.
10537         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
10538         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
10539         (__attribute__): Define to empty for non recent-GCC.
10540         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
10541         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
10542         Renamed from their non-__ counterparts, with new macros replacing
10543         them if not _LIBC.  Add __THROW attribute.
10544         (rol): Remove.
10545         (struct md5_ctx): Align buffer if using GCC.
10546         * lib/sha1.h (struct sha1_ctx): Likewise.
10547         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
10548         The old name was backwards.
10549         (NOTSWAP): Remove; not used.
10550         (rol): New macro, moved here from md5.h.
10551         (sha1_process_block): Remove a FIXME that doesn't make sense.
10552
10553 2005-09-12  Derek Price  <derek@ximbiot.com>
10554
10555         Return usable errors from canon-host.
10556         * lib/canon-host.h: New file.
10557         * lib/canon-host.c (canon_host): Wrap...
10558         (canon_host_r): ...this new function, which now relies exclusively on
10559         getaddrinfo.
10560         (ch_strerror): New function.
10561         (last_cherror): New global.
10562         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
10563         interface.
10564         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
10565         void *.
10566         (freeaddrinfo): Free ai->ai_canonname when set.
10567
10568 2005-09-12  Derek Price  <derek@ximbiot.com>
10569
10570         Make canon-host require getaddrinfo.
10571         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
10572         AC_LIBSOURCE canon-host.h.  Call...
10573         (gl_PREREQ_CANON_HOST): ...this new function, which requires
10574         gl_GETADDRINFO.
10575         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
10576
10577 2005-09-12  Derek Price  <derek@ximbiot.com>
10578
10579         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
10580         LGPL.
10581         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
10582
10583 2005-09-12  Derek Price  <derek@ximbiot.com>
10584
10585         * lib/gai_strerror.c: Include config.h when available.  Include
10586         getaddrinfo.h before other headers to test interface.
10587         Reported by Larry Jones <lawrence.jones@ugs.com>.
10588
10589 2005-09-12  Derek Price  <derek@ximbiot.com>
10590             Paul Eggert  <eggert@cs.ucla.edu>
10591
10592         * modules/glob (Files): Add glob-libc.h.
10593
10594 2005-09-12  Derek Price  <derek@ximbiot.com>
10595             Paul Eggert  <eggert@cs.ucla.edu>
10596
10597         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
10598         glob_.h, glob-libc.h.
10599         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
10600
10601 2005-09-12  Derek Price  <derek@ximbiot.com>
10602             Paul Eggert  <eggert@cs.ucla.edu>
10603
10604         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
10605         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
10606         protecting things that should be done only in gnulib contexts.
10607         * lib/glob_.h: New file, containing only the glob things needed for
10608         gnulib.
10609         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
10610         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
10611         (glob, globfree, glob_pattern_p): Now defined simply in terms of
10612         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
10613         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
10614         and to respect the namespace rules better.
10615
10616 2005-09-08  Simon Josefsson  <jas@extundo.com>
10617
10618         * modules/socklen: New file.
10619
10620 2005-09-08  Simon Josefsson  <jas@extundo.com>
10621
10622         * m4/socklen.m4: New file.
10623
10624 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10625
10626         * modules/utimens (Files): Add m4/utimbuf.m4, since
10627         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
10628         Reported by Sergey Poznyakoff.
10629
10630 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10631
10632         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
10633         definitions, since that's the preferred style in glibc.
10634         Fix a minor spacing issue, and update copyright notice to match
10635         glibc's.
10636
10637 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10638
10639         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
10640
10641 2005-09-06  Simon Josefsson  <jas@extundo.com>
10642
10643         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
10644         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
10645
10646 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10647
10648         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
10649         warning.
10650
10651 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10652
10653         * config/srclist.txt: Add glibc bug 1302.
10654
10655 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
10656
10657         Change bitset word type from unsigned int to unsigned long int,
10658         as this has better performance on typical 64-bit hosts.
10659         Port bitset code to hosts with unusual word sizes.
10660         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
10661         (build_collating_symbol):
10662         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
10663         argument is a bitset.  This is merely a style issue, but it makes
10664         it clearer that an entire array is expected.
10665         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
10666         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
10667         Port to the case where bitset_word is not the same as unsigned int.
10668         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
10669         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
10670         Likewise.
10671         * lib/regexec.c (check_dst_limits_calc_pos_1,
10672         check_subexp_matching_top):
10673         (build_trtable, group_nodes_into_DFAstates):
10674         Likewise.
10675         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
10676         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
10677         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
10678         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
10679         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
10680         * lib/regcomp.c (optimize_subexps, lower_subexp):
10681         Work even if bitset_word has holes in its bitwise representation.
10682         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
10683         * lib/regexec.c (check_dst_limits_calc_pos_1,
10684         check_subexp_matching_top):
10685         Likewise.
10686         * lib/regex_internal.c (re_string_reconstruct):
10687         Don't assume UCHAR_MAX == 255.
10688         * lib/regex_internal.h (bitset_set_all): Likewise.
10689         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
10690         All uses changed.
10691         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
10692         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
10693         All uses changed.
10694         (BITSET_WORD_MAX): New macro.
10695         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
10696         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
10697         (bitset_empty, bitset_copy):
10698         Prefer sizeof (bitset) to multiplying it out ourselves.
10699         (bitset_not_merge): Remove; unused.
10700         (bitset_contain): Return bool, not unsigned int with one bit on.
10701         All callers changed.
10702         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
10703         alignment than re_node_set; do this by defining a new internal
10704         type struct dests_alloc and using it to allocate memory.
10705
10706 2005-09-05  Bruno Haible  <bruno@clisp.org>
10707
10708         * gnulib-tool (func_import): Fix comparison in handling of symbolic
10709         links.
10710
10711 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
10712
10713         * modules/size_max (Makefile.am): Add size_max.h
10714
10715 2005-09-04  Derek Price  <derek@ximbiot.com>
10716
10717         * gnulib-tool (func_import): Fix reversed $symbolic logic.
10718
10719 2005-09-03  Simon Josefsson  <jas@extundo.com>
10720
10721         * gnulib-tool: Fix typo.
10722
10723 2005-09-03  Simon Josefsson  <jas@extundo.com>
10724
10725         * config/srclist.txt: Add glibc bug 1293.
10726
10727 2005-09-03  Derek Price  <derek@ximbiot.com>
10728
10729         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
10730         From Larry Jones <lawrence.jones@ugs.com>.
10731
10732 2005-09-02  Simon Josefsson  <jas@extundo.com>
10733
10734         * modules/socklen: New file.
10735
10736 2005-09-02  Simon Josefsson  <jas@extundo.com>
10737
10738         * modules/havelib: New module.
10739
10740         * modules/gettext, modules/iconv, modules/lock, modules/readline:
10741         Use havelib.
10742
10743 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
10744
10745         Check for arithmetic overflow when calculating sizes, to prevent
10746         some buffer-overflow issues.  These patches are conservative, in the
10747         sense that when I couldn't determine whether an overflow was possible,
10748         I inserted a run-time check.
10749         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
10750         macros.
10751         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
10752         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
10753         (re_xnrealloc, re_x2nrealloc): New inline functions.
10754         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
10755         parse_bracket_exp):
10756         (build_equiv_class, build_charclass): Check for arithmetic overflow
10757         in size expression calculations.
10758         * lib/regex_internal.c (re_string_realloc_buffers):
10759         (build_wcs_upper_buffer, re_node_set_add_intersect):
10760         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
10761         (re_dfa_add_node, register_state): Likewise.
10762         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
10763         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
10764         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
10765         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
10766
10767 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
10768
10769         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
10770         m4/ulonglong.m4.  Problem reported by Martin Lambers.
10771
10772 2005-09-02  Bruno Haible  <bruno@clisp.org>
10773
10774         Support for lib vs. lib64 distinction on biarch platforms.
10775         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
10776         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
10777         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
10778
10779 2005-09-02  Bruno Haible  <bruno@clisp.org>
10780
10781         * gnulib-tool (import): In the other first-use case, provide defaults
10782         as well.
10783
10784 2005-09-02  Bruno Haible  <bruno@clisp.org>
10785
10786         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
10787         patches not yet found in the latest gettext release.
10788
10789 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10790
10791         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
10792         to avoid a collision with bits/local_lim.h in glibc.
10793         All uses changed.  Problem reported by Dmitry V. Levin in
10794         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
10795
10796         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
10797         bugs in int versus size_t comparisons.
10798         (re_string_context_at): Fix bug where the code assumed that
10799         Idx is signed.
10800
10801         Use bool where appropriate.
10802         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
10803         All callers changed.
10804         (calc_eclosure_iter): Likewise, for ROOT arg.
10805         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
10806         (build_charclass_op): Likewise, for NON_MATCH arg.
10807         * lib/regex_internal.c (re_string_allocate, re_string_construct):
10808         (re_string_construct_common): Likewise, for ICASE arg.
10809         * lib/regexec.c (re_search_2_stub, re_search_stub):
10810         Likewise, for RET_LEN arg.
10811         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
10812         (set_regs): Likewise, for FL_BACKTRACK arg.
10813         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
10814         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
10815         (calc_eclosure_iter, parse_bracket_exp):
10816         Use bool for internal variables that are booleans.
10817         * lib/regexec.c (re_search_internal, check_matching,
10818         proceed_next_node):
10819         (set_regs, build_sifted_states, sift_states_bkref):
10820         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
10821         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
10822         (find_collation_sequence_value):
10823         Likewise.
10824         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
10825         (re_node_set_compare):
10826         Return bool, not int. All callers changed.
10827         * lib/regexec.c (check_halt_node_context, check_dst_limits):
10828         (build_trtable, check_node_accept): Likewise.
10829         * lib/regex_internal.h: Include stdbool.h.
10830
10831         Fix bugs uncovered when converting to bool.
10832         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
10833         failure instead of charging ahead blindly.
10834         * lib/regex_internal.c (register_state): Likewise.
10835         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
10836         for freeing internal storage.
10837         (group_nodes_into_DFA_states): Use unsigned int, not int, for
10838         bitset pieces used as boolean, to avoid undefined behavior
10839         on hosts that do int overflow checking.
10840
10841 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10842
10843         * config/srclist.txt: Add glibc bugs 1285-1287.
10844
10845 2005-09-01  Jim Meyering  <jim@meyering.net>
10846
10847         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
10848         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
10849         Require gl_STAT_MACROS, too.
10850
10851 2005-09-01  Bruno Haible  <bruno@clisp.org>
10852
10853         * gnulib-tool (import): In the first-use case, provide defaults.
10854
10855 2005-09-01  Bruno Haible  <bruno@clisp.org>
10856
10857         * gnulib-tool (func_import): Remove the .tmp files.
10858
10859 2005-09-01  Bruno Haible  <bruno@clisp.org>
10860
10861         * gnulib-tool (func_import): Fix handling of symbolic links.
10862
10863 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10864
10865         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
10866         old glibc regex code mishandles strings longer than 2**31 bytes.
10867         This patch fixes this when the regex code is used in gnulib
10868         (i.e., outside glibc).
10869
10870         This patch should not affect the use of the regex code inside
10871         glibc.  No doubt this problem also needs to be handled for glibc
10872         as well, but the result will be an incompatible change to the
10873         glibc ABI, and the old ABI will have to be supported too.  That
10874         can be the the subject for another patch.
10875
10876         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
10877         governing whether the rest of this patch is active.  By default,
10878         the macro is disabled and the patch has no effect.
10879         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
10880         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
10881         (struct re_pattern_buffer, re_search, re_search_2, re_match):
10882         (re_match_2, re_set_registers): Use the new types.
10883         * lib/regex_internal.h (Idx, re_hashval_t): New types.
10884         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
10885         New macros.
10886         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
10887         (re_string_context_at, bin_tree_t, re_dfastate_t):
10888         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
10889         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
10890         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
10891         (re_string_char_size_at, re_string_wchar_at):
10892         (re_string_elem_size_at):
10893         Use the new types and macros to port to 64-bit hosts.
10894         Use unsigned types for internal values, so that the code
10895         mostly works even for arrays larger than SSIZE_MAX.
10896         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
10897         (search_duplicated_node, calc_eclosure_iter, fetch_number):
10898         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
10899         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
10900         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
10901         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
10902         (calc_inveclosure, parse_dup_op, build_range_exp):
10903         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
10904         (fetch_number, create_token_tree, mark_opt_subexp):
10905         Likewise.
10906         * lib/regex_internal.c (re_string_construct_common,
10907         create_ci_newstate):
10908         (create_cd_newstate, re_string_allocate, re_string_construct):
10909         (re_string_realloc_buffers, build_wcs_upper_buffer):
10910         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
10911         (re_string_reconstruct, re_string_peek_byte_case):
10912         (re_string_fetch_byte_case, re_string_context_at):
10913         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
10914         (re_node_set_init_copy, re_node_set_add_intersect):
10915         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
10916         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
10917         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
10918         (re_acquire_state, re_acquire_state_context, register_state):
10919         Likewise.
10920         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
10921         search_cur_bkref_entry):
10922         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
10923         (re_search_internal, re_search_2_stub, re_search_stub)
10924         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
10925         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
10926         (update_cur_sifted_state, check_dst_limits):
10927         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
10928         (check_subexp_limits, sift_states_bkref, merge_state_array):
10929         (check_subexp_matching_top, get_subexp, get_subexp_sub):
10930         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
10931         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
10932         (expand_bkref_cache, check_node_accept_bytes):
10933         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
10934         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
10935         (acquire_init_state_context, check_halt_node_context):
10936         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
10937         (sift_states_backward, clean_state_log_if_needed):
10938         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
10939         (find_recover_state, transit_state_sb, transit_state_mb):
10940         (transit_state_bkref, build_trtable, match_ctx_clean):
10941         Likewise.
10942         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
10943         to work around an assumption that REG_MISSING is negative.
10944
10945         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
10946         (seek_collating_symbol_entry) [defined _LIBC]:
10947         (lookup_collation_sequence_value) [defined _LIBC]:
10948         (build_range_exp, build_collating_symbol) [defined _LIBC]:
10949         Use prototypes rather than old-style function definitions.
10950         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
10951         (transit_state_sb) [0]:
10952         (find_collation_sequence_value) [defined _LIBC]: Likewise.
10953
10954         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
10955         rm_eo.
10956
10957         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
10958         (optimize_subexps, lower_subexp):
10959         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
10960         since the signed shift might overflow.  Use 1u<<31 instead.
10961         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
10962         Likewise.
10963         * lib/regexec.c (check_dst_limits_calc_pos_1,
10964         check_subexp_matching_top): Likewise.
10965
10966         * lib/regcomp.c (optimize_subexps, lower_subexp):
10967         Use CHAR_BIT rather than 8, for clarity.
10968         * lib/regexec.c (check_dst_limits_calc_pos_1):
10969         (check_subexp_matching_top): Likewise.
10970         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
10971         have to worry about portability issues when shifting it left.
10972         Remove no-longer-needed test for table_size > 0.
10973         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
10974         in a word, as the resulting behavior is undefined.
10975         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
10976         in one case, a <= should have been an <, and in another case the
10977         whole test was missing.
10978         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
10979         the standard name CHAR_BIT.
10980         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
10981         this is not true on one's complement and signed-magnitude hosts.
10982
10983         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
10984         next_last_offset.
10985         (struct re_dfa_t): Remove unused member states_alloc.
10986         * lib/regcomp.c (init_dfa): Don't initialize unused members.
10987
10988 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10989
10990         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
10991         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
10992         and large-file glibc and in 32-bit large-file Solaris.
10993
10994 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10995
10996         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
10997         lengths fit in regoff_t; this isn't true if regoff_t is the same
10998         width as size_t.
10999         * lib/regex.c (re_search_internal): 5th arg is LAST_START
11000         (= START + RANGE) instead of RANGE.  This avoids overflow
11001         problems when regoff_t is the same width as size_t.
11002         All callers changed.
11003         (re_search_2_stub): Check for overflow when adding the
11004         sizes of the two strings.
11005         (re_search_stub): Check for overflow when adding START
11006         to RANGE; if it occurs, substitute the extreme value.
11007
11008 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11009
11010         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
11011
11012 2005-08-31  Jim Meyering  <jim@meyering.net>
11013
11014         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
11015         a pointer-to-const.
11016         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
11017         (register_state): Likewise.
11018         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
11019         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
11020         (group_nodes_into_DFAstates): Likewise.
11021
11022 2005-08-31  Jim Meyering  <jim@meyering.net>
11023
11024         * check-module: Add a FIXME comment.
11025
11026 2005-08-31  Eric Blake  <ebb9@byu.net>
11027
11028         * modules/unistd-safer (Files): Add unistd--.h.
11029         * modules/stdio-safer (Files): Add stdio--.h.
11030
11031 2005-08-31  Derek Price  <derek@ximbiot.com>
11032
11033         * lib/getdelim.c (getdelim): Return EOF on EOF.
11034         Reported by Larry Jones <lawrence.jones@ugs.com>.
11035
11036 2005-08-31  Bruno Haible  <bruno@clisp.org>
11037
11038         Avoid unnecessary diffs in the generated lib/Makefile.am.
11039         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
11040         the generated files.
11041         (func_import): Don't set cmd.
11042
11043 2005-08-31  Bruno Haible  <bruno@clisp.org>
11044
11045         * lib/strstr.c: Include <stddef.h>, for NULL.
11046         * lib/strcasestr.c: Likewise.
11047         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
11048
11049 2005-08-31  Bruno Haible  <bruno@clisp.org>
11050
11051         * gnulib-tool: New option --macro-prefix.
11052         (func_import): Use macro_prefix.
11053         (import): Handle option --macro-prefix.
11054
11055 2005-08-31  Bruno Haible  <bruno@clisp.org>
11056
11057         * gnulib-tool (import): Rename most ac_* variables to cached_*.
11058         Also use new variables cached_lgpl, cached_libtool.
11059
11060 2005-08-31  Bruno Haible  <bruno@clisp.org>
11061
11062         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
11063         always instantiating them.
11064
11065 2005-08-31  Bruno Haible  <bruno@clisp.org>
11066
11067         * gnulib-tool (func_import): Read the previous cached settings
11068         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
11069         earlier added by gnulib but are now dropped. Warn when a gnulib file
11070         overwrites a non-gnulib file.
11071
11072 2005-08-31  Bruno Haible  <bruno@clisp.org>
11073
11074         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
11075         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
11076         projects that don't keep autogenerated files in CVS. Put into
11077         actioncmd only the specified modules, not the transitive closure.
11078
11079 2005-08-31  Bruno Haible  <bruno@clisp.org>
11080
11081         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
11082         Create directories that shall be filled.
11083         (import): Don't look for gl_* macros in configure.ac. Recurse across
11084         all directories containing a gnulib-cache.m4 files, if meaningful.
11085
11086 2005-08-31  Bruno Haible  <bruno@clisp.org>
11087
11088         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
11089         (import): Set seen_libtool when we see gl_LIBTOOL.
11090
11091 2005-08-31  Bruno Haible  <bruno@clisp.org>
11092
11093         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
11094         declaration macro definitions from generated gnulib.m4.
11095
11096 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
11097
11098         * lib/iconvme.h: Add prototype for iconv_alloc.
11099
11100 2005-08-29  Simon Josefsson  <jas@extundo.com>
11101
11102         * lib/iconvme.c: Fix errno.
11103
11104 2005-08-29  Bruno Haible  <bruno@clisp.org>
11105
11106         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
11107         that it works when the directory contains spaces.
11108
11109 2005-08-29  Bruno Haible  <bruno@clisp.org>
11110
11111         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
11112
11113 2005-08-29  Bruno Haible  <bruno@clisp.org>
11114
11115         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
11116         Emit more advice.
11117
11118 2005-08-29  Bruno Haible  <bruno@clisp.org>
11119         and Stepan Kasal  <kasal@ucw.cz>
11120
11121         * check-module: If more parameters are given, check each of them
11122         separately; add more exceptions, as noted by Jim Meyering.
11123         (check_module): New procedure.
11124         (%exempt_header): Now contains all exceptions.
11125
11126 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
11127
11128         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
11129
11130 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
11131
11132         * lib/iconvme.c: Split iconv_string into iconv_alloc.
11133
11134 2005-08-28  Bruno Haible  <bruno@clisp.org>
11135
11136         * m4/gnulib-tool.m4: New file.
11137
11138 2005-08-27  Jim Meyering  <jim@meyering.net>
11139
11140         * modules/unistd-safer (Files): Add pipe-safer.c.
11141         * modules/fcntl-safer (Files): Add creat-safer.c.
11142
11143 2005-08-27  Jim Meyering  <jim@meyering.net>
11144
11145         * m4/stdlib-safer.m4: New file.  From coreutils.
11146         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
11147         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
11148         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
11149         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
11150         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
11151
11152 2005-08-27  Jim Meyering  <jim@meyering.net>
11153
11154         * lib/fopen-safer.c: Merge minor changes from coreutils.
11155         * lib/dup-safer.c: Likewise.
11156         * lib/fd-safer.c: Likewise.
11157
11158         Merge from coreutils.
11159         * lib/stdio--.h: New file.
11160         * lib/stdlib--.h: New file.
11161         * lib/mkstemp-safer.c: New file.
11162
11163         GNU tar needs these.
11164         * lib/pipe-safer.c: New file.
11165         * lib/creat-safer.c: New file.
11166         * lib/fcntl--.h (creat): Define to creat_safer.
11167         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
11168         * lib/unistd--.h (pipe): Define to pipe_safer.
11169         * lib/unistd-safer.h: Declare pipe_safer.
11170
11171 2005-08-26  Simon Josefsson  <jas@extundo.com>
11172
11173         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
11174         Haible <bruno@clisp.org>.
11175
11176 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
11177
11178         * lib/regex_internal.h: Remove all references to
11179         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
11180         or better.
11181         (bitset_not, bitset_merge, bitset_not_merge):
11182         (bitset_mask, re_string_allocate, re_string_construct):
11183         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
11184         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
11185         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
11186         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
11187         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
11188         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
11189         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
11190         (re_acquire_state_context):
11191         Remove unnecessary forward decls.
11192         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
11193         Put __attribute at function definition,
11194         now that the function decl has been removed.
11195         * lib/regex_internal.c (re_string_peek_byte_case):
11196         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
11197         Likewise.
11198
11199 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
11200
11201         * m4/regex.m4: Add AC_PREREQ(2.50).
11202         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
11203
11204 2005-08-25  Simon Josefsson  <jas@extundo.com>
11205
11206         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
11207         __fsetlocking.
11208
11209 2005-08-25  Simon Josefsson  <jas@extundo.com>
11210
11211         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
11212         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
11213         GLIBC specific code.
11214
11215 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11216
11217         Make regex safe for g++.  This fixes one real bug (an "err"
11218         that should have been "*err").  g++ problem reported by
11219         Sam Steingold.
11220         * lib/regex_internal.h (re_calloc): New macro, consistent with
11221         re_malloc etc.  All callers of calloc changed to use re_calloc.
11222         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
11223         not int.  All callers changed.
11224         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
11225         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
11226         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
11227         (find_recover_state): Change "err" to "*err"; this fixes what
11228         appears to be a real bug.
11229         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
11230         versus int.
11231
11232 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11233
11234         * modules/regex (Depends-on): Add malloc, since the code
11235         assumes that !malloc(0) means failure.
11236
11237 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11238
11239         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
11240
11241         alloca modernization/simplification for regex.
11242         * lib/regex.c: Remove portability cruft for alloca.  This no longer
11243         needs to be at the start of the file, and can be moved into
11244         regex_internal.h and simplified.
11245         * lib/regex_internal.h: Include <alloca.h>.
11246         (__libc_use_alloca) [!defined _LIBC]: New macro.
11247         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
11248         now works outside glibc.
11249
11250 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11251
11252         * config/srclist.txt: Add glibc bugs 1241, 1245.
11253
11254 2005-08-25  Jim Meyering  <jim@meyering.net>
11255
11256         * lib/open-safer.c: Include <config.h>.
11257         Otherwise, we'd lose LARGEFILE support in any file using
11258         e.g. "fcntl--.h"
11259
11260 2005-08-25  Bruno Haible  <bruno@clisp.org>
11261
11262         * m4/minmax.m4: Require autoconf 2.52.
11263         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
11264         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
11265         alternatives of translit over the alphabet.
11266         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
11267
11268 2005-08-24  Simon Josefsson  <jas@extundo.com>
11269
11270         * tests/test-getpass.c: New file.
11271
11272 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11273
11274         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
11275         for GNU regex features.
11276
11277 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11278
11279         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
11280         * lib/regex.h (regerror): Likewise.
11281
11282         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
11283         requires this.  (The code never needed it.)
11284
11285         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
11286         All uses of recently-renamed identifiers changed to use the new,
11287         POSIX-compliant names.  The code will build and run just fine
11288         without these changes, but it's better to eat our own dog food
11289         and use the standard-conforming names.
11290
11291         * lib/regex.h: Fix a multitude of POSIX name space violations.
11292         These changes have an effect only for programs that define
11293         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
11294         do not change anything for programs compiled in the normal way.
11295         Also, there is no effect on the ABI.
11296
11297         (_REGEX_SOURCE): New macro.
11298         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
11299         defined and _GNU_SOURCE is not; this fixes a name space violation.
11300
11301         Rename the following macros to obey POSIX requirements.
11302         The old names are still visible as macros if _REGEX_SOURCE is defined.
11303         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
11304         RE_BACKSLASH_ESCAPE_IN_LISTS.
11305         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
11306         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
11307         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
11308         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
11309         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
11310         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
11311         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
11312         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
11313         (REG_INTERVALS): renamed from RE_INTERVALS.
11314         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
11315         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
11316         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
11317         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
11318         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
11319         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
11320         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
11321         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
11322         RE_UNMATCHED_RIGHT_PAREN_ORD.
11323         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
11324         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
11325         (REG_DEBUG): renamed from RE_DEBUG.
11326         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
11327         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
11328         unusual, since we can't clash with the POSIX REG_ICASE.
11329         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
11330         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
11331         (REG_NO_SUB): renamed from RE_NO_SUB.
11332         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
11333         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
11334         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
11335         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
11336         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
11337         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
11338         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
11339         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
11340         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
11341         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
11342         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
11343         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
11344         RE_SYNTAX_POSIX_MINIMAL_BASIC.
11345         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
11346         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
11347         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
11348         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
11349         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
11350         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
11351         (REG_FIXED): Renamed from REGS_FIXED.
11352         (REG_NREGS): Renamed from RE_NREGS.
11353
11354         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
11355         of other REG_* macros, since POSIX says the user is allowed to
11356         #undef these macros selectively.
11357
11358         (reg_errcode_t): Update comment stating what other tables need
11359         to be consistent.
11360
11361         Rename the following enum values to obey POSIX requirements.
11362         The old names are still visible as macros.
11363         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
11364         is not defined, since GNU is supposed to be a superset of POSIX as
11365         much as possible, and since we want reg_errcode_t to be a signed
11366         type for implementation consistency.
11367         (_REG_NOERROR): Renamed from REG_NOERROR.
11368         (_REG_NOMATCH): Renamed from REG_NOMATCH.
11369         (_REG_BADPAT): Renamed from REG_BADPAT.
11370         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
11371         (_REG_ECTYPE): Renamed from REG_ECTYPE.
11372         (_REG_EESCAPE): Renamed from REG_EESCAPE.
11373         (_REG_ESUBREG): Renamed from REG_ESUBREG.
11374         (_REG_EBRACK): Renamed from REG_EBRACK.
11375         (_REG_EPAREN): Renamed from REG_EPAREN.
11376         (_REG_EBRACE): Renamed from REG_EBRACE.
11377         (_REG_BADBR): Renamed from REG_BADBR.
11378         (_REG_ERANGE): Renamed from REG_ERANGE.
11379         (_REG_ESPACE): Renamed from REG_ESPACE.
11380         (_REG_BADRPT): Renamed from REG_BADRPT.
11381         (_REG_EEND): Renamed from REG_EEND.
11382         (_REG_ESIZE): Renamed from REG_ESIZE.
11383         (_REG_ERPAREN): Renamed from REG_ERPAREN.
11384         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
11385         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
11386         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
11387         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
11388
11389         (_REG_RE_NAME, _REG_RM_NAME): New macros.
11390         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
11391         changed.  But support the old name if the new one is not defined
11392         and if _REGEX_SOURCE.
11393
11394         Change the following member names in struct re_pattern_buffer.
11395         The old names are still supported if !_REGEX_SOURCE.
11396         The new names are always supported, regardless of _REGEX_SOURCE.
11397         (re_buffer): Renamed from buffer.
11398         (re_allocated): Renamed from allocated.
11399         (re_used): Renamed from used.
11400         (re_syntax): Renamed from syntax.
11401         (re_fastmap): Renamed from fastmap.
11402         (re_translate): Renamed from translate.
11403         (re_can_be_null): Renamed from can_be_null.
11404         (re_regs_allocated): Renamed from regs_allocated.
11405         (re_fastmap_accurate): Renamed from fastmap_accurate.
11406         (re_no_sub): Renamed from no_sub.
11407         (re_not_bol): Renamed from not_bol.
11408         (re_not_eol): Renamed from not_eol.
11409         (re_newline_anchor): Renamed from newline_anchor.
11410
11411         Change the following member names in struct re_registers.
11412         The old names are still supported if !_REGEX_SOURCE.
11413         The new names are always supported, regardless of _REGEX_SOURCE.
11414         (rm_num_regs): Renamed from num_regs.
11415         (rm_start): Renamed from start.
11416         (rm_end): Renamed from end.
11417
11418         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
11419         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
11420         Prepend __ to parameter names.
11421
11422         Undo yesterday's changes.
11423
11424 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11425
11426         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
11427         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
11428         lib/regex.c.
11429
11430 2005-08-24  Jim Meyering  <jim@meyering.net>
11431
11432         Sync from coreutils.
11433         * m4/fcntl-safer.m4: New file.
11434
11435         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
11436         and object files for this module.
11437
11438 2005-08-24  Jim Meyering  <jim@meyering.net>
11439
11440         Sync from coreutils.
11441         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
11442
11443 2005-08-24  Jim Meyering  <jim@meyering.net>
11444
11445         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
11446         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
11447
11448 2005-08-24  Jim Meyering  <jim@meyering.net>
11449
11450         * modules/fcntl-safer: New module.
11451         * modules/fts (Depends-on): Add fcntl-safer.
11452         * MODULES.html.sh (File descriptor based Input/Output):
11453         Add fcntl-safer.
11454
11455 2005-08-24  Bruno Haible  <bruno@clisp.org>
11456
11457         Support for unit test modules.
11458         * modules/README: Mention tests modules.
11459         * modules/TEMPLATE-TESTS: New file.
11460         * gnulib-tool: New options --extract-tests-module, --with-tests and
11461         --tests-base (unused for the moment).
11462         (testsbase, inctests): New variables.
11463         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
11464         (func_verify_module): Exclude TEMPLATE-TESTS.
11465         (func_verify_nontests_module, func_verify_tests_module): New functions.
11466         (func_get_dependencies): Add implicit dependency for tests modules.
11467         (func_get_tests_module): New function.
11468         (func_modules_transitive_closure): When --with-tests was specified,
11469         include the unit tests as well, unless explicitly avoided.
11470         (func_emit_lib_Makefile_am): Ignore the tests modules here.
11471         (func_emit_tests_Makefile_am): New function.
11472         (func_create_testdir): When --with-tests was specified, emit a
11473         tests/ directory.
11474         * MODULES.html.sh (Future developments): Update.
11475
11476 2005-08-24  Bruno Haible  <bruno@clisp.org>
11477
11478         * modules/tls-tests: New file.
11479         * tests/test-tls.c: New file, from GNU gettext.
11480
11481 2005-08-24  Bruno Haible  <bruno@clisp.org>
11482
11483         * modules/lock-tests: New file.
11484         * tests/test-lock.c: New file, from GNU gettext.
11485
11486 2005-08-24  Bruno Haible  <bruno@clisp.org>
11487
11488         * lib/lock.h: Add multiple inclusion guard.
11489         * lib/tls.h: Add multiple inclusion guard.
11490
11491 2005-08-24  Bruno Haible  <bruno@clisp.org>
11492
11493         * gnulib-tool: Add support for the --aux-dir option to
11494         --create-testdir, --create-megatestdir, --test, --megatest.
11495         (func_create_testdir, func_create_megatestdir): Optionally emit a
11496         AC_CONFIG_AUX_DIR directive.
11497         (create-testdir, create-megatestdir, test, megatest): Provide a
11498         default value for $auxdir.
11499
11500 2005-08-24  Bruno Haible  <bruno@clisp.org>
11501
11502         * gnulib-tool (import): Use compound statement instead of subshell
11503         where possible.
11504
11505 2005-08-24  Bruno Haible  <bruno@clisp.org>
11506
11507         * gnulib-tool (import): Change --aux-dir default to "build-aux".
11508
11509 2005-08-24  Bruno Haible  <bruno@clisp.org>
11510
11511         * gnulib-tool (func_version): Update.
11512
11513 2005-08-24  Bruno Haible  <bruno@clisp.org>
11514
11515         * gnulib-tool (func_import, func_create_testdir,
11516         func_create_megatestdir): Quote all autoconf macro arguments.
11517
11518 2005-08-24  Bruno Haible  <bruno@clisp.org>
11519
11520         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
11521         option --force, because --force causes the aclocal.m4 of each
11522         subdirectory to be newer than the corresponding config.h.in.
11523
11524 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11525
11526         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
11527         All contents moved to gl_REGEX.
11528         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
11529         assume that it does.
11530
11531 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11532
11533         * lib/regex.h (REG_NOSYS)
11534         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
11535         Define, since POSIX requires it as of 2001.
11536         (_REG_ENOSYS)
11537         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
11538         New private symbol, used to keep the enum signed in all cases.
11539         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
11540         Youngman in
11541         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
11542
11543         * lib/regex_internal.c (re_string_skip_chars, register_state):
11544         (calc_state_hash):
11545         Remove forward decls; no longer needed now that we use prototypes.
11546         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
11547         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
11548         (clean_state_log_if_needed): Likewise.
11549
11550 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11551
11552         * config/srclist.txt: Add glibc bugs 1231-1233.
11553
11554 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11555
11556         Fix problems reported by Sam Steingold in
11557         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
11558         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
11559         assumed that reg_errcode_t is a signed type, which is not
11560         necessarily true if _XOPEN_SOURCE is not defined.
11561         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
11562         since some compilers warn about it otherwise.
11563
11564 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11565
11566         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
11567         (init_word_char, create_initial_state, duplicate_node_closure):
11568         (fetch_token, peek_token_bracket, build_range_exp):
11569         (build_collating_symbol): Remove forward decls; no longer needed
11570         now that we use prototypes.
11571
11572         * lib/regcomp.c:
11573         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
11574         (re_compile_fastmap_iter, regcomp, regerror, regfree):
11575         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
11576         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
11577         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
11578         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
11579         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
11580         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
11581         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
11582         (build_range_exp, build_collating_symbol, parse_bracket_exp):
11583         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
11584         (build_charclass, build_charclass_op, fetch_number, create_tree):
11585         (create_token_tree, mark_opt_subexp, duplicate_tree):
11586         Use prototypes rather than old-style definitions.
11587
11588         * lib/regex_internal.c:
11589         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
11590         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
11591         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
11592         (re_string_reconstruct, re_string_peek_byte_case):
11593         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
11594         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
11595         (re_node_set_init_copy, re_node_set_add_intersect):
11596         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
11597         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
11598         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
11599         (re_acquire_state, re_acquire_state_context, register_state):
11600         (create_ci_newstate, create_cd_newstate, free_state):
11601         Likewise.
11602         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
11603         re_search_2):
11604         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
11605         (re_search_internal, prune_impossible_nodes):
11606         (acquire_init_state_context, check_matching, static):
11607         (check_halt_node_context, check_halt_state_context, proceed_next_node):
11608         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
11609         (update_regs, sift_states_backward, build_sifted_states):
11610         (clean_state_log_if_needed, merge_state_array):
11611         (update_cur_sifted_state, add_epsilon_src_nodes):
11612         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
11613         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
11614         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
11615         (find_recover_state, check_subexp_matching_top, transit_state_mb):
11616         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
11617         (check_arrival, check_arrival_add_next_nodes):
11618         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
11619         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
11620         (check_node_accept_bytes, check_node_accept, extend_buffers):
11621         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
11622         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
11623         (sift_ctx_init):
11624         Likewise.
11625
11626         * lib/regex_internal.h:
11627         (re_string_allocate, re_string_construct, re_string_reconstruct):
11628         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
11629         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
11630         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
11631         (re_string_context_at, re_string_peek_byte_case):
11632         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
11633         is defined, since we now use prototypes always.
11634
11635         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
11636         C89 or better.  All uses removed.
11637
11638 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11639
11640         * config/srclist.txt: Add glibc bugs 1220-1227.
11641
11642 2005-08-20  Jim Meyering  <jim@meyering.net>
11643
11644         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
11645         of unused local, dfa.
11646
11647 2005-08-20  Bruno Haible  <bruno@clisp.org>
11648
11649         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
11650
11651 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
11652
11653         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
11654         (re_node_set_insert_last, re_dfa_add_node):
11655         Rename local variables to avoid GCC shadowing warnings.
11656
11657 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
11658
11659         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
11660         [defined lint]: Suppress bogus uninitialized-variable warnings.
11661
11662         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
11663         and let the caller return REG_ESPACE if out of space.  This
11664         removes an uninitialied-variable warning with GCC 4.0.1, and also
11665         avoids taking the address of a local variable.  All callers
11666         changed.
11667
11668 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
11669
11670         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
11671         $LIBCSRC/posix/regexec.c.
11672         Add glibc bug 1217 for regcomp.c.
11673
11674 2005-08-19  Jim Meyering  <jim@meyering.net>
11675
11676         * lib/regexec.c (proceed_next_node): Redo local variables to
11677         avoid GCC shadowing warnings.
11678
11679 2005-08-18  Bruno Haible  <bruno@clisp.org>
11680
11681         * lib/strstr.c (strstr): Fix return value in multibyte case.
11682         * lib/strcasestr.c (strcasestr): Likewise.
11683
11684 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11685
11686         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
11687
11688 2005-08-17  Jim Meyering  <jim@meyering.net>
11689
11690         Make the %s format (seconds since the epoch) work for a negative
11691         number and when used with a zero-padded field width, e.g. %015s.
11692
11693         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
11694         label so that it precedes the code to set `digits'.  Otherwise,
11695         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
11696         print `00-22'.  Now, it prints `-0022', as it should.
11697
11698 2005-08-17  Bruno Haible  <bruno@clisp.org>
11699
11700         * modules/strstr (Files): Add m4/mbrtowc.m4.
11701         (Depends-on): Add mbuiter.
11702
11703 2005-08-17  Bruno Haible  <bruno@clisp.org>
11704
11705         * modules/strcasestr: New file.
11706         * MODULES.html.sh (String handling, based on ANSI C 89): Add
11707         strcasestr.
11708
11709 2005-08-17  Bruno Haible  <bruno@clisp.org>
11710
11711         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
11712
11713 2005-08-17  Bruno Haible  <bruno@clisp.org>
11714
11715         * modules/mbuiter: New file.
11716         * MODULES.html.sh (Extended multibyte and wide character utilities):
11717         Add mbuiter.
11718
11719 2005-08-17  Bruno Haible  <bruno@clisp.org>
11720
11721         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
11722         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
11723
11724 2005-08-17  Bruno Haible  <bruno@clisp.org>
11725
11726         * m4/strcasestr.m4: New file.
11727
11728 2005-08-17  Bruno Haible  <bruno@clisp.org>
11729
11730         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
11731         * lib/strstr.c: Completely rewritten, with multibyte locale support.
11732
11733 2005-08-17  Bruno Haible  <bruno@clisp.org>
11734
11735         * lib/strcasestr.h: New file.
11736         * lib/strcasestr.c: New file.
11737
11738 2005-08-17  Bruno Haible  <bruno@clisp.org>
11739
11740         * lib/strcasecmp.c: Use mbuiter.h.
11741
11742 2005-08-17  Bruno Haible  <bruno@clisp.org>
11743
11744         * lib/mbuiter.h: New file.
11745
11746 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
11747
11748         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
11749         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
11750         and gl_GETOPT are both invoked via different paths (as happens
11751         with GNU tar CVS because it uses both argp and getopt), the former
11752         wins.
11753
11754 2005-08-16  Bruno Haible  <bruno@clisp.org>
11755
11756         * modules/tls: New file.
11757         * MODULES.html.sh (Multithreading): Add tls.
11758
11759 2005-08-16  Bruno Haible  <bruno@clisp.org>
11760
11761         * modules/strnlen1: New file.
11762         * MODULES.html.sh (String handling): Add strnlen1.
11763
11764 2005-08-16  Bruno Haible  <bruno@clisp.org>
11765
11766         * modules/strcase (Files): Add m4/mbrtowc.m4.
11767         (Depends-on): Add strnlen1, mbchar.
11768
11769 2005-08-16  Bruno Haible  <bruno@clisp.org>
11770
11771         * modules/mbiter: New file.
11772         * MODULES.html.sh (Extended multibyte and wide character utilities):
11773         Add mbiter.
11774
11775 2005-08-16  Bruno Haible  <bruno@clisp.org>
11776
11777         * modules/mbfile: New file.
11778         * MODULES.html.sh (Extended multibyte and wide character utilities):
11779         Add mbfile.
11780
11781 2005-08-16  Bruno Haible  <bruno@clisp.org>
11782
11783         * modules/mbchar: New file.
11784         * MODULES.html.sh (Extended multibyte and wide character utilities):
11785         New section.
11786
11787 2005-08-16  Bruno Haible  <bruno@clisp.org>
11788
11789         * m4/tls.m4: New file, from GNU gettext.
11790
11791 2005-08-16  Bruno Haible  <bruno@clisp.org>
11792
11793         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
11794         always.
11795         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
11796
11797 2005-08-16  Bruno Haible  <bruno@clisp.org>
11798
11799         * m4/mbiter.m4: New file.
11800
11801 2005-08-16  Bruno Haible  <bruno@clisp.org>
11802
11803         * m4/mbfile.m4: New file.
11804
11805 2005-08-16  Bruno Haible  <bruno@clisp.org>
11806
11807         * m4/mbchar.m4: New file.
11808
11809 2005-08-16  Bruno Haible  <bruno@clisp.org>
11810
11811         * lib/tls.h: New file, from GNU gettext.
11812         * lib/tls.c: New file, from GNU gettext.
11813
11814 2005-08-16  Bruno Haible  <bruno@clisp.org>
11815
11816         * lib/strnlen1.h: New file.
11817         * lib/strnlen1.c: New file.
11818
11819 2005-08-16  Bruno Haible  <bruno@clisp.org>
11820
11821         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
11822         (mbi_init): Update.
11823         (mbi_avail, mbi_advance): Let the iteration end before the terminating
11824         NUL byte, not after it.
11825
11826 2005-08-16  Bruno Haible  <bruno@clisp.org>
11827
11828         * lib/strcase.h (strcasecmp): Add note in comments.
11829         * lib/strncasecmp.c: Use code from strcasecmp.c.
11830         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
11831         (strcasecmp): Work correctly in multibyte locales.
11832
11833 2005-08-16  Bruno Haible  <bruno@clisp.org>
11834
11835         * lib/mbiter.h: New file.
11836
11837 2005-08-16  Bruno Haible  <bruno@clisp.org>
11838
11839         * lib/mbfile.h: New file.
11840
11841 2005-08-16  Bruno Haible  <bruno@clisp.org>
11842
11843         * lib/mbchar.h: New file.
11844         * lib/mbchar.c: New file.
11845
11846 2005-08-16  Bruno Haible  <bruno@clisp.org>
11847
11848         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
11849         the valid ones. Makes the comparison operations transitive:
11850         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
11851         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
11852
11853 2005-08-15  Simon Josefsson  <jas@extundo.com>
11854
11855         * modules/ssize_t (License): Change to 'unlimited'.
11856
11857         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
11858
11859 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
11860
11861         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
11862         Add comments for each pending glibc patch.
11863
11864 2005-08-15  Bruno Haible  <bruno@clisp.org>
11865
11866         * lib/regex.h (__restrict_arr): Don't define to __restrict if
11867         __cplusplus is defined.
11868
11869 2005-08-14  Jim Meyering  <jim@meyering.net>
11870
11871         Sync from coreutils.
11872
11873         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
11874         Use the hash-table-based cycle-detection code not just when
11875         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
11876         Reported by James Youngman in
11877         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
11878         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
11879         FTS_TIGHT_CYCLE_CHECK.
11880         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
11881         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
11882         once again.
11883         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
11884         * lib/fts.c (fd_safer): Remove decl.
11885         Include fcntl--.h rather than unistd-safer.h
11886         (fts_safe_changedir): Don't call fd_safer; no longer needed
11887         now that we include fcntl--.h.
11888
11889 2005-08-12  Simon Josefsson  <jas@extundo.com>
11890
11891         * modules/getndelim2: Use ssize_t module.
11892         * modules/getnline: Likewise.
11893         * modules/safe-read: Likewise.
11894         * modules/xreadlink: Likewise.
11895
11896         * modules/ssize_t: New file.
11897
11898 2005-08-12  Simon Josefsson  <jas@extundo.com>
11899
11900         * m4/readline.m4: Look for termcap, curses or ncurses if required.
11901
11902 2005-08-12  Simon Josefsson  <jas@extundo.com>
11903
11904         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11905         ssize_t.
11906
11907 2005-08-12  Simon Josefsson  <jas@extundo.com>
11908
11909         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
11910         readline, getdelim and check_version.
11911         (Support for systems lacking ISO C 99: Sizes of integer types):
11912         Add size_max.
11913
11914 2005-08-12  Bruno Haible  <bruno@clisp.org>
11915
11916         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
11917
11918 2005-08-11  Simon Josefsson  <jas@extundo.com>
11919
11920         * modules/readline: New file.
11921
11922         * modules/strnlen (Files): Add strnlen.h.
11923
11924 2005-08-11  Simon Josefsson  <jas@extundo.com>
11925
11926         * m4/readline.m4: New file.
11927
11928 2005-08-11  Simon Josefsson  <jas@extundo.com>
11929
11930         * lib/readline.h, readline.c: New file.
11931
11932 2005-08-11  Simon Josefsson  <jas@extundo.com>
11933
11934         * doc/gnulib.texi (Initial import, Finishing touches): Mention
11935         gl_AVOID.
11936
11937 2005-08-11  Bruno Haible  <bruno@clisp.org>
11938
11939         * lib/strnlen.h (strnlen): Change parameter name to match comment.
11940
11941 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
11942
11943         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
11944
11945 2005-08-10  Simon Josefsson  <jas@extundo.com>
11946
11947         * tests/test-iconvme.c: New file.
11948
11949 2005-08-10  Simon Josefsson  <jas@extundo.com>
11950
11951         * m4/strnlen.m4: New file.
11952
11953         * m4/strndup.m4: Don't check for strnlen declaration, done in
11954         strnlen.m4.
11955
11956 2005-08-10  Simon Josefsson  <jas@extundo.com>
11957
11958         * lib/strndup.c: Use strnlen.h.
11959
11960         * lib/strnlen.h: New file.
11961
11962 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
11963
11964         * README: Typos.
11965
11966 2005-08-02  Simon Josefsson  <jas@extundo.com>
11967
11968         * modules/readline: New file.
11969
11970 2005-08-02  Simon Josefsson  <jas@extundo.com>
11971
11972         * modules/getdelim: New file.
11973
11974         * modules/getline: Rewrite, don't use getndelim2.
11975
11976 2005-08-02  Simon Josefsson  <jas@extundo.com>
11977
11978         * m4/getline.m4: Separate out getdelim stuff into separate module.
11979
11980         * m4/getdelim.m4: New file.
11981
11982 2005-08-02  Simon Josefsson  <jas@extundo.com>
11983
11984         * lib/getline.h, getline.c: Rewrite.
11985
11986         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
11987
11988 2005-07-31  Bruno Haible  <bruno@clisp.org>
11989
11990         * lib/lock.h (gl_lock_initializer): New macro.
11991         (gl_lock_define_initialized): Use it.
11992         (gl_rwlock_initializer): New macro.
11993         (gl_rwlock_define_initialized): Use it.
11994         (gl_recursive_lock_initializer): New macro.
11995         (gl_recursive_lock_define_initialized): Use it.
11996
11997 2005-07-30  Karl Berry  <karl@gnu.org>
11998
11999         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
12000         Report from Ben Pfaff, regarding getopt.
12001
12002 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
12003
12004         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
12005         normal way.
12006         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
12007         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
12008         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
12009         (gl_GETOPT): Use the new macros.  Most of the implementation
12010         is moved to the new macros.  This is for programs like Emacs
12011         that don't want all the functionality of gl_GETOPT.
12012
12013 2005-07-26  Bruno Haible  <bruno@clisp.org>
12014
12015         * m4/lock.m4: Update from GNU gettext.
12016
12017 2005-07-26  Bruno Haible  <bruno@clisp.org>
12018
12019         * lib/lock.h: Update from GNU gettext.
12020         * lib/lock.c: Update from GNU gettext.
12021
12022 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12023
12024         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
12025         obsolescent AC_TRY_RUN.  Include the default includes files, for
12026         'exit'.
12027
12028 2005-07-24  Bruno Haible  <bruno@clisp.org>
12029
12030         * modules/visibility: New file.
12031         * MODULES.html.sh (Misc): Add visibility.
12032
12033 2005-07-24  Bruno Haible  <bruno@clisp.org>
12034
12035         * m4/visibility.m4: New file.
12036
12037 2005-07-24  Bruno Haible  <bruno@clisp.org>
12038
12039         * doc/visibility.texi: New file.
12040
12041 2005-07-22  Bruno Haible  <bruno@clisp.org>
12042
12043         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
12044         $(ALLOCA_H), redundant through BUILT_SOURCES.
12045         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
12046         redundant through BUILT_SOURCES.
12047         * modules/byteswap (Makefile.am): Remove explicit dependency on
12048         $(BYTESWAP_H), redundant through BUILT_SOURCES.
12049         * modules/fnmatch (Makefile.am): Remove explicit dependency on
12050         $(FNMATCH_H), redundant through BUILT_SOURCES.
12051         * modules/getopt (Makefile.am): Remove explicit dependency on
12052         $(GETOPT_H), redundant through BUILT_SOURCES.
12053         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
12054         redundant through BUILT_SOURCES.
12055         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
12056         redundant through BUILT_SOURCES.
12057         * modules/stdbool (Makefile.am): Remove explicit dependency on
12058         $(STDBOOL_H), redundant through BUILT_SOURCES.
12059         * modules/stdint (Makefile.am): Remove explicit dependency on
12060         $(STDINT_H), redundant through BUILT_SOURCES.
12061         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
12062         Remove explicit dependency on $(SYSEXITS_H).
12063         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
12064
12065 2005-07-18  Simon Josefsson  <jas@extundo.com>
12066
12067         * lib/check-version.c (check_version): Accept identical versions too.
12068
12069 2005-07-18  Bruno Haible  <bruno@clisp.org>
12070
12071         * modules/lock: New file.
12072         * MODULES.html.sh (Multithreading): New section.
12073
12074 2005-07-18  Bruno Haible  <bruno@clisp.org>
12075
12076         * m4/lock.m4: New file, from GNU gettext.
12077
12078 2005-07-18  Bruno Haible  <bruno@clisp.org>
12079
12080         * lib/lock.h: New file, from GNU gettext.
12081         * lib/lock.c: New file, from GNU gettext.
12082
12083 2005-07-18  Bruno Haible  <bruno@clisp.org>
12084
12085         * lib/lock.h (gl_once_t): New type.
12086         (gl_once_define, gl_once): New macros.
12087         * lib/lock.c (fresh_once): New variable.
12088         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
12089         functions.
12090
12091 2005-07-16  Simon Josefsson  <jas@extundo.com>
12092
12093         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
12094         workaround, suggested by Bruno.
12095
12096 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12097
12098         * modules/xalloc (Depends-on): Add xalloc-die.
12099         * modules/xvasprintf (Depends-on): Add xalloc-die.
12100
12101 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12102
12103         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
12104         with a minor change.
12105
12106 2005-07-15  Bruno Haible  <bruno@clisp.org>
12107
12108         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
12109         When using lib/poll.c, define poll as rpl_poll.
12110
12111 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
12112
12113         * modules/argp (Depends-on): Remove unlocked-io.
12114
12115 2005-07-14  Derek Price  <derek@ximbiot.com>
12116
12117         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
12118         for glob symlink bug.
12119
12120 2005-07-14  Bruno Haible  <bruno@clisp.org>
12121
12122         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
12123         Instead, test for *_unlocked function declarations directly.
12124
12125 2005-07-11  Simon Josefsson  <jas@extundo.com>
12126
12127         * modules/size_max: New file.
12128
12129         * modules/xsize: Depend on size_max module for size_max.m4.
12130
12131 2005-07-11  Simon Josefsson  <jas@extundo.com>
12132
12133         * lib/size_max.h: New file.
12134
12135 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
12136
12137         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
12138         copyright symbol and the year.
12139         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
12140         (version_etc_va): Use parameterized copyright notice.
12141         Reword to conform to the current GNU coding standards.
12142
12143 2005-07-11  Karl Berry  <karl@gnu.org>
12144
12145         * doc/gnulib.texi (Quoting): new node.
12146         (Initial import): more info, from Patrice.
12147
12148 2005-07-11  Bruno Haible  <bruno@clisp.org>
12149
12150         * gnulib-tool (func_usage): Document option --avoid.
12151         (Command line options): Handle --avoid.
12152         (func_acceptable): New function.
12153         (func_modules_transitive_closure): Use it.
12154
12155 2005-07-11  Bruno Haible  <bruno@clisp.org>
12156
12157         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
12158         Reported by Jim Meyering.
12159
12160 2005-07-10  Bruno Haible  <bruno@clisp.org>
12161
12162         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
12163         Needed when size_t is smaller than 'unsigned int'.
12164         Reported by Paul Eggert.
12165
12166 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
12167
12168         * modules/argp (Depends-on): Add unlocked-io
12169
12170 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
12171
12172         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
12173         block of defines.
12174
12175 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12176
12177         * config/srclist.txt: Comment out regcomp.c, since we have a porting
12178         fix now.
12179
12180 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
12181         and Paul Eggert  <eggert@cs.ucla.edu>
12182
12183         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
12184         in wint_t, not wchar_t.  Remove now-unnecessary cast.
12185
12186 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12187
12188         * modules/regex (Files): Add lib/regex_internal.c,
12189         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
12190         (Depends-on): Add extensions.
12191         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
12192
12193 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12194
12195         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
12196         pathconf.
12197         * m4/same.m4 (gl_SAME): Likewise.
12198         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
12199
12200         * m4/regex.m4: Adjust to new libc regex implementation.
12201         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
12202         all the .c and .h parts of (the new) regex.
12203         Quote the m4 stuff better.
12204         Check for RE_ICASE bug of old gnulib.
12205         Check for REG_STARTEND of recent libc.
12206         Rename local variables from jm_* to gl_*.
12207         Quote operand of "test -f".
12208         Say "recent enough" version of libc, not "version 2".
12209         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
12210         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
12211         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
12212         Remove check for btowc, isascii.
12213         Require AM_LANGINFO_CODESET.
12214
12215 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12216
12217         * lib/regex.c, regex.h: Sync from libc.
12218         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
12219         * lib/regexec.c:
12220         New files, synced from libc, except that regex_internal.h
12221         currently has a small porting fix.
12222
12223 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12224
12225         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
12226         regex_internal.c, regexec.c.
12227         Add regex_internal.h too, but as a comment, since the libc version
12228         is currently broken in gnulib mode.
12229
12230 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12231
12232         Support programs like Emacs that use gnulib but not gettext.
12233         * MODULES.html.sh (Internationalization functions): Add gettext-h.
12234         * modules/gettext-h: New file.
12235         * modules/gettext (Files): Remove lib/gettext.h.
12236         (Depends-on): Add gettext-h.
12237         (Makefile.am): Remove lib_SOURCES.
12238         * modules/argmatch, modules/c-stack, modules/closeout:
12239         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
12240         * modules/execute, modules/file-type, modules/getaddrinfo:
12241         * modules/getopt, modules/human, modules/javacomp:
12242         * modules/javaexec, modules/mkdir-p, modules/obstack:
12243         * modules/openat, modules/pagealign_alloc, modules/pipe:
12244         * modules/quotearg, modules/regex, modules/rpmatch:
12245         * modules/unicodeio, modules/userspec, modules/version-etc:
12246         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
12247         * modules/xsetenv:
12248         Depend on gettext-h, not gettext.
12249
12250 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
12251
12252         * gnulib-tool (func_import): Add support for 'public domain' license.
12253         * modules/alloca, modules/atexit, modules/memmove:
12254         Now public domain, not GPL.
12255         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
12256         * modules/realloc, modules/strerror, modules/strtod:
12257         Now LGPL, not GPL.
12258
12259 2005-07-05  Bruno Haible  <bruno@clisp.org>
12260
12261         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
12262         autoconf CVS. Needed for mingw.
12263
12264 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
12265
12266         Remove the dependency of the strftime module on the tzset module.
12267         * modules/strftime (Depends-on): Remove dependency on tzset.
12268
12269 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
12270
12271         Remove the dependency of the strftime module on the tzset module.
12272         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
12273         gl_FUNC_TZSET_CLOBBER.
12274
12275 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
12276
12277         Remove the dependency of the strftime module on the tzset module.
12278         * lib/strftime.c (my_strftime)
12279         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
12280         Copy the input structure, to work around some of the bug with
12281         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
12282         Solaris releases, you should also use the tzset module, but we won't
12283         require it as a dependency any more since we don't want LGPLed code
12284         to depend on GPLed code.
12285
12286 2005-07-02  Jim Meyering  <jim@meyering.net>
12287
12288         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
12289         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
12290         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
12291         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
12292
12293 2005-07-02  Jim Meyering  <jim@meyering.net>
12294
12295         * lib/backupfile.c (backup_args): Change a `0' to NULL.
12296
12297 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
12298
12299         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
12300         declares only 'struct timespec;' (!).
12301
12302 2005-07-01  Jim Meyering  <jim@meyering.net>
12303
12304         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
12305         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
12306         * lib/save-cwd.c, tempname.c:
12307         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
12308         and don't include <sys/file.h>).
12309
12310 2005-06-29  Jim Meyering  <jim@meyering.net>
12311
12312         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
12313         type name.  Use the variable name instead.
12314         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
12315         Likewise.
12316
12317 2005-06-28  Simon Josefsson  <jas@extundo.com>
12318
12319         * modules/check-version (Files): Add check-version.m4.
12320
12321 2005-06-28  Simon Josefsson  <jas@extundo.com>
12322
12323         * m4/check-version.m4: New file, suggested by Jim Meyering
12324         <jim@meyering.net>.
12325
12326 2005-06-28  Simon Josefsson  <jas@extundo.com>
12327
12328         * lib/check-version.h, lib/check-version.c: New files.
12329
12330 2005-06-28  Simon Josefsson  <jas@extundo.com>
12331
12332         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
12333         collision with global variable.  Better indentation.  Don't
12334         increment buffer pointer beyond buffer end.  Based on comments
12335         from Paul Eggert <eggert@cs.ucla.edu>.
12336
12337         * lib/base64.h: Indent.
12338
12339 2005-06-28  Simon Josefsson  <jas@extundo.com>
12340
12341         * doc/gnulib.texi (Library version handling): New section.
12342
12343 2005-06-28  Jim Meyering  <jim@meyering.net>
12344
12345         * check-module (find_included_lib_files): Hard-code another
12346         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
12347         but modules/fts-lgpl (correctly) does not list those files.
12348
12349         * modules/canonicalize (Files): Add lib/pathmax.h.
12350
12351 2005-06-25  Simon Josefsson  <jas@extundo.com>
12352
12353         * modules/check-version: New file.
12354
12355 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
12356
12357         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
12358         initializer of struct addrinfo, as an indication that we don't
12359         care how many members the structure has.
12360
12361 2005-06-24  Derek Price  <derek@ximbiot.com>
12362         and Bruno Haible  <bruno@clisp.org>
12363
12364         Remove stat module & update lstat.
12365         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
12366         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
12367         * m4/stat.m4: Remove this file.
12368
12369 2005-06-24  Derek Price  <derek@ximbiot.com>
12370         and Bruno Haible  <bruno@clisp.org>
12371
12372         Remove stat module & update lstat.
12373         * lib/stat.c: Remove this file...
12374         (slash_aware_lstat): ...moving this content and its support...
12375         * lib/lstat.c (rpl_lstat): ...into here.
12376         * lib/lstat.h: New file.
12377
12378 2005-06-24  Derek Price  <derek@ximbiot.com>
12379         and Bruno Haible  <bruno@clisp.org>
12380
12381         Remove stat module & update lstat.
12382         * config/srclist.txt (libc sources): Remove stat.
12383
12384 2005-06-24  Derek Price  <derek@ximbiot.com>
12385         and Bruno Haible  <bruno@clisp.org>
12386
12387         Remove stat module & update lstat.
12388         * MODULES.html.sh (stat): Remove.
12389         * MODULES.html: Regenerated.
12390         * modules/lstat (Description): Correct function name.
12391         (Files): Add "lstat.h".
12392         (Depends-on): Remove stat, add xalloc, stat-macros.
12393         * modules/stat: Remove this file.
12394         (Include): Add "lstat.h", remove <sys/stat.h>.
12395
12396 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
12397
12398         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
12399         (ranged_convert): Don't save conversion in a temporary struct.
12400         This causes a warning with GCC 4.0.0, and anyway in the typical
12401         case it's not worth the extra 100 bytes or so of code.
12402         (ranged_convert, __mktime_internal): When calling a function via a
12403         pointer P, use P () rather than (*P) (), as we now assume C89 or
12404         better.
12405
12406 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
12407
12408         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
12409         "who -r" failed to give output.  Problem reported by Tim Waugh.
12410
12411         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
12412         (xcalloc): Use it to avoid needless tests.
12413         Problem reported by Jim Meyering.
12414
12415 2005-06-20  Derek Price  <derek@ximbiot.com>
12416
12417         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
12418         unnecessary for Autoconfs > 2.59c.
12419
12420 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12421
12422         * lib/argp.h (__option_is_short): Check upper limit of
12423         __key. Isprint() requires its argument to have the value
12424         of an unsigned char or EOF.
12425
12426 2005-06-16  Jim Meyering  <jim@meyering.net>
12427
12428         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
12429         when either N or S is zero.
12430
12431 2005-06-16  Derek Price  <derek@ximbiot.com>
12432
12433         * m4/bison.m4: Declare YACC & YFLAGS precious.
12434
12435 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
12436
12437         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
12438         multibyte string or pattern, fall back on unibyte matching.
12439         Problem reported by James Youngman.
12440
12441 2005-06-08  Bruno Haible  <bruno@clisp.org>
12442
12443         * modules/csharpcomp: New file.
12444         * MODULES.html.sh (C#): Add csharpcomp.
12445
12446 2005-06-08  Bruno Haible  <bruno@clisp.org>
12447
12448         * m4/csharpcomp.m4: New file, from GNU gettext.
12449
12450 2005-06-08  Bruno Haible  <bruno@clisp.org>
12451
12452         * lib/csharpcomp.h: New file, from GNU gettext.
12453         * lib/csharpcomp.c: New file, from GNU gettext.
12454         * lib/csharpcomp.sh.in: New file, from GNU gettext.
12455
12456 2005-06-08  Bruno Haible  <bruno@clisp.org>
12457
12458         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
12459         warning on mingw.
12460
12461 2005-06-07  Derek Price  <derek@ximbiot.com>
12462
12463         Sync from CVS.
12464         * lib/glob_.h: Indent nested #ifdef.
12465
12466 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12467
12468         Sync from coreutils.
12469         Use "file name" when talking about file names, instead of "filename"
12470         or "path", as per the GNU coding standards.
12471         * lib/mkdir-p.c: Renamed from makepath.c.
12472         (make_dir_parents): Renamed from make_path.  All callers changed.
12473         * lib/mkdir-p.h: Likewise.  All includers changed.
12474         * lib/filenamecat.c: Renamed from path-concat.c.
12475         (file_name_concat): Renamed from path_concat.  All callers changed.
12476         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
12477         * lib/filenamecat.h: Likewise.  All includers changed.
12478         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
12479         in comments or local variable names.
12480         * lib/basename.c: Likewise.
12481         * lib/canonicalize.c, canonicalize.h: Likewise.
12482         * lib/dirname.c, dirname.h: Likewise.
12483         * lib/euidaccess.c: Likewise.
12484         * lib/exclude.c: Likewise
12485         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
12486         * lib/fsusage.c, fsuage.h: Likewise.
12487         * lib/fts.c, fts_.h: Likewise.
12488         * lib/getcwd.c: Likewise.
12489         * lib/getloadavg.c: Likewise.
12490         * lib/mkstemp.c: Likewise.
12491         * lib/mountlist.c, mountlist.h: Likewise.
12492         * lib/openat.c, openat.h: Likewise.
12493         * lib/readlink-stub.c: Likewise.
12494         * lib/readutmp.c, readutmp.h: Likewise.
12495         * lib/rename.c: Likewise.
12496         * lib/rmdir.c: Likewise.
12497         * lib/same.c: Likewise.
12498         * lib/savedir.c: Likewise.
12499         * lib/stripslash.c: Likewise.
12500         * lib/tempname.c: Likewise.
12501         * lib/xreadlink.c: Likewise.
12502         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
12503         All uses changed.
12504         * lib/exclude.h: Likewise.
12505
12506         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
12507         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
12508         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
12509         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
12510         * lib/pathmax.h: Include <limits.h> unconditionally, since other
12511         files have been getting away with it for years (MORE/BSD 4.3
12512         is extinct now).
12513         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
12514         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
12515
12516         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
12517         Define to 256, not 255, as per modern POSIX.
12518
12519 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12520
12521         Sync from coreutils.
12522         Use "file name" when talking about file names, instead of "filename"
12523         or "path", as per the GNU coding standards.
12524         * MODULES.html.sh: mkdir-p renamed from makepath.
12525         filenamecat renamed from path-concat.
12526         * modules/filenamecat: Renamed from modules/path-concat.
12527         (Files): filenamecat.h and filenamecat.c renamed from
12528         path-concat.h and path-concat.c.
12529         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
12530         (Include): filenamecat.h, not path-concat.h.
12531         * modules/mkdir-p: Renamed from modules/makepath.
12532         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
12533         makepath.c.
12534         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
12535         (Include): mkdir-p.h, not makepath.h.
12536
12537 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12538
12539         Sync from coreutils.
12540         * m4/mkdir-p.m4: Renamed from makepath.m4.
12541         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
12542         Rename files from makepath.c to mkdir-p.c, and from
12543         makepath.h to mkdir-p.h.
12544         * m4/filenamecat.m4: Renamed from path-concat.m4.
12545         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
12546         Rename files from path-concat.c to filenamecat.c,
12547         and from path-concat.h to filenamecat.h.
12548         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
12549         "file name" in local variables or comments.
12550         * m4/rename.m4: Likewise.
12551
12552 2005-06-01  Bruno Haible  <bruno@clisp.org>
12553
12554         * modules/csharpexec: New file.
12555         * MODULES.html.sh (C#): New section.
12556
12557 2005-06-01  Bruno Haible  <bruno@clisp.org>
12558
12559         * m4/csharp.m4: New file, from GNU gettext.
12560         * m4/csharpexec.m4: New file, from GNU gettext.
12561
12562 2005-06-01  Bruno Haible  <bruno@clisp.org>
12563
12564         * lib/csharpexec.h: New file, from GNU gettext.
12565         * lib/csharpexec.c: New file, from GNU gettext.
12566         * lib/csharpexec.sh.in: New file, from GNU gettext.
12567
12568 2005-05-31  Derek Price  <derek@ximbiot.com>
12569             Paul Eggert  <eggert@cs.ucla.edu>
12570
12571         Sync from cvs.
12572         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
12573
12574 2005-05-31  Derek Price  <derek@ximbiot.com>
12575             Paul Eggert  <eggert@cs.ucla.edu>
12576
12577         Sync from cvs.
12578         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
12579
12580 2005-05-29  Derek Price  <derek@ximbiot.com>
12581
12582         * config/srclist.txt (glob_.h, glob.c): Add these files.
12583
12584 2005-05-29  Derek Price  <derek@ximbiot.com>
12585
12586         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
12587         * modules/glob: New file.
12588         * modules/getlogin_r: Add link to POSIX spec in description.
12589
12590 2005-05-29  Derek Price  <derek@ximbiot.com>
12591             Paul Eggert  <eggert@cs.ucla.edu>
12592
12593         * m4/glob.m4: New file.
12594
12595 2005-05-29  Derek Price  <derek@ximbiot.com>
12596             Paul Eggert  <eggert@cs.ucla.edu>
12597
12598         * lib/glob_.h, lib/glob.c: New files.
12599
12600 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12601
12602         * modules/fts (Files): Remove m4/inttypes-pri.m4.
12603         * modules/fts-lgpl (Depends-on): Remove gettext.
12604
12605 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12606
12607         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
12608         and don't require gt_INTTYPES_PRI.
12609
12610 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12611
12612         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
12613
12614         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
12615         the configuration hassle isn't worth it.
12616         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
12617         (LONGEST_MODIFIER, PRIuMAX): Remove.
12618
12619 2005-05-27  Bruno Haible  <bruno@clisp.org>
12620
12621         * lib/getlogin_r.h: Remove second include of <stddef.h>.
12622
12623 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
12624
12625         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
12626         _POSIX_PTHREAD_SEMANTICS for Solaris.
12627
12628 2005-05-25  Derek Price  <derek@ximbiot.com>
12629
12630         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
12631
12632 2005-05-25  Derek Price  <derek@ximbiot.com>
12633             Paul Eggert  <eggert@cs.ucla.edu>
12634
12635         * modules/getlogin_r, m4/getlogin_r.m4: New files.
12636         * lib/getlogin_r.c, getlogin_r.h: New files.
12637
12638 2005-05-25  Bruno Haible  <bruno@clisp.org>
12639             Derek Price  <derek@ximbiot.com>
12640
12641         * lib/getlogin_r.h: Simplify API documentation.
12642
12643 2005-05-23  Derek Price  <derek@ximbiot.com>
12644
12645         * modules/minmax (Files): Add m4/minmax.m4.
12646         (configure.ac): Add gl_MINMAX.
12647
12648 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
12649
12650         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
12651         so that unistd-safer.h (GPL'ed code) need not be included.
12652
12653 2005-05-22  Bruno Haible  <bruno@clisp.org>
12654
12655         * m4/minmax.m4: New file.
12656         Based on a patch by Derek Price <derek@ximbiot.com>.
12657
12658 2005-05-22  Bruno Haible  <bruno@clisp.org>
12659
12660         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
12661         (INT64_MIN): Fix definition.
12662         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
12663
12664         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
12665         NEED_SIGNED_INT_TYPES.
12666
12667         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
12668         HAVE_SYSTEM_INTTYPES.
12669
12670 2005-05-22  Bruno Haible  <bruno@clisp.org>
12671
12672         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
12673         Also include <sys/param.h> if it defines MIN, MAX.
12674         Based on a patch by Derek Price <derek@ximbiot.com>.
12675
12676 2005-05-21  Jim Meyering  <jim@meyering.net>
12677
12678         * modules/fts (Files): Add m4/inttypes-pri.m4.
12679         (Depends-on): Add lstat and remove gettext.  Alphabetize.
12680
12681 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12682
12683         New fts module.
12684         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
12685         (setup_dir, free_dir): New functions.
12686         (enter_dir, leave_dir): Define trivial
12687         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
12688         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
12689         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
12690         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
12691         Move to fts-cycle.c.
12692         (fts_open): Use setup_dir.
12693         (fts_close): Use free_dir.
12694         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
12695         This adds a label and some gotos, but the alternatives were messier.
12696         Check for memory allocation failure when entering a dir.
12697         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
12698         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
12699         (FTS): New member fts_cycle, that is a union that contains the
12700         old active_dir_ht and cycle_state.  All uses changed to mention
12701         fts_cycle.ht and fts_cycle.state.
12702         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
12703         fts.c, with the following changes:
12704         (setup_dir, free_dir): New functions.
12705         (enter_dir): Now returns bool.  Return true if successful, false
12706         if memory exhausted.  All callers changed.
12707         Do not bother partly cleaning up on
12708         memory allocation failure; that is free_dir's job.
12709         However, free ad if hash_insert fails, to avoid memory leak.
12710         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
12711         fts->fts_options to see which union member to use.
12712
12713 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12714
12715         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
12716         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
12717
12718 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12719
12720         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
12721
12722 2005-05-20  Jim Meyering  <jim@meyering.net>
12723
12724         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
12725         Now a macro, to pacify GCC.
12726
12727 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
12728
12729         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
12730         of -1.
12731
12732 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
12733
12734         * lib/chown.c (rpl_chown): Return -1 on failure.
12735
12736 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
12737
12738         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
12739         Don't check for stddef.h.
12740         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
12741         don't use its results.
12742         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
12743         since we include them unconditionally.  Don't require
12744         AM_STDBOOL_H, since stdbool is a prerequisite.
12745         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
12746         since we assume C89 or better.
12747         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
12748         as we don't use their results.
12749         Don't check for fchdir, memmove, memset, strrchr, as we use
12750         them unconditionally.
12751         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
12752         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
12753
12754 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
12755
12756         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
12757         Include <stddef.h> unconditionally, since we assume C89 now.
12758         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
12759         * lib/fts.c: Include fts_.h first, to check interface.
12760         Do not include intprops.h; no longer needed.
12761         Include cycle-check.h and hash.h, since fts_.h no longer does.
12762         Remove unnecessary casts of closedir to void.
12763         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
12764         decide whether to decrement nlinks.
12765         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
12766         (FTS): Use struct hash_table * instead of Hash_table, so that
12767         we no longer need to include hash.h here.
12768
12769 2005-05-18  Jim Meyering  <jim@meyering.net>
12770
12771         * modules/dirfd (License): Change to LGPL.  Most of the code
12772         is already in the public domain.
12773
12774 2005-05-18  Jim Meyering  <jim@meyering.net>
12775
12776         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
12777         Reported by Yoann Vandoorselaere.
12778
12779 2005-05-17  Jim Meyering  <jim@meyering.net>
12780
12781         * m4/fts.m4: New file, from coreutils.
12782
12783 2005-05-17  Jim Meyering  <jim@meyering.net>
12784
12785         * lib/fts.c, lib/fts_.h: New files, from coreutils.
12786
12787 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
12788
12789         Sync from coreutils.
12790         * m4/unlinkdir.m4: New file.
12791
12792 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
12793
12794         Sync from coreutils.
12795         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
12796         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
12797         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
12798         White space changes only.
12799         * lib/makepath.c (make_path): Port to hosts where leading "//" is
12800         special.
12801         * lib/yesno.c: Include getline.h, not ctype.h.
12802         (yesno): Don't remove leading white space; POSIX doesn't allow it.
12803         Use getline to remove arbitrary restriction on response length.
12804
12805 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
12806
12807         * config/srclist-update: Spell out "Street" in FSF postal
12808         mail address; this is the style the FSF seems to prefer.
12809
12810         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
12811         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
12812         this updates FSF postal mail address.
12813
12814         Sync from coreutils.
12815         * modules/unlinkdir: New file.
12816         * modules/yesno (Depends-on): Add getline.
12817         * MODULES.html.sh (File system functions): Add unlinkdir.
12818
12819 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
12820
12821         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
12822         lib/strsep.h:
12823         Change the initial comment to refer to GPL, not LGPL.
12824         gnulib-tool will change it to LGPL as needed.
12825
12826         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
12827         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
12828         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
12829         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
12830         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
12831         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
12832         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
12833         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
12834         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
12835         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
12836         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
12837         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
12838         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
12839         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
12840         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
12841         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
12842         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
12843         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
12844         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
12845         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
12846         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
12847         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
12848         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
12849         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
12850         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
12851         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
12852         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
12853         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
12854         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
12855         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
12856         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
12857         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
12858         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
12859         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
12860         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
12861         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
12862         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
12863         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
12864         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
12865         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
12866         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
12867         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
12868         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
12869         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
12870         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
12871         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
12872         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
12873         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
12874         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
12875         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
12876         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
12877         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
12878         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
12879         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
12880         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
12881         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
12882         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
12883         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
12884         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
12885         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
12886         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
12887         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
12888         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
12889         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
12890         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
12891         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
12892         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
12893         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
12894         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
12895         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
12896         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
12897         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
12898         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
12899         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
12900         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
12901         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
12902         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
12903         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
12904         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
12905         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
12906         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
12907         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
12908         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
12909         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
12910         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
12911         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
12912         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
12913         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
12914         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
12915         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
12916         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
12917         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
12918         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
12919         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
12920         lib/yesno.c, lib/yesno.h:
12921         Update FSF postal mail address.
12922
12923 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
12924
12925         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
12926         tests/test-memmem.c, tests/test-stpncpy.c:
12927         Update FSF postal mail address.
12928
12929 2005-05-13  Bruno Haible  <bruno@clisp.org>
12930
12931         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
12932         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
12933         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
12934         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
12935         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
12936         Add support for 64-bit integers in the MSVC compiler.
12937
12938 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12939
12940         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
12941
12942 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
12943
12944         * gnulib-tool (func_import): Sort and uniquify recommended includes.
12945
12946 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
12947
12948         * doc/getdate.texi (General date syntax): Don't say that date
12949         date --iso-8601=ns generates acceptable dates; it doesn't yet.
12950         Problem reported by Nic Ferrier.
12951
12952 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12953
12954         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
12955         specified in ai_socktype. Fix invalid ai_protocol
12956         check. ai_protocol is usually set to 0 or depending on
12957         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
12958         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
12959         ai_socktype / ai_protocol in the returned addrinfo structure.
12960
12961 2005-05-10  Simon Josefsson  <jas@extundo.com>
12962
12963         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
12964         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12965
12966 2005-05-10  Karl Berry  <karl@gnu.org>
12967
12968         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
12969         (from http://www.gnu.org/licenses).
12970         * doc/COPYING.LIB: also rename to COPYING.LESSER.
12971         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
12972         fdl.texi suffices.
12973
12974 2005-05-10  Karl Berry  <karl@gnu.org>
12975
12976         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
12977         (COPYING.DOC): remove.
12978
12979         * config/srclist-update: new FSF address.
12980
12981 2005-05-10  Derek Price  <derek@ximbiot.com>
12982
12983         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
12984         possible.
12985
12986 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12987             Bruno Haible  <bruno@clisp.org>
12988
12989         * modules/inet_ntop: New file.
12990         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12991         inet_ntop.
12992
12993 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12994             Bruno Haible  <bruno@clisp.org>
12995
12996         * m4/inet_ntop.m4: New file.
12997
12998 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12999             Bruno Haible  <bruno@clisp.org>
13000
13001         * lib/inet_ntop.h: New file.
13002         * lib/inet_ntop.c: New file, from glibc with modifications.
13003
13004 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
13005
13006         * modules/time_r (License): Change to LGPL.
13007         * modules/extensions (License): Change to LGPL.  Actually,
13008         the license is more permissive than that, but currently gnulib-tool
13009         doesn't know how to handle more-permissive licenses.
13010
13011         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
13012         Problem reported by Dave Love.
13013
13014 2005-05-08  Jim Meyering  <jim@meyering.net>
13015
13016         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
13017         blank.
13018
13019 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
13020
13021         * modules/argmatch (Depends-on): Add stdbool.
13022         * modules/backupfile (Depends-on): Likewise.
13023         * modules/chdir-long (Depends-on): Likewise.
13024         * modules/closeout (Depends-on): Likewise.
13025         * modules/cycle-check (Depends-on): Likewise.
13026         * modules/dirname (Depends-on): Likewise.
13027         * modules/fnmatch (Depends-on): Likewise.
13028         * modules/fsusage (Depends-on): Likewise.
13029         * modules/fwriteerror (Depends-on): Likewise.
13030         * modules/getcwd (Depends-on): Likewise.
13031         * modules/getloadavg (Depends-on): Likewise.
13032         * modules/hard-locale (Depends-on): Likewise.
13033         * modules/makepath (Depends-on): Likewise.
13034         * modules/mountlist (Depends-on): Likewise.
13035         * modules/nanosleep (Depends-on): Likewise.
13036         * modules/posixtm (Depends-on): Likewise.
13037         * modules/quotearg (Depends-on): Likewise.
13038         * modules/readtokens (Depends-on): Likewise.
13039         * modules/readtokens0 (Depends-on): Likewise.
13040         * modules/readutmp (Depends-on): Likewise.
13041         * modules/save-cwd (Depends-on): Likewise.
13042         * modules/strftime (Depends-on): Likewise.
13043         * modules/userspec (Depends-on): Likewise.
13044         * modules/utimecmp (Depends-on): Likewise.
13045         * modules/xgetcwd (Depends-on): Likewise.
13046         * modules/xnanosleep (Depends-on): Likewise.
13047         * modules/xstrtod (Depends-on): Likewise.
13048         * modules/yesno (Depends-on): Likewise.
13049
13050 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13051
13052         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
13053         needless checks.
13054
13055 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13056
13057         Merge from coreutils.  Among other things,
13058         add bulletproofing for cases where stdin, stdout, or stderr are closed.
13059         * lib/fd-safer.c: New file.
13060         * lib/fcntl-safer.h, open-safer.c: Remove.
13061         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
13062         * lib/dup-safer.c: Include unistd-safer.h first.
13063         Don't include errno.h.
13064         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
13065         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
13066         * lib/file-type.c: Rely on file-type.h change.
13067         * lib/getloadavg.c: Include unistd-safer.h.
13068         (getloadavg): Use safer open.
13069         * lib/getusershell.c: Include "stdio-safer.h".
13070         (getusershell): Use safer fopen.
13071         * lib/long-options.c (long_options): Use NULL rather than 0.
13072         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
13073         'free'.
13074         * lib/modechange.c: Likewise.
13075         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
13076         (MODE_DONE): New constant.
13077         (struct mode_change): Remove 'next' member.
13078         (make_node_op_equals): New function; like the old one of the
13079         same name, except it allocates an array.
13080         (mode_compile, mode_create_from_ref): Use it.
13081         (mode_compile): Allocate result as an array, not a linked list.
13082         Parse octal string ourself, so that we catch mistakes like "+0".
13083         (mode_adjust): Arg is an array, not a linked list.
13084         * lib/modechange.c: Include stat-macros.h, xalloc.h.
13085         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
13086         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
13087         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
13088         Remove.  This is now stat-macros.h's job.
13089         (talloc): Remove.  All callers replaced by xalloc, so that
13090         our invokers don't have to worry about reporting memory failures.
13091         (make_node_op_equals): Remove.
13092         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
13093         New constants.
13094         (struct mode_change): Moved here from modechange.h.
13095         (mode_append_entry): Remove.
13096         (mode_compile): Remove MASKED_OPS arg, since it encouraged
13097         apps to have incorrect behavior.  Use simpler algorithm for head
13098         and tail.  Don't futz with umask; that's now the job of mode_adjust.
13099         Detect more invalid usages rather than having somewhat-random behavior.
13100         Don't insert an "a=" action, as that leads to incorrect behavior.
13101         (mode_compile, mode_create_from_ref): Return NULL on error instead
13102         of an enum, since now there's only one way to have an error.  All
13103         callers changed.
13104         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
13105         at the correct time.  Simplify calculation of "+u" and its ilk.
13106         Don't mishandle "+X".
13107         (mode_free): Remove "register" and localize decls.
13108         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
13109         (struct mode_change): Move to modechange.c; callers don't
13110         need to see this stuff.
13111         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
13112         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
13113         (mode_change, mode_adjust): Reflect the new signatures noted above.
13114         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
13115         that might redefine system include files.
13116         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
13117         (my_usleep): Use NULL rather than (void *) 0.
13118         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
13119         Use siginterrupt to specify that system calls should be interrupted.
13120         (rpl_nanosleep): Move initialization of suspended closer to call of
13121         my_usleep.
13122         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
13123         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
13124         (desirable_utmp_entry): New function.
13125         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
13126         using x2nrealloc, to simplify logic.
13127         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
13128         size calculation.  Do not assume utmp file is a regular file.
13129         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
13130         (READ_UTMP_CHECK_PIDS): New constant.
13131         * lib/save-cwd.c: Include unistd-safer.h.
13132         (save_cwd): Use fd_safer.
13133         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
13134         [!_LIBC] Include "stat-macros.h" instead.
13135         * lib/unistd-safer.h (fd_safer): New decl.
13136
13137 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13138
13139         * modules/getloadavg (Depends-on): Add unistd-safer.
13140         * modules/getusershell (Depends-on): Add stdio-safer.
13141         * modules/lstat (Depends-on): Remove xalloc.
13142         * modules/mkstemp (Depends-on): Add stat-macros.
13143         * modules/modechange (Depends-on): Remove xstrtol.
13144         Add stat-macros, xalloc.
13145         * modules/save-cwd (Depends-on): Add unistd-safer.
13146         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
13147         * modules/unistd-safer (Files): Add lib/fd-safer.c
13148         (Makefile.am): Remove lib_SOURCES.
13149
13150         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
13151         Remove fcntl-safer; unistd-safer supersedes it.
13152
13153 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13154
13155         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
13156         AC_HEADER_STAT.
13157         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
13158         (gl_PREREQ_CHOWN): Remove.
13159         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
13160         it.  Don't require AC_HEADER_STAT.
13161         (gl_PREREQ_LSTAT): Remove.
13162         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
13163         Don't require AC_HEADER_STAT.
13164         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
13165         (gl_PREREQ_RMDIR): Remove.
13166         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
13167         mention stat-macros.h or AC_HEADER_STAT, since we'll make
13168         the stat-macros module a prerequisite.
13169         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
13170         * m4/filemode.m4 (gl_FILEMODE): Likewise.
13171         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
13172         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
13173         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
13174         variable names.
13175         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
13176         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
13177         variable prefixes.
13178         * m4/fcntl-safer.m4: Remove.
13179         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
13180         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
13181         Invoke gl_PREREQ_FD_SAFER.
13182         (gl_PREREQ_FD_SAFER): New macro.
13183         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
13184         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
13185         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
13186         Remove duplicate call to AC_LIBOBJ(readutmp).
13187         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
13188
13189         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
13190         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
13191
13192 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13193
13194         * MODULES.html.sh (Misc): Add byteswap.
13195
13196 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13197
13198         * modules/getcwd (Depends-on): Add extensions.
13199         * modules/openat (Depends-on): Likewise.
13200
13201 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13202
13203         * modules/byteswap: New file.
13204
13205 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13206
13207         * m4/byteswap.m4: New file.
13208
13209 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13210
13211         * lib/byteswap_.h: New file.
13212
13213 2005-04-25  Karl Berry  <karl@gnu.org>
13214
13215         * m4/gettext.m4: Update from GNU gettext 0.14.4.
13216
13217 2005-04-25  Albert Chin  <china@thewrittenword.com>
13218
13219         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
13220         Toolkit C bug.
13221
13222 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
13223
13224         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
13225         (func_ln_if_changed) Remove forcibly for no error message
13226         in case file does not exist.
13227
13228 2005-04-19  Simon Josefsson  <jas@extundo.com>
13229
13230         * gnulib-tool (Options): Make --symlink mean --symbolic.
13231
13232 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
13233
13234         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
13235
13236 2005-04-16  Simon Josefsson  <jas@extundo.com>
13237
13238         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
13239
13240 2005-04-15  Simon Josefsson  <jas@extundo.com>
13241
13242         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
13243
13244 2005-04-15  Simon Josefsson  <jas@extundo.com>
13245
13246         * gnulib-tool: Rename --symlink to --symbolic.
13247
13248 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
13249
13250         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
13251         symbolic links to files instead of copying/moving.  Add --aux-dir,
13252         specifying directory relative --dir where auxiliary build tools
13253         are placed.
13254
13255 2005-04-14  Bruno Haible  <bruno@clisp.org>
13256
13257         * modules/allocsa (License): Change to LGPL.
13258         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
13259
13260 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
13261
13262         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
13263         that "UTC +1 second" continues to work.  Problem reported
13264         by Dmitry V. Levin.
13265         (relunit_snumber): New rule.
13266         (relunit): Use it.
13267
13268 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
13269
13270         * lib/getdate.y (universal_time_zone_table): New constant.
13271         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
13272         universal_time_zone_table.
13273         (lookup_zone): Prefer universal_time_zone_table to
13274         local_time_zone_table, so that "GMT" time stamps are allowed in
13275         London during the summer.  Problem reported by Ian Abbott.
13276
13277 2005-04-12  Jim Meyering  <jim@meyering.net>
13278
13279         * lib/human.c (humblock): Set *options even when returning due to
13280         xstrtoumax conversion failure.  Thanks to a used-uninitialized
13281         warning from gcc-4.
13282
13283 2005-04-09  Jim Meyering  <jim@meyering.net>
13284
13285         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
13286         -Wuninitialized: initialize tm0.tm_year.
13287
13288 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
13289
13290         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
13291         count, since there's no maximum.  All uses changed.
13292         Add member dsts_seen.
13293         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
13294         not being INT_MAX.
13295         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
13296         Use pc_rels_seen to decide whther a date is absolute.
13297
13298         * lib/getdate.y (number): Don't overwrite year.
13299         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
13300         check.
13301
13302 2005-04-02  Simon Josefsson  <jas@extundo.com>
13303
13304         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
13305         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
13306
13307 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
13308
13309         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
13310         where no absolute path name can be longer than PATH_MAX.
13311
13312 2005-03-27  Jim Meyering  <jim@meyering.net>
13313
13314         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
13315
13316 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
13317
13318         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
13319         "one's complement" -> "ones' complement" in comment, as per Knuth.
13320         "value of type" -> "type or expression" in comment.
13321         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
13322
13323 2005-03-26  Jim Meyering  <jim@meyering.net>
13324
13325         Comment nits.
13326         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
13327         Correct typos: s/or/of/.
13328
13329 2005-03-26  Jim Meyering  <jim@meyering.net>
13330
13331         * modules/check-include-files: Move to ../ and rename to...
13332         * check-module: ...this.
13333
13334 2005-03-25  Jim Meyering  <jim@meyering.net>
13335
13336         * modules/xvasprintf (Files): Add xalloc.h.
13337
13338 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
13339
13340         * modules/gettext (Files): config/config.rpath ->
13341         build-aux/config.rpath
13342         * modules/iconv (Files): Likewise.
13343         Problem reported by Oskar Liljeblad.
13344
13345 2005-03-23  Jim Meyering  <jim@meyering.net>
13346
13347         * modules/check-include-files: New script to check for
13348         missing dependencies, multiple includes, etc.
13349
13350         * modules/c-strtold (Depends-on): Add xalloc.
13351         * modules/c-strtod (Depends-on): Add xalloc.
13352         * modules/hash (Depends-on): Add xalloc.
13353         (Files): Remove lib/xalloc.h.
13354
13355         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
13356         * modules/userspec (Files): Add lib/inttostr.h.
13357
13358 2005-03-23  Jim Meyering  <jim@meyering.net>
13359
13360         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
13361
13362 2005-03-22  Jim Meyering  <jim@meyering.net>
13363
13364         * modules/stat-macros: New module.
13365         * modules/canonicalize, modules/euidaccess, modules/file-type,
13366         * modules/filemode, modules/lchown, modules/makepath,
13367         * modules/rmdir, modules/stat: Depend on new stat-macros module
13368         rather than listing lib/stat-macros.h manually.
13369         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
13370
13371 2005-03-22  Jim Meyering  <jim@meyering.net>
13372
13373         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
13374
13375 2005-03-22  Bruno Haible  <bruno@clisp.org>
13376
13377         * config/srclist.txt: Replace target directory 'config' with
13378         'build-aux'.
13379         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
13380         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
13381         ../build-aux/.
13382
13383 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
13384
13385         * modules/chdir-long (Depends-on): Add mempcpy.
13386
13387         * modules/acl, modules/backupfile, modules/c-strtod,
13388         modules/c-strtold, modules/canon-host, modules/canonicalize,
13389         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
13390         modules/exclude, modules/exitfail, modules/file-type,
13391         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
13392         modules/getdate, modules/getline, modules/getpagesize,
13393         modules/getpass, modules/getugroups, modules/group-member,
13394         modules/hard-locale, modules/hash, modules/human, modules/idcache,
13395         modules/inttostr, modules/long-options, modules/makepath,
13396         modules/md5, modules/memcasecmp, modules/memcoll,
13397         modules/modechange, modules/mountlist, modules/path-concat,
13398         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
13399         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
13400         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
13401         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
13402         modules/strftime, modules/strndup, modules/strverscmp,
13403         modules/timespec, modules/unlocked-io, modules/userspec,
13404         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
13405         modules/yesno:
13406         Remove lib_SOURCES line from Makefile.am section, as this is now
13407         done automatically by the corresponding Autoconf macro.
13408
13409 2005-03-21  Jim Meyering  <jim@meyering.net>
13410
13411         Changes imported from coreutils.
13412
13413         * lib/cycle-check.c: Don't include xalloc.h.
13414
13415         * lib/path-concat.c: Don't include assert.h.
13416         (path_concat): Remove assertion that would have triggered
13417         for ABASE starting with more than one slash.
13418         Reported by Andreas Schwab.
13419
13420         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
13421         properly when ABASE is an absolute file name.
13422         Correct the description of this function.
13423         Include <assert.h>.
13424         Add an assertion and a test driver.
13425         This fixes a bug introduced on 2004-07-02.
13426         Andreas Schwab reported the resulting failure of cp --parents:
13427         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
13428
13429 2005-03-21  Jim Meyering  <jim@meyering.net>
13430
13431         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
13432         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
13433
13434 2005-03-21  Jim Meyering  <jim@meyering.net>
13435         and  Paul Eggert  <eggert@cs.ucla.edu>
13436
13437         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
13438         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
13439         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
13440         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
13441         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
13442         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
13443         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
13444         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
13445         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
13446         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
13447         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
13448         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
13449         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
13450         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
13451         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
13452         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
13453         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
13454         for these modules.
13455
13456 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
13457
13458         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
13459         (which shouldn't happen), generate nothing instead of returning 0
13460         immediately, so that nstrftime (NULL, ...) doesn't return 0.
13461
13462 2005-03-16  Bruno Haible  <bruno@clisp.org>
13463
13464         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
13465         HAVE_LONGLONG_64BIT.
13466
13467 2005-03-16  Bruno Haible  <bruno@clisp.org>
13468
13469         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
13470         HAVE_LONGLONG_64BIT.
13471
13472 2005-03-16  Bruno Haible  <bruno@clisp.org>
13473
13474         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
13475         HAVE_LONGLONG_64BIT.
13476
13477 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
13478
13479         * lib/strftime.c (my_strftime): Prepend space to format so that we can
13480         reliably distinguish strftime failure from empty output on POSIX
13481         hosts.
13482
13483 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
13484
13485         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
13486         (iconv_string): Don't guess a size-zero buffer, as that might cause
13487         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
13488         result would be 'too large', where 'too large' is (heuristically)
13489         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
13490         overflow concerns.  This will prevent some unwanted malloc failures
13491         when the inputs are very large.
13492
13493 2005-03-15  Karl Berry  <karl@gnu.org>
13494
13495         * config/srclist.txt (config.rpath): from gettext.
13496         * config/config.rpath: update.
13497
13498 2005-03-15  Bruno Haible  <bruno@clisp.org>
13499
13500         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
13501         to 'negate'.
13502
13503         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
13504         variable.
13505
13506         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
13507         results.
13508
13509 2005-03-14  Simon Josefsson  <jas@extundo.com>
13510
13511         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
13512         <fx@gnu.org>.
13513
13514 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
13515
13516         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
13517         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
13518         intprops.h.
13519         * lib/strtol.c: Likewise.
13520
13521 2005-03-14  Jim Meyering  <jim@meyering.net>
13522
13523         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
13524         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
13525         to be nonzero so that we (and caller) can detect the difference
13526         between a valid zero-length expansion and an error return, even
13527         when the underlying strftime fails before writing anything into
13528         that location.
13529
13530 2005-03-14  Bruno Haible  <bruno@clisp.org>
13531
13532         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
13533         Update from GNU gettext 0.14.3.
13534
13535 2005-03-10  Jim Meyering  <jim@meyering.net>
13536
13537         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
13538
13539 2005-03-10  Jim Meyering  <jim@meyering.net>
13540
13541         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
13542         so that this module works on systems without fchdir.
13543
13544 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
13545
13546         Factor int-properties macros into a single file, except for
13547         glibc-related files.
13548         * lib/intprops.h: New file.
13549         * lib/getloadavg.c: Include it instead of limits.h.
13550         (INT_STRLEN_BOUND): Remove.
13551         * lib/human.c: Include intprops.h.
13552         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
13553         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
13554         302/1000.
13555         * lib/inttostr.h: Include intprops.h instead of limits.h.
13556         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
13557         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
13558         for consistency with intprops.h.
13559         (time_t_is_integer, twos_complement_arithmetic): Use them.
13560         * lib/sig2str.h: Include <signal.h>, intprops.h.
13561         (INT_STRLEN_BOUND): Remove.
13562         * lib/strftime.c (TYPE_SIGNED): Remove.
13563         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
13564         * lib/strtol.c: Adjust comments to match intprops.h.
13565         * lib/userspec.c: Include intprops.h.
13566         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
13567         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
13568         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
13569         instead of rolling our own expressions.
13570         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
13571
13572         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
13573         instead of int.
13574         (my_strftime): Do not mishandle years close to INT_MAX, by doing
13575         the right thing even if adding 1900 would overflow.  Similarly
13576         for tm_mon + 1 and tm_yday + 1.
13577         Make %Y always equivalent to %C%y, and similarly for %G and %g.
13578         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
13579         (DO_SIGNED_NUMBER): New macro.
13580         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
13581
13582 2005-03-07  Bruno Haible  <bruno@clisp.org>
13583
13584         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
13585
13586 2005-03-07  Bruno Haible  <bruno@clisp.org>
13587
13588         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
13589
13590 2005-03-04  Derek R. Price  <derek@ximbiot.com>
13591
13592         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
13593         (func_import): Only replace files via --import when they have actually
13594         changed.
13595
13596 2005-03-03  Derek R. Price  <derek@ximbiot.com>
13597
13598         * m4/mmap-anon.m4: New file.
13599         * m4/pagealign_alloc.m4: New file.
13600
13601 2005-03-03  Derek R. Price  <derek@ximbiot.com>
13602             Bruno Haible  <bruno@clisp.org>
13603
13604         * modules/pagealign_alloc: New file.
13605         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
13606
13607 2005-03-03  Derek R. Price  <derek@ximbiot.com>
13608             Bruno Haible  <bruno@clisp.org>
13609
13610         * lib/pagealign_alloc.h: New file.
13611         * lib/pagealign_alloc.c: New file.
13612
13613 2005-03-03  Bruno Haible  <bruno@clisp.org>
13614
13615         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
13616         Use an all-permissive copyright notice, recommended by RMS.
13617
13618 2005-03-02  Bruno Haible  <bruno@clisp.org>
13619
13620         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
13621         of AIX, the replacement has to be done only after <string.h> is
13622         included, therefore not in config.h. stpncpy.h does the replacement,
13623         and stpncpy.c uses it.
13624
13625 2005-03-02  Bruno Haible  <bruno@clisp.org>
13626
13627         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
13628         stpncpy.c uses it.
13629
13630 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
13631
13632         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
13633         The workaround isn't strictly needed for POSIX conformance, and
13634         it's too much of a pain to configure and maintain.  We'll ask
13635         people to fix their kernels instead.
13636         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
13637         (NANOSLEEP_BUG_WORKAROUND): Remove.
13638         (xnanosleep): Remove the workaround.
13639
13640 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
13641
13642         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
13643         Reported by Derek Price.
13644         (Include): Add "timespec.h".
13645
13646         * modules/xnanosleep (Depends-on): Remove gethrxtime.
13647
13648 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
13649
13650         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
13651         to detect nanosleep bug.
13652
13653 2005-03-01  Bruno Haible  <bruno@clisp.org>
13654
13655         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
13656
13657 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
13658
13659         * modules/gethrxtime: New file.
13660         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
13661         (Depends-on): Add gethrxtime.
13662         (configure.ac): Add gl_XNANOSLEEP.
13663         (Makefile.am): Remove lib_SOURCES line.
13664
13665 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
13666
13667         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
13668         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
13669
13670 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
13671
13672         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
13673         * lib/timespec.h (gettime): Return void, since it always
13674         succeeds now.  All uses changed.
13675         * lib/gettime.c (gettime) Likewise.
13676         [HAVE_NANOTIME]: Prefer nanotime.
13677         Assume gettimeofday succeeds, as POSIX requires.
13678         Assime time () succeeds, since other code already does.
13679         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
13680         (timespec_subtract): Remove.
13681         (NANOSLEEP_BUG_WORKAROUND): New constant.
13682         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
13683         things considerably.  Use it only on GNU/Linux hosts, since the
13684         workaround shouldn't be needed elsewhere.
13685
13686 2005-02-24  Bruno Haible  <bruno@clisp.org>
13687
13688         * modules/gettext (Files): Add m4/glibc2.m4.
13689
13690 2005-02-24  Bruno Haible  <bruno@clisp.org>
13691
13692         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
13693         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
13694         * m4/progtest.m4:
13695         Update from GNU gettext 0.14.2.
13696         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
13697
13698 2005-02-24  Bruno Haible  <bruno@clisp.org>
13699
13700         * lib/localcharset.c: Update from GNU gettext 0.14.2.
13701         * lib/config.charset: Update from GNU gettext 0.14.2.
13702
13703 2005-02-24  Bruno Haible  <bruno@clisp.org>
13704
13705         * lib/gettext.h: Update from GNU gettext 0.14.2.
13706
13707 2005-02-23  Simon Josefsson  <jas@extundo.com>
13708
13709         * m4/iconvme.m4: New file.
13710
13711 2005-02-23  Jim Meyering  <jim@meyering.net>
13712
13713         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
13714         change.
13715         Thanks to Bruno Haible for catching it.
13716
13717 2005-02-22  Simon Josefsson  <jas@extundo.com>
13718
13719         * modules/iconvme: New file.
13720
13721         * MODULES.html.sh: Add iconvme.
13722
13723 2005-02-22  Simon Josefsson  <jas@extundo.com>
13724
13725         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
13726
13727 2005-02-22  Simon Josefsson  <jas@extundo.com>
13728
13729         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
13730
13731 2005-02-22  Jim Meyering  <jim@meyering.net>
13732
13733         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
13734         s/ifndef/ifdef/.
13735
13736 2005-02-20  Neil Conway  <neilc@samurai.com>
13737
13738         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
13739         returned by OSX/Darwin if the specified buffer is not large
13740         enough for the hostname.
13741
13742 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13743
13744         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
13745         pass it to _help, otherwise the latter coredumps trying to
13746         dereference state.root_argp.
13747
13748 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
13749
13750         * modules/chdir-long (Depends-on): Add memrchr.
13751         * modules/memrchr (Files): Add lib/memrchr.h.
13752         (Include): "memrchr.h".
13753
13754 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
13755
13756         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
13757
13758 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
13759
13760         * lib/memrchr.h: New file.
13761         * lib/chdir-long.c: Include it.
13762         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
13763         Don't bother including stddef.h.
13764
13765 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
13766
13767         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
13768         inclusion.
13769         Include <sys/types.h>, for dev_t.
13770         (ME_DUMMY, ME_REMOTE): Move from here....
13771         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
13772         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
13773         Dmitry V. Levin.
13774         Include mountlist.h first, to test the interface.
13775
13776 2005-01-29  Bruno Haible  <bruno@clisp.org>
13777
13778         * lib/progname.c (program_name): Initialize.
13779         Needed when linking statically on MacOS X.
13780
13781 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
13782
13783         Sync from coreutils.
13784         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
13785         (Depends-on): Add c-strtod.
13786         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
13787
13788 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
13789
13790         Sync from coreutils.
13791         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
13792
13793         Remove files that are specific to coreutils.
13794         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
13795
13796 2005-01-28  Bruno Haible  <bruno@clisp.org>
13797
13798         * modules/javacomp: New file.
13799         * MODULES.html.sh (Java): Add javacomp.
13800
13801 2005-01-28  Bruno Haible  <bruno@clisp.org>
13802
13803         * m4/javacomp.m4: New file, from GNU gettext.
13804
13805 2005-01-28  Bruno Haible  <bruno@clisp.org>
13806
13807         * lib/javacomp.sh.in: New file, from GNU gettext.
13808         * lib/javacomp.h: New file, from GNU gettext.
13809         * lib/javacomp.c: New file, from GNU gettext.
13810
13811 2005-01-26  Simon Josefsson  <jas@extundo.com>
13812
13813         * lib/gai_strerror.c: Use GPL in header.
13814
13815 2005-01-26  Bruno Haible  <bruno@clisp.org>
13816
13817         * modules/javaexec: New file.
13818         * MODULES.html.sh (Java): Add javaexec.
13819
13820 2005-01-26  Bruno Haible  <bruno@clisp.org>
13821
13822         * m4/javaexec.m4: New file, from GNU gettext.
13823
13824 2005-01-26  Bruno Haible  <bruno@clisp.org>
13825
13826         * lib/javaexec.sh.in: New file, from GNU gettext.
13827         * lib/javaexec.h: New file, from GNU gettext.
13828         * lib/javaexec.c: New file, from GNU gettext.
13829
13830 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13831
13832         * modules/lchown (Depends-on): Remove lchown.h
13833
13834 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13835
13836         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
13837         must be defined if the header file was not found, in order
13838         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
13839
13840 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13841
13842         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
13843         initializers for struct pentry_state.
13844         (__argp_error): Check return value of __asprintf
13845         (__argp_failure): Translate error message
13846
13847         * lib/argp-parse.c: Removed braces around the expansion of N_()
13848
13849 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
13850
13851         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
13852         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
13853         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
13854         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
13855         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
13856         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
13857         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
13858         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
13859         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
13860         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
13861         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
13862         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
13863         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
13864         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
13865         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
13866         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
13867         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
13868         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
13869         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
13870         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
13871         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
13872         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
13873         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
13874         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
13875         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
13876         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
13877         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
13878         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
13879         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
13880         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
13881         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
13882         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
13883         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
13884         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
13885         xstrtol.m4, xstrtoumax.m4, yesno.m4:
13886         Use an all-permissive copyright notice, recommended by RMS.
13887
13888 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
13889
13890         * modules/chdir-long (Depends-on): Remove mempcpy.
13891
13892 2005-01-21  Jim Meyering  <jim@meyering.net>
13893
13894         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
13895         same value as for Solaris 9.
13896
13897         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
13898         component length.  This included changing the parameter to be
13899         of type `char *' rather than `char const *'.
13900         * lib/chdir-long.h (chdir_long): Update prototype.
13901
13902         * lib/openat.c (fdopendir, fstatat): New functions.
13903         * lib/openat.h: Include headers required for use of DIR and struct
13904         stat.
13905         [AT_SYMLINK_NOFOLLOW]: Define.
13906         (fdopendir, fstatat): Add prototypes.
13907
13908 2005-01-21  Bruno Haible  <bruno@clisp.org>
13909
13910         * modules/classpath: New file.
13911         * MODULES.html.sh (Java): Add classpath.
13912
13913 2005-01-21  Bruno Haible  <bruno@clisp.org>
13914
13915         * lib/classpath.h: New file, from GNU gettext.
13916         * lib/classpath.c: New file, from GNU gettext.
13917
13918 2005-01-20  Simon Josefsson  <jas@extundo.com>
13919
13920         * modules/version-etc-fsf: New file.
13921
13922 2005-01-20  Simon Josefsson  <jas@extundo.com>
13923
13924         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
13925         * lib/version-etc.c: Remove version_etc_copyright.
13926         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
13927         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
13928
13929 2005-01-20  Simon Josefsson  <jas@extundo.com>
13930
13931         * lib/base64.h (isbase64): Add.
13932
13933         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
13934         using a unsigned prototype, don't inline.
13935         (base64_decode): Use it.
13936
13937 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
13938
13939         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
13940         it.
13941
13942 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
13943
13944         * lib/save-cwd.c (save_cwd): Remove code to support the case
13945         where fchdir is missing or flaky.
13946
13947 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
13948
13949         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
13950
13951 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
13952
13953         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
13954         AC_LIBSOURCES now does this.
13955         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
13956         with new ullong_max module.
13957
13958 2005-01-19  Bruno Haible  <bruno@clisp.org>
13959
13960         * modules/sh-quote: New file.
13961         * MODULES.html.sh (Executing programs): Add sh-quote.
13962
13963 2005-01-19  Bruno Haible  <bruno@clisp.org>
13964
13965         * lib/sh-quote.h: New file, from GNU gettext.
13966         * lib/sh-quote.c: New file, from GNU gettext.
13967
13968 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
13969
13970         Merge from coreutils.
13971         * m4/ullong_max.m4: New file.
13972         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
13973         (gl_MACROS): Assume localeconv exists.
13974
13975 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
13976
13977         Merge changes from coreutils, as described below in several
13978         changelogs dated today.
13979
13980         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
13981         (O_DIRECTORY): Remove; not needed here, since "." must be
13982         a directory.  All uses removed.
13983         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
13984         universal on Suns, and we also need to test for IRIX.
13985         Revamp code to use 'if' rather than '#if'.
13986         Avoid unnecessary comparison of cwd->desc to 0.
13987
13988         * lib/utimens.c (futimens): Robustify the previous patch, by checking
13989         for known valid error numbers rather than observed invalid ones.
13990
13991 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
13992
13993         * modules/ullong_max: New file.
13994
13995         * modules/chdir-long, modules/openat: New files.
13996         * modules/save-cwd (Depends-on): Depend on chdir-long.
13997         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
13998
13999 2005-01-18  Jim Meyering  <jim@meyering.net>
14000
14001         Merge from coreutils.
14002         * m4/chdir-long.m4, m4/openat.m4: New files.
14003         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
14004         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
14005         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
14006         is sane and DOES follow symlinks.  Besides, testing 20 different
14007         systems found no broken chown implementations.
14008         Prompted by a change in rsync's copy of this macro.
14009         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
14010
14011         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
14012
14013         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
14014         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
14015         NULL-means-set-to-current-time semantics.
14016         Remove temporary file immediately, rather than waiting
14017         for configure's at-exit trap code to do it.
14018
14019 2005-01-18  Jim Meyering  <jim@meyering.net>
14020
14021         * lib/version-etc.c (version_etc_copyright): Update copyright date.
14022
14023         * lib/utimens.c (futimens): Account for the fact that futimes
14024         can also fail with errno == ENOSYS or errno == ENOENT.
14025         Patch from Dmitry V. Levin.
14026
14027         Change the name of the robust chdir function from chdir to chdir_long.
14028         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
14029         (restore_cwd): Use chdir_long, not chdir.
14030         * lib/chdir-long.c: Renamed from chdir.c.
14031         * lib/chdir-long.h: Renamed from chdir.h.
14032         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
14033         Hurd.
14034
14035 2005-01-18  Bruno Haible  <bruno@clisp.org>
14036
14037         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
14038         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
14039         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
14040         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
14041         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
14042         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
14043         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
14044         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
14045         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
14046         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
14047         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
14048         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
14049         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
14050         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
14051         Use an all-permissive copyright notice, recommended by RMS.
14052
14053 2005-01-18  Bob Proulx  <bob@proulx.com>
14054
14055         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
14056         simplify offsetof() macro construct to avoid compile failure with
14057         native HP-UX 11.0 ANSI C compiler.
14058
14059 2005-01-17  Bruno Haible  <bruno@clisp.org>
14060
14061         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
14062         redundant because stpncpy.m4 takes care of it.
14063
14064 2005-01-17  Bruno Haible  <bruno@clisp.org>
14065
14066         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
14067
14068 2005-01-17  Bruno Haible  <bruno@clisp.org>
14069
14070         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
14071         used.
14072
14073 2005-01-17  Bruno Haible  <bruno@clisp.org>
14074
14075         * lib/fwriteerror.h (fwriteerror): Change specification to include
14076         fclose.
14077         * lib/fwriteerror.c: Include <stdbool.h>.
14078         (fwriteerror): At the end, close the file stream. Record whether
14079         stdout was already closed.
14080
14081 2005-01-17  Bruno Haible  <bruno@clisp.org>
14082
14083         * lib/execute.c (environ): Declare if needed.
14084         * lib/pipe.c (environ): Likewise.
14085         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
14086
14087 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14088
14089         * modules/argp: Depend on vsnprintf
14090
14091 2005-01-10  Jim Meyering  <jim@meyering.net>
14092
14093         * modules/closeout (Depends-on): Add atexit.
14094
14095 2005-01-06  Bruno Haible  <bruno@clisp.org>
14096
14097         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
14098
14099 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
14100
14101         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
14102         definitions to be after all include files, to avoid collisions.
14103         Problem reported by Bob Proulx.
14104
14105 2005-01-04  Jim Meyering  <jim@meyering.net>
14106
14107         Changes imported from coreutils.
14108         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
14109         as the mkstemp template, use a temporary directory and an
14110         8.3-friendly template to avoid trouble on systems like DJGPP.
14111         Reported by Juan M. Guerrero via Stepan Kasal.
14112         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
14113         close. Remove the temporary directory right away, rather than waiting
14114         for configure's at-exit trap code to do it.
14115         Suggestion from Stepan Kasal.
14116
14117 2005-01-01  Simon Josefsson  <jas@extundo.com>
14118
14119         * gnulib-tool: Print #include directives when --import'ing.
14120
14121 2004-12-28  Simon Josefsson  <jas@extundo.com>
14122
14123         * tests/test-base64.c: Include required header files.  Remove
14124         unused variables.
14125
14126 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14127
14128         * modules/error (Depends-on): Remove gettext.
14129
14130 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14131
14132         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
14133         not needed.  This removes a dependency on the gettext module.
14134         [defined _LIBC]: Do not include <libintl.h>; not needed.
14135
14136 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
14137
14138         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
14139         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
14140
14141 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
14142
14143         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
14144         HAVE_DECL_STRTOLD.
14145
14146 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14147
14148         * modules/getdate (Depends-on): Remove alloca-opt.
14149
14150 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14151
14152         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
14153
14154 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14155
14156         * lib/argp-parse.c: Include <stddef.h>.
14157         (alignof, alignto): New macros.
14158         (parser_init): Don't assume that void * is aligned sufficiently
14159         for struct option.
14160
14161         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
14162         need to extend the stack.
14163         (YYINITDEPTH): New macro, so that the initial stack isn't overly
14164         large.
14165
14166 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14167
14168         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
14169
14170 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
14171
14172         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
14173         (2004-10-24) change.  Apparently this was a false alarm.
14174
14175         * modules/getdate: Depend on alloca-opt, not alloca.
14176
14177 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
14178
14179         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
14180         Remove now-obsolete comment about AIX.
14181         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
14182         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
14183         (YYMAXDEPTH): New macro.
14184
14185 2004-12-18  Simon Josefsson  <jas@extundo.com>
14186
14187         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
14188
14189 2004-12-18  Bruno Haible  <bruno@clisp.org>
14190
14191         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
14192
14193 2004-12-18  Bruno Haible  <bruno@clisp.org>
14194
14195         * lib/fatal-signal.c (fatal_signals): Make non-const.
14196         (init_fatal_signals): New function.
14197         (uninstall_handlers, install_handlers): Ignore signals that were set to
14198         SIG_IGN.
14199         (at_fatal_signal): Call init_fatal_signals.
14200         (init_fatal_signal_set): Likewise. Ignore signals that were set to
14201         SIG_IGN.
14202         Reported by Paul Eggert.
14203
14204 2004-12-18  Bruno Haible  <bruno@clisp.org>
14205
14206         * doc/alloca.texi: New file.
14207         * doc/alloca-opt.texi: New file.
14208
14209 2004-12-17  Jim Meyering  <jim@meyering.net>
14210
14211         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
14212         Otherwise, install-sh could exit with improper exit status when
14213         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
14214
14215 2004-12-16  Simon Josefsson  <jas@extundo.com>
14216
14217         * tests/test-base64.c: Add license.
14218
14219 2004-12-15  Stepan Kasal  <address@hidden>
14220
14221         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
14222
14223 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
14224
14225         * modules/getcwd (Files): Add m4/d-ino.m4.
14226         Suggested by Mark D. Baushke.
14227
14228 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
14229
14230         * lib/getdate.y (textint): New member "negative".
14231         (time_zone_hhmm): New function.
14232         Expect 14 shift-reduce conflicts, not 13.
14233         (o_colon_minutes): New rule.
14234         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
14235         (yylex): Set the "negative" member of signed numbers.
14236
14237 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
14238
14239         * doc/getdate.texi (Time of day items, Time zone items):
14240         Describe new formats +00:00, UTC+00:00.
14241
14242 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
14243
14244         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
14245         spurious "-l"s.  Problem reported by Stepan Kasal.
14246
14247 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
14248
14249         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
14250         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
14251
14252 2004-12-04  Simon Josefsson  <jas@extundo.com>
14253
14254         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
14255         Vandoorselaere <yoann@prelude-ids.org>.
14256
14257 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
14258
14259         Changes imported from coreutils.
14260         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
14261         exist.
14262         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
14263
14264 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
14265
14266         Changes imported from coreutils.
14267         * lib/hard-locale.c: Assume <locale.h> exists.
14268         Include "strdup.h".
14269         (GLIBC_VERSION): New macro.
14270         (hard_locale): Assume setlocale exists.
14271         Rewrite to avoid #ifdef.
14272         Use strdup rather than malloc + strcpy.
14273         * lib/human.c: Assume <locale.h> exists.
14274         (human_readable): Assume localeconv exists.
14275
14276 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
14277
14278         * modules/hard-locale (Depends-on): Add strdup.
14279
14280 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
14281
14282         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
14283         convert T2, not T.  (Imported from libc.)
14284
14285 2004-11-30  Simon Josefsson  <jas@extundo.com>
14286
14287         * modules/restrict (License): Change to LGPL.
14288
14289 2004-11-30  Simon Josefsson  <jas@extundo.com>
14290
14291         * m4/restrict.m4: Add copyright and copying conditions.
14292
14293 2004-11-30  Simon Josefsson  <jas@extundo.com>
14294
14295         * m4/base64.m4: New file.
14296
14297 2004-11-30  Simon Josefsson  <jas@extundo.com>
14298
14299         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
14300         base64.
14301
14302         * tests/test-base64.c: New file.
14303
14304         * modules/base64: New file.
14305
14306 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
14307
14308         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
14309         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
14310
14311         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
14312
14313 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
14314
14315         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
14316         (__getcwd.c): Don't restore errno; glibc doesn't.
14317         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
14318         first, falling back to our code only if its results look suspicious.
14319         Ensure that the resulting buffer is only as large as necessary.
14320
14321         * lib/readutmp.c: Include readutmp.h first.
14322         Include <errno.h>, since readutmp.h no longer does that.
14323         * lib/readutmp.h: Don't include <errno.h>,
14324         <sys/param.h>, <time.h>; not needed to establish interface.
14325         (errno): Remove decl.
14326         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
14327         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
14328         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
14329
14330 2004-11-28  Simon Josefsson  <jas@extundo.com>
14331
14332         * lib/base64.h, base64.c: New file.
14333
14334 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
14335
14336         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
14337
14338 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
14339
14340         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
14341         (Depends-on): Remove pathmax, same.  Add mempcpy.
14342         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
14343         (Makefile.am): Append getcwd.h to lib_SOURCES.
14344         (Include): Add getcwd.h.
14345         (Maintainer): Change from Jim Meyering to "all, glibc",
14346         since getdate now uses intended-for-glibc code.
14347         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
14348         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
14349
14350 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
14351
14352         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
14353         HP's ANSI C compiler.
14354         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
14355         Declaring int functions causes warnings on some modern systems and
14356         shouldn't be needed to compile on ancient ones.
14357         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
14358         defined.
14359
14360         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
14361         with the following changes.
14362         (__set_errno): Parenthesize properly.
14363         Include <stdbool.h>.
14364         (MIN, MAX, MATCHING_INO): New macros.
14365         (__getcwd): Define with prototype, not K&R form.
14366         Use heuristics to allocate default buffer on stack if possible.
14367         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
14368         behavior, and to avoid the PATH_MAX limit when computing
14369         ../../../../...
14370         Use MATCHING_INO to compare inode number to file.
14371         Check for arithmetic overflow in size calculations.
14372         Fix bug in reallocation of dot array that caused getcwd to fail
14373         on directories nested deeper than 75.
14374         Be more careful about saving errno on error.
14375         Do not use realloc; use only free+malloc, as this is a bit
14376         more flexible and avoids a needless copy operation.
14377         Do not inspect st_dev and st_ino for symbolic links; POSIX
14378         doesn't specify the latter.
14379         Check for closedir errors.
14380         Avoid needless casts.
14381         Use "#ifdef weak_alias" around weak_alias, to be like other
14382         glibc code.
14383         The following changes to getcwd.c have effect only when used in
14384         gnulib; they have no effect inside glibc proper.
14385         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
14386         as alloca isn't used.
14387         (alloca, __alloca): Likewise.
14388         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
14389         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
14390         unconditionally, as gnulib assumes C89 or better.
14391         Do not include <sys/param.h>.
14392         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
14393         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
14394         better.
14395         (NULL) [!defined NULL]: Remove; we assume C89 or better.
14396         Include <dirent.h> in a way that is compatible with modern Autoconf.
14397         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
14398         New macros, if not already defined.
14399         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
14400         Use "_LIBC", not "defined _LIBC", for consistency.
14401         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
14402         a mempcpy module.
14403         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
14404         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
14405         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
14406         credit only to Jim Meyering and adjust the copyright dates.
14407         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
14408         <stdlib.h>, <unistd.h>, "pathmax.h".
14409         Instead, include "xgetcwd.h" (first) and "getcwd.h".
14410         (INITIAL_BUFFER_SIZE): Remove.
14411         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
14412
14413 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
14414
14415         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
14416         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
14417         Use the _ONCE methods, for efficiency.
14418         Check for fcntl.h.  In test program, include <errno.h>
14419         and <fcntl.h> if available.  Remove old K&R cruft from
14420         test program.  Check for common errors in GNU/Linux,
14421         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
14422         don't do AC_LIBOBJ, as that's getcwd.m4's job.
14423         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
14424         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
14425         name accordingly.
14426         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
14427         accommodate new getcwd.c.
14428         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
14429         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
14430         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
14431         that's all we need now.
14432
14433 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14434
14435         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
14436         argp-parse.c depends on getopt internals, that means we should
14437         always use our getopt, to be on the safe side.
14438         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
14439         order not to spoil the result of an eventual previous invocation
14440         of gl_GETOPT_SUBSTITUTE.
14441
14442 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14443
14444         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
14445         redefinition warnings. To avoid them, include the defines
14446         in `#if !defined __need_getopt ... #endif'. The only place
14447         where __getopt_argv_const is used is in definitions
14448         of getopt_long and getopt_long_only below, which are as well
14449         protected by `#ifndef __need_getopt'.
14450         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
14451         __need_getopt after including <stdio.h> and <unistd.h> These
14452         headers might have defined it.
14453
14454 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
14455
14456         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
14457
14458 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
14459
14460         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
14461         (futimens): New function, which uses futimes if available.
14462         (futimens, utimens): Support timespec==NULL, with same semantics
14463         as utime and utimens.
14464         * lib/utimens.h (futimens): New decl.
14465
14466 2004-11-23  Jim Meyering  <jim@meyering.net>
14467
14468         * lib/getopt_.h: Remove trailing blanks.
14469
14470 2004-11-23  Jim Meyering  <jim@meyering.net>
14471
14472         * lib/__fpending.c: Add comment.
14473
14474 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
14475
14476         * modules/canonicalize (Depends-on): Add xreadlink.
14477         Problem reported by James Youngman.
14478
14479 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
14480
14481         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
14482         New macros.
14483         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
14484         optopt): Use them instead of invoking ## directly; otherwise, the
14485         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
14486
14487 2004-11-19  Bruno Haible  <bruno@clisp.org>
14488
14489         * lib/strtok_r.c: Move comments from here...
14490         * lib/strtok_r.h: ... to here.
14491
14492 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
14493
14494         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
14495         implementations that mishandle size_t overflow.
14496
14497 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
14498
14499         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
14500         might fail.  Problem reported by Yoann Vandoorselaere.
14501         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
14502         implementations that mishandle size_t overflow.
14503
14504 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14505
14506         * modules/canon-host (Depends-on): Add strdup.
14507
14508 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14509
14510         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
14511
14512 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14513
14514         * lib/canon-host.c: Include "strdup.h".
14515         (canon_host): Use getaddrinfo if available, so that IPv6 works.
14516         Use strdup instead of malloc/strcpy to duplicate strings.
14517
14518         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
14519         (human_space_before_unit): New constant.
14520         * lib/human.c (human_readable): Support it.
14521
14522         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
14523         (xgetcwd): Set errno correctly when failing.
14524         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
14525         the failure is actually due to a PATH_MAX problem.
14526
14527         Further getopt changes to make it more likely that glibc will
14528         buy the changes back.
14529         * lib/getopt.c (POSIXLY_CORRECT): New constant.
14530         (getopt): Use it, so to preserve glibc semantic
14531         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
14532         when compiling for libc.
14533         * lib/getopt_.h (__getopt_argv_const): Bring it back.
14534         (getopt_long, getopt_long_only): Use it.
14535
14536         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
14537         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
14538         (getopt): Argv is now char * const *, as per standard.
14539         (_getopt_internal_r, _getopt_internal): Argv is now char **,
14540         not char *__getopt_argv_const *.
14541         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
14542         _getopt_long_only_r): Likewise.
14543         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
14544         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
14545         _getopt_long_r, _getopt_long_only_r): Likewise.
14546         * lib/getopt_.h (__getopt_argv_const): Remove.
14547         (getopt): Argv is now char * const *, as per standard.
14548
14549         * lib/getdate.y (tORDINAL): New token.
14550         (day, relunit): Allow it for relative times.
14551         (relative_time_table): Use tORDINAL for ordinals.
14552
14553 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14554
14555         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
14556         Document that "second" isn't allowed as an ordinal number.
14557
14558 2004-11-16  Jim Meyering  <jim@meyering.net>
14559
14560         * modules/closeout (Depends-on): Add fpending.
14561
14562 2004-11-15  Jim Meyering  <jim@meyering.net>
14563
14564         * lib/closeout.c: Include "__fpending.h" once again.
14565         Include <stdbool.h>.
14566         (close_stdout): Don't fail just because stdout was closed initially,
14567         since some programs don't write to stdout in the normal course of
14568         operation (other than --version and --help), and we don't want this
14569         function to make e.g. `touch file >&-' fail.
14570         But do fail if it was closed and someone has tried to write to it.
14571         E.g., `printf foo >&-' must fail.
14572
14573 2004-11-13  Jim Meyering  <jim@meyering.net>
14574
14575         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
14576
14577 2004-11-12  Simon Josefsson  <jas@extundo.com>
14578
14579         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
14580         small doc fix is still pending.
14581
14582 2004-11-11  Simon Josefsson  <jas@extundo.com>
14583
14584         * modules/strtok_r: New file.
14585
14586         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14587         strtok_r.
14588
14589 2004-11-11  Simon Josefsson  <jas@extundo.com>
14590
14591         * m4/strtok_r.m4: New file.
14592
14593         * m4/getopt.m4: Replace opterr.
14594
14595 2004-11-11  Simon Josefsson  <jas@extundo.com>
14596
14597         * lib/strtok_r.h, strtok_r.c: New file.
14598
14599 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
14600
14601         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
14602         of replacing opterr, getopt, etc.  This should handle the
14603         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
14604
14605 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
14606
14607         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
14608         we can stop lying to compilers about the constness of argv when we
14609         are compiled outside glibc.
14610         (getopt, getopt_long, getopt_long_only): Use it.
14611         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
14612         _getopt_internal, getopt): Likewise.
14613         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
14614         _getopt_long_only_r): Likewise.
14615         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
14616         _getopt_long_r, _getopt_long_only_r): Likewise.
14617
14618         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
14619         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
14620         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
14621         the other external symbols.
14622         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
14623         declaration, since the above renaming now works around collisions.
14624
14625 2004-11-11  Jim Meyering  <jim@meyering.net>
14626
14627         * lib/linebreak.c: Remove trailing blanks.
14628         * lib/alloca_.h: Likewise.
14629         * lib/acosl.c: Likewise.
14630         * lib/euidaccess.c: Likewise.
14631         * lib/allocsa.h: Likewise.
14632
14633 2004-11-10  Simon Josefsson  <jas@extundo.com>
14634
14635         * m4/getaddrinfo.m4: New file.
14636
14637 2004-11-10  Simon Josefsson  <jas@extundo.com>
14638
14639         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
14640
14641 2004-11-10  Simon Josefsson  <jas@extundo.com>
14642
14643         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14644         getaddrinfo.
14645
14646         * modules/getaddrinfo: New file.
14647
14648 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
14649
14650         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
14651
14652 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
14653
14654         * lib/mktime.c (SHR): New macro, which is a portable
14655         substitute for >> that should work even on Crays.
14656         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
14657         Problem reported by Mark D. Baushke in
14658         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
14659         * lib/getdate.y (SHR): Likewise.
14660         (tm_diff): Use it.
14661         * lib/strftime.c (SHR): Likewise.
14662         (tm_diff): Use it.
14663         * lib/quotearg.c (struct quoting_options): Use unsigned int for
14664         quote_these_too, so that right shifts are well defined.  All uses
14665         changed.
14666
14667 2004-11-10  Jim Meyering  <jim@meyering.net>
14668
14669         Ensure that no close failure goes unreported.
14670         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
14671         return early when it seems there's nothing to flush.
14672         Don't include __fpending.h.
14673
14674 2004-11-10  Jim Meyering  <jim@meyering.net>
14675
14676         * modules/closeout (Depends-on): Remove fpending.
14677
14678 2004-11-10  Jim Meyering  <jim@meyering.net>
14679
14680         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
14681
14682 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
14683
14684         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
14685         gl_FUNC_STRFTIME.
14686         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
14687         and AC_REQUIRE when possible, to avoid duplicate checks.
14688         Check for <wchar.h>.
14689
14690 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
14691
14692         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
14693
14694 2004-11-09  Bruno Haible  <bruno@clisp.org>
14695
14696         * m4/sockpfaf.m4: New file.
14697
14698 2004-11-05  Bruno Haible  <bruno@clisp.org>
14699
14700         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
14701         Reported by Mark D. Baushke <mdb@cvshome.org>.
14702
14703 2004-11-04  Bruno Haible  <bruno@clisp.org>
14704
14705         2004-09-11  Bruno Haible  <bruno@clisp.org>
14706                 * allocsa.valgrind: New file.
14707         2004-02-06  Bruno Haible  <bruno@clisp.org>
14708                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
14709                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
14710                 Reported by Christopher Seip <chris.seip@hp.com>.
14711
14712 2004-11-04  Bruno Haible  <bruno@clisp.org>
14713
14714         * modules/allocsa (Files): Add lib/allocsa.valgrind.
14715         (Makefile.am): Distribute it.
14716
14717 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
14718
14719         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
14720         with errno == ERANGE if the buffer is too small.
14721         Problem reported by Mark D. Baushke.
14722
14723 2004-11-03  Albert Chin  <china@thewrittenword.com>
14724             Paul Eggert  <eggert@cs.ucla.edu>
14725
14726         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
14727         equivalent, substitute $ac_type for equivalent type rather than
14728         blindly using uint32_t *always* which won't work if uint32_t is not
14729         available.  Define _UINT32_T to work around typedef of uint32_t if
14730         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
14731         2.5.1.
14732
14733 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
14734
14735         * m4/jm-macros.m4: Sync from coreutils.
14736         (gl_MACROS): Check for mbrlen, for pathchk.
14737         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
14738
14739 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
14740
14741         * lib/xreadlink.c (MAXSIZE): New macro.
14742         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
14743         size does not exceed MAXSIZE.  Avoid cast.
14744         As suggested by Mark D. Baushke in
14745         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
14746         if readlink fails with buffer size just under MAXSIZE, try again
14747         with MAXSIZE.
14748
14749 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
14750
14751         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
14752
14753 2004-11-02  Derek R. Price  <derek@ximbiot.com>
14754         and  Paul Eggert  <eggert@cs.ucla.edu>
14755
14756         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
14757         (get_date): Overparenthesize to avoid GCC warning.
14758
14759 2004-11-02  Bruno Haible  <bruno@clisp.org>
14760
14761         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
14762         returns void.
14763
14764 2004-11-02  Bruno Haible  <bruno@clisp.org>
14765
14766         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
14767         function returns void.
14768
14769 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
14770
14771         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
14772         fflush_unlocked, flockfile, funlockfile, funlockfile,
14773         fputs_unlocked, putc_unlocked.
14774
14775 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
14776
14777         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
14778         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
14779         already declared.
14780
14781 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
14782
14783         * modules/getdate (Files): Add doc/getdate.texi.
14784         (Depends-on): Add setenv, xalloc.
14785
14786 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
14787
14788         * lib/getdate.y: Add support for TZ="foo" within a date string.
14789         Fix some bugs near time_t boundaries.  Reject dates with
14790         out-of-range components, e.g., "Sept 31".
14791         Include <stdlib.h>, "setenv.h", "xalloc.h".
14792         (ISDIGIT_LOCALE): Remove; unused.
14793         Note that the TZ and time functions used here are not reentrant.
14794         (mktime_ok, get_tz): New functions.
14795         (TZBUFSIZE): New constant.
14796         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
14797         This requires that we sometimes generate our own TZ="XXX..." setting.
14798
14799 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
14800
14801         * doc/getdate.texi: New file, from coreutils with modifications for
14802         the new TZ parsing.
14803
14804 2004-10-27  Derek R. Price  <derek@ximbiot.com>
14805
14806         * lib/mktime.c (not_equal_tm): Remove redundant check.
14807
14808 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
14809
14810         * modules/regex (lib_SOURCES): Add regex.c.
14811         Reported by James Youngman in
14812         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
14813
14814 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
14815
14816         * lib/getdate.y: Use Bison 1.875 features, and some minor
14817         code cleanups.  This change does not affect semantics.
14818         Don't include <stdlib.h>; no longer needed.
14819         Don't include unlocked-io.h; only the "#if TEST" code uses
14820         stdio, and performance isn't crucial there.
14821         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
14822         Bison 1.875 features as described below.
14823         All uses of "PC." replaced by "pc->".
14824         (YYSTYPE): Add a forward declaration.
14825         (yylex, yyerror): Use full prototypes in forward decls.
14826         Use "%pure-parser" rather than obsolescent "%pure_parser".
14827         Use %parse-param and %lex-param instead of obsolescent
14828         YYPARSE_PARAM and YYLEX_PARAM.
14829         (meridian_table, month_and_day_table, time_units_table,
14830         relative_time_table, time_zone_table, military_table,
14831         lookup_zone, lookup_word, get_date):
14832         Use NULL instead of 0 where appropriate.
14833         (to_hour): Avoid abort (), to avoid a dependency on
14834         stdlib.h.
14835         (yyerror, yylex): Now accepts parser_control * arg.
14836         (main) [TEST]: Use '\0' rather than 0 for char.
14837
14838 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
14839
14840         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
14841
14842 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
14843
14844         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
14845         It's now the caller's responsibility to handle the case where
14846         !HAVE_GETPAGESIZE && !defined getpagesize.
14847
14848         * lib/mktime.c (leapyear): Arg is long int, not int.
14849
14850 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
14851
14852         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
14853
14854 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
14855
14856         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
14857         missing.  Problem reported by James Youngman.
14858
14859 2004-10-16  Simon Josefsson  <jas@extundo.com>
14860
14861         * gnulib-tool: Fix comments.  Fix parse problem.
14862         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
14863
14864 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
14865
14866         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
14867         implementation of getopt_long.  Problem reported by Alexander Taler in:
14868         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
14869
14870 2004-10-15  Bruno Haible  <bruno@clisp.org>
14871
14872         * gnulib-tool: Untabify. Initialize supplied_libname.
14873         (func_usage): More homogenous output.
14874         (func_modules_transitive_closure, func_modules_to_filelist,
14875         func_emit_lib_Makefile_am): New functions.
14876         (func_import): New function, extracted from big case statement. Use
14877         func_get_license, func_modules_transitive_closure,
14878         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
14879         opt_lgpl. Don't use test -a, as it's not portable.
14880         (func_create_testdir): Use func_modules_transitive_closure,
14881         func_modules_to_filelist, func_emit_lib_Makefile_am.
14882
14883 2004-10-15  Bruno Haible  <bruno@clisp.org>
14884
14885         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
14886
14887 2004-10-15  Bruno Haible  <bruno@clisp.org>
14888
14889         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
14890         the portions belonging to each module.
14891         Suggested by Derek Robert Price <derek@ximbiot.com>.
14892
14893 2004-10-12  Simon Josefsson  <jas@extundo.com>
14894
14895         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
14896         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
14897         to real functions.
14898
14899 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14900
14901         * modules/vsnprintf: New file.
14902
14903 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14904
14905         * m4/vsnprintf.m4: New file.
14906
14907 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14908
14909         * lib/vsnprintf.h: New file.
14910         * lib/vsnprintf.c: New file.
14911
14912 2004-10-11  Bruno Haible  <bruno@clisp.org>
14913
14914         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
14915         vsnprintf.
14916
14917 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
14918
14919         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
14920
14921 2004-10-07  Bruno Haible  <bruno@clisp.org>
14922
14923         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
14924         fits into the provided buffer.
14925
14926 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
14927
14928         * lib/diacrit.c, diacrit.h: Add GPL notice.
14929
14930         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
14931         notice.
14932         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
14933         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
14934         This avoids a potential constant-folding bug.
14935
14936 2004-10-05  Bruno Haible  <bruno@clisp.org>
14937
14938         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
14939         for the declaration of strsep.
14940
14941 2004-10-05  Bruno Haible  <bruno@clisp.org>
14942
14943         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
14944
14945 2004-10-04  Simon Josefsson  <jas@extundo.com>
14946
14947         * modules/memmem: New file.
14948         * tests/test-memmem.c: New file.
14949         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
14950
14951 2004-10-04  Simon Josefsson  <jas@extundo.com>
14952
14953         * m4/memmem.m4: New file.
14954
14955 2004-10-04  Simon Josefsson  <jas@extundo.com>
14956
14957         * lib/memmem.h: New file.
14958         * lib/memmem.c: New file, taken from glibc.
14959
14960 2004-10-04  Simon Josefsson  <jas@extundo.com>
14961
14962         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
14963         '#ifdef USE_UNLOCKED_IO'.
14964
14965 2004-10-04  Simon Josefsson  <jas@extundo.com>
14966
14967         * config/srclist.txt: Add memmem from glibc.
14968
14969 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14970
14971         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
14972
14973         * modules/argmatch, modules/argp, modules/closeout, modules/error,
14974         modules/exclude, modules/getdate, modules/getline,
14975         modules/getndelim2, modules/getpass, modules/getpass-gnu,
14976         modules/getusershell, modules/linebuffer, modules/md5,
14977         modules/mountlist, modules/posixtm, modules/readtokens,
14978         modules/readutmp, modules/regex, modules/sha1,
14979         modules/version-etc, modules/yesno:
14980         Remove dependency on unlocked-io.
14981
14982 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14983
14984         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
14985
14986         * m4/unlocked-io.m4: Add copyright notice.
14987         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
14988
14989 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14990
14991         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
14992         * lib/xmalloc.c (xmemdup): Likewise.
14993         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
14994         XFREE): Remove these long-obsolescent macros.
14995         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
14996         * lib/xstrdup.c: Remove.
14997
14998         * lib/regex.c (re_comp): Cast gettext return value to char *,
14999         Problem reported by Martin Neitzel via Mark D. Baushke.
15000
15001 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15002
15003         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
15004         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
15005         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
15006         regex.c, sha1.c, version-etc.c, yesno.c:
15007         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
15008         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
15009         the includer's responsibility.
15010
15011         Sync from coreutils.
15012
15013         * lib/modechange.c (mode_compile): Don't decrement a pointer that
15014         points to the start of a string, as the C Standard says the
15015         resulting behavior is undefined.
15016
15017         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
15018         simple -> simple_backups, numbered_existing ->
15019         numbered_existing_backups, numbered -> numbered_backups
15020         to avoid shadowing problems.  All uses changed.
15021         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
15022         * lib/backupfile.c (check_extension, numbered_backup):
15023         Rename locals to avoid shadowing 'basename'.
15024         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
15025         once.
15026
15027         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
15028         * lib/.cvsignore: Add getopt.h.
15029
15030 2004-10-04  Bruno Haible  <bruno@clisp.org>
15031
15032         * modules/README: New file.
15033         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
15034         not a module.
15035
15036 2004-10-02  Jim Meyering  <jim@meyering.net>
15037
15038         * lib/dirfd.h, getpagesize.h: Add copyright notice.
15039
15040 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15041
15042         * modules/strsep: New file.
15043
15044 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15045
15046         * m4/strsep.m4: New file.
15047
15048 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15049
15050         * lib/strsep.h: New file.
15051         * lib/strsep.c: New file.
15052
15053 2004-10-01  Simon Josefsson  <jas@extundo.com>
15054
15055         * lib/snprintf.c (snprintf): Handle size==0.
15056
15057 2004-10-01  Simon Josefsson  <jas@extundo.com>
15058             Bruno Haible  <bruno@clisp.org>
15059
15060         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
15061         (snprintf): Declare 'args'.
15062
15063 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
15064
15065         * lib/snprintf.c: Remove comments as to why each header is needed.
15066
15067 2004-10-01  Bruno Haible  <bruno@clisp.org>
15068
15069         * MODULES.html.sh: Add strsep.
15070
15071 2004-09-30  Simon Josefsson  <jas@extundo.com>
15072
15073         * modules/snprintf: New file.
15074
15075 2004-09-30  Simon Josefsson  <jas@extundo.com>
15076
15077         * m4/snprintf.m4: New file.
15078
15079 2004-09-30  Simon Josefsson  <jas@extundo.com>
15080
15081         * lib/snprintf.h, lib/snprintf.c: New files.
15082
15083 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15084
15085         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
15086         (hol_entry_help): Never translate an empty string.
15087         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
15088         * lib/argp.h (OPTION_NO_TRANS): New option.
15089
15090 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15091
15092         * modules/argp (Maintainer): Replace Simon Josefsson
15093         by Sergey Poznyakoff.
15094
15095 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15096
15097         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
15098         changes merged back into glibc.
15099
15100 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15101
15102         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
15103
15104 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
15105
15106         * lib/xvasprintf.c: Include xalloc.h.
15107         (xvasprintf): Use xalloc_die, not xmalloc_die.
15108
15109 2004-09-29  Bruno Haible  <bruno@clisp.org>
15110
15111         * modules/alloca-opt: New file, derived from modules/alloca.
15112         * modules/allocsa: Depend on alloca-opt instead of alloca.
15113         * modules/setenv: Likewise.
15114         * modules/vasnprintf: Likewise.
15115         * MODULES.html.sh: Add alloca-opt.
15116
15117 2004-09-28  Simon Josefsson  <jas@extundo.com>
15118
15119         * gnulib-tool: New parameter --lgpl, to asseert that modules are
15120         LGPL, and to replace license template from GPL to LGPL.
15121
15122 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
15123
15124         * modules/dummy: Change license to LGPL.
15125
15126 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
15127
15128         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
15129
15130 2004-09-24  Simon Josefsson  <jas@extundo.com>
15131
15132         * modules/minmax (License): Change from GPL to LGPL.
15133
15134 2004-09-23  Simon Josefsson  <jas@extundo.com>
15135
15136         * gnulib-tool (--import): Typo.
15137
15138 2004-09-23  Simon Josefsson  <jas@extundo.com>
15139
15140         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
15141
15142 2004-09-22  Bruno Haible  <bruno@clisp.org>
15143
15144         * modules/*: Add 'License' field.
15145         * gnulib-tool: Accept --extract-license option.
15146         (func_get_license): New function.
15147
15148 2004-09-21  Bruno Haible  <bruno@clisp.org>
15149
15150         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
15151         Reported by Simon Josefsson.
15152
15153 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15154
15155         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
15156         gl_AC_TYPE_LONG_LONG.
15157
15158 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15159
15160         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
15161
15162 2004-09-18  Simon Josefsson  <jas@extundo.com>
15163         and  Paul Eggert  <eggert@cs.ucla.edu>
15164
15165         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
15166         calls with autoreconf.  Define GL_LIB.
15167
15168 2004-09-14  Karl Berry  <karl@gnu.org>
15169
15170         * config/srclist.txt: unsync setenv.c, sigh.
15171
15172 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15173
15174         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
15175         Problem reported by Bruno Haible in:
15176         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
15177
15178 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15179
15180         * config/srclist.txt: Comment out argp-pvh.c.
15181
15182 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
15183
15184         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
15185         in case some system header has #define'd it.  Problem reported by
15186         Soeren D. Schulze in
15187         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
15188
15189 2004-09-09  Karl Berry  <karl@gnu.org>
15190
15191         * regex.[ch]: delete from the root.  These were supposed to be
15192                 synced with emacs cvs, but this has not happened for about
15193                 a year, and anyway nothing else uses emacs regex.[ch].
15194                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
15195                 lib/regex[.ch] is untouched.
15196
15197 2004-09-09  Bruno Haible  <bruno@clisp.org>
15198
15199         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
15200
15201 2004-09-09  Bruno Haible  <bruno@clisp.org>
15202
15203         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
15204         modifications.
15205         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
15206
15207 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
15208
15209         * modules/xvasprintf: New file.
15210         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
15211
15212 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
15213
15214         * lib/xvasprintf.h: New file.
15215         * lib/xvasprintf.c: New file.
15216         * lib/xasprintf.c: New file.
15217
15218 2004-09-08  Bruno Haible  <bruno@clisp.org>
15219
15220         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
15221
15222 2004-09-08  Bruno Haible  <bruno@clisp.org>
15223
15224         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
15225         length is > INT_MAX.
15226         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
15227         more.
15228
15229 2004-09-08  Bruno Haible  <bruno@clisp.org>
15230
15231         * lib/stdint_.h: New file, taken from GNU clisp.
15232
15233 2004-09-08  Bruno Haible  <bruno@clisp.org>
15234             Oskar Liljeblad  <oskar@osk.mine.nu>
15235
15236         * modules/stdint: New file.
15237         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
15238
15239 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15240
15241         Import from coreutils.
15242         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
15243         strings on unbounded length.  alloca's performance benefits aren't
15244         that important here.
15245         (V_STRDUP): Remove.
15246         (parse_with_separator): New function, with most of the internals
15247         of the old parse_user_spec.  Allow user to omit both user and group,
15248         for compatibility with FreeBSD.
15249         Clone only the user name, not the entire spec.
15250         Do not set *uid, *gid unless entirely successful.
15251         Avoid memory leak in some failing cases.
15252         Fix regression for USER.GROUP reported by Dmitry V. Levin in
15253         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
15254         (parse_user_spec): Rewrite to use parse_with_separator.
15255
15256 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15257
15258         * modules/userspec: Don't depend on alloca.
15259
15260 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15261
15262         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
15263
15264 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
15265
15266         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
15267         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
15268         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
15269
15270 2004-08-16  Simon Josefsson  <jas@extundo.com>
15271
15272         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
15273         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
15274         Add --dry-run for --import.
15275         Let user provided command line parameters override configure.ac
15276         settings.
15277
15278 2004-08-12  Simon Josefsson  <jas@extundo.com>
15279
15280         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
15281         as discussed with Paul Eggert in threads rooted at
15282         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
15283         and
15284         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
15285         Before, the test was empty, and relied on ELIDE_CODE in source
15286         code.)
15287         (gl_PREREQ_GETOPT): New macro.
15288         (gl_GETOPT): Use them.
15289
15290 2004-08-12  Simon Josefsson  <jas@extundo.com>
15291
15292         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
15293         * lib/getopt_.h: Renamed from getopt.h.
15294
15295 2004-08-12  Simon Josefsson  <jas@extundo.com>
15296
15297         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
15298         Change default library name from libfoo to libgnu.
15299         Now, if you have a configure.ac that says:
15300                 gl_SOURCE_BASE(gl)
15301                 gl_M4_BASE(gl/m4)
15302                 gl_MODULES(error getopt etcetera)
15303                 gl_INIT
15304         you can import all you need by running:
15305                 ../gnulib/gnulib-tool --import
15306
15307         * modules/getopt (Files): Rename getopt.h to getopt_.h.
15308         (Makefile.am): Rewrite, use logic from argz.
15309         (Include): Use <getopt.h> instead of "getopt.h".
15310
15311 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15312
15313         * modules/argp (Files): Add m4/unlocked-io.m4.
15314         (Depends-on): Add extensions.
15315
15316 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15317
15318         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
15319         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
15320         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
15321         Check for program_invocation_name, program_invocation_short_name,
15322         flockfile, funlockfile, features.h, _getopt_long_only_r.
15323
15324 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15325
15326         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
15327         its complicated substitute.
15328         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
15329         and program_invocation_name.
15330         (__argp_basename) [!_LIBC]: Remove; the only use was
15331         replaced by its body.
15332         (__argp_short_program_name): Change condition from
15333         !defined __argp_short_program_name to
15334         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
15335         to match argp-namefrob.h.
15336         (__argp_failure): Don't assume strerror_r returns char *.
15337         * lib/argp-parse.c (N_): Define unconditionally.
15338         (argp_default_options): Fill out initializers with 0 to avoid
15339         gcc warnings.
15340
15341 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15342
15343         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
15344         getopt1.c.
15345
15346 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15347
15348         Merge from coreutils.
15349
15350         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
15351
15352         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
15353         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
15354
15355 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15356
15357         Merge from coreutils.
15358
15359         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
15360         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
15361         for Reliant Unix 5.43.
15362
15363         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
15364         (union fooround): Use uintmax_t, not long int.
15365         The rest is a merge from libc:
15366         [defined _LIBC]: Include <shlib-compat.h>.
15367         (_obstack) [defined _LIBC]: Remove after 2.3.4.
15368
15369         * lib/settime.c (settime): Recode to avoid warning with
15370         Sun Forte C 6U2.
15371
15372         * lib/strverscmp.c: Convert to UTF-8.
15373
15374 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15375
15376         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
15377         m4/uintmax_t.m4.
15378
15379 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15380
15381         * modules/xalloc-die: New file.
15382         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
15383
15384         * modules/md5 (Files): Add m4/uint32_t.m4.
15385         * modules/sha1: Renamed from modules/sha.
15386         (Files):
15387         Rename lib/sha.h to lib/sha1.h.
15388         Rename lib/sha.c to lib/sha1.c.
15389         Rename m4/sha.m4 to m4/sha1.m4.
15390         (lib_SOURCES): Likewise.
15391         (configure.ac): Rename gl_SHA to gl_SHA1.
15392         (Include): sha.h -> sha1.h.
15393
15394 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15395
15396         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
15397         * m4/sha1.m4: Renamed from sha.m4.
15398         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
15399
15400 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15401
15402         * lib/obstack.h (obstack_empty_p):
15403         Don't assume that chunk->contents is suitably aligned.
15404         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
15405         Likewise. Problem reported by Benno in
15406         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
15407
15408         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
15409         readable.  This could be improved further but it'd take some work.
15410
15411 2004-08-08  Simon Josefsson  <jas@extundo.com>
15412
15413         * modules/xgethostname (Depends-on): Remove exit and error (not
15414         used).
15415
15416         * modules/getpass-gnu: Add getpass.h.
15417         (Depends-on): Add stdbool.
15418         * modules/getpass: Add getpass.h.
15419
15420 2004-08-08  Simon Josefsson  <jas@extundo.com>
15421
15422         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
15423         Check getpass declaration.
15424
15425 2004-08-08  Simon Josefsson  <jas@extundo.com>
15426
15427         * lib/xgethostname.c: Don't include error.h (not used).
15428
15429         * lib/getpass.h: Add.
15430         * lib/getpass.c: Include getpass.h first.
15431
15432 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
15433
15434         * lib/xalloc-die.c: New file.
15435         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
15436         All uses removed.
15437         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
15438         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
15439         xalloc-die.c.
15440         (_, N_, xalloc_die): Move to xalloc-die.c.
15441         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
15442         so that we needn't mess with xalloc_msg_memory_exhausted.
15443
15444         * lib/sha1.h: Renamed from sha.h.
15445         (SHA1_H): Renamed from _SHA_H.
15446         (sha1_ctx): Renamed from sha_ctx.
15447         (sha1_init_ctx): Renamed from sha_init_ctx.
15448         (sha1_process_block): Renamed from sha_process_block.
15449         (sha1_process_bytes): Renamed from sha_process_bytes.
15450         (sha1_finish_ctx): Renamed from sha_finish_ctx.
15451         (sha1_read_ctx): Renamed from sha_read_ctx.
15452         (sha1_stream): Renamed from sha_stream.
15453         (sha1_buffer): Renamed from sha_buffer.
15454         * lib/sha1.c: Likewise; renamed from sha.c.
15455         Do not include <sys/types.h>.
15456         Include <stddef.h> rather than <stdlib.h>.
15457
15458 2004-08-08  Bruno Haible  <bruno@clisp.org>
15459
15460         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
15461         FILESYSTEM_PREFIX_LEN.
15462         * lib/progreloc.c: Likewise.
15463         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
15464
15465 2004-08-06  Simon Josefsson  <jas@extundo.com>
15466
15467         * modules/progname (Depends-on): Don't depend on stdbool.
15468
15469 2004-08-06  Simon Josefsson  <jas@extundo.com>
15470
15471         * modules/getsubopt: New file.
15472         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15473         getsubopt.
15474
15475 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
15476
15477         More merge from coreutils.
15478
15479         * m4/utimens.m4, m4/utimecmp.m4: New files.
15480         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
15481         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
15482         prereq.m4, sha.m4: Import changes from coreutils.
15483
15484 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
15485
15486         More merge from coreutils.
15487         * modules/raise, modules/readtokens0, modules/utimens:
15488         * modules/utimecmp, module/xnanosleep: New files.
15489         * modules/strftime: Add lib/strftime.h.
15490         Change include from <time.h> to "strftime.h".
15491         * modules/yesno: Add lib/yesno.h.
15492         * modules/backupfile: Remove lib/addext.c.
15493         * modules/euidaccess: Add stat-macros.h.
15494         * modules/canonicalize, modules/euidaccess,
15495         modules/filemode, modules/lchown, modules/makepath,
15496         modules/rmdir, modules/stat: Likewise.
15497
15498 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
15499
15500         Merge from tar.
15501         * lib/argp-help.c (make_hol, hol_append): Don't assume that
15502         SIZE_MAX is a valid preprocessor constant.
15503         (__argp_basename): Change from "#ifndef _LIBC"
15504         to "#ifndef __argp_short_program_name", so that
15505         we don't compile these functions for tar.
15506
15507         More merges from coreutils.
15508         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
15509         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
15510         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
15511         * lib/addext.c: Remove; no longer needed.
15512         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
15513         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
15514         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
15515         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
15516         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
15517         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
15518         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
15519         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
15520         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
15521         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
15522         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
15523         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
15524         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
15525         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
15526         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
15527         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
15528         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
15529         Import changes from coreutils.
15530
15531 2004-08-05  Simon Josefsson  <jas@extundo.com>
15532
15533         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
15534
15535 2004-08-05  Simon Josefsson  <jas@extundo.com>
15536
15537         * m4/getsubopt.m4: New file.
15538
15539 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15540
15541         Merge from coreutils.
15542
15543         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
15544         * m4/getcwd-path-max.m4: New files.
15545
15546         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
15547         FILESYSTEM_PREFIX_LEN ->
15548         FILE_SYSTEM_PREFIX_LEN.
15549         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
15550         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
15551         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
15552         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
15553
15554         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
15555         prerequisite modules now handle the DOS stuff.
15556         Don't check for unistd.h.
15557
15558 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15559
15560         Merge from coreutils.
15561
15562         * lib/.gdb-history: Remove; this doesn't belong here.
15563
15564         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
15565         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
15566         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
15567         * lib/getcwd.c: New files.
15568
15569         * lib/dirname.h: Include <stdbool.h>.
15570         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
15571         for consistency with POSIX terminology.  All uses changed.
15572         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
15573         (strip_trailing_slashes): Use bool for booleans.
15574         * lib/stripslash.c (strip_trailing_slashes): Likewise.
15575
15576         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
15577         sometimes returns a positive errno value even when it succeeds.
15578         (print_errno_message) [!LIBC]: Fall back on strerror if
15579         __strerror_r fails.
15580
15581         * lib/path-concat.c (mempcpy): Don't define if a system header defines
15582         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
15583         (longest_relative_suffix): New function.
15584         (path_concat): Use it.  Assume first argument is not NULL.
15585         Port to DOS.  Omit redundant separators.
15586         Report an error instead of returning NULL.
15587         Use mempcpy instead of memcpy.
15588         (xpath_concat): Remove: not declared or used.
15589
15590         * lib/same.h: Include <stdbool.h>
15591         (same_name): Return bool, not int.
15592         * lib/same.c (same_name): Likewise.
15593         (errno): Don't declare; we assume C89 or better now.
15594
15595         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
15596         if not already defined.
15597
15598         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
15599         * lib/dup-safer.c (errno): Likewise.
15600
15601 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15602
15603         Merge from coreutils.
15604         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
15605         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
15606         * modules/path-concat: Don't depend on strdup.
15607
15608 2004-08-03  Simon Josefsson  <jas@extundo.com>
15609
15610         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
15611         * lib/progname.h: Don't include stdbool.h.
15612
15613 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
15614
15615         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
15616         * MODULES.html.sh (func_all_modules): Remove fatal.
15617
15618 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
15619
15620         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
15621
15622 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
15623
15624         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
15625         working.
15626
15627 2004-08-02  Simon Josefsson  <jas@extundo.com>
15628
15629         * lib/getsubopt.h: New file, with comments from Bruno Haible.
15630         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
15631         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
15632
15633 2004-08-01  Simon Josefsson  <jas@extundo.com>
15634
15635         * lib/xgetdomainname.c: Include stdlib.h, for free().
15636
15637 2004-07-19  Bruno Haible  <bruno@clisp.org>
15638
15639         * MODULES.html.sh (func_all_modules): Add dummy.
15640
15641 2004-07-16  Simon Josefsson  <jas@extundo.com>
15642
15643         * modules/dummy: New file.
15644
15645 2004-07-16  Simon Josefsson  <jas@extundo.com>
15646
15647         * lib/dummy.c: New file.
15648
15649 2004-07-16  Bruno Haible  <bruno@clisp.org>
15650
15651         * lib/backupfile.h: Add extern "C" for C++.
15652         * lib/closeout.h: Likewise.
15653         * lib/copy-file.h: Likewise.
15654         * lib/findprog.h: Likewise.
15655         * lib/full-write.h: Likewise.
15656         * lib/pathname.h: Likewise.
15657         * lib/progname.h: Likewise.
15658         * lib/stpcpy.h: Likewise.
15659         * lib/stpncpy.h: Likewise.
15660         * lib/strcase.h: Likewise.
15661         * lib/strstr.h: Likewise.
15662         * lib/xalloc.h: Likewise.
15663
15664         * lib/mbswidth.h: Add extern "C" for C++.
15665         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
15666
15667 2004-07-13  Robert Millan  <robertmh@gnu.org>
15668
15669         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
15670
15671 2004-07-09  Simon Josefsson  <jas@extundo.com>
15672
15673         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
15674         failed without this.)
15675
15676 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15677
15678         * modules/chown (Files): Add lib/fchown-stub.c, since
15679         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
15680
15681 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15682
15683         * lib/fchown-stub.c: New file.
15684
15685 2004-06-24  Jim Meyering  <jim@meyering.net>
15686
15687         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
15688
15689 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15690
15691         * modules/argz: Omit "#include".
15692
15693         * MODULES.html.sh (func_all_modules): Add calloc, to match
15694         2004-06-01 addition of calloc module.
15695
15696 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15697
15698         * m4/argz.m4: New file, which is autoupdated from libtool.
15699
15700 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15701
15702         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
15703         libtool.
15704
15705 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15706
15707         * config/srclist-update: Don't insist on "USA." before the
15708         close-comment, as libtool omits the period and puts the */ on a
15709         separate line.
15710         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
15711         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
15712
15713 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
15714
15715         * modules/argz: New file.
15716         * MODULES.html.sh (func_all_modules): Add argz.
15717
15718 2004-06-12  Jim Meyering  <jim@meyering.net>
15719         and  Paul Eggert  <eggert@cs.ucla.edu>
15720
15721         * modules/hash (Files): Add lib/xalloc.h.
15722         * modules/pipe (Depends-on): Add wait-process.
15723         * modules/stat (Depends-on): Add xalloc.
15724         * modules/userspec (Files): Add lib/userspec.h.
15725         * modules/xstrto
15726
15727         Upgrade from gettext-0.13.
15728         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
15729         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
15730         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
15731
15732 2004-06-10  Jim Meyering  <jim@meyering.net>
15733
15734         * lib/calloc.c: New file.
15735
15736 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
15737
15738         * lib/getdate.y (yylex): Allow space between sign and number.
15739         Problem reported by Dan Jacobson.
15740
15741 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
15742
15743         Merge from coreutils CVS.
15744
15745         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
15746         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
15747         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
15748         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
15749         xstrtol.m4: Fix copyright date and/or serial number.
15750
15751         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
15752         See if we need an fchown replacement.
15753         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
15754         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
15755         and use the replacement function if we detect either defect.
15756
15757         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
15758         gl_UTIMECMP.
15759
15760 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
15761         and  Jim Meyering  <jim@meyering.net>
15762
15763         Merge from coreutils CVS.
15764
15765         * lib/stat-macros.h: New file, with contents from file-type.h
15766         and coreutils' system.h.
15767         * lib/file-type.c: Include "stat-macros.h".
15768         * lib/file-type.h (file_type): Move all macro definitions to new file,
15769         stat-macros.h.
15770
15771         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
15772         Wrap old code with this conditional.
15773         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
15774         function that does not dereference symlinks.
15775         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
15776
15777         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
15778         dependency problems.
15779         (xreadlink): Accept new arg SIZE, for efficiency.
15780         All decls and uses changed.
15781         * lib/xreadlink.h: Include <stddef.h>, for size_t.
15782
15783         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
15784         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
15785
15786         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
15787         sysexits.h.
15788
15789 2004-06-01  Jim Meyering  <jim@meyering.net>
15790
15791         * m4/calloc.m4: New file.
15792
15793 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
15794
15795         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
15796         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
15797         Also, fix a typo in a diagnostic.
15798
15799 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
15800
15801         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
15802         or AC_FUNC_REALLOC.
15803
15804 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
15805
15806         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
15807         macros to be defined.
15808         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
15809         the allocator returns NULL because the requested size is zero.
15810
15811 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
15812
15813         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
15814         var.  Add comment explaining why libc still defines it.  This
15815         merges the following patch from glibc:
15816         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
15817
15818 2004-05-20  Andreas Schwab  <schwab@suse.de>
15819
15820         * m4/free.m4: Replace free if it not known to work, not the other
15821         way round.
15822
15823 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
15824
15825         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
15826         present in glibc since revision 1.1 of this file.
15827         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
15828         obstack_alignment_mask, obstack_alloc, obstack_base,
15829         obstack_blank, obstack_blank_fast, obstack_chunk_size,
15830         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
15831         obstack_grow0, obstack_init, obstack_int_grow,
15832         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
15833         obstack_next_free, obstack_object_size, obstack_ptr_grow,
15834         obstack_ptr_grow_fast, obstack_room): Remove declarations of
15835         nonexistent functions.
15836
15837 2004-05-18  Karl Berry  <karl@gnu.org>
15838
15839         * config/srclist.txt: break link for vasnprintf.c.
15840
15841 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
15842
15843         Port obstack to the AS/400, where pointers are 16 bytes wide and
15844         you cannot cast an integer to a valid pointer.  This patch is
15845         currently waiting to be integrated into glibc; see
15846         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
15847
15848         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
15849         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
15850         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
15851         (struct obstack): temp member is now a union of a pointer and
15852         an integer, instead of an integer.  All integer uses changed.
15853         This does not affect the physical layout of struct obstack,
15854         except on hosts (like the AS/400) where the size or alignment of
15855         void * is greater than that of ptrdiff_t.
15856         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
15857         __STDC__)]: Store temporary in pointer member of union, not
15858         integer member.
15859         * lib/obstack.c: Include <stddef.h>, for offsetof.
15860         (struct fooalign): Remove; it doesn't need a name.
15861         (union fooround): Change double to long double, and add void *.
15862         (DEFAULT_ALIGNMENT): Use offsetof to compute.
15863         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
15864         not a macro.  Hence the values are always int; so remove all
15865         casts-to-int in uses.
15866
15867 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
15868
15869         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
15870         we can get this patch merged into glibc.
15871
15872 2004-05-17  Derek R. Price  <derek@ximbiot.com>
15873             Paul Eggert  <eggert@cs.ucla.edu>
15874
15875         * m4/argp: Depend on alloca.
15876
15877 2004-05-17  Derek R. Price  <derek@ximbiot.com>
15878             Paul Eggert  <eggert@cs.ucla.edu>
15879
15880         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
15881         freecoding.
15882
15883 2004-05-17  Bruno Haible  <bruno@clisp.org>
15884
15885         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
15886         precision that consists of a '.' followed by an empty digit string.
15887         Patch by Tor Lillqvist <tml@iki.fi>.
15888
15889 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15890
15891         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
15892         for backward compatibility with older code.  We need our own
15893         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
15894         it under some other name, and our alloca.h will define it.
15895
15896 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15897             Derek Price  <derek@ximbiot.com>
15898
15899         * lib/alloca.c: Include <alloca.h>, to get our interface.
15900         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
15901         include <alloca.h> first.  Use C89 prototype for alloca; this
15902         requires including <stddef.h> for size_t.  Use extern "C" if C++.
15903         Use #elif for simplicity, since we can assume C89 now.
15904         Don't try to source the system alloca.h since it will not be found
15905         and to prevent recursively including its replacement.
15906         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
15907         * lib/regex.c: Likewise.
15908
15909 2004-05-16  Derek Price  <derek@ximbiot.com>
15910             Paul Eggert  <eggert@cs.ucla.edu>
15911
15912         getline cleanup.  This changes the getndelim2 API: both order of
15913         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
15914         no delimiter).
15915
15916         * lib/getline.c: Don't include stddef.h or stdio.h, since our
15917         interface does that.
15918         (getline): Always use getdelim, so that we don't have two
15919         copies of this code.
15920         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
15921         if available.
15922         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
15923         (GETNDELIM2_MAXIMUM): New macro.
15924         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
15925         instead of the old practice of delim2==0.  All callers changed.
15926         Return -1 on overflow, instead of returning junk.
15927         Do not set *linesize unless allocation succeeds.
15928         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
15929         that we include sys/types.h.
15930         * lib/getnline.h: Likewise.
15931         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
15932         (getndelim2): Reorder arguments.
15933         * lib/getnline.c (getnline, getndelim):
15934         Don't discard the NMAX argument.
15935         (getnline): Invoke getndelim, to avoid code duplication.
15936         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
15937         of (size_t) -1 by callers of the getnline family.
15938
15939 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15940
15941         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
15942         Check for gettimeofday.
15943         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
15944         Check for settimeofday, stime.
15945
15946 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15947
15948         * lib/nanosleep.c (suspended): Change its type from int to
15949         sig_atomic_t volatile.
15950         (first_call): Make it private to rpl_nanosleep, and have it
15951         be zero initially as that's a bit faster.
15952         (my_usleep): Round up fractional times instead of truncating them,
15953         as this is the usual meaning for 'sleep'.
15954
15955         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
15956         doesn't work.
15957         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
15958         (ENOSYS): Define if not defined.
15959         (settime): Fall back on stime if it exists and settimeofday fails.
15960         But don't bother with fallbacks if a method fails with errno == EPERM.
15961
15962 2004-05-11  Jim Meyering  <jim@meyering.net>
15963
15964         Prior to this change, the save_cwd caller required read access to the
15965         current directory on most systems (ones with the fchdir function).
15966
15967         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
15968         fails, try write-only, and finally, resort to using xgetcwd.
15969
15970 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
15971
15972         * lib/obstack.c, obstack.h: Import changes from libc.
15973
15974 2004-04-28  Bruno Haible  <bruno@clisp.org>
15975
15976         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
15977         also implicitly appends .exe to executables.
15978         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
15979         accepts Windows pathnames.
15980         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
15981         Treat Cygwin like Windows, since it now accepts Windows pathnames.
15982         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
15983         Treat Cygwin like Windows, since it now accepts Windows pathnames.
15984         Reported by Derek Robert Price <derek@ximbiot.com>.
15985
15986 2004-04-21  Karl Berry  <karl@gnu.org>
15987
15988         * config/srclist.txt (localcharset.c): break sync.
15989
15990 2004-04-20  Paul Eggert  <eggert@twinsun.com>
15991
15992         * m4/host-os.m4: Add a copyright notice.
15993
15994 2004-04-20  Jim Meyering  <jim@meyering.net>
15995
15996         Change UTILS_ to gl_ in AC_DEFINE'd names.
15997         Change utils_- and jm_-prefixed variables, too.
15998         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
15999         UTILS_FUNC_MKDIR_TRAILING_SLASH.
16000         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
16001
16002         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
16003         Don't emit trailing blanks.
16004         Also rename jm_-prefixed variables to have gl_ prefix.
16005
16006         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
16007         Also rename jm_-prefixed variables to have gl_ prefix.
16008
16009         * m4/jm-macros.m4: Reflect the renamings.
16010         * m4/prereq.m4: Likewise.
16011
16012 2004-04-20  Jim Meyering  <jim@meyering.net>
16013
16014         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
16015         memory.
16016
16017 2004-04-20  Jim Meyering  <jim@meyering.net>
16018             Bruno Haible  <bruno@clisp.org>
16019
16020         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
16021         memory when realloc fails.
16022
16023 2004-04-19  Jim Meyering  <jim@meyering.net>
16024
16025         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
16026         now that readutmp.c may call `free (0)'.
16027
16028 2004-04-19  Bruno Haible  <bruno@clisp.org>
16029
16030         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
16031         * m4/inttypes_h.m4: Likewise.
16032         * m4/stdint_h.m4: Likewise.
16033         * m4/intmax_t.m4: Likewise.
16034         * m4/uintmax_t.m4: Likewise.
16035
16036 2004-04-18  Jim Meyering  <jim@meyering.net>
16037
16038         * m4/prereq.m4: Don't forbid jm_ prefix.
16039
16040         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
16041         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
16042         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
16043         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
16044         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
16045         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
16046         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
16047         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
16048         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
16049         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
16050         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
16051         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
16052         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
16053         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
16054         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
16055         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
16056         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
16057         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
16058         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
16059
16060 2004-04-18  Jim Meyering  <jim@meyering.net>
16061
16062         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
16063         failure, don't leak memory and do call END_UTMP_ENT.
16064
16065 2004-04-16  Jim Meyering  <jim@meyering.net>
16066
16067         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
16068         coreutils' stat program.
16069         (gl_PREREQ): Don't require jm_PREREQ_STAT.
16070
16071 2004-04-11  Paul Eggert  <eggert@twinsun.com>
16072
16073         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
16074         C89.
16075         (CHAR_BIT): Remove, since we assume C89.
16076         Include <stdint.h> if available, as per current Autoconf CVS advice.
16077
16078 2004-03-31  Jim Meyering  <jim@meyering.net>
16079
16080         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
16081         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
16082         * m4/xalloc.m4: Likewise.
16083
16084 2004-03-30  Paul Eggert  <eggert@twinsun.com>
16085
16086         Merge from coreutils.
16087
16088         * m4/inttostr.m4: New file.
16089         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
16090         Require AM_STDBOOL_H and gl_TIMESPEC instead.
16091         Require gl_CLOCK_TIME.
16092         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
16093
16094 2004-03-30  Paul Eggert  <eggert@twinsun.com>
16095
16096         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
16097         not bool, to be more consistent with Unix conventions.
16098         Suggested by Bruno Haible.
16099
16100         Merge from coreutils.
16101
16102         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
16103         * lib/umaxtostr.c: New files.
16104
16105         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
16106         the usual <time.h> dance.
16107         (get_date): Change signature to support fractional time stamps.
16108         All callers changed.
16109         * lib/getdate.y: Include "getdate.h" first, as we can now
16110         assume C89 and don't need to worry about 'const'.
16111         Similarly, include "unlocked-io.h" near start, not in middle.
16112         Include <limits.h>.
16113         (textint.value): Use long int rather than int.
16114         (textint.digits): Use size_t rather than int.
16115         (BILLION, LOG10_BILLION): New constants.
16116         (parser_control): New member rel_ns.  Members day_ordinal,
16117         time_zone, month, day, hour, minutes, rel_year, rel_month,
16118         rel_day, rel_hour, rel_minutes, rel_seconds
16119         are now long int, not int.  Member seconds is now struct timespec,
16120         not int.  New member timespec_seen.  Members dates_seen, days_seen,
16121         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
16122         not int.
16123         (%union.intval): Now long int, not int.
16124         New member timespec.
16125         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
16126         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
16127         (spec): Now is a timespec or an item list.
16128         (timespec, items): New nonterminals.
16129         (time, rel, relunit, number, get_date):
16130         Add support for fractional seconds.
16131         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
16132         (gmtime, localtime, mktime): Remove decls; not needed with C89.
16133         (to_hour): First arg is now long int, not int.
16134         (to_year): Returns long int, not int.
16135         Don't treat year -70 like 70.
16136         (tm_diff): Returns long int, not int.
16137         (lookup_word): Use bool instead of int when appropriate.
16138         (yylex): Use size_t for count, not int.
16139         Detect overflow when parsing large integer constants.
16140         Add support for fractions.
16141         (get_date): Make pointers 'const' if possible.
16142         Use more-portable code to detect integer overflow.
16143         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
16144         Don't use ctime; it's not reliable if the year has >4 digits.
16145
16146         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
16147         This is for compatibility with BSD.
16148
16149         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
16150         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
16151         From coreutils' system.h.
16152
16153         * lib/userspec.c: Don't include "posixver.h".
16154         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
16155         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
16156         compatible extension.  Simplify code by removing a boolean int
16157         that was always nonzero if a string was nonnull.
16158
16159 2004-03-30  Jim Meyering  <jim@meyering.net>
16160
16161         Merge from coreutils.
16162
16163         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
16164         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
16165         on some systems one must include <grp.h> before it.
16166         Reported by Christian Krackowizer.
16167
16168 2004-03-30  Jim Meyering  <jim@meyering.net>
16169
16170         Merge from coreutils.
16171
16172         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
16173
16174         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
16175         an empty input stream.
16176
16177         * lib/readtokens.c: Include <stdbool.h>.
16178         (readtoken): Use `size_t' rather than int/long.
16179         All callers adjusted.
16180         Use `bool' rather than `int' where appropriate.
16181         Use memset rather than an explicit loop.
16182         Use x2nrealloc rather than xrealloc.
16183         Allow the use of `\0' as a delimiter.
16184         (readtokens): Likewise.
16185         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
16186
16187 2004-03-30  Jim Meyering  <jim@meyering.net>
16188
16189         * m4/realloc.m4: Remove file, since now it does no more than
16190         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
16191         the `configure.ac' section of module/realloc.
16192         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
16193
16194 2004-03-30  Bruno Haible  <bruno@clisp.org>
16195
16196         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
16197         nonnull.
16198
16199 2004-03-29  Paul Eggert  <eggert@twinsun.com>
16200
16201         Merge changes to getloadavg.c from coreutils and Emacs.
16202
16203         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
16204         Define to an expression, not to the empty string.
16205         Include cloexec.h and xalloc.h.
16206         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
16207         Use set_cloexec_flag rather than rolling our own.
16208         * lib/cloexec.c, lib/cloexec.h: New files.
16209
16210 2004-03-29  Paul Eggert  <eggert@twinsun.com>
16211
16212         * m4/cloexec.m4: New file.
16213
16214 2004-03-18  Paul Eggert  <eggert@twinsun.com>
16215
16216         * lib/getopt.h: Sync with libc CVS.
16217
16218 2004-03-18  Paul Eggert  <eggert@twinsun.com>
16219             Bruno Haible  <bruno@clisp.org>
16220
16221         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
16222         mbswidth.
16223
16224 2004-03-18  Paul Eggert  <eggert@twinsun.com>
16225             Bruno Haible  <bruno@clisp.org>
16226
16227         * lib/mbswidth.h: Include <wchar.h> only if
16228         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
16229         <wchar.h>.
16230         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
16231
16232 2004-03-09  Paul Eggert  <eggert@twinsun.com>
16233
16234         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
16235         Sync with libc CVS.
16236         * lib/getopt_int.h: New file, also synced from libc.
16237
16238 2004-03-09  Paul Eggert  <eggert@twinsun.com>
16239
16240         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
16241         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
16242         Bring back getopt.c, getopt.h, getopt1.c.
16243
16244 2004-03-07  Paul Eggert  <eggert@twinsun.com>
16245
16246         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
16247         All uses changed.  Check for sa_sigaction member; this fixes
16248         a bug first reported by Jason Andrade in
16249         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
16250
16251 2004-03-07  Paul Eggert  <eggert@twinsun.com>
16252
16253         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
16254         '#if' expressions.  Unlike the code it replaces, it does not
16255         depend on (defined _SC_PAGESIZE).  However, it does depend on
16256         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
16257         first reported by Jason Andrade in
16258         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
16259
16260 2004-02-25  Simon Josefsson  <jas@extundo.com>
16261
16262         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
16263
16264 2004-02-25  Simon Josefsson  <jas@extundo.com>
16265
16266         * lib/strdup.h: New file.
16267         * lib/strdup.c: Include it.
16268         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
16269         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
16270
16271 2004-02-23  Karl Berry  <karl@gnu.org>
16272
16273         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
16274         (from fencepost.gnu.org:/gd/gnuorg).
16275
16276 2004-02-23  Karl Berry  <karl@gnu.org>
16277
16278         * config/srclistvars.sh (GNUORG) [karl]: redefine.
16279         * config/srclist.txt: add maintain/standards documents.
16280
16281 2004-02-18  Bruno Haible  <bruno@clisp.org>
16282
16283         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
16284         Reported by Derek Robert Price <derek@ximbiot.com>.
16285
16286 2004-02-16  Karl Berry  <karl@gnu.org>
16287
16288         * config/mkinstalldirs, install-sh: update from automake.
16289
16290 2004-02-06  Karl Berry  <karl@gnu.org>
16291
16292         * m4/po.m4: update from gettext 0.14.1.
16293
16294 2004-02-06  Karl Berry  <karl@gnu.org>
16295
16296         * lib/config.charset: update from gettext 0.14.1.
16297
16298 2004-02-05  Paul Eggert  <eggert@twinsun.com>
16299
16300         Add comments and code, prompted by suggestions from Bruno Haible
16301         for sh-quote.
16302         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
16303         describing the enum quoting_style values.
16304         * lib/quotearg.c (quotearg_alloc): New function.
16305         (quotearg_buffer_restyled): Treat lone { and } as special.
16306         Treat = as special.  Work around bug with older shells
16307         that "see" a '\' that is really the 2nd byte of a multibyte char.
16308         Quote empty string with shell_quoting_style.
16309
16310 2004-02-03  Bruno Haible  <bruno@clisp.org>
16311
16312         * m4/pipe.m4: New file, from GNU gettext.
16313
16314 2004-02-03  Bruno Haible  <bruno@clisp.org>
16315
16316         * lib/pipe.h: New file, from GNU gettext.
16317         * lib/pipe.c: New file, from GNU gettext.
16318
16319 2004-01-27  Bruno Haible  <bruno@clisp.org>
16320
16321         * m4/execute.m4: New file, from GNU gettext.
16322
16323 2004-01-27  Bruno Haible  <bruno@clisp.org>
16324
16325         * lib/execute.h: New file, from GNU gettext.
16326         * lib/execute.c: New file, from GNU gettext.
16327         * lib/w32spawn.h: New file, from GNU gettext.
16328
16329 2004-01-24  Paul Eggert  <eggert@twinsun.com>
16330
16331         Merge from diffutils.
16332
16333         * lib/file-type.c (file_type): Add typed memory objects.
16334         * lib/file-type.h (S_TYPEISTMO): New macro.
16335
16336         * lib/c-stack.h (c_stack_action): Remove argv argument.
16337         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
16338         (die): Don't calculate message unless segv_action returns.
16339         (get_stack_location, min_address_from_argv, max_address_from_argv,
16340         volatile stack_base, volatile_stack_size): Remove.
16341         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
16342         that every segmentation violation is a stack overflow.  (Ouch!)
16343         See Debian bug 136249 (still outstanding) for more info about why
16344         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
16345
16346 2004-01-24  Paul Eggert  <eggert@twinsun.com>
16347
16348         Exit-status fix from coreutils.
16349
16350         Use exit_failure consistently in place of EXIT_FAILURE,
16351         so that program exit statuses are consistent on failure.
16352
16353         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
16354         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
16355         * lib/argmatch.h: Comment fix to match the above.
16356         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
16357         Now a macro referring to exit_failure, instead of a separate
16358         variable.  Include "exitfail.h" to get it.
16359         * lib/xstrtol.h: Include "exitfail.h".
16360         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
16361
16362         * lib/long-options.c (parse_long_options): Use prototype
16363         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
16364         for clarity.
16365
16366 2004-01-21  Jim Meyering  <jim@meyering.net>
16367
16368         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
16369         so as not to conflict with a different-sized __mktime_internal
16370         function in GNU libc.
16371         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
16372         Problem building statically-linked `ls' reported by Michael Brunnbauer.
16373
16374 2004-01-20  Karl Berry  <karl@gnu.org>
16375
16376         * config/config.guess: update from config.
16377
16378         * config/srclistvars.sh: GNUWWWLICENSES for karl.
16379
16380 2004-01-20  Bruno Haible  <bruno@clisp.org>
16381
16382         Safer stack allocation.
16383         * lib/setenv.c: Include allocsa.h.
16384         (alloca): Remove fallback definition.
16385         (freea): Remove macro.
16386         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
16387         instead of freea.
16388
16389 2004-01-20  Bruno Haible  <bruno@clisp.org>
16390
16391         * m4/eealloc.m4: New file, from GNU gettext.
16392
16393 2004-01-20  Bruno Haible  <bruno@clisp.org>
16394
16395         * m4/allocsa.m4: New file, from GNU gettext.
16396
16397 2004-01-20  Bruno Haible  <bruno@clisp.org>
16398
16399         * lib/xallocsa.h: New file, from GNU gettext.
16400         * lib/xallocsa.c: New file, from GNU gettext.
16401
16402 2004-01-20  Bruno Haible  <bruno@clisp.org>
16403
16404         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
16405
16406 2004-01-20  Bruno Haible  <bruno@clisp.org>
16407
16408         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
16409         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
16410         specially.
16411
16412 2004-01-20  Bruno Haible  <bruno@clisp.org>
16413
16414         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
16415         patch.
16416
16417 2004-01-20  Bruno Haible  <bruno@clisp.org>
16418
16419         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
16420
16421 2004-01-20  Bruno Haible  <bruno@clisp.org>
16422
16423         * lib/eealloc.h: New file.
16424
16425 2004-01-20  Bruno Haible  <bruno@clisp.org>
16426
16427         * lib/binary-io.h: Avoid warnings on Cygwin.
16428
16429 2004-01-20  Bruno Haible  <bruno@clisp.org>
16430
16431         * lib/allocsa.h: New file, from GNU gettext.
16432         * lib/allocsa.c: New file, from GNU gettext.
16433
16434 2004-01-18  Karl Berry  <karl@gnu.org>
16435
16436         * doc/gpl.texi, doc/lgpl.texi: new files.
16437
16438 2004-01-18  Karl Berry  <karl@gnu.org>
16439
16440         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
16441         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
16442
16443 2004-01-15  Paul Eggert  <eggert@twinsun.com>
16444
16445         Merge from coreutils.
16446
16447         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
16448         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
16449         (gl_DEFAULT_POSIX2_VERSION): Move
16450         the documentation from 'configure' into 'config.hin',
16451         so that 'configure --help' isn't burdened by it and
16452         we don't have to worry about its formatting there.
16453         Reword the documentation so that it's more succinct
16454         and can be run together into a single paragraph.
16455         * m4/same.m4 (gl_SAME): Check for pathconf.
16456
16457 2004-01-15  Paul Eggert  <eggert@twinsun.com>
16458
16459         Merge from coreutils.
16460
16461         * lib/posixver.c: Include posixver.h.
16462
16463         * lib/same.c: Include <stdbool.h>, <limits.h>.
16464         (_POSIX_NAME_MAX): Define if not defined.
16465         (MIN): New macro.
16466         (same_name): If file names are silently truncated, report
16467         that the file names are the same if they are the same after
16468         the silent truncation.
16469
16470         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
16471         conversion function.
16472         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
16473         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
16474         longer needed.
16475
16476 2004-01-15  Jim Meyering  <jim@meyering.net>
16477
16478         Merge from coreutils.
16479
16480         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
16481         if no library is required.
16482         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
16483         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
16484         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
16485         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
16486         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
16487         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
16488         value, $ac_cv_search_crypt, if it's "none required".
16489         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
16490         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
16491         not gl_FUNC_GETLOADAVG.
16492         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
16493         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
16494
16495 2004-01-15  Jim Meyering  <jim@meyering.net>
16496
16497         Merge from coreutils.
16498
16499         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
16500         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
16501         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
16502
16503         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
16504         optional configure-time default.
16505
16506         * lib/version-etc.c (version_etc_copyright): Update copyright date.
16507
16508         * lib/xreadlink.c (xreadlink): Correct outdated comment.
16509
16510 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
16511
16512         Merge from coreutils.
16513
16514         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
16515         value, $ac_cv_search_nanosleep, if it's "none required".
16516
16517 2004-01-14  Paul Eggert  <eggert@twinsun.com>
16518
16519         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
16520         with like-named macro in fnmatch.c.
16521         (EXT): Use an internal constant instead.
16522
16523         Merge fnmatch patches from glibc.
16524         * lib/fnmatch.c (mbsinit): Remove define.
16525         Add libc_hidden_ver (__fnmatch, fnmatch).
16526         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
16527         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
16528
16529 2004-01-14  Karl Berry  <karl@gnu.org>
16530
16531         * config/install-sh: update from automake.
16532
16533 2004-01-13  Karl Berry  <karl@gnu.org>
16534
16535         * config/install-sh: update from automake.
16536
16537 2004-01-09  Karl Berry  <karl@gnu.org>
16538
16539         * config/install-sh: update from automake.
16540
16541 2004-01-05  Karl Berry  <karl@gnu.org>
16542
16543         * config/config.{sub,guess}: update from config.
16544
16545 2003-12-31  Karl Berry  <karl@gnu.org>
16546
16547         * config/depcomp: update from automake.
16548
16549 2003-12-14  Karl Berry  <karl@gnu.org>
16550
16551         * lib/config.charset: update from gettext-runtime.
16552
16553 2003-12-03  Paul Eggert  <eggert@twinsun.com>
16554
16555         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
16556         Bug reported by Alfred M. Szmidt.
16557
16558 2003-12-03  Bruno Haible  <bruno@clisp.org>
16559
16560         * m4/gettext.m4: Upgrade from gettext-0.13.
16561         * m4/po.m4: Upgrade from gettext-0.13.
16562         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
16563         * m4/intmax.m4: New file, from gettext-0.13.
16564         * m4/printf-posix.m4: New file, from gettext-0.13.
16565
16566 2003-11-29  Karl Berry  <karl@gnu.org>
16567
16568         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
16569
16570 2003-11-25  Paul Eggert  <eggert@twinsun.com>
16571             Bruno Haible  <bruno@clisp.org>
16572
16573         * lib/printf-parse.h: Don't include sys/types.h.
16574         (ARG_NONE): New macro.
16575         (char_directive): Change type of *arg_index fields to size_t.
16576         * lib/printf-parse.c: Don't include sys/types.h.
16577         (SSIZE_MAX): Remove macro.
16578         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
16579         Remove unnecessary overflow check.
16580         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
16581         fields.
16582
16583 2003-11-25  Bruno Haible  <bruno@clisp.org>
16584
16585         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
16586
16587 2003-11-25  Bruno Haible  <bruno@clisp.org>
16588
16589         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
16590         gt_TYPE_SSIZE_T.
16591
16592 2003-11-24  Paul Eggert  <eggert@twinsun.com>
16593
16594         * modules/alloca: Remove dependency on xalloc.
16595
16596 2003-11-24  Paul Eggert  <eggert@twinsun.com>
16597
16598         * lib/alloca.c: Remove dependency on xalloc module.
16599         (xalloc_die): Remove.
16600         (memory_full) [!defined emacs]: New macro.
16601         [!defined emacs]: Don't include xalloc.h.
16602         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
16603         address arithmetic overflows.  Change datatypes a bit to avoid
16604         unnecessary casts.
16605
16606 2003-11-22  Jim Meyering  <jim@meyering.net>
16607
16608         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
16609         s/size/size_t/.
16610
16611 2003-11-21  Karl Berry  <karl@gnu.org>
16612
16613         * config/config.{sub,guess}: update from config.
16614
16615 2003-11-18  Karl Berry  <karl@gnu.org>
16616
16617         * config/config.{sub,guess}: update from config.
16618
16619         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
16620
16621 2003-11-17  Paul Eggert  <eggert@twinsun.com>
16622
16623         * README: Mention that S+T cannot overflow if S is the size of
16624         an existing object and T is sufficiently small.
16625
16626 2003-11-17  Jim Meyering  <jim@meyering.net>
16627
16628         On systems without utime and without a utimes function capable of
16629         dealing with a NULL struct utimbuf* argument, this utime replacement
16630         could -- in unusual circumstances -- leak a file descriptor.
16631         * lib/utime.c: Include <unistd.h> and <errno.h>.
16632         (utime_null): Be sure to close `fd' and to preserve errno.
16633         Reported by Geoff Collyer via Arnold Robbins.
16634
16635 2003-11-17  Bruno Haible  <bruno@clisp.org>
16636
16637         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
16638         (Depends-on): Add xsize.
16639
16640 2003-11-17  Bruno Haible  <bruno@clisp.org>
16641
16642         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
16643
16644 2003-11-17  Bruno Haible  <bruno@clisp.org>
16645
16646         * lib/vasnprintf.c (alloca): Remove fallback definition.
16647         (freea): Remove definition.
16648         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
16649         Reported by Paul Eggert.
16650
16651 2003-11-16  Paul Eggert  <eggert@twinsun.com>
16652             Bruno Haible  <bruno@clisp.org>
16653
16654         Protect against address arithmetic overflow.
16655         * lib/printf-args.h: Include stddef.h.
16656         (arguments): Change type of field 'count' to size_t.
16657         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
16658         'unsigned int' where appropriate.
16659         * lib/printf-parse.h: Include sys/types.h.
16660         (char_directive): Change type of *arg_index fields to ssize_t.
16661         (char_directives): Change type of fields 'count', max_*_length to
16662         size_t.
16663         * lib/printf-parse.c: Include sys/types.h and xsize.h.
16664         (SSIZE_MAX): Define fallback value.
16665         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
16666         instead of 'int' where appropriate. Check a_allocated, d_allocated
16667         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
16668         * lib/vasnprintf.c: Include xsize.h.
16669         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
16670         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
16671         overflow. Avoid wraparound when converting a width or precision from
16672         decimal to binary.
16673
16674 2003-11-16  Bruno Haible  <bruno@clisp.org>
16675
16676         Update from GNU gettext.
16677         * lib/printf-parse.c: Generalize to it can be compiled for wide
16678         strings.
16679         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
16680         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
16681         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
16682         SNPRINTF): New macros.
16683         Don't include <alloca.h> if the file is used inside libintl.
16684         (local_wcslen): New function, for Solaris 2.5.1.
16685         (VASNPRINTF): Use it instead of wcslen.
16686
16687 2003-11-16  Bruno Haible  <bruno@clisp.org>
16688
16689         * lib/xsize.h (xmax): New function.
16690         (xsum, xsum3, xsum4): Declare as "pure" functions.
16691
16692 2003-11-12  Paul Eggert  <eggert@twinsun.com>
16693
16694         * modules/xalloc (Files): Undo latest change, since xalloc.h
16695         no longer needs SIZE_MAX or PTRDIFF_MAX.
16696
16697 2003-11-12  Paul Eggert  <eggert@twinsun.com>
16698
16699         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
16700         gl_PTRDIFF_MAX.
16701
16702 2003-11-12  Paul Eggert  <eggert@twinsun.com>
16703
16704         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
16705         "return", to pacify some unknown compiler.  Problem reported
16706         by Joerg Schilling.
16707
16708 2003-11-12  Paul Eggert  <eggert@twinsun.com>
16709
16710         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
16711         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
16712         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
16713         heuristic is just as accurate as far as we know, and it removes a
16714         dependency on size_max.m4 and ptrdiff_max.m4.
16715
16716 2003-11-11  Bruno Haible  <bruno@clisp.org>
16717
16718         * modules/xsize (Files): Add m4/size_max.m4.
16719         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
16720
16721 2003-11-11  Bruno Haible  <bruno@clisp.org>
16722
16723         * m4/size_max.m4: New file.
16724         * m4/ptrdiff_max.m4: New file.
16725         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
16726         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
16727         (gl_XALLOC): Invoke it.
16728
16729 2003-11-11  Bruno Haible  <bruno@clisp.org>
16730
16731         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
16732         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
16733         defined.
16734
16735 2003-11-10  Paul Eggert  <eggert@twinsun.com>
16736
16737         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
16738         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
16739         rejected some allocations of exactly SIZE_MAX - 2 bytes.
16740         From Bruno Haible.
16741         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
16742         not (size_t) -1, since it's defined here.
16743
16744 2003-11-09  Karl Berry  <karl@gnu.org>
16745
16746         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
16747
16748 2003-11-06  Paul Eggert  <eggert@twinsun.com>
16749
16750         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
16751         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
16752         Reject sizes of exactly SIZE_MAX bytes.
16753         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
16754         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
16755
16756 2003-11-05  Bruno Haible  <bruno@clisp.org>
16757
16758         * lib/xsize.h: Include limits.h, to avoid a possible collision with
16759         SIZE_MAX defined in <limits.h> on Solaris.
16760
16761 2003-11-04  Jim Meyering  <jim@meyering.net>
16762
16763         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
16764         variable names, rather than @VAR@.
16765         * modules/poll: Likewise.
16766
16767 2003-11-04  Bruno Haible  <bruno@clisp.org>
16768
16769         * modules/xsize: New file.
16770         * modules/linebreak: Depend on xsize.
16771         * MODULES.html.sh (func_all_modules): Add xsize.
16772
16773 2003-11-04  Bruno Haible  <bruno@clisp.org>
16774
16775         * m4/xsize.m4: New file.
16776
16777 2003-11-04  Bruno Haible  <bruno@clisp.org>
16778
16779         * lib/xsize.h: New file.
16780         * lib/linebreak.c: Include xsize.h.
16781         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
16782         argument for overflow.
16783         Suggested by Paul Eggert.
16784
16785 2003-11-03  Karl Berry  <karl@gnu.org>
16786
16787         * config/config.{guess,sub}: update from config.
16788
16789 2003-11-03  Jim Meyering  <jim@meyering.net>
16790
16791         * modules/userspec (lib_SOURCES): Add userspec.h.
16792         (Include): Add "userspec.h".
16793         Improve description.
16794
16795 2003-11-03  Jim Meyering  <jim@meyering.net>
16796
16797         * lib/userspec.c: Include "userspec.h".
16798         * lib/userspec.h: New file.
16799
16800 2003-11-03  Bruno Haible  <bruno@clisp.org>
16801
16802         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
16803
16804 2003-11-03  Bruno Haible  <bruno@clisp.org>
16805
16806         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
16807         available, to avoid (extremely rare) race condition.
16808         Suggested by Paul Eggert.
16809
16810 2003-11-02  Karl Berry  <karl@gnu.org>
16811
16812         * config/srclist.txt (vasprintf.c): sync broken, sigh.
16813
16814 2003-10-31  Paul Eggert  <eggert@twinsun.com>
16815
16816         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
16817         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
16818         (read_filesystem_list): Set and use me_type_malloced.
16819         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
16820         whatever the type happens to be), for brevity and consistency.
16821         Check for size calculation overflow on Alphas running OSF/1.
16822
16823 2003-10-31  Jim Meyering  <jim@meyering.net>
16824
16825         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
16826
16827         * lib/linebuffer.c: Include <string.h> for declaration of memset.
16828
16829 2003-10-30  Paul Eggert  <eggert@twinsun.com>
16830             Bruno Haible  <bruno@clisp.org>
16831
16832         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
16833         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
16834
16835 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
16836
16837         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
16838         netbsd*-gnu*.  Suggested by Robert Millan.
16839
16840 2003-10-29  Paul Eggert  <eggert@twinsun.com>
16841
16842         * modules/group-member: Depend on stdbool.
16843
16844 2003-10-29  Paul Eggert  <eggert@twinsun.com>
16845
16846         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
16847
16848 2003-10-29  Paul Eggert  <eggert@twinsun.com>
16849
16850         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
16851         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
16852         after the 'gnu' in these cases.  This fixes some bugs in the
16853         previous change, and is based on suggestions by Robert Millan.
16854
16855 2003-10-29  Paul Eggert  <eggert@twinsun.com>
16856
16857         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
16858         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
16859         no longer needed.
16860         * lib/quotearg.c (quotearg_n_options): Use it.
16861         * lib/group-member.c: Include <stdbool.h>.
16862         (free_group_info): Arg is now const *; don't free arg.
16863         (get_group_info): Now returns bool and accepts struct group_info *,
16864         rather than returning a malloc'ed struct group_info *.
16865         All uses changed.  Check for overflow in internal size calculation.
16866
16867         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
16868         rather than xmalloc/xrealloc.
16869         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
16870         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
16871         conformance bug: the old code used a pointer after freeing the
16872         storage that it addressed.
16873         * lib/hash.c (hash_initialize): Simplify the code by using
16874         xalloc_oversized rather than doing it by hand.
16875         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
16876         the buffer preserved.  Use free and xmalloc instead.
16877         * lib/quotearg.c (quotearg_n_options): Likewise.
16878         Use a simpler test for size overflow.  Don't use xalloc_oversized
16879         because unsigned int might be wider than size_t (!); this suggests
16880         that we should switch from unsigned int to size_t for slot numbers.
16881
16882 2003-10-28  Paul Eggert  <eggert@twinsun.com>
16883
16884         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
16885         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
16886         NetBSD kernels.  Requested by Richard Stallman.
16887
16888 2003-10-27  Paul Eggert  <eggert@twinsun.com>
16889
16890         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
16891         to allocate the returned structure.  Do not allocate a subarray,
16892         as x2nrealloc will do that.
16893         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
16894         instead of xnrealloc.
16895         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
16896
16897 2003-10-27  Bruno Haible  <bruno@clisp.org>
16898
16899         * lib/stdbool_.h: Better support for BeOS.
16900
16901 2003-10-26  Paul Eggert  <eggert@twinsun.com>
16902
16903         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
16904         now uses inline.
16905
16906 2003-10-26  Paul Eggert  <eggert@twinsun.com>
16907
16908         * lib/xalloc.h (xalloc_oversized): New static inline function, for
16909         callers that want to do their own size-overflow checking.  Include
16910         <stdbool.h>, since xalloc_oversized returns bool.
16911         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
16912         to use xalloc_oversized.
16913
16914         Add two functions x2realloc, x2nrealloc, for programs that grow
16915         arrays dynamically by doubling their sizes.
16916         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
16917         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
16918         New functions.
16919
16920         Port to C99 semantics for 'inline' of external functions.
16921         Bug reported by Bruno Haible.
16922         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
16923         with the old contents of xnmalloc.
16924         (xnmalloc, xmalloc): Use it.
16925         (xnrealloc_inline): New static inline function,
16926         with the old contents of xnrealloc.
16927         (xnrealloc, xrealloc): Use it.
16928
16929         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
16930         that.
16931
16932 2003-10-26  Karl Berry  <karl@gnu.org>
16933
16934         * config/srclist.txt (COPYING.DOC): no longer available from
16935         /gd/gnuorg; don't know where the ultimate source is.
16936
16937 2003-10-25  Paul Eggert  <eggert@twinsun.com>
16938
16939         Fix several address-calculation bugs in the hash modules,
16940         plus some minor code cleanup.
16941
16942         * lib/hash.h: Include <stdbool.h>, for bool.
16943         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
16944         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
16945         hash_get_n_entries, hash_get_max_bucket_length,
16946         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
16947         hash_rehash): Use size_t rather than unsigned.
16948         * lib/hash.c (struct hash_table, hash_get_n_buckets,
16949         hash_get_n_buckets_used, hash_get_n_entries,
16950         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
16951         hash_get_entries, hash_do_for_each, hash_string, is_prime,
16952         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
16953         Likewise.
16954         (SIZE_MAX): Define if not defined.
16955         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
16956         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
16957         hash_print):
16958         Use const * when possible.
16959         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
16960         (check_tuning): Fix bug: if tuning parameters were very close to
16961         0 or 1, rounding errors could have caused subscript violations.
16962         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
16963         (hash_initialize): Add 'fail:' label
16964         to free table and return NULL, and use it to simplify code.
16965         Use calloc rather than clearing the storage ourself.
16966         (hash_initialize, hash_rehash): Check for arithmetic overflow in
16967         buffer size calculations.
16968         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
16969         Include <stddef.h>, for size_t.
16970         * lib/hash-pjw.c (hash_pjw): Likewise.
16971         Switch to method described by Bruno Haible.
16972         Include <limits.h>, for CHAR_BIT.
16973         (SIZE_BITS): New macro.
16974
16975 2003-10-23  Paul Eggert  <eggert@twinsun.com>
16976
16977         * m4/getline.m4 (AM_FUNC_GETLINE):
16978         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
16979         hosts.  Problem reported by Derek Robert Price in
16980         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
16981         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
16982         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
16983
16984 2003-10-21  Paul Eggert  <eggert@twinsun.com>
16985
16986         * lib/getndelim2.c (getndelim2): When size calculation overflows,
16987         ceiling the allocation at NMAX bytes rather than silently
16988         discarding input bytes before NMAX is reached.  This makes
16989         a difference only if NMAX exceeds SIZE_MAX / 2.
16990
16991         * lib/obstack.c: Merge from glibc.
16992         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
16993         Add libc_hidden_def (_obstack_newchunk).
16994         (_obstack_free) [! defined _LIBC]: Remove.
16995         [defined _LIBC]: Make a strong alias from obstack_free, rather than
16996         a clone of the function body.
16997         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
16998         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
16999
17000         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
17001         glibc.
17002         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
17003         arg to memcpy.
17004
17005         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
17006         (obstack_ptr_grow_fast, obstack_int_grow_fast):
17007         Don't use lvalue casts, as GCC plans to remove support for them
17008         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
17009         was also present in the non-GCC version, indicating that this
17010         code had always been buggy and had never been widely used.
17011         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
17012         Use the fast variant of each macro, rather than copying the
17013         definiens of the fast variant; that way, we'll be more likely to
17014         catch future bugs in the fast variants.
17015
17016 2003-10-20  Bruno Haible  <bruno@clisp.org>
17017
17018         * modules/wait-process: New file.
17019         * MODULES.html.sh (func_all_modules): Add wait-process.
17020
17021 2003-10-20  Bruno Haible  <bruno@clisp.org>
17022
17023         * m4/wait-process.m4: New file.
17024
17025 2003-10-20  Bruno Haible  <bruno@clisp.org>
17026
17027         * lib/wait-process.h: New file, from GNU gettext.
17028         * lib/wait-process.c: New file, from GNU gettext.
17029
17030 2003-10-19  Jim Meyering  <jim@meyering.net>
17031
17032         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
17033         HPUX 10.20.
17034
17035 2003-10-18  Karl Berry  <karl@gnu.org>
17036
17037         * config/config.guess: update from config.
17038
17039 2003-10-16  Paul Eggert  <eggert@twinsun.com>
17040
17041         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
17042         (getgroups): First arg is int, not size_t.
17043         Don't let 'free' mangle errno.
17044
17045 2003-10-16  Paul Eggert  <eggert@twinsun.com>
17046
17047         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
17048
17049 2003-10-16  Karl Berry  <karl@gnu.org>
17050
17051         * config/config.{guess,sub}: update from config.
17052
17053 2003-10-16  Jim Meyering  <jim@meyering.net>
17054
17055         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
17056         memcpy.
17057
17058 2003-10-15  Paul Eggert  <eggert@twinsun.com>
17059
17060         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
17061         (SIZE_MAX): Remove.
17062         (new_exclude, add_exclude_file): Initial size no longer needs to
17063         be a power of 2.
17064         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
17065         our own address arithmetic overflow checking.
17066
17067         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
17068         (fnmatch): Do not alloca more than 2000 wide characters;
17069         instead, use malloc for large buffers.
17070         Check for address arithmetic overflow, and return -1
17071         with errno set to ENOMEM in that case.
17072         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
17073         (NEW_PATTERN): Do not alloca more than 8000 bytes;
17074         instead, return -1.  Check for address arithmetic overflow.
17075
17076 2003-10-14  Paul Eggert  <eggert@twinsun.com>
17077
17078         Handle invalid suffixes and overflow independently, so that
17079         callers can treat them independently as needed.  Fix some bugs in
17080         suffix handling, e.g., "100k@" was not diagnosed as an invalid
17081         suffix for a human-readable blocksize.  The major caller-visible
17082         change is the addition of a new
17083         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
17084         that both overflow and suffix chars were found.
17085
17086         * lib/human.c (humblock): Don't check separately for invalid suffix
17087         char; that is xstrtoumax's job (now that its bug is fixed).
17088         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
17089         INTMAX_MAX]: New macros.
17090         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
17091         TYPE_MAXIMUM): New macros.
17092         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
17093         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
17094         if overflow occurs, as it's what __strtol does and it's more useful
17095         in practice.
17096         (__xstrtol): If __strtol reports some error other than ERANGE,
17097         reflect it to the caller as LONGINT_INVALID.  If it reports
17098         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
17099         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
17100         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
17101         value.
17102         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
17103         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
17104         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
17105         [defined UINTMAX_MAX]: New macros.
17106
17107 2003-10-14  Bruno Haible  <bruno@clisp.org>
17108
17109         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
17110
17111 2003-10-14  Bruno Haible  <bruno@clisp.org>
17112
17113         * m4/sig_atomic_t: New file, from GNU gettext.
17114         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
17115
17116 2003-10-14  Bruno Haible  <bruno@clisp.org>
17117
17118         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
17119         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
17120         Also use volatile where needed.
17121
17122 2003-10-12  Paul Eggert  <eggert@twinsun.com>
17123
17124         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
17125         Change maintainer from Bruno Haible to 'all'.
17126
17127 2003-10-12  Paul Eggert  <eggert@twinsun.com>
17128
17129         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
17130
17131 2003-10-12  Paul Eggert  <eggert@twinsun.com>
17132
17133         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
17134         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
17135         and define in terms of the other primitives.
17136         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
17137         (SIZE_MAX): Define if not already defined.
17138         (array_size_overflow): New function.
17139         (xalloc_die): Abort instead of exiting if 'error' returns.
17140         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
17141         (xmalloc, xrealloc): Use them.
17142         (xcalloc): Check for address arithmetic overflow.
17143         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
17144         a bit faster than strcpy.
17145
17146 2003-10-10  Simon Josefsson  <jas@extundo.com>
17147
17148         * modules/argp (Depends-on): Add restrict and strcase.
17149
17150 2003-10-10  Simon Josefsson  <jas@extundo.com>
17151
17152         * m4/argp.m4: Add AC_C_INLINE.
17153
17154 2003-10-08  Paul Eggert  <eggert@twinsun.com>
17155
17156         Merge getpass from libc, plus a few fixes.
17157
17158         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
17159         Include <stdbool.h>.
17160         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
17161         __fsetlocking to empty.
17162         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
17163         do include <bits/libc-lock.h>.
17164         Do not include <fcntl.h>; not needed.
17165         [_LIBC]: Include <wchar.h>.
17166         (NOTCANCEL_MODE): New macro.
17167         (flockfile, funlockfile) [_LIBC]: New macros.
17168         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
17169         [!_LIBC]: New macros.
17170         (call_fclose): New function.
17171         (getpass): Use it.  Save tty stream separately; this simplifies the
17172         code and makes it more reliable if stdin happens to equal stdout.
17173         Invoke __fsetlocking on tty.
17174         Handle thread cancellation if needed.
17175         Namespace cleanup (use __tcgetattr, __getline).
17176         Use bool for Booleans.
17177         [USE_IN_LIBIO]: Handle wide streams.
17178         [!_LIBC]: Unconditionally do the fseek, since we don't know what
17179         stream might go where.
17180
17181         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
17182         doesn't have to include <stdio.h> before us.
17183         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
17184         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
17185         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
17186         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
17187         if not declared, so that we can use getpass.c code from libc without
17188         rewriting it.
17189         (flockfile, ftrylockfile, funlockfile): New macros.
17190
17191 2003-10-08  Paul Eggert  <eggert@twinsun.com>
17192
17193         * modules/getpass: Depend on stdbool.
17194
17195 2003-10-08  Paul Eggert  <eggert@twinsun.com>
17196
17197         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
17198
17199 2003-10-07  Karl Berry  <karl@gnu.org>
17200
17201         * config/config.{guess,sub}: update from config.
17202
17203 2003-10-06  Jim Meyering  <jim@meyering.net>
17204             Bruno Haible  <bruno@clisp.org>
17205
17206         This lets translators provide better translations for the
17207         "Written by ..." part of --version output.
17208         * lib/version-etc.h: Include stdarg.h.
17209         (version_etc_copyright): Declare as readonly.
17210         (version_etc): Make this function variadic with a NULL-terminated list
17211         of author name strings.
17212         (version_etc_va): New declaration.
17213         * lib/version-etc.c: Include stdarg.h, stdlib.h.
17214         (version_etc_copyright): Declare as readonly.
17215         (version_etc_va): New function. Provide a different translatable string
17216         for each possible number of authors < 10. Abbreviate when there are 10
17217         authors or more.
17218         (version_etc): Make this function variadic. Call version_etc_va.
17219         Suggestion from Gary V. Vaughan.
17220
17221         * lib/long-options.h (parse_long_options): Change prototype: the
17222         authors string is moved to the end and becomes variadic.
17223         * lib/long-options.c: Include stdarg.h.
17224         (parse_long_options): Make this function variadic, too.
17225         Call version_etc_va, not version_etc.
17226
17227 2003-10-06  Bruno Haible  <bruno@clisp.org>
17228
17229         * modules/version-etc-2: Remove file.
17230         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
17231
17232 2003-10-06  Bruno Haible  <bruno@clisp.org>
17233
17234         * modules/fatal-signal: New file.
17235         * MODULES.html.sh (func_all_modules): Add fatal-signal.
17236
17237 2003-10-06  Bruno Haible  <bruno@clisp.org>
17238
17239         * m4/fatal-signal.m4: New file.
17240         * m4/signalblocking.m4: New file, from GNU gettext.
17241
17242 2003-10-06  Bruno Haible  <bruno@clisp.org>
17243
17244         * lib/version-etc-2.h: Remove file.
17245         * lib/version-etc-2.c: Remove file.
17246
17247 2003-10-06  Bruno Haible  <bruno@clisp.org>
17248
17249         * lib/fatal-signal.h: New file, from GNU gettext.
17250         * lib/fatal-signal.c: New file, from GNU gettext.
17251
17252 2003-10-05  Paul Eggert  <eggert@twinsun.com>
17253
17254         * README: Rework advice for preventing empty .o files.
17255         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
17256         not <sys/types.h>.
17257
17258 2003-10-04  Karl Berry  <karl@gnu.org>
17259
17260         * lib/argp*: update from libc.
17261
17262 2003-10-04  Karl Berry  <karl@gnu.org>
17263
17264         * config/config.{guess,sub}: update from config.
17265
17266 2003-10-02  Bruno Haible  <bruno@clisp.org>
17267
17268         * modules/lchown (Include): Add lchown.h.
17269         * modules/time_r (Include): Use "..." syntax.
17270         * modules/xgetdomainname (Include): Add xgetdomainname.h.
17271
17272 2003-10-01  Simon Josefsson  <jas@extundo.com>
17273
17274         * MODULES.html.sh (func_all_modules): Move gethostname from section
17275         'based on' to section 'lacking' POSIX:2001.
17276
17277 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
17278
17279         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
17280         to output mode on the same stream.
17281
17282 2003-09-29  Paul Eggert  <eggert@twinsun.com>
17283
17284         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
17285         Fix arg typo in previous patch.
17286
17287 2003-09-28  Jim Meyering  <jim@meyering.net>
17288
17289         * lib/error.c: Correct cpp indentation.
17290
17291 2003-09-27  Paul Eggert  <eggert@twinsun.com>
17292
17293         * modules/free: New file.
17294
17295 2003-09-27  Paul Eggert  <eggert@twinsun.com>
17296
17297         * m4/free.m4: New file.
17298
17299 2003-09-27  Paul Eggert  <eggert@twinsun.com>
17300
17301         * lib/minmax.h (MIN, MAX)
17302         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
17303         Omit the special code that used __typeof__, since we worry that
17304         it could be more trouble than it's worth.  See:
17305         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
17306         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
17307
17308         * lib/free.c: New file.
17309
17310 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
17311
17312         Trivial fixes to Makefile.am parts of module listings.
17313         * modules/strstr: Append strstr.h to lib_SOURCES.
17314         * modules/strcase: Likewise, for strcase.h.
17315
17316 2003-09-27  Karl Berry  <karl@gnu.org>
17317
17318         * config/mkinstalldirs: update from automake.
17319
17320 2003-09-26  Paul Eggert  <eggert@twinsun.com>
17321
17322         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
17323         (error_tail): Do not loop, reallocating temporary buffer, since
17324         the output cannot contain more wide characters than the input
17325         contains bytes, the size must be big enough already.  This avoids
17326         one potential size overflow calculation.  Check for size overflow
17327         when calculating temporary buffer size.  Free temporary buffer
17328         when done, if it was allocated with malloc; this plugs a memory
17329         leak.  Remove casts from void * to pointers, that are no longer
17330         needed now that we're assuming C89 or better.
17331
17332         Merge error changes from glibc.
17333
17334         * lib/error.c, error.h: Update copyright notice header to match glibc.
17335         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
17336         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
17337         Disable cancellation while printing error.
17338         * lib/error.h: Prepend __ to parameter names.
17339
17340 2003-09-26  Jim Meyering  <jim@meyering.net>
17341
17342         * lib/error.c (error_tail): Move some declarations
17343         into inner scope where the local variables are used.
17344
17345 2003-09-26  Bruno Haible  <bruno@clisp.org>
17346
17347         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
17348         stpncpy().
17349         Don't define stpncpy through config.h; it's now done through stpncpy.h.
17350
17351 2003-09-26  Bruno Haible  <bruno@clisp.org>
17352
17353         * lib/stpncpy.h (gnu_stpncpy): New declaration.
17354         (stpncpy): Define as alias for gnu_stpncpy.
17355         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
17356
17357 2003-09-25  Simon Josefsson  <jas@extundo.com>
17358
17359         * lib/xgetdomainname.h: New file.
17360         * lib/xgetdomainname.c: New file.
17361
17362 2003-09-25  Simon Josefsson  <jas@extundo.com>
17363             Bruno Haible  <bruno@clisp.org>
17364
17365         * modules/getdomainname: New file.
17366         * modules/xgetdomainname: New file.
17367         * MODULES.html.sh (func_all_modules): Add getdomainname,
17368         xgetdomainname.
17369
17370 2003-09-25  Simon Josefsson  <jas@extundo.com>
17371             Bruno Haible  <bruno@clisp.org>
17372
17373         * m4/getdomainname.m4: New file.
17374
17375 2003-09-25  Simon Josefsson  <jas@extundo.com>
17376             Bruno Haible  <bruno@clisp.org>
17377
17378         * lib/getdomainname.h: New file.
17379         * lib/getdomainname.c: New file.
17380
17381 2003-09-25  Karl Berry  <karl@gnu.org>
17382
17383         * lib/argp-fmtstream.c, argp-help.c: update from libc.
17384
17385 2003-09-25  Karl Berry  <karl@gnu.org>
17386
17387         * config/install-sh: update from automake.
17388
17389 2003-09-25  Bruno Haible  <bruno@clisp.org>
17390
17391         * modules/version-etc-2: New file, from modules/version-etc with
17392         modifications.
17393         * MODULES.html.sh (func_all_modules): Add version-etc-2.
17394
17395 2003-09-25  Bruno Haible  <bruno@clisp.org>
17396
17397         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
17398         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
17399
17400 2003-09-24  Simon Josefsson  <jas@extundo.com>
17401
17402         * modules/xgethostname: Add xgethostname.h.
17403
17404 2003-09-24  Paul Eggert  <eggert@twinsun.com>
17405
17406         * lib/linebuffer.c (freebuffer): Don't free the argument, just
17407         the buffer associated with the argument.  Bug reported by
17408         Simon Josefsson.
17409
17410 2003-09-24  Paul Eggert  <eggert@twinsun.com>
17411
17412         * README: Document assumptions that 'int' is at least 32 bits
17413         wide, that integer arithmetic is 2's complement without overflow,
17414         that there are no holes in integer values, that adding sizes of
17415         two nonoverlapping objects can't overflow, and that all-bits-zero
17416         yields scalar zero.  Fix spelling and capitalization typos.
17417
17418 2003-09-19  Karl Berry  <karl@gnu.org>
17419
17420         * lib/argp.h: update from libc.
17421
17422 2003-09-17  Paul Eggert  <eggert@twinsun.com>
17423
17424         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
17425         to avoid spurious warnings like "AC_RUN_IFELSE was called before
17426         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
17427
17428 2003-09-17  Paul Eggert  <eggert@twinsun.com>
17429
17430         * gnulib-tool: Use "test -h", not "test -L", for portability
17431         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
17432         (tags_regexp): Remove, since \| doesn't conform to POSIX.
17433         (sed_extract_prog): Issue s commands one-by-one, rather than
17434         using \| in one s command.
17435
17436 2003-09-16  Paul Eggert  <eggert@twinsun.com>
17437
17438         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
17439         input error, instead of returning NULL the next time we are called
17440         (and therefore losing track of errno).
17441
17442 2003-09-16  Bruno Haible  <bruno@clisp.org>
17443
17444         * gnulib-tool (func_create_testdir): Warn about duplicated
17445         dependencies.
17446
17447 2003-09-15  Paul Eggert  <eggert@twinsun.com>
17448
17449         * modules/argmatch, modules/fatal, modules/obstack,
17450         modules/xalloc, modules/xgethostname: Sort dependencies by
17451         importance, not alphabetically.
17452
17453 2003-09-15  Paul Eggert  <eggert@twinsun.com>
17454
17455         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
17456         fails, so that the caller gets the proper errno.
17457
17458         * lib/readutmp.c (read_utmp): Likewise.
17459         Check for fstat error.  Close stream and free storage
17460         when failing.
17461
17462 2003-09-14  Karl Berry  <karl@gnu.org>
17463
17464         * config/srclist.txt (strdup.c): disable for c89 changes.
17465
17466 2003-09-14  Jim Meyering  <jim@meyering.net>
17467
17468         * lib/getloadavg.c: Correct cpp indentation.
17469         * lib/strdup.c: Likewise.
17470         * lib/vasnprintf.c: Likewise.
17471
17472 2003-09-14  Bruno Haible  <bruno@clisp.org>
17473
17474         * modules/fwriteerror: New file.
17475         * MODULES.html.sh (func_all_modules): Add fwriteerror.
17476
17477 2003-09-14  Bruno Haible  <bruno@clisp.org>
17478
17479         * lib/fwriteerror.h: New file.
17480         * lib/fwriteerror.c: New file.
17481
17482 2003-09-12  Paul Eggert  <eggert@twinsun.com>
17483
17484         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
17485         modules/xgethostname, modules/xalloc: Depend on exit.
17486
17487 2003-09-12  Paul Eggert  <eggert@twinsun.com>
17488
17489         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
17490
17491         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
17492         and AC_MINIX, too, so that their extensions are available.
17493
17494         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
17495         This macro has been superseded by gl_BACKUPFILE.
17496
17497         More patches to assume C89 or better.
17498
17499         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
17500
17501         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
17502         unconditionally.
17503         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
17504         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
17505         Include <string.h>, <stdlib.h> unconditionally.
17506         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
17507         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
17508         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
17509         headers or for string.h.
17510         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
17511         or strtoul.
17512
17513         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
17514         headers.
17515         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
17516         * m4/userspec.m4 (gl_USERSPEC): Likewise.
17517         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
17518         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
17519         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
17520         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
17521         memcpy, memset.
17522         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
17523         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
17524         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
17525         strtol.
17526         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
17527         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
17528         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
17529         strtoul.
17530
17531 2003-09-12  Paul Eggert  <eggert@twinsun.com>
17532
17533         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
17534         * lib/obstack.c [!defined _LIBC]: Likewise.
17535         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
17536         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
17537         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
17538
17539         More changes to assume C89 or better.
17540
17541         * lib/error.c (error_tail): Assume vprintf.
17542
17543         * lib/argmatch.c (getenv): Remove decl.
17544         * lib/progreloc.c (get_full_program_name): Define via prototype.
17545         * lib/setenv.c (clearenv): Likewise.
17546         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
17547         needed.
17548         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
17549         (malloc, memcpy): Remove decls.
17550         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
17551         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
17552         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
17553         (memcpy): Remove macro.
17554         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
17555         (__P): Remove.  All uses removed.
17556         (PTR): Remove.  All uses changed to void *.
17557         (CHAR_BIT, NULL): Remove.
17558         (spaces, zeros, memset_space, memset_zero)
17559         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
17560         Remove.
17561         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
17562         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
17563         Define with prototype.
17564         Remove now-unnecessary prototype decl.
17565         (extra_args_spec): Assume ANSI C.  All uses changed.
17566         (extra_args_spec_iso): Remove.
17567         (my_strftime, emacs_strftimeu): Define via prototype.
17568         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
17569         unconditionally.
17570         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
17571         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
17572         (strtoul, strtol): Remove decls.
17573         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
17574         LONG_MAX): Remove.
17575         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
17576         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
17577         (LOCALE_PARAM_PROTO): New macro.
17578         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
17579         (INTERNAL (strtol), strtol): Define with a prototype.
17580         (PARAMS): Remove.  All uses removed.
17581         * lib/tempname.c: Include <string.h> unconditionally.
17582         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
17583         * lib/xgethostname.c (main): Define with a prototype.
17584         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
17585         Include <stdlib.h> unconditionally.
17586         (calloc, malloc, realloc, free): Remove decls.
17587         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
17588         Include <stdlib.h> unconditionally.  Sort include file names.
17589         (strtod): Remove.
17590         (xstrtod): Define with a prototype.
17591         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
17592         (strtol, strtoul): Remove decls.
17593
17594 2003-09-11  Paul Eggert  <eggert@twinsun.com>
17595
17596         More patches to assume C89 or better.
17597         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
17598         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
17599         string.h, memchr, STDC_HEADERS.
17600
17601 2003-09-11  Paul Eggert  <eggert@twinsun.com>
17602
17603         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
17604         Include <stdlib.h>, <string.h> unconditionally.
17605         Remove now-unnecessary cast to char *.
17606         * lib/strnlen.c: Include <string.h> unconditionally.
17607         * lib/yesno.c (yesno): Define with a prototype.
17608
17609 2003-09-11  Bruno Haible  <bruno@clisp.org>
17610
17611         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
17612
17613 2003-09-10  Jim Meyering  <jim@meyering.net>
17614
17615         * lib/error.c: Correct indentation of cpp directives.
17616
17617 2003-09-10  Bruno Haible  <bruno@clisp.org>
17618
17619         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
17620         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
17621         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
17622         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
17623         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
17624         <stdlib.h> and <string.h> checks.
17625         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
17626         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
17627
17628 2003-09-10  Bruno Haible  <bruno@clisp.org>
17629
17630         * lib/strcspn.c: Include <string.h> unconditionally.
17631         * lib/strpbrk.c: Include <string.h> unconditionally.
17632         * lib/strstr.c: Include <string.h> unconditionally.
17633         * lib/unicodeio.c: Include <string.h> unconditionally.
17634         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
17635         * lib/unsetenv.c: Likewise.
17636         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
17637         * lib/yesno.c: Include <stdlib.h> unconditionally.
17638         (rpmatch): Add prototype.
17639
17640 2003-09-09  Paul Eggert  <eggert@twinsun.com>
17641
17642         More patches to assume C89 or better.
17643         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
17644         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
17645         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
17646         or for string.h.
17647         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
17648         stdlib.h.
17649         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
17650         C headers.
17651         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
17652         string.h.
17653         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
17654         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
17655         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
17656         or for string.h.
17657         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
17658         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
17659         C headers.
17660         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
17661         memcpy.
17662         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
17663         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
17664         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
17665         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
17666         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
17667         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
17668         string.h, free.
17669         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
17670         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
17671         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
17672         C headers, or for string.h.
17673         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
17674         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
17675         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
17676         headers, memory.h, stdlib.h, string.h, strings.h.
17677         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
17678         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
17679         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
17680         strchr.
17681         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
17682         headers, memory.h, string.h.
17683         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
17684         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
17685         free.
17686         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
17687         headers.
17688         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
17689         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
17690         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
17691         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
17692         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
17693
17694 2003-09-09  Paul Eggert  <eggert@twinsun.com>
17695
17696         More K&R removal.
17697
17698         * lib/acosl.c (main): Use a prototype.
17699         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
17700         tanl.c: Likewise.
17701
17702         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
17703
17704         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
17705         (getopt, etopt_long, getopt_long_only, _getopt_internal)
17706         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
17707         with a prototype.
17708         * lib/getopt.c (const): Remove macro.
17709         Include <string.h> unconditionally.
17710         (my_index): Remove; all uses changed to strchr.
17711         (strlen): Remove decl.
17712         (exchange): Remove forward decl; no longer needed.
17713         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
17714         Define with prototype.
17715         * lib/getopt1.c (const): Remove macro.
17716         (getopt_long, getopt_long_only, main): Define with prototype.
17717
17718         * lib/getugroups.c: Include <string.h> unconditionally.
17719
17720         * lib/getusershell.c: Include <stdlib.h> unconditionally.
17721         (getusershell, setusershell, endusershell, readname, main):
17722         Define with prototypes.
17723
17724         * lib/group-member.c: Include group-member.h first.
17725         Include <stdlib.h> unconditionally.
17726
17727         * lib/hard-locale.c: Include hard-locale.h first.
17728         Include <stdlib.h>, <string.h> unconditionally.
17729
17730         * lib/hash.c (free, malloc): Remove decls.
17731         Include <stdlib.h> unconditionally.
17732
17733         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
17734         (getenv): Do not declare.
17735
17736         * lib/idcache.c: Include <string.h> unconditionally.
17737
17738         * lib/long-options.c: Include long-options.h first, to test interface.
17739         Include <stdlib.h> unconditionally.
17740
17741         * lib/makepath.c: Include makepath.h first, to test interface.
17742         Include <stdlib.h> and <string.h> unconditionally.
17743
17744         * lib/linebuffer.c: Include <stdlib.h>.
17745         (free): Remove decl.
17746
17747         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
17748         stddef.h. rpl_malloc returns void *, not char *.
17749         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
17750         prototype.
17751
17752         * lib/md5.h: Include <limits.h> unconditionally.
17753         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
17754         (__P): Remove; all uses removed.
17755         * lib/md5.c: Include "md5.h" first.
17756         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
17757         md5_buffer, md5_process_bytes, md5_process_block):
17758         Define with prototypes.
17759         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
17760         * lib/sha.c: Include "sha.h" first.
17761         Include <stdlib.h>, <string.h> unconditionally.
17762
17763         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
17764         * lib/memcmp.c (__ptr_t): Likewise.
17765         * lib/memrchr.c (__ptr_t): Likewise.
17766         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
17767         Include <string.h> unconditionally.
17768         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
17769         * lib/memchr.c: Include <stdlib.h> unconditionally.
17770         * lib/memchr.c (LONG_MAX): Remove.
17771         * lib/memrchr.c (LONG_MAX): Likewise.
17772         * lib/memchr.c (__memchr): Define via a prototype.
17773         * lib/memrchr.c (__memrchr): Likewise.
17774         * lib/memcmp.c (__P): Remove, and remove all uses.
17775         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
17776         Remove forward decls; no longer needed.
17777         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
17778         Use types required by C89 in prototype.
17779
17780         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
17781         * lib/savedir.c: Likewise.
17782         * lib/mkdir.c (free): Remove decl.
17783         * lib/rmdir.c (rmdir): Define with a prototype.
17784         * lib/savedir.c: Include savedir.h first, to test interface.
17785
17786         * lib/mktime.c (STDC_HEADERS): Remove.
17787         Include <stdlib.h>, <string.h> unconditionally.
17788
17789         * lib/modechange.c: Include <stdlib.h> unconditionally.
17790         (malloc): Remove decl.
17791
17792         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
17793         (free): Remove decl.
17794
17795         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
17796         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
17797         (This type really should be intptr_t, but that's a C99ism.)
17798         (_obstack_memcpy): Remove: all uses changed to memcpy.
17799         Include <string.h> unconditionally.
17800         (struct obstack): Assume __STDC__ for types of members
17801         chunkfun, freefun, extra_arg.
17802         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
17803         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
17804         obstack_begin, obstack_specify_allocation,
17805         obstack_specify_allocation_with_arg, obstack_chunkfun,
17806         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
17807         Remove unprototyped decls and the macros that use them.
17808         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
17809         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
17810         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
17811         (defined __STDC__ && __STDC__)]:
17812         Remove nonprototyped code.
17813         Include <stdlib.h> unconditionally.
17814         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
17815         _obstack_allocated_p, _obstack_free, obstack_free,
17816         _obstack_memory_used, print_and_abort):
17817         Define using prototypes.
17818         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
17819         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
17820         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
17821         obstack_next_free, obstack_object_size, obstack_room) [0]:
17822         Remove unused, unprototyped code.
17823
17824         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
17825
17826         * lib/physmem.c (physmem_total, physmem_available, main): Define
17827         with prototypes.
17828
17829         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
17830         (main): Define with a prototype.
17831
17832         * lib/posixver.c (getenv): Remove decl.
17833
17834         * lib/putenv.c (malloc): Returns void *, not char *.
17835         Include <string.h> unconditionally.
17836         (strchr, memcpy, NULL): Do not define.
17837
17838         * lib/readtokens.c: Include readtokens.h first, to test interface.
17839         Include <stdlib.h>, <string.h> unconditionally.
17840         (init_tokenbuffer): Define with a prototype.
17841
17842         * lib/regex.c (PARAMS): Remove.  All uses removed.
17843         All uses of _RE_ARGS removed, too.
17844         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
17845         unconditionally.
17846         (bzero): Assume memset exists.
17847         (memcmp, memcpy, NULL): Remove.
17848         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
17849         char, or assignments to local vars of type signed char.
17850         (init_syntax_once, PREFIX(extract_number_and_incr),
17851         PREFIX(print_partial_compiled_pattern),
17852         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
17853         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
17854         PREFIX(regex_grow_registers), PREFIX(regex_compile),
17855         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
17856         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
17857         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
17858         wcs_compile_range, byte_compile_range, truncate_wchar,
17859         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
17860         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
17861         count_mbs_length, wcs_re_match_2_internal,
17862         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
17863         PREFIX(alt_match_null_string_p),
17864         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
17865         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
17866         regfree, PREFIX(extract_number)): Define with prototype.  Remove
17867         now-unnecessary declaration, if any.
17868         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
17869         regcomp, regexec):
17870         Remove now-unnecessary casts among pointer types.
17871         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
17872
17873         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
17874         (free): Remove decl.
17875
17876         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
17877
17878         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
17879         (free): Remove decl.
17880
17881         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
17882         * lib/xgetcwd.c: Likewise.
17883
17884         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
17885         (free): Remove decl.
17886
17887         * lib/strchrnul.c (strchrnul): Define with a prototype.
17888         Fix bug: c_in was not converted to char before searching.
17889
17890         The following changes are not K&R related:
17891
17892         * lib/group-member.h: Include <sys/types.h>, so that this file is
17893         self-contained.
17894         * lib/makepath.h: Likewise.
17895
17896         * lib/getusershell.c (readname, default_index, line_size, readname):
17897         Use size_t, not int, for sizes.
17898         (readname): If the size overflows, report an error instead of
17899         looping forever.
17900
17901 2003-09-09  Paul Eggert  <eggert@twinsun.com>
17902
17903         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
17904         libc.
17905
17906 2003-09-09  Paul Eggert  <eggert@twinsun.com>
17907
17908         * README: New section: portability guidelines.
17909
17910 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
17911
17912         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
17913         C89 spec.
17914
17915 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
17916
17917         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
17918
17919 2003-09-08  Paul Eggert  <eggert@twinsun.com>
17920
17921         Assume C89 or better; remove K&R cruft.
17922         A few of these changes were first proposed by Derek Robert Price
17923         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
17924
17925         * lib/addext.c: Include <string.h> unconditionally.
17926         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
17927         Don't declare getenv or malloc.
17928
17929         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
17930         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
17931         (NULL): Remove.
17932         (find_stack_direction, alloca): Use prototypes.
17933
17934         * lib/atexit.c (atexit): Define using a prototype.
17935
17936         * lib/basename.c, dirname.c, stripslash.c:
17937         Include <string.h> unconditionally.
17938
17939         * lib/bcopy.c: Include <stddef.h>.
17940         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
17941
17942         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
17943
17944         * lib/error.h (error, error_at_line, error_print_progname)
17945         [! (defined (__STDC__) && __STDC__)]: Remove decls.
17946         * lib/error.c: Include error.h first, to check interface.
17947         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
17948         (VA_START): Remove; all uses changeed to va_start.
17949         (exit, strerror): Remove decls.
17950         (error_print_progname): Prototype uncondionally.
17951         Don't include <errno.h>; no longer needed.
17952         (private_strerror): Remove.
17953         (error_tail): Always define.
17954         (error, error_at_line): Assume C89 or better; always use prototypes.
17955         * lib/fatal.c: Include "fatal.h" first, to test interface.
17956         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
17957         (VA_START): Remove; all uses changed to va_start.
17958         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
17959         this case.
17960         (exit): Remove decl.
17961         (fatal): Prototype unconditionally.  Assume va_start works.
17962         Abort at end, to pacify gcc.
17963
17964         * lib/euidaccess.c (main): Define with a prototype.
17965
17966         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
17967
17968         * lib/exitfail.c: Include <stdlib.h> unconditionally.
17969
17970         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
17971         prototypes.
17972         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
17973         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
17974         (getenv): Remove decl.
17975         (fnmatch): Define using a prototype.
17976         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
17977         (FCT): Define using a prototype.
17978
17979         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
17980
17981         * lib/gethostname.c: Include <stddef.h>.
17982         (gethostname): Define with prototype.  Length is size_t, not int.
17983
17984 2003-09-08  Paul Eggert  <eggert@twinsun.com>
17985
17986         Assume C89 or better; remove K&R cruft.
17987         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
17988         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
17989         string.h, getenv, malloc.
17990         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
17991         headers.
17992         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
17993         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
17994         do not check for strerror.
17995         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
17996         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
17997         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
17998         do not check for doprnt or vprintf.
17999         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
18000         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
18001
18002 2003-09-08  Paul Eggert  <eggert@twinsun.com>
18003
18004         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
18005         getversion.c should have been removed then, but was accidentally
18006         preserved.
18007
18008         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
18009         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
18010
18011 2003-09-08  Karl Berry  <karl@gnu.org>
18012
18013         * config/config.sub, config.guess, srclistvars.sh: update from savannah
18014                 config, forget about prep.
18015
18016         * config/depcomp, missing: update from automake.
18017
18018 2003-09-07  Paul Eggert  <eggert@twinsun.com>
18019
18020         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
18021         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
18022
18023 2003-09-07  Paul Eggert  <eggert@twinsun.com>
18024
18025         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
18026         copy_tm_result.  Bug reported by Simon Josefsson in
18027         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
18028
18029 2003-09-06  Paul Eggert  <eggert@twinsun.com>
18030
18031         * m4/time_r.m4: New file.
18032         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
18033         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
18034         is. Check for timegm declaration.
18035         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
18036         Do not check for gmtime_r.
18037         Replace mktime if __mktime_internal does not exist and if mktime
18038         hasn't been replaced already.
18039
18040 2003-09-06  Paul Eggert  <eggert@twinsun.com>
18041
18042         * lib/time_r.c, lib/time_r.h: New files.
18043
18044         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
18045         __localtime_r.
18046         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
18047         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
18048
18049         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
18050         __gmtime_r.
18051         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
18052         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
18053         Include <time_r.h>.
18054
18055         * lib/timegm.c: Switch to glibc implementation, with the following
18056         changes:
18057         [defined HAVE_CONFIG_H]: Include <config.h>.
18058         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
18059         (__mktime_internal) [!defined _LIBC]: New decl.
18060         (__gmtime_r) [!defined _LIBC]: New macro and function.
18061         (timegm): Use a prototype, since gnulib assumes C89.
18062         Do not bother declaring tmp to be const, as it's not really usefu.
18063         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
18064         (timegm): Declare only if HAVE_DECL_TIMEGM.
18065
18066 2003-09-06  Paul Eggert  <eggert@twinsun.com>
18067
18068         * MODULES.html.sh (func_all_modules): Add time_r.
18069         * modules/time_r: New file.
18070         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
18071         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
18072
18073 2003-09-03  Paul Eggert  <eggert@twinsun.com>
18074
18075         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
18076         Bug reported by Lute Kamstra in
18077         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
18078
18079         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
18080         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
18081         course with correspondingly smaller numbers for tomorrow and
18082         yesterday.  From Tadayoshi Funaba.  Originally installed into
18083         sh-utils on 1999-08-07, but the patch got lost (I guess during the
18084         coreutils merge?).
18085
18086 2003-08-31  Simon Josefsson  <jas@extundo.com>
18087
18088         * modules/timegm: New file.
18089         * MODULES.html.sh (func_all_modules): Add timegm.
18090
18091 2003-08-31  Simon Josefsson  <jas@extundo.com>
18092
18093         * m4/timegm.m4: New file.
18094
18095 2003-08-31  Simon Josefsson  <jas@extundo.com>
18096
18097         * lib/timegm.h: New file.
18098         * lib/timegm.c: New file.  Based on
18099         wget-1.8.2/src/http.c:mktime_from_utc.
18100
18101 2003-08-31  Karl Berry  <karl@gnu.org>
18102
18103         * lib/argp.h: update from libc.
18104
18105 2003-08-28  Bruno Haible  <bruno@clisp.org>
18106
18107         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
18108         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
18109         followed by '#define fnmatch fnmatch_posix' gives an error.
18110
18111 2003-08-28  Bruno Haible  <bruno@clisp.org>
18112
18113         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
18114         warning on QNX, which defines O_BINARY to 000000.
18115
18116 2003-08-27  Jim Meyering  <jim@meyering.net>
18117
18118         * m4/mkstemp.m4: Require that the system mkstemp be able to create
18119         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
18120         would fail after 32.  Reported by Danny Levinson.  Details here:
18121         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
18122
18123 2003-08-24  Bruno Haible  <bruno@clisp.org>
18124
18125         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
18126         MSVC7 <stdio.h> is included later.
18127
18128 2003-08-22  Simon Josefsson  <jas@extundo.com>
18129
18130         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
18131
18132 2003-08-20  Karl Berry  <karl@gnu.org>
18133
18134         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
18135
18136 2003-08-20  Bruno Haible  <bruno@clisp.org>
18137
18138         * modules/progname: New file.
18139         * MODULES.html.sh (func_all_modules): Add progname.
18140
18141 2003-08-20  Bruno Haible  <bruno@clisp.org>
18142
18143         * lib/progname.h: New file, from GNU gettext.
18144         * lib/progname.c: New file, from GNU gettext.
18145         * lib/progreloc.c: New file, from GNU gettext.
18146
18147 2003-08-19  Jim Meyering  <jim@meyering.net>
18148
18149         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
18150         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
18151
18152 2003-08-19  Bruno Haible  <bruno@clisp.org>
18153
18154         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
18155         more.
18156
18157 2003-08-19  Bruno Haible  <bruno@clisp.org>
18158
18159         * lib/xstrdup.c: Assume <string.h> exists.
18160
18161 2003-08-18  Paul Eggert  <eggert@twinsun.com>
18162
18163         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
18164         in makefile rules.
18165
18166 2003-08-18  Jim Meyering  <jim@meyering.net>
18167
18168         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
18169         * m4/lib-ld.m4: Likewise.
18170
18171 2003-08-18  Jim Meyering  <jim@meyering.net>
18172
18173         * lib/setenv.h: Indent nested cpp directive.
18174         * lib/vasnprintf.c: Remove trailing blanks.
18175
18176 2003-08-17  Simon Josefsson  <jas@extundo.com>
18177
18178         * modules/xstrndup: New file.
18179         * MODULES.html.sh (func_all_modules): Add xstrndup.
18180
18181 2003-08-17  Simon Josefsson  <jas@extundo.com>
18182
18183         * modules/argp: Fix autoconf macro name. Add more dependencies.
18184
18185 2003-08-17  Simon Josefsson  <jas@extundo.com>
18186
18187         * m4/xstrndup.m4: New file.
18188
18189 2003-08-17  Simon Josefsson  <jas@extundo.com>
18190
18191         * m4/argp.m4: New file.
18192
18193 2003-08-17  Simon Josefsson  <jas@extundo.com>
18194             Bruno Haible  <bruno@clisp.org>
18195
18196         * lib/xstrndup.h: New file.
18197         * lib/xstrndup.c: New file.
18198
18199 2003-08-17  Bruno Haible  <bruno@clisp.org>
18200
18201         * modules/strndup (Files, Include): Add lib/strndup.h.
18202
18203 2003-08-17  Bruno Haible  <bruno@clisp.org>
18204
18205         * modules/euidaccess (Files): Add lib/euidaccess.h.
18206
18207 2003-08-17  Bruno Haible  <bruno@clisp.org>
18208
18209         * lib/strndup.h: New file.
18210
18211 2003-08-17  Bruno Haible  <bruno@clisp.org>
18212
18213         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
18214         like AC_GNU_SOURCE.
18215         * modules/extensions (configure.ac): Comment out the invocation of
18216         gl_USE_SYSTEM_EXTENSIONS.
18217
18218 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18219
18220         Merges from coreutils, etc.
18221         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
18222         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
18223         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
18224         fixing a typo.
18225         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
18226         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
18227
18228 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18229
18230         Document merge from coreutils.
18231         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
18232         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
18233         * modules/utime: Add m4/utimes-null.m4.
18234
18235 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18236
18237         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
18238         space, undoing this 2003-08-12 change:
18239         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
18240
18241 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18242
18243         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
18244         strtoul.c from libc, undoing this 2003-08-12 change:
18245         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
18246
18247 2003-08-16  Jim Meyering  <jim@meyering.net>
18248
18249         Merges from coreutils.
18250         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
18251         prefix.  Adjust cache variables similarly.  Create 500 rather than
18252         just 300 files, to exercise bug on Darwin6.5, too.
18253         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
18254         $missing_dir.
18255         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
18256         AM_SYS_POSIX_TERMIOS.
18257         Reported by mkc@mathdogs.com.
18258         Also change use of $am_cv_sys_posix_termios
18259         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
18260         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
18261         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
18262         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
18263         in /proc/mounts until it finds one with matching device number.  This
18264         is unnecessary when the FILE argument *is* a mount point.  No stat call
18265         is necessary in that case.  So, disable the statvfs-testing code on
18266         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
18267         as RedHat bug# 84846.
18268         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
18269         to 1MB, so as not to render systems with no stack size limit (e.g.,
18270         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
18271         Include <unistd.h>.  On some systems,
18272         it is required for the definition of _SC_PAGESIZE.
18273
18274 2003-08-16  Jim Meyering  <jim@meyering.net>
18275
18276         Merge from coreutils.
18277         * lib/xstrtoimax.c: #else #if -> #elif.
18278         * lib/xstrtoumax.c: Likewise.
18279
18280 2003-08-16  Jim Meyering  <jim@meyering.net>
18281
18282         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
18283         * m4/utimes.m4: Removed.
18284         * m4/utimes-null.m4: Renamed from utimes.m4.
18285
18286         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
18287         to 1MB, so as not to render systems with no stack size limit (e.g.,
18288         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
18289         Include <unistd.h>.  On some systems,
18290         it is required for the definition of _SC_PAGESIZE.
18291
18292 2003-08-16  Jim Meyering  <jim@meyering.net>
18293         and Paul Eggert  <eggert@cs.ucla.edu>
18294
18295         Merges from coreutils, etc.
18296
18297         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
18298         using the latest version from cvs.  This avoids problems with #line
18299         directives using a vendor (Sun) compiler.
18300         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
18301         Don't set GETGROUPS_LIB here; now it's
18302         done via getgroups.m4's wrapper function.
18303         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
18304         rather than just in sh-util/configure.in, so that the
18305         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
18306         same.
18307         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
18308         AC_FUNC_GETLOADAVG where to find getloadavg.c.
18309         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
18310         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
18311         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
18312         Remove code that is now done by the newly-required macros.
18313         Append $(EXEEXT) to DF_PROG.
18314         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
18315         Do not invoke or require the following here,
18316         since prereq.m4 or some gnulib .m4 now does this for us:
18317         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
18318         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
18319         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
18320         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
18321         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
18322         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
18323         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
18324         AC_FUNC_OBSTACK.
18325         Do not replace the following functions, as this is now the job
18326         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
18327         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
18328         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
18329         atexit getpass, strdup, getpagesize.
18330         Replace 'raise'.
18331         Do not check for the following functions, as this is now the job
18332         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
18333         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
18334         setregid.
18335         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
18336         Check for sys/sysctl.h.
18337         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
18338         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
18339         of checking for ssize_t ourselves.
18340
18341         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
18342         Require every macro that gnulib/modules/* suggests for us.
18343         (jm_PREREQ_ADDEXT): New macro.
18344         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
18345         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
18346
18347         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
18348         (gl_PHYSMEM): Use it.
18349         Also check for `table' function.
18350         Check for new headers and functions.
18351         Add check for sys/sysmp.h.
18352         With suggestions from Kaveh Ghazi.
18353         Ignore headers that are present but cannot be compiled.  This
18354         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
18355         C 5.4.
18356
18357 2003-08-15  Paul Eggert  <eggert@twinsun.com>
18358
18359         Document merge from coreutils.
18360         * modules/userspec: Depend on posixver.
18361         * modules/strftime: Depend on tzset.
18362
18363 2003-08-15  Paul Eggert  <eggert@twinsun.com>
18364
18365         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
18366         rather than tab, after '#' in shell-script copyright notices.
18367         Suggested by Bruno Haible.
18368
18369 2003-08-15  Paul Eggert  <eggert@twinsun.com>
18370
18371         * config/srclist-update: Use three spaces, rather than tab, after '#'
18372         in shell-script copyright notices.  Suggested by Bruno Haible.
18373         Remove unnecessary parenthesization in regular expression.
18374
18375 2003-08-15  Jim Meyering  <jim@meyering.net>
18376
18377         Merge from coreutils.
18378         * lib/xgethostname.c: Include <stdlib.h>.
18379         (xghostname): Don't exit for anything other than memory-related
18380         failure; just return NULL.
18381         * lib/userspec.c: Include "posixver.h".
18382         (parse_user_spec): Accept `.' as a separator only
18383         in pre-POSIX-200112 mode.
18384         * lib/strtoimax.c: Use #elif rather than #else #if.
18385         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
18386         Remove function, now that we can rely on a working tzset function.
18387         [!_LIBC]: Ensure that the required autoconf test has been run.
18388         [!defined _NL_CURRENT && HAVE_STRFTIME]:
18389         Use underlying_strftime for %r.
18390         * lib/sha.c: Merge in some clean-up and optimization changes from
18391         glibc.
18392         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
18393         Ensure that it is a multiple of 64.
18394         Rearrange loop exit tests so as to avoid performing an
18395         additional fread after encountering an error or EOF.
18396         * lib/realloc.c: Update copyright date.
18397
18398 2003-08-15  Jim Meyering  <jim@meyering.net>
18399         and Paul Eggert  <eggert@twinsun.com>
18400
18401         Merge from coreutils.
18402         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
18403         member but strut utmpx does not.  Needed for AIX 4.3.3.
18404         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
18405
18406 2003-08-15  Jim Meyering  <jim@meyering.net>
18407         and Paul Eggert  <eggert@cs.ucla.edu>
18408
18409         Merges from coreutils, etc.
18410         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
18411         Require gl_FUNC_TZSET_CLOBBER.
18412         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
18413         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
18414         members.
18415
18416 2003-08-14  Paul Eggert  <eggert@twinsun.com>
18417
18418         Help the merge from coreutils.
18419         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
18420         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
18421         * m4/tzset.m4: Use it too.
18422
18423 2003-08-14  Paul Eggert  <eggert@twinsun.com>
18424
18425         * modules/tzset: New file.
18426
18427 2003-08-14  Jim Meyering  <jim@meyering.net>
18428
18429         Merges from coreutils.
18430         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
18431         variable names, rather than @FNMATCH_H@.
18432         * modules/alloca: Likewise for $(ALLOCA_H).
18433
18434         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
18435         the three copies of the literal target, `fnmatch.h'.
18436         * modules/alloca (alloca.h): Likewise.
18437
18438 2003-08-14  Jim Meyering  <jim@meyering.net>
18439
18440         Merge from coreutils.
18441         * m4/tzset.m4: New file.
18442         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
18443         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
18444         otherwise, AIX 5.1 systems would end up using the latter.
18445         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
18446         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
18447         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
18448         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
18449
18450 2003-08-14  Jim Meyering  <jim@meyering.net>
18451
18452         Merge from coreutils.
18453         * lib/obstack.h: Whitespace changes.
18454         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
18455         and xcalloc return values.
18456         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
18457         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
18458         hang on OSF/1 5.1 for DIR on both local and remote file systems.
18459         Reported by (and fix confirmed by) Nelson H. F. Beebe.
18460         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
18461         error from mntctl.
18462         Use mntctl's return value to drive the entry-processing loop, since
18463         we can't rely on the value of the vmt_length member in the last
18464         entry.  On some systems doing so could result in exhausting
18465         virtual memory.  Based in part on a patch from Mike Jetzer.
18466
18467 2003-08-14  Jim Meyering  <jim@meyering.net>
18468         and Paul Eggert  <eggert@twinsun.com>
18469
18470         Merges from coreutils, plus other fixes.
18471         * lib/physmem.c: Merge in portability changes from gcc/libiberty
18472         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
18473         for credits and details.  Thanks to Kaveh Ghazi for helping
18474         to keep these files in sync.
18475         (ARRAY_SIZE): Define it.
18476         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
18477         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
18478         (memcasecmp): Don't assume size_t fits in unsigned int.
18479         Remove casts and duplicate code.
18480         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
18481         (memcpy): Remove definition.
18482         Merge in some clean-up and optimization changes from glibc.
18483         [BLOCKSIZE]: Move definition to top of file.
18484         Ensure that it is a multiple of 64.
18485         Rearrange loop exit tests so as to avoid performing an
18486         additional fread after encountering an error or EOF.
18487         * lib/md5.h (md5_uintptr): Define.
18488         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
18489         return to the initial working directory.  Preserve errno
18490         for caller.
18491         * lib/idcache.c: Include "xalloc.h".
18492         (xmalloc, xrealloc): Remove decls.
18493         (getuser): Remove casts no longer required in C89.
18494         * lib/human.c: Include stdio.h, for sprintf.
18495         * lib/group-member.c: Include "xalloc.h".
18496         (xmalloc, xrealloc): Remove decls.
18497         (get_group_info): Remove casts no longer required in C89.
18498         * lib/getusershell.c (readname): Remove casts no longer required in
18499         C89.
18500         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
18501         * lib/getline.c: Whitespace fix, from coreutils.
18502
18503 2003-08-13  Paul Eggert  <eggert@twinsun.com>
18504
18505         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
18506         Check for isascii.
18507
18508         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
18509         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
18510         Undo previous (whitespace-only) change.
18511
18512 2003-08-13  Paul Eggert  <eggert@twinsun.com>
18513
18514         * lib/exclude.c: Include <ctype.h>
18515         (IN_CTYPE_DOMAIN): New macro.
18516         (is_space): New fn.
18517         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
18518         and empty lines.
18519
18520         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
18521         Undo previous (whitespace-only) change.
18522
18523 2003-08-13  Paul Eggert  <eggert@twinsun.com>
18524
18525         * config/srclist-update: Change update back to the old behavior,
18526         leaving whitespace alone.  Use one 'sed' command rather than a
18527         pipeline.
18528         (fixlicense): Now a variable, not a function.
18529         (remove_trailing_blanks): Remove.
18530         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
18531         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
18532         Undo previous (whitespace-only) change.
18533
18534 2003-08-12  Paul Eggert  <eggert@twinsun.com>
18535
18536         Merge from coreutils.
18537         * modules/euidaccess: Add lib_SOURCES, include for new
18538         file euidaccess.h
18539
18540 2003-08-12  Paul Eggert  <eggert@twinsun.com>
18541
18542         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
18543         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
18544         Normalize leading white space and remove trailing white space.
18545
18546         Merge from coreutils
18547         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
18548
18549         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
18550         0.12.1.  These files are now being upgraded automatically by
18551         ../config/srclist-update.
18552
18553 2003-08-12  Paul Eggert  <eggert@twinsun.com>
18554
18555         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
18556         Normalize leading white space and remove trailing white space.
18557         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
18558         notice, as per ../config/srclist-update.
18559
18560         Merge from coreutils.
18561         * lib/euidaccess.h: New file.
18562         * lib/euidaccess.c: Include it.
18563         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
18564         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
18565         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
18566
18567 2003-08-12  Paul Eggert  <eggert@twinsun.com>
18568
18569         * config/srclist-update: Add copyright notice.
18570         (remove_id_lines, remove_trailing_blanks): New constants.
18571         (fixfile): Use them to normalize spacing a bit in copied files.
18572         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
18573         Normalize leading white space and remove trailing white space.
18574
18575         * config/texinfo.tex: Sync with texinfo.
18576
18577         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
18578         strtoul.c from libc, to merge coreutils whitespace changes.
18579
18580         * config/srclist.txt: Get the following m4 files from gettext:
18581         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
18582         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
18583         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
18584         wint_t.m4.
18585
18586 2003-08-12  Karl Berry  <karl@gnu.org>
18587
18588         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
18589         been made.
18590
18591 2003-08-11  Paul Eggert  <eggert@twinsun.com>
18592
18593         * modules/gnu-source, m4/gnu-source.m4:
18594         Remove; we're assuming Autoconf 2.54 or later now.
18595         Suggested by Bruno Haible.
18596         * MODULES.html.sh (func_all_modules): Remove gnu-source.
18597
18598 2003-08-11  Bruno Haible  <bruno@clisp.org>
18599
18600         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
18601
18602 2003-08-11  Bruno Haible  <bruno@clisp.org>
18603
18604         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
18605         (vasnprintf): Use it instead of wcslen.
18606
18607 2003-08-11  Bruno Haible  <bruno@clisp.org>
18608
18609         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
18610         value to ensure that _Bool promotes to int. Use #define for _Bool when
18611         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
18612
18613 2003-08-10  Karl Berry  <karl@gnu.org>
18614
18615         * lib/regex.h: update from libc (whitespace fix).
18616
18617 2003-08-09  Paul Eggert  <eggert@twinsun.com>
18618
18619         Merge some files from coreutils.  These changes were
18620         originally made by Jim Meyering.
18621         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
18622         many older Unixes require this.
18623         * lib/alloca.c (alloca): Remove cast to argument of free;
18624         no longer needed in C89.
18625         * lib/alloca_.h, regex.h: Fix white space to match
18626         what GNU indent does.
18627
18628 2003-08-09  Paul Eggert  <eggert@twinsun.com>
18629
18630         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
18631         apparently Emacs's Unicode mode got confused before my 2003-08-05
18632         checkin.
18633
18634 2003-08-08  Paul Eggert  <eggert@twinsun.com>
18635
18636         * m4/extensions.m4: New file.
18637         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
18638         Require gl_USE_SYSTEM_EXTENSIONS.
18639         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
18640         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
18641
18642 2003-08-08  Paul Eggert  <eggert@twinsun.com>
18643
18644         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
18645         * modules/extensions, modules/gnu-source: New files.
18646         * modules/timespec, modules/unlocked-io: Depend on extensions.
18647
18648 2003-08-07  Paul Eggert  <eggert@twinsun.com>
18649
18650         * modules/restrict: New file.
18651         * MODULES.html.sh (func_all_modules): Add restrict.
18652         * modules/regex: Depend on restrict.
18653
18654 2003-08-07  Paul Eggert  <eggert@twinsun.com>
18655
18656         * m4/restrict.m4: New file.
18657         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
18658
18659 2003-08-07  Bruno Haible  <bruno@clisp.org>
18660
18661         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
18662         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
18663
18664 2003-08-07  Bruno Haible  <bruno@clisp.org>
18665
18666         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
18667         makes the module 'getndelim2' compatible with the module 'getline'.
18668
18669 2003-08-05  Paul Eggert  <eggert@twinsun.com>
18670
18671         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
18672         byte with "\201" to avoid glitches when editing that source file
18673         with multi-gnome-terminal.
18674
18675 2003-08-05  Paul Eggert  <eggert@twinsun.com>
18676
18677         * lib/bumpalloc.h: Remove.
18678
18679 2003-08-05  Paul Eggert  <eggert@twinsun.com>
18680
18681         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
18682         * modules/bumpalloc: Remove.
18683
18684 2003-08-04  Paul Eggert  <eggert@twinsun.com>
18685
18686         * lib/getloadavg.c: Change copyright notice and spacing to conform to
18687         GNU coding style.
18688
18689         Merge from coreutils.
18690         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
18691         1. From glibc.
18692         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
18693         from Karl Berry, implemented by Jim Meyering.
18694         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
18695         from Dmitry V. Levin.
18696         Remove anachronistic cast of xrealloc.
18697         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
18698         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
18699         type. Otherwise, it wouldn't compile with at least /bin/cc on
18700         ymp-cray-unicos9.0.2.X.
18701         Combine two mostly-identical uses of alloca into one.
18702         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
18703
18704 2003-08-04  Dave Love  <d.love@dl.ac.uk>
18705
18706         [From Emacs.]
18707
18708         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
18709         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
18710         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
18711         obsolete NLIST_NAME_UNION.
18712         [__GNU__]: Undef BSD and FSCALE.
18713         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
18714
18715 2003-08-03  Paul Eggert  <eggert@twinsun.com>
18716
18717         * lib/stdbool_.h (_Bool): Make it signed char, instead of
18718         an enum type, so that it's guaranteed to promote to int.  See:
18719         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
18720
18721 2003-08-03  Karl Berry  <karl@gnu.org>
18722
18723         * config/depcomp: update from automake.
18724
18725 2003-07-31  Paul Eggert  <eggert@twinsun.com>
18726
18727         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
18728         (strerror): Don't assume that a printable int fits in 14 bytes.
18729
18730 2003-07-31  Bruno Haible  <bruno@clisp.org>
18731
18732         * modules/getpass-gnu: New file.
18733         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
18734
18735 2003-07-31  Bruno Haible  <bruno@clisp.org>
18736
18737         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
18738
18739 2003-07-24  Karl Berry  <karl@gnu.org>
18740
18741         * config/missing: update from automake.
18742
18743 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
18744             Bruno Haible  <bruno@clisp.org>
18745
18746         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
18747         * lib/getline.c (getline, getdelim): Likewise.
18748         Remove _GNU_SOURCE define; now it's defined in config.h through
18749         m4/getline.m4.
18750
18751 2003-07-23  Karl Berry  <karl@gnu.org>
18752
18753         * config/config.sub: update from prep.
18754
18755 2003-07-22  Paul Eggert  <eggert@twinsun.com>
18756
18757         * modules/xalloc (Depends-on): Add exitfail.
18758         * modules/xmemcoll: Likewise.
18759
18760 2003-07-22  Paul Eggert  <eggert@twinsun.com>
18761
18762         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
18763         over-parenthesization in macros.
18764
18765         Sync with coreutils.
18766
18767         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
18768         required by C99.
18769
18770         Use `exit_failure' for xalloc and xmemcoll instead of their own
18771         private exit-failure variables.
18772         * lib/xalloc.h (xalloc_exit_failure): Remove.
18773         * lib/xmalloc.c: Likewise.  Include exitfail.h.
18774         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
18775         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
18776         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
18777         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
18778
18779 2003-07-20  Jim Meyering  <jim@meyering.net>
18780
18781         * modules/closeout (Depends-on): Add exitfail.
18782         Suggestion from Bruno Haible.
18783
18784 2003-07-19  Karl Berry  <karl@gnu.org>
18785
18786         * config/config.sub: update from prep.
18787
18788 2003-07-18  Paul Eggert  <eggert@twinsun.com>
18789
18790         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
18791         Remove.
18792         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
18793         to test that it can stand by itself.  Include "exitfail.h".
18794         Clients should set exit_failure instead.
18795         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
18796
18797 2003-07-18  Bruno Haible  <bruno@clisp.org>
18798
18799         * modules/getndelim2: New file.
18800         * modules/getline: Share files with module getndelim2.
18801         * modules/getnline: Depend on getndelim2 instead of sharing files with
18802         it. Add getnline.c to lib_SOURCES.
18803         * MODULES.html.sh (func_all_modules): Add getndelim2.
18804
18805 2003-07-18  Bruno Haible  <bruno@clisp.org>
18806
18807         * m4/getndelim2.m4: New file.
18808         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
18809         invoke gl_PREREQ_GETNDELIM2.
18810         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
18811         gl_PREREQ_GETNDELIM2.
18812         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
18813         gl_GETNDELIM2.
18814
18815 2003-07-18  Bruno Haible  <bruno@clisp.org>
18816
18817         * lib/getndelim2.h: New file.
18818         * lib/getndelim2.c: Make into a module of its own. Include config.h,
18819         getndelim2.h.
18820         (getndelim2): Make non-static. Change return type to ssize_t.
18821         * lib/getline.h: Change argument names.
18822         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
18823         * lib/getnline.c: Include getndelim2.h.
18824
18825 2003-07-18  Andreas Schwab  <schwab@suse.de>
18826
18827         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
18828
18829 2003-07-17  Karl Berry  <karl@gnu.org>
18830
18831         * config/config.sub: update from prep.
18832
18833 2003-07-17  Bruno Haible  <bruno@clisp.org>
18834
18835         * modules/getnline: New file.
18836         * modules/getline: Add lib/getndelim2.c to source file list.
18837         * MODULES.html.sh (func_all_modules): Add getnline.
18838
18839 2003-07-17  Bruno Haible  <bruno@clisp.org>
18840
18841         * m4/getnline.m4: New file.
18842
18843 2003-07-17  Bruno Haible  <bruno@clisp.org>
18844
18845         * m4/Makefile.am.in: Remove file.
18846         * m4/Makefile.am: Remove file.
18847         * m4/Makefile.in: Remove file.
18848
18849 2003-07-17  Bruno Haible  <bruno@clisp.org>
18850
18851         * lib/getnline.h: New file.
18852         * lib/getnline.c: New file.
18853         * lib/getndelim2.c: New file, extracted from getline.c.
18854         (getndelim2): Renamed from getdelim2, with added nmax argument.
18855         * lib/getline.c: Include getndelim2.c.
18856         (getdelim2): Moved out to getndelim2.c.
18857         (getline, getdelim): Update.
18858
18859 2003-07-17  Bruno Haible  <bruno@clisp.org>
18860
18861         * lib/Makefile.am: Remove file.
18862         * lib/Makefile.in: Remove file.
18863
18864 2003-07-17  Bruno Haible  <bruno@clisp.org>
18865
18866         * configure.in: Remove file.
18867         * Makefile.in: Remove file.
18868
18869 2003-07-17  Bruno Haible  <bruno@clisp.org>
18870
18871         * MODULES.html.sh: Put the </BODY> right before </HTML>.
18872
18873 2003-07-16  Karl Berry  <karl@gnu.org>
18874
18875         * config/srclist-update: was running fixlicense twice, which caused
18876                 texinfo.tex to be nullified for some reason.  Simplify,
18877                 $gplsrc is no longer needed as far as I can see?
18878
18879 2003-07-16  Jim Meyering  <jim@meyering.net>
18880
18881         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
18882
18883 2003-07-15  Paul Eggert  <eggert@twinsun.com>
18884
18885         * config/srclist.txt: Get the following files from gettext-runtime/intl
18886         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
18887         ref-del.sin.  From Bruno Haible.
18888         * config/srclist-update (fixfile): Change grep pattern again, since the
18889         previous fix didn't work (there was another trailing $).  Use
18890         '[$]' to escape the $s.
18891
18892 2003-07-15  Karl Berry  <karl@gnu.org>
18893
18894         * lib/vasnprintf.c: update from gettext.
18895
18896 2003-07-15  Karl Berry  <karl@gnu.org>
18897
18898         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
18899         gets expanded when surrounded by '$'.
18900
18901 2003-07-15  Jim Meyering  <jim@meyering.net>
18902
18903         * modules/save-cwd: Don't depend on error.  From Derek Price.
18904
18905 2003-07-15  Jim Meyering  <jim@meyering.net>
18906
18907         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
18908
18909 2003-07-14  Simon Josefsson  <jas@extundo.com>
18910
18911         * modules/mempcpy: New file.
18912         * MODULES.html.sh (func_all_modules): Add mempcpy.
18913
18914 2003-07-14  Simon Josefsson  <jas@extundo.com>
18915
18916         * m4/mempcpy.m4: New file.
18917
18918 2003-07-14  Simon Josefsson  <jas@extundo.com>
18919
18920         * lib/mempcpy.h: New file.
18921         * lib/mempcpy.c: New file.
18922
18923 2003-07-14  Paul Eggert  <eggert@twinsun.com>
18924
18925         * modules/getdate, modules/posixtm: Depend on mktime.
18926
18927 2003-07-14  Paul Eggert  <eggert@twinsun.com>
18928
18929         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
18930         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
18931         unicodeio.c, unicodeio.h, unlocked-io.h:
18932         Switch from LGPL to GPL.
18933
18934 2003-07-14  Paul Eggert  <eggert@twinsun.com>
18935
18936         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
18937         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
18938         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
18939         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
18940         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
18941         updated automatically by ../config/srclist-update.  This changes
18942         their license from LPGL to GPL.
18943
18944 2003-07-14  Paul Eggert  <eggert@twinsun.com>
18945
18946         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
18947         assumed to refer to the root of the most recent stable gettext version.
18948         * config/srclistvars.sh: Add defaults for eggert.
18949         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
18950         Match "This program" as well as "The program".  This is needed
18951         for gettext.
18952
18953 2003-07-14  Jim Meyering  <jim@meyering.net>
18954
18955         Don't emit diagnostics.  Let callers do that.
18956         * lib/save-cwd.c: Don't include "error.h".
18957         (save_cwd): Don't call error.  Ensure that errno is valid
18958         when returning nonzero.
18959
18960         * lib/save-cwd.h (restore_cwd): Update prototype.
18961         * lib/save-cwd.c (restore_cwd): Remove two parameters.
18962         Simplify.  Don't call error upon failure.  Let callers do that.
18963         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
18964         when auditing is enabled.  But don't bother updating the #if.
18965
18966 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
18967
18968         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
18969         it breaks C++ compilation.
18970         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
18971
18972 2003-07-10  Simon Josefsson  <jas@extundo.com>
18973
18974         * modules/strchrnul (Makefile.am): Add strchrnul.h.
18975
18976 2003-07-10  Jim Meyering  <jim@meyering.net>
18977
18978         * m4/clock_time.m4: Remove trailing blank.
18979         * m4/intmax_t.m4: Likewise.
18980
18981 2003-07-10  Jim Meyering  <jim@meyering.net>
18982
18983         * lib/vasnprintf.c: Remove trailing blanks.
18984         Make cpp indentation consistent.
18985
18986 2003-07-09  Paul Eggert  <eggert@twinsun.com>
18987
18988         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
18989         posixver.c, strftime.c, strnlen.c, strverscmp.c:
18990         Switch from LGPL to GPL.
18991
18992 2003-07-09  Paul Eggert  <eggert@twinsun.com>
18993
18994         * config/srclist.txt: Sort sublists.  Add
18995         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
18996         that differ from gnulib for one reason or another; we'd like this list
18997         to be smaller but for now let's document what we have.
18998
18999 2003-07-08  Paul Eggert  <eggert@twinsun.com>
19000
19001         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
19002         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
19003         and sweeter "eval x=$x".
19004         * config/srclist.txt: Get lib/argp* from glibc.
19005
19006 2003-07-07  Paul Eggert  <eggert@twinsun.com>
19007
19008         * lib/mktime.c: Fix some boundary cases and remove need for floating
19009         point.
19010
19011         Issue a compile-time diagnostic if time_t is floating point, or if
19012         two's complement arithmetic is not in effect, or if arithmetic
19013         right shift does not propagate the sign.  These assumptions were
19014         all in the original code but they weren't checked.
19015
19016         (TIME_T_MIDPOINT, verify): New macros.
19017         (__isleap): Remove; it has integer overflow problems.
19018         (leapyear): New function, without those problems.
19019         (ydhms_tm_diff): Remove; splitting into two parts.
19020         (ydhms_diff): New function, containing the arithmetic part of
19021         the old ydhms_tm_diff function.  Issue a compile-time
19022         diagnostic if we are not using C99 integer division.
19023         Avoid casts when possible.
19024         (guess_time_tm): New function, containing the checking part of
19025         the old ydhms_tm_diff function.  Return the new value, rather than
19026         the difference between it and the old.  Accept a new argument T
19027         so that *T specifies the old value.  Check for overflow in the result.
19028
19029         (__mktime_internal): Use a time_t offset, not a long int offset.
19030         This undoes the 2003-06-04 change, which is no longer needed now
19031         that we have better overflow checking.
19032         (localtime_offset): Likewise.
19033
19034         (__mktime_internal): Avoid harmful overflow on hosts where time_t
19035         and long are 64-bit but int is only 32-bit.
19036         (ydhms_diff): Use long int to store year1 and yday1.
19037         Issue a compile-time diagnostic if long int is not wide enough.
19038
19039         (__mktime_internal): Use long int to store adjusted year and yday.
19040         Use plain C rather than preprocessor commands, if that doesn't
19041         affect efficiency.
19042         Check for overflow (and try to repair) after each probe
19043         rather than checking only at the very end.  This avoids some bugs
19044         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
19045         does not equal GMT offset at maximum time).
19046         Use integer to check for overflow rather than floating point; this
19047         is more portable to non-IEEE hosts, and is a tad faster.
19048         When we detect that we are oscillating between two values,
19049         don't check whether tm_isdst has the requested value, since
19050         we already know the answer.  When tm_isdst has the wrong value,
19051         use a different heuristic to find the right one, based on the
19052         extreme values actually observed in practice in tz2003a,
19053         rather than the (overly optimistic) "previous 3 calendar quarters".
19054
19055         (not_equal_tm, print_tm, check_result): Use "const T" rather than
19056         "T const" to accommodate glibc style.
19057         (check_result): Use less-confusing report format.  "long" -> "long int.
19058         (main): Likewise.
19059         Don't loop if the iteration overflows time_t.
19060         Allow a negative step in the iteration.
19061
19062 2003-07-06  Karl Berry  <karl@gnu.org>
19063
19064         * config/depcomp: update from automake.
19065         * config/config.sub: update from prep.
19066
19067 2003-07-03  Karl Berry  <karl@gnu.org>
19068
19069         * config/config.guess: update from prep.
19070
19071 2003-07-01  Paul Eggert  <eggert@twinsun.com>
19072
19073         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
19074         xreadlink.c now includes it unconditionally.
19075
19076 2003-07-01  Paul Eggert  <eggert@twinsun.com>
19077
19078         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
19079         having it depend on HAVE_SYS_TYPES_H.
19080
19081 2003-07-01  Bruno Haible  <bruno@clisp.org>
19082
19083         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
19084         <sys/types.h> should be sufficient.
19085         Reported by Paul Eggert.
19086
19087 2003-06-26  Karl Berry  <karl@gnu.org>
19088
19089         * config/depcomp: update from automake.
19090
19091 2003-06-26  Bruno Haible  <bruno@clisp.org>
19092
19093         * modules/human: Depend on module stdbool.
19094
19095 2003-06-25  Bruno Haible  <bruno@clisp.org>
19096
19097         * modules/readlink: New file.
19098         * modules/xreadlink: Depend on it.
19099         * MODULES.html.sh (func_all_modules): Add readlink.
19100
19101 2003-06-25  Bruno Haible  <bruno@clisp.org>
19102
19103         * m4/readlink.m4: New file.
19104
19105 2003-06-25  Bruno Haible  <bruno@clisp.org>
19106
19107         * lib/readlink.c: New file.
19108
19109 2003-06-22  Karl Berry  <karl@gnu.org>
19110
19111         * config/srclist.txt: update mkinstalldirs from automake.
19112         * config/mkinstalldirs: update.
19113
19114 2003-06-22  Bruno Haible  <bruno@clisp.org>
19115
19116         Portability to mingw32.
19117         * m4/ssize_t.m4: New file, from GNU gettext.
19118         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
19119         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
19120
19121 2003-06-22  Bruno Haible  <bruno@clisp.org>
19122
19123         * modules/safe-read: Add m4/ssize_t.m4.
19124         * modules/xreadlink: Add m4/ssize_t.m4.
19125
19126 2003-06-20  Bruno Haible  <bruno@clisp.org>
19127
19128         Assume C89, so PARAMS isn't needed.
19129         * lib/unicodeio.h (PARAMS): Remove.
19130         * lib/unicodeio.c: Don't use PARAMS.
19131
19132 2003-06-18  Karl Berry  <karl@gnu.org>
19133
19134         * config/config.{guess,sub}: update from prep.
19135
19136 2003-06-18  Jim Meyering  <jim@meyering.net>
19137
19138         Merge changes from coreutils.
19139         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
19140         Remove explicit declarations of xmalloc and realloc.
19141         Include xalloc.h.
19142         (read_utmp): Remove anachronistic cast of xmalloc.
19143
19144 2003-06-17  Paul Eggert  <eggert@twinsun.com>
19145
19146         Assume C89, so PARAMS isn't needed.
19147         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
19148         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
19149         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
19150         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
19151         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
19152         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
19153         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
19154         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
19155         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
19156         lib/xstrtod.h, lib/xstrtol.h: Likewise.
19157         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
19158         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
19159         no longer needed. Anyway, config.h should always be included before any
19160         other file.
19161
19162 2003-06-11  Simon Josefsson  <jas@extundo.com>
19163
19164         * modules/sysexits: New file.
19165         * MODULES.html.sh (func_all_modules): Add sysexits.
19166
19167 2003-06-11  Simon Josefsson  <jas@extundo.com>
19168
19169         * lib/sysexit_.h: New file.
19170
19171 2003-06-11  Derek Price  <derek@ximbiot.com>
19172
19173         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
19174         necessary.
19175
19176 2003-06-11  Bruno Haible  <bruno@clisp.org>
19177
19178         * m4/sysexits.m4: New file.
19179
19180 2003-06-10  Simon Josefsson  <jas@extundo.com>
19181
19182         * lib/argp.h: New file, from glibc.
19183         * lib/argp-ba.c: New file, from glibc.
19184         * lib/argp-eexst.c: New file, from glibc.
19185         * lib/argp-fmtstream.c: New file, from glibc.
19186         * lib/argp-fmtstream.h: New file, from glibc.
19187         * lib/argp-fs-xinl.c: New file, from glibc.
19188         * lib/argp-help.c: New file, from glibc.
19189         * lib/argp-namefrob.h: New file, from glibc.
19190         * lib/argp-parse.c: New file, from glibc.
19191         * lib/argp-pv.c: New file, from glibc.
19192         * lib/argp-pvh.c: New file, from glibc.
19193         * lib/argp-xinl.c: New file, from glibc.
19194
19195 2003-06-10  Simon Josefsson  <jas@extundo.com>
19196
19197         * modules/strchrnul: New file.
19198
19199 2003-06-10  Simon Josefsson  <jas@extundo.com>
19200
19201         * modules/argp: New file.
19202
19203 2003-06-10  Simon Josefsson  <jas@extundo.com>
19204
19205         * m4/strchrnul.m4: New file.
19206
19207 2003-06-10  Simon Josefsson  <jas@extundo.com>
19208
19209         * lib/strchrnul.h: New file.
19210         * lib/strchrnul.c: New file.
19211
19212 2003-06-10  Bruno Haible  <bruno@clisp.org>
19213
19214         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
19215
19216 2003-06-07  Karl Berry  <karl@gnu.org>
19217
19218         * config/config.{guess,sub}: update from prep.
19219
19220 2003-06-07  Jim Meyering  <jim@meyering.net>
19221
19222         * modules/strtod: Use $(...) notation, not @...@ for
19223         AC_REPLACE'd variables.
19224         * modules/localcharset: Likewise.
19225
19226 2003-06-07  Jim Meyering  <jim@meyering.net>
19227
19228         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
19229         in place of my name in the copyright comment.
19230         Remove definition and uses of __P.
19231
19232         From coreutils.
19233         * lib/stat.c: Don't declare xmalloc explicitly.
19234         Instead, include "xalloc.h".
19235         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
19236         xrealloc, and xcalloc return values.
19237         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
19238         Improve comment.
19239         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
19240
19241 2003-06-07  Bruno Haible  <bruno@clisp.org>
19242
19243         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
19244         avoid AC_CONFIG_LINKS.
19245         * modules/fnmatch (Makefile.am): Use explicit creation rule for
19246         fnmatch.h, to avoid AC_CONFIG_LINKS.
19247         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
19248
19249 2003-06-07  Bruno Haible  <bruno@clisp.org>
19250
19251         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
19252         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
19253         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
19254         directory.
19255         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
19256         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
19257         directory.
19258
19259 2003-06-06  Jim Meyering  <jim@meyering.net>
19260
19261         Merge from coreutils.
19262         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
19263         Consolidate declarations and initializations of *_base* locals.
19264
19265         Merge from coreutils.
19266         This avoids a core dump on systems without GNU putenv,
19267         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
19268         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
19269         (unsetenv): New static function, from GNU libc.
19270         (rpl_putenv): Use it.
19271
19272         * lib/modechange.c: Remove trailing blanks.
19273
19274         Merge from coreutils.
19275         * lib/fsusage.c: Remove declaration of statfs.
19276         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
19277
19278         * lib/posixtm.c: Include <stdbool.h> unconditionally.
19279
19280 2003-06-06  Jim Meyering  <jim@meyering.net>
19281
19282         * lib/stdbool_.h: Renamed from stdbool.h.in.
19283
19284 2003-06-06  Jim Meyering  <jim@meyering.net>
19285             Bruno Haible  <bruno@clisp.org>
19286
19287         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
19288         Adjust Makefile.am snippet not to redirect directly to target.
19289         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
19290
19291 2003-06-05  Paul Eggert  <eggert@twinsun.com>
19292
19293         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
19294         mismatch, look in future quarters as well as past.  This fixes a
19295         bug when processing fall-backwards gaps immediately after a long
19296         period of daylight-saving time.
19297
19298         * lib/mktime.c: Assume freestanding C89 or better.
19299         (HAVE_LIMITS_H): Remove.  Assume it's 1.
19300         (__P): Remove; not used.
19301         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
19302         (mktime, not_equal_tm, print_tm, check_result,
19303         main): Use prototypes.  Use const * where appropriate.
19304         (main): Fix typo in testing code that uncovered by above changes.
19305         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
19306
19307 2003-06-04  Paul Eggert  <eggert@twinsun.com>
19308
19309         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
19310         locale.h, localeconv.  This merges changes from coreutils.
19311
19312         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
19313         It can be removed after the next Autoconf is released.
19314         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
19315         needed.
19316
19317 2003-06-04  Paul Eggert  <eggert@twinsun.com>
19318
19319         * lib/mktime.c: Fix Debian bug 177940
19320         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
19321         (localtime_offset): Now long int, not time_t, because we want it
19322         to be guaranteed to be signed.  All uses changed.
19323         (__mktime_internal): If overflow would occur when adding offset,
19324         don't add it.
19325
19326         Merge 'human' changes from coreutils.  Rewrite to support
19327         locale-specific notations like thousands separators.
19328         * lib/human.c: Simplify authorship notice.
19329         Include human.h immediately after config.h.
19330         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
19331         <limits.h>: Do not include, since human.h does.
19332         (SIZE_MAX, UINTMAX_MAX): New macros.
19333         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
19334         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
19335         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
19336         (power_letter): Renamed from suffixes.
19337         (generate_suffix_backwards): Remove.
19338         (adjust_value): Now takes int style (because of human.h changes)
19339         and long double value (for greater precision on some platforms).
19340         (group_number): New function.
19341         (human_readable): Use it.  Use integer options, not enum.
19342         Put the options before the sizes in the arg list.
19343         Support all the new options.
19344         The old human_readable function has been removed;
19345         use inttostr.h instead.
19346         (human_readable, default_block_size, humblock):
19347         Use uintmax_t, not int, for block sizes.
19348         (human_readable_inexact, block_size_types): Remove.
19349         (block_size_opts): New constant.
19350         (human_options): Renamed from human_block_size, with new signature
19351         that allows block sizes up to UINTMAX_MAX.  All callers changed.
19352         * lib/human.h: Add copyright and authorship notice.
19353         Include <limits.h> and <stdbool.h> unconditionally.
19354         (PARAMS): Remove.  All uses removed.
19355         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
19356         (enum human_inexact_style): Remove tag; now a nameless enum.
19357         (human_floor, human_ceiling, human_round_to_even): Now have
19358         values 2, 0, 1 rather than -1, 1, 0.
19359         (human_group_digits, human_suppress_point_zero, human_autoscale,
19360         human_base_1024, human_SI, human_B): New constants.
19361         (human_readable_inexact, human_block_size): Remove.
19362         (human_readable): Size args are now uintmax_t, not int.
19363         (human_options): New decl.
19364
19365         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
19366         unnecessary now that we assume C89 or better.  This change
19367         imported from coreutils.
19368
19369         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
19370         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
19371         in the 2003-05-30 sync from glibc.
19372
19373         .h files should stand alone, but we shouldn't include <sys/types.h>
19374         if we can get away with just <stddef.h>.
19375
19376         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
19377         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
19378         rather than <sys/types.h>, as we merely need size_t.
19379         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
19380         to get size_t.
19381         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
19382         Include <stdio.h>, to get FILE.
19383         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
19384         memcasecmp.h has included <stddef.h> and all we need is size_t.
19385         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
19386         our interface, instead of including <sys/types.h>
19387
19388 2003-06-04  Paul Eggert  <eggert@twinsun.com>
19389
19390         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
19391         now, as glibc mktime is buggy on non-glibc systems.
19392
19393 2003-06-03  Karl Berry  <karl@gnu.org>
19394
19395         * config/config.sub: update from prep.
19396
19397 2003-06-02  Paul Eggert  <eggert@twinsun.com>
19398
19399         [from coreutils]
19400         Fix some minor time-related bugs with POSIX time arguments.
19401         Some valid time stamps were being rejected (notably -1, and
19402         time stamps before 1900 on 64-bit hosts).  And some invalid
19403         time stamps were being accepted, e.g. September 31.
19404
19405         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
19406         that we can return (time_t) -1 successfully.
19407         * lib/posixtm.c: Likewise.
19408         [HAVE_STDBOOL_H]: Include <stdbool.h>.
19409         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
19410         (t): Remove static var.
19411         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
19412         of static var.  All uses changed.
19413         (year): Do not reject years before 1900; they can occur with
19414         64-bit time_t.
19415         (posix_time_parse): Do not check for out-of-range components;
19416         that is now the caller's responsibility, since our checks were
19417         only approximations.
19418         (posixtime): Use mktime to check for out-of-range components,
19419         since it knows them exactly.
19420         If mktime returns (time_t) -1, check whether an error actually occurred
19421         by invoking localtime on -1.
19422         (main) [TEST_POSIXTIME]: Check for input data errors, and report
19423         posixtime failures better.
19424         Improve the test data (in comments only).
19425
19426 2003-06-02  Karl Berry  <karl@gnu.org>
19427
19428         * config/mkinstalldirs (version): new variable.
19429         (--version): new option.
19430         (usage): improve message.
19431
19432 2003-05-30  Karl Berry  <karl@gnu.org>
19433
19434         * lib/mktime.c: update from libc.
19435
19436 2003-05-30  Bruno Haible  <bruno@clisp.org>
19437
19438         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
19439         * config/config.rpath: Upgrade to gettext-0.12.1.
19440
19441 2003-05-30  Bruno Haible  <bruno@clisp.org>
19442
19443         * m4/gettext.m4: Upgrade to gettext-0.12.1.
19444         * m4/nls.m4: New file, from gettext-0.12.1.
19445         * m4/po.m4: New file, from gettext-0.12.1.
19446         * m4/progtest.m4: Upgrade to gettext-0.12.1.
19447
19448 2003-05-30  Bruno Haible  <bruno@clisp.org>
19449
19450         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
19451         * lib/localcharset.h: Likewise.
19452         * lib/localcharset.c: Likewise.
19453
19454 2003-05-29  Karl Berry  <karl@gnu.org>
19455
19456         * config/config.rpath: update from gettext.
19457
19458 2003-05-28  Paul Eggert  <eggert@twinsun.com>
19459
19460         Assume the headers required for C89 freestanding compilers.
19461         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
19462         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
19463         * m4/human.m4 (gl_HUMAN): Likewise.
19464         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
19465         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
19466         * m4/userspec.m4 (gl_USERSPEC): Likewise.
19467         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
19468         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
19469         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
19470
19471 2003-05-28  Paul Eggert  <eggert@twinsun.com>
19472
19473         Assume the headers required for C89 freestanding compilers.
19474         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
19475         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
19476         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
19477         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
19478         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
19479         define, since <limits.h> is guaranteed to do that.
19480         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
19481         * lib/exclude.c: Include <stdbool.h> unconditionally.
19482         * lib/tempname.c: Include <stddef.h> unconditionally.
19483         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
19484         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
19485         <stddef.h> does that.
19486         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
19487         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
19488         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
19489         needed.
19490         * lib/xstrtol.c: Likewise.
19491         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
19492         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
19493
19494         * lib/addext.c (addext): Use assignment rather than cast, to avoid
19495         warnings on some platforms.
19496
19497         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
19498         arbitrarily.
19499
19500 2003-05-26  Jim Meyering  <jim@meyering.net>
19501
19502         Merge in a change from coreutils:
19503         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
19504         that is guaranteed to be `no'.  Use `no_such_member' to indicate
19505         that condition, rather than `-1' which is slightly misleading.
19506         Change the name of the cache variable to have the gl_ prefix.
19507         Prompted by a patch from Richard Dawe for DJGPP.
19508
19509 2003-05-24  Karl Berry  <karl@gnu.org>
19510
19511         * config/config.guess: update from prep.
19512
19513 2003-05-22  Karl Berry  <karl@gnu.org>
19514
19515         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
19516
19517 2003-05-20  Karl Berry  <karl@gnu.org>
19518
19519         * config/config.guess: update from prep.
19520
19521 2003-05-18  Karl Berry  <karl@gnu.org>
19522
19523         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
19524         might actually be set by the user.
19525
19526         * config/depcomp, install-sh, mdate-sh: update from automake.
19527
19528 2003-05-17  Bruno Haible  <bruno@clisp.org>
19529
19530         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
19531         invalid expansion for AC_EGREP_CPP.
19532         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
19533         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
19534         Suggested by Akim Demaille <akim@epita.fr> in
19535         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
19536
19537 2003-05-12  Jim Meyering  <jim@meyering.net>
19538
19539         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
19540         the space-padded-by-default conversion specifiers, %e, %k, %l.
19541
19542 2003-05-12  Bruno Haible  <bruno@clisp.org>
19543
19544         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
19545         the string is longer than 4 KB.
19546
19547 2003-05-11  Karl Berry  <karl@gnu.org>
19548
19549         * config/config.{guess,sub}: update from prep.
19550
19551 2003-05-09  Bruno Haible  <bruno@clisp.org>
19552
19553         * modules/error: Add m4/strerror_r.m4 to file list.
19554
19555 2003-05-03  Bruno Haible  <bruno@clisp.org>
19556
19557         Upgrade to Unicode-4.0.
19558         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
19559         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
19560         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
19561         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
19562         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
19563         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
19564         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
19565         Change width of U+E0100..U+E01EF from 1 to 0.
19566
19567 2003-04-25  Jim Meyering  <jim@meyering.net>
19568
19569         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
19570         of type size_t, not int.
19571
19572 2003-04-25  Bruno Haible  <bruno@clisp.org>
19573
19574         * lib/copy-file.c: Include <stddef.h>, for size_t.
19575
19576 2003-04-21  Paul Eggert  <eggert@twinsun.com>
19577
19578         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
19579         code which expansion is under static control.  Patch imported from
19580         Akim Demaille's patch to Bison; see
19581         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
19582
19583 2003-04-14  Bruno Haible  <bruno@clisp.org>
19584
19585         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
19586
19587 2003-04-11  Jim Meyering  <jim@meyering.net>
19588
19589         Merge changes from Coreutils.
19590
19591         2003-03-22  Jim Meyering  <jim@meyering.net>
19592
19593         * lib/strftime.c (widen): Cast alloca return value to proper type.
19594
19595         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
19596
19597         From GNU libc.
19598         * lib/strftime.c (my_strftime): Handle very large width
19599         specifications for numeric values correctly.  Improve checks for
19600         overflow.
19601
19602         2003-01-19  Jim Meyering  <jim@meyering.net>
19603
19604         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
19605         definitions.
19606         (nl_get_alt_digit) [! defined my_strftime]: Define.
19607         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
19608         _nl_get_alt_digit and _nl_get_walt_digit.
19609
19610         * lib/strftime.c (my_strftime): Merge in locale-related changes from
19611         libc. These changes have no effect outside of _LIBC.
19612
19613 2003-04-10  Bruno Haible  <bruno@clisp.org>
19614
19615         * modules/findprog: New file.
19616         * MODULES.html.sh (func_all_modules): Add it.
19617
19618 2003-04-10  Bruno Haible  <bruno@clisp.org>
19619
19620         * m4/findprog.m4: New file.
19621         * m4/eaccess.m4: New file.
19622
19623 2003-04-10  Bruno Haible  <bruno@clisp.org>
19624
19625         * lib/findprog.h: New file, from GNU gettext.
19626         * lib/findprog.c: New file, from GNU gettext.
19627
19628 2003-04-05  Jim Meyering  <jim@meyering.net>
19629
19630         Merge changes from Coreutils.
19631
19632         * lib/exclude.h (PARAMS): Remove definition and uses.
19633         * lib/exclude.c: Remove uses of `PARAMS'.
19634
19635         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
19636         Add test-cases for DOS filenames. Declare program_name.
19637         (main): Set up program_name.  Patch by Rich Dawe.
19638
19639         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
19640         error from mntctl.
19641         Use mntctl's return value to drive the entry-processing loop, since
19642         we can't rely on the value of the vmt_length member in the last
19643         entry.  On some systems doing so could result in exhausting
19644         virtual memory.  Based in part on a patch from Mike Jetzer.
19645
19646 2003-04-04  Bruno Haible  <bruno@clisp.org>
19647
19648         * modules/linebreak: New file.
19649         * MODULES.html.sh (func_all_modules): Add it.
19650
19651 2003-04-04  Bruno Haible  <bruno@clisp.org>
19652
19653         * m4/linebreak.m4: New file.
19654
19655 2003-04-04  Bruno Haible  <bruno@clisp.org>
19656
19657         * lib/linebreak.h: New file, from GNU gettext.
19658         * lib/linebreak.c: New file, from GNU gettext with slight
19659         modifications.
19660         * lib/lbrkprop.h: New file, from GNU gettext.
19661
19662 2003-04-03  Bruno Haible  <bruno@clisp.org>
19663
19664         * modules/utf8-ucs4: New file.
19665         * modules/utf16-ucs4: New file.
19666         * modules/ucs4-utf8: New file.
19667         * modules/ucs4-utf16: New file.
19668         * MODULES.html.sh (func_all_modules): Add them.
19669
19670 2003-04-03  Bruno Haible  <bruno@clisp.org>
19671
19672         * m4/utf-ucs4.m4: New file.
19673         * m4/ucs4-utf.m4: New file.
19674
19675 2003-04-03  Bruno Haible  <bruno@clisp.org>
19676
19677         * lib/utf8-ucs4.h: New file, from GNU gettext.
19678         * lib/utf16-ucs4.h: New file, from GNU gettext.
19679         * lib/ucs4-utf8.h: New file, from GNU gettext.
19680         * lib/ucs4-utf16.h: New file, from GNU gettext.
19681
19682 2003-04-02  Bruno Haible  <bruno@clisp.org>
19683
19684         * modules/binary-io: New file.
19685         * MODULES.html.sh (func_all_modules): Add it.
19686
19687 2003-04-02  Bruno Haible  <bruno@clisp.org>
19688
19689         * lib/binary-io.h: New file, from GNU gettext.
19690
19691 2003-04-01  Bruno Haible  <bruno@clisp.org>
19692
19693         * modules/pathname: New file.
19694         * MODULES.html.sh (func_all_modules): Add it.
19695
19696 2003-04-01  Bruno Haible  <bruno@clisp.org>
19697
19698         * lib/pathname.h: New file, from GNU gettext.
19699         * lib/concatpath.c: New file, from GNU gettext.
19700
19701 2003-03-30  Bruno Haible  <bruno@clisp.org>
19702
19703         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
19704
19705 2003-03-30  Bruno Haible  <bruno@clisp.org>
19706
19707         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
19708         function chown() doesn't exist.
19709
19710 2003-03-28  Bruno Haible  <bruno@clisp.org>
19711
19712         * modules/copy-file: New file.
19713         * MODULES.html.sh (func_all_modules): Add it.
19714
19715 2003-03-28  Bruno Haible  <bruno@clisp.org>
19716
19717         * m4/copy-file.m4: New file.
19718
19719 2003-03-28  Bruno Haible  <bruno@clisp.org>
19720
19721         * lib/copy-file.h: New file, from GNU gettext.
19722         * lib/copy-file.c: New file, from GNU gettext.
19723
19724 2003-03-18  Jim Meyering  <jim@meyering.net>
19725
19726         * lib/quote.c (quote_n): Fix typo in comment.
19727
19728 2003-03-18  Bruno Haible  <bruno@clisp.org>
19729
19730         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
19731         checking.
19732         * m4/onceonly_2_57.m4: Likewise.
19733
19734 2003-03-17  Bruno Haible  <bruno@clisp.org>
19735
19736         * m4/onceonly.m4: Require autoconf 2.54 or newer.
19737         (m4_quote): Remove macro.
19738         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
19739
19740 2003-03-14  Jim Meyering  <jim@meyering.net>
19741
19742         Merge changes from Coreutils.
19743         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
19744         to be const, in order to avoid warnings.
19745         (obstack_room): Likewise.
19746         (obstack_empty_p): Likewise.
19747
19748 2003-03-14  Bruno Haible  <bruno@clisp.org>
19749
19750         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
19751         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
19752
19753 2003-03-13  Paul Eggert  <eggert@twinsun.com>
19754
19755         Merge changes from Bison.
19756         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
19757         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
19758         when compiling Bison 1.875's `bitset bset = obstack_alloc
19759         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
19760         * lib/hash.c: Include <stdbool.h> unconditionally.
19761
19762 2003-03-13  Paul Eggert  <eggert@twinsun.com>
19763
19764         * m4/onceonly.m4 (m4_quote): New macro.
19765         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
19766         Quote AC_FOREACH variable-expansions properly.
19767
19768 2003-03-13  Paul Eggert  <eggert@twinsun.com>
19769
19770         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
19771
19772 2003-03-09  Paul Eggert  <eggert@twinsun.com>
19773
19774         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
19775         Reported by Bruce Becker; see:
19776         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
19777
19778 2003-03-03  Paul Eggert  <eggert@twinsun.com>
19779             Bruno Haible  <bruno@clisp.org>
19780
19781         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
19782         Reported by John Hughes, see
19783         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
19784
19785 2003-02-20  Bruno Haible  <bruno@clisp.org>
19786
19787         * MODULES.html.sh (func_all_modules): Add poll.
19788
19789 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
19790
19791         * modules/poll: New file.
19792
19793 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
19794
19795         * lib/poll_.h: New file.
19796         * lib/poll.c: New file.
19797
19798 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
19799
19800         * m4/poll.m4: New file.
19801
19802 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
19803
19804         * modules/mathl: New file.
19805
19806 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
19807
19808         * lib/mathl.h: New file.
19809         * lib/acosl.c: New file.
19810         * lib/asinl.c: New file.
19811         * lib/atanl.c: New file.
19812         * lib/ceill.c: New file.
19813         * lib/cosl.c: New file.
19814         * lib/expl.c: New file.
19815         * lib/floorl.c: New file.
19816         * lib/frexpl.c: New file.
19817         * lib/ldexpl.c: New file.
19818         * lib/logl.c: New file.
19819         * lib/sincosl.c: New file.
19820         * lib/sinl.c: New file.
19821         * lib/sqrtl.c: New file.
19822         * lib/tanl.c: New file.
19823         * lib/trigl.c: New file.
19824         * lib/trigl.h: New file.
19825
19826 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
19827
19828         * m4/mathl.m4: New file.
19829
19830 2003-02-18  Bruno Haible  <bruno@clisp.org>
19831
19832         * MODULES.html.sh (func_all_modules): Add mathl.
19833
19834 2003-02-17  Bruno Haible  <bruno@clisp.org>
19835
19836         * modules/mkdtemp: New module.
19837         * MODULES.html.sh (func_all_modules): Add it.
19838
19839 2003-02-17  Bruno Haible  <bruno@clisp.org>
19840
19841         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
19842
19843 2003-02-17  Bruno Haible  <bruno@clisp.org>
19844
19845         * lib/mkdtemp.h: New file, from GNU gettext.
19846         * lib/mkdtemp.c: New file, from GNU gettext.
19847
19848 2003-02-02  Jim Meyering  <jim@meyering.net>
19849
19850         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
19851         e.g. glibc-2.2.93.
19852
19853 2003-01-31  Bruno Haible  <bruno@clisp.org>
19854
19855         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
19856         'rpl_rename'.
19857         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
19858         'rpl_strnlen'.
19859         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
19860         'rpl_strtod'.
19861         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
19862         'rpl_utime'.
19863
19864 2003-01-31  Bruno Haible  <bruno@clisp.org>
19865
19866         * lib/rename.c: #undef rename before defining rpl_rename.
19867         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
19868
19869 2003-01-30  Bruno Haible  <bruno@clisp.org>
19870
19871         * modules/vasnprintf, modules/vasprintf: New modules.
19872         * MODULES.html.sh (func_all_modules): Add them.
19873
19874 2003-01-30  Bruno Haible  <bruno@clisp.org>
19875
19876         * m4/signed.m4: New file, from GNU gettext.
19877         * m4/longdouble.m4: New file, from GNU gettext.
19878         * m4/wchar_t.m4: New file, from GNU gettext.
19879         * m4/wint_t.m4: New file, from GNU gettext.
19880         * m4/vasnprintf.m4: New file.
19881         * m4/vasprintf.m4: New file.
19882
19883 2003-01-30  Bruno Haible  <bruno@clisp.org>
19884
19885         * lib/printf-args.h: New file, from GNU gettext.
19886         * lib/printf-args.c: New file, from GNU gettext.
19887         * lib/printf-parse.h: New file, from GNU gettext.
19888         * lib/printf-parse.c: New file, from GNU gettext.
19889         * lib/vasnprintf.h: New file, from GNU gettext.
19890         * lib/vasnprintf.c: New file, from GNU gettext.
19891         * lib/asnprintf.c: New file, from GNU gettext.
19892         * lib/vasprintf.h: New file, from GNU gettext with modifications.
19893         * lib/vasprintf.c: New file, from GNU gettext.
19894         * lib/asprintf.c: New file, from GNU gettext.
19895
19896 2003-01-29  Bruno Haible  <bruno@clisp.org>
19897
19898         * modules/stpncpy: New module.
19899         * MODULES.html.sh (func_all_modules): Add it.
19900
19901 2003-01-29  Bruno Haible  <bruno@clisp.org>
19902
19903         * m4/stpncpy.m4: New file.
19904
19905 2003-01-29  Bruno Haible  <bruno@clisp.org>
19906
19907         * lib/stpncpy.h: New file, from GNU gettext with modifications.
19908         * lib/stpncpy.c: New file, from GNU gettext with modifications.
19909
19910 2003-01-28  Bruno Haible  <bruno@clisp.org>
19911
19912         * modules/c-ctype: New module.
19913         * MODULES.html.sh (func_all_modules): Add it.
19914
19915 2003-01-28  Bruno Haible  <bruno@clisp.org>
19916
19917         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
19918         Paul Eggert.
19919         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
19920         Paul Eggert.
19921
19922 2003-01-27  Bruno Haible  <bruno@clisp.org>
19923
19924         * modules/xsetenv: New module.
19925         * MODULES.html.sh (func_all_modules): Add it.
19926
19927 2003-01-27  Bruno Haible  <bruno@clisp.org>
19928
19929         * lib/xsetenv.h: New file, from GNU gettext.
19930         * lib/xsetenv.c: New file, from GNU gettext.
19931
19932 2003-01-23  Jim Meyering  <jim@meyering.net>
19933
19934         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
19935         from working on systems without dirfd (at least Irix and OSF1/Tru64).
19936
19937 2003-01-23  Bruno Haible  <bruno@clisp.org>
19938
19939         * modules/minmax: New module.
19940         * MODULES.html.sh (func_all_modules): Add it.
19941
19942 2003-01-23  Bruno Haible  <bruno@clisp.org>
19943
19944         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
19945         Eggert.
19946
19947 2003-01-22  Bruno Haible  <bruno@clisp.org>
19948
19949         * modules/exit: New module.
19950         * MODULES.html.sh (func_all_modules): Add it.
19951
19952 2003-01-22  Bruno Haible  <bruno@clisp.org>
19953
19954         * lib/exit.h: New file, from GNU gettext.
19955
19956 2003-01-19  Bruno Haible  <bruno@clisp.org>
19957
19958         * gnulib-tool: Recognize option --extract-maintainer.
19959         (func_get_maintainer): New function.
19960         * modules/*: Add Maintainer entry.
19961
19962 2003-01-16  Jim Meyering  <jim@meyering.net>
19963
19964         * m4/regex.m4: The `regex' struct is both input and output.
19965         Initialize it before each use.  Patch by Tim Waugh.
19966
19967 2003-01-16  Bruno Haible  <bruno@clisp.org>
19968
19969         * MODULES.html.sh: Add a table of contents. Add the module name as
19970         leftmost column. Add hyperlinks.
19971
19972 2003-01-15  Bruno Haible  <bruno@clisp.org>
19973
19974         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
19975
19976 2003-01-15  Bruno Haible  <bruno@clisp.org>
19977
19978         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
19979         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
19980         suffix.
19981
19982 2003-01-15  Bruno Haible  <bruno@clisp.org>
19983
19984         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
19985
19986 2003-01-15  Bruno Haible  <bruno@clisp.org>
19987
19988         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
19989         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
19990
19991 2003-01-14  Jim Meyering  <jim@meyering.net>
19992
19993         * lib/same.c (same_name): Tweak a comment.
19994
19995 2003-01-14  Bruno Haible  <bruno@clisp.org>
19996
19997         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
19998         when a string comparison is sufficient.
19999
20000 2003-01-14  Bruno Haible  <bruno@clisp.org>
20001
20002         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
20003         'unsigned int'.
20004
20005 2003-01-14  Bruno Haible  <bruno@clisp.org>
20006
20007         * lib/hash-pjw.c: Add comment about low quality of this function.
20008
20009 2003-01-13  Bruno Haible  <bruno@clisp.org>
20010
20011         * modules/stpcpy: Distribute lib/stpcpy.h.
20012         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
20013
20014 2003-01-13  Bruno Haible  <bruno@clisp.org>
20015
20016         * modules/*: Add a description.
20017         * modules/strpbrk: Fix Makefile.am snippet.
20018         * modules/strtoimax: Fix dependencies.
20019         * modules/strtoumax: Likewise.
20020
20021 2003-01-13  Bruno Haible  <bruno@clisp.org>
20022
20023         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
20024         * modules/alloca (Makefile.am): All object files depend on alloca.h.
20025         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
20026
20027 2003-01-13  Bruno Haible  <bruno@clisp.org>
20028
20029         * gnulib-tool (func_create_testdir): Store config/* files in the main
20030         directory.
20031         * config.rpath: Move to ...
20032         * config/config.rpath: ... here.
20033         * modules/gettext: Contains config/config.rpath, not config.rpath.
20034         * modules/iconv: Likewise.
20035
20036 2003-01-12  Paul Eggert  <eggert@twinsun.com>
20037
20038         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
20039         to avoid collisions with libcurses and libreadline.
20040
20041         * m4/getstr.m4: Remove.
20042         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
20043
20044 2003-01-12  Paul Eggert  <eggert@twinsun.com>
20045
20046         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
20047         to avoid collisions with libcurses and libreadline.
20048
20049         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
20050         * lib/getstr.h, getstr.c: Remove.
20051         * lib/getline.c: Include "getline.h", to check interface.
20052         Move body of old getstr.c here: this defines MIN_CHUNK and
20053         declares getdelim2, which is renamed from getstr.
20054         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
20055
20056         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
20057         All uses changed.
20058         * lib/linebuffer.h: Likewise.
20059         (readline): Remove backward-compatibility macro.
20060
20061 2003-01-12  Paul Eggert  <eggert@twinsun.com>
20062
20063         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
20064         to avoid collisions with libcurses and libreadline.
20065         * getstr: Remove.
20066         * MODULES.html.sh: Remove getstr.
20067         * modules/getline: Depend on unlocked-io, not getstr.
20068
20069 2003-01-12  Jim Meyering  <jim@meyering.net>
20070
20071         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
20072
20073 2003-01-10  Bruno Haible  <bruno@clisp.org>
20074
20075         * modules/alloca: Change Makefile.am requirements. Simplify Include
20076         requirements. Add lib/alloca_.h to file list.
20077
20078 2003-01-10  Bruno Haible  <bruno@clisp.org>
20079
20080         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
20081
20082 2003-01-10  Bruno Haible  <bruno@clisp.org>
20083
20084         * lib/alloca_.h: New file.
20085         * lib/getdate.y: Unconditionally include alloca.h.
20086         * lib/makepath.c: Likewise.
20087         * lib/setenv.c: Likewise.
20088         * lib/userspec.c: Likewise.
20089
20090 2003-01-09  Karl Berry  <karl@gnu.org>
20091
20092         * MODULES.html.sh: include `dirname $0` in PATH, to find
20093         gnulib-tool.
20094
20095 2003-01-09  Bruno Haible  <bruno@clisp.org>
20096
20097         * modules/stdbool: Change configure.ac, Makefile.am requirements.
20098         Simplify Include requirements. Add lib/stdbool.h.in to file list.
20099
20100 2003-01-09  Bruno Haible  <bruno@clisp.org>
20101
20102         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
20103
20104 2003-01-09  Bruno Haible  <bruno@clisp.org>
20105
20106         * lib/stdbool.h.in: New file.
20107
20108 2003-01-09  Bruno Haible  <bruno@clisp.org>
20109
20110         * gnulib-tool (func_all_modules): Ignore files ending in ~.
20111         * MODULES.html.sh: Likewise.
20112
20113 2003-01-08  Jim Meyering  <jim@meyering.net>
20114
20115         * lib/full-write.c: Undefine and define-away `const' after inclusion
20116         of errno.h, not before.  Suggestion from Bruno Haible.
20117
20118 2003-01-08  Bruno Haible  <bruno@clisp.org>
20119
20120         * modules/full-read: Depend on full-write.
20121
20122 2003-01-08  Bruno Haible  <bruno@clisp.org>
20123
20124         * lib/safe-read.c: Include specification header first, to ensure its
20125         selfcontainedness.
20126         * lib/full-write.c: Likewise.
20127
20128 2003-01-07  Jim Meyering  <jim@meyering.net>
20129
20130         * lib/full-write.c: Rework so that it may serve to define full_read,
20131         too.
20132         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
20133
20134 2003-01-07  Bruno Haible  <bruno@clisp.org>
20135
20136         * lib/strtoimax.c: Include <stdint.h> as an alternative to
20137         <inttypes.h>.
20138         * lib/xstrtol.h: Likewise.
20139         * lib/xstrtoimax.c: Likewise.
20140         * lib/xstrtoumax.c: Likewise.
20141         * lib/human.h: Likewise.
20142
20143         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
20144         on systems that have <inttypes.h> but not <stdint.h>.
20145
20146 2003-01-07  Bruno Haible  <bruno@clisp.org>
20147
20148         * MODULES.html.sh: Add copyright notice.
20149         (missed_files): Omit CVS directory entries.
20150         (func_module): Make it work with sed-3.02.
20151         * MODULES.txt: Remove file.
20152
20153 2003-01-06  Jim Meyering  <jim@meyering.net>
20154
20155         * lib/version-etc.c: Update year in translatable copyright string.
20156
20157 2003-01-03  Karl Berry  <karl@gnu.org>
20158
20159         * config/config.{guess,sub}: update from prep.
20160
20161 2003-01-02  Karl Berry  <karl@gnu.org>
20162
20163         * doc/COPYING.DOC: belatedly updated to 1.2.
20164
20165 2003-01-01  Karl Berry  <karl@gnu.org>
20166
20167         * gnulib-tool (func_verify_module): report module name $module in
20168         error message, not $1.
20169         * gnulib-tool (create-testdir): don't complain if destdir couldn't
20170         be created, only if it doesn't exist.
20171         * gnulib-tool (last_checkin_date): don't expand the $Date here.
20172
20173 2002-12-31  Paul Eggert  <eggert@twinsun.com>
20174
20175         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
20176
20177 2002-12-31  Paul Eggert  <eggert@twinsun.com>
20178
20179         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
20180         memcmp if strcoll doesn't work.
20181
20182 2002-12-31  Bruno Haible  <bruno@clisp.org>
20183
20184         * lib/utime.c (utime_null): No need to call ftruncate if the file was
20185         nonempty.
20186
20187 2002-12-31  Bruno Haible  <bruno@clisp.org>
20188
20189         * lib/memcoll.c (STRCOLL): New macro.
20190         (memcoll): Use it.
20191
20192 2002-12-31  Bruno Haible  <bruno@clisp.org>
20193
20194         * lib/localcharset.h: New file.
20195         * lib/localcharset.c: Include it.
20196         * lib/unicodeio.c: Likewise.
20197
20198 2002-12-31  Bruno Haible  <bruno@clisp.org>
20199
20200         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
20201         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
20202
20203 2002-12-31  Bruno Haible  <bruno@clisp.org>
20204
20205         * lib/getline.h: Include <stddef.h>, for size_t.
20206
20207         * lib/unicodeio.h: Include <stddef.h>, for size_t.
20208         * lib/unicodeio.c: Don't include <stddef.h>.
20209
20210 2002-12-31  Bruno Haible  <bruno@clisp.org>
20211
20212         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
20213         HAVE_TM_ZONE.
20214
20215 2002-12-24  Karl Berry  <karl@gnu.org>
20216
20217         * config/config.guess: update from prep.
20218
20219 2002-12-24  Bruno Haible  <bruno@clisp.org>
20220
20221         General infrasructure.
20222         * m4/README: Rewritten.
20223         * m4/onceonly.m4: New file.
20224         * m4/onceonly_2_57.m4: New file.
20225
20226         Module atexit.
20227         * m4/atexit.m4: New file.
20228
20229         Module strtod.
20230         * m4/strtod.m4: New file.
20231
20232         Module strtol.
20233         * m4/strtol.m4: New file.
20234
20235         Module strtoul.
20236         * m4/strtoul.m4: New file.
20237
20238         Module memchr.
20239         * m4/memchr.m4: New file.
20240
20241         Module memcmp.
20242         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
20243         (jm_FUNC_MEMCMP): Invoke it.
20244
20245         Module memcpy.
20246         * m4/memcpy.m4: New file.
20247
20248         Module memmove.
20249         * m4/memmove.m4: New file.
20250
20251         Module memset.
20252         * m4/memset.m4: New file.
20253
20254         Module strcspn.
20255         * m4/strcspn.m4: New file.
20256
20257         Module strpbrk.
20258         * m4/strpbrk.m4: New file.
20259
20260         Module strstr.
20261         * m4/strstr.m4: New file.
20262
20263         Module strerror.
20264         * m4/strerror.m4: New file.
20265
20266         Module mktime.
20267         * m4/mktime.m4: Renamed from jm-mktime.m4.
20268         (gl_PREREQ_MKTIME): New macro.
20269         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
20270
20271         Module malloc.
20272         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
20273         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
20274         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
20275
20276         Module realloc.
20277         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
20278         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
20279         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
20280
20281         Module strftime.
20282         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
20283         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
20284         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
20285         gl_TM_GMTOFF.
20286         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
20287
20288         Module xalloc.
20289         * m4/xalloc.m4: New file.
20290
20291         Module alloca.
20292         * m4/alloca.m4: New file.
20293
20294         Module putenv.
20295         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
20296         (jm_FUNC_PUTENV): Invoke it.
20297
20298         Module setenv.
20299         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
20300         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
20301         when invoked twice.
20302         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
20303         gt_FUNC_SETENV.
20304
20305         Module memrchr.
20306         * m4/memrchr.m4: New file.
20307
20308         Module stpcpy.
20309         * m4/stpcpy.m4: New file.
20310
20311         Module strcase.
20312         * m4/strcase.m4: New file.
20313
20314         Module strdup.
20315         * m4/strdup.m4: New file.
20316
20317         Module strnlen.
20318         * m4/strnlen.m4: New file.
20319
20320         Module strndup.
20321         * m4/strndup.m4: New file.
20322
20323         Module xstrtod.
20324         * m4/xstrtod.m4: New file.
20325
20326         Module xstrtol.
20327         * m4/xstrtol.m4: New file.
20328
20329         Module getdate.
20330         * m4/getdate.m4: New file.
20331
20332         Module unlocked-io.
20333         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
20334         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
20335         * m4/jm-glibc-io.m4n: Remove file.
20336
20337         Module long-options.
20338         * m4/long-options.m4: New file.
20339
20340         Module md5.
20341         * m4/md5.m4: New file.
20342
20343         Module sha.
20344         * m4/sha.m4: New file.
20345
20346         Module getstr.
20347         * m4/getstr.m4: New file.
20348
20349         Module getline.
20350         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
20351         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
20352         <sys/types.h>, for size_t. Use the function name gnu_getline, not
20353         simply getline. Infoke gl_PREREQ_GETLINE.
20354
20355         Module obstack.
20356         * m4/obstack.m4: New file.
20357
20358         Module hash.
20359         * m4/hash.m4: New file.
20360
20361         Module readtokens.
20362         * m4/readtokens.m4: New file.
20363
20364         Module strverscmp.
20365         * m4/strverscmp.m4: New file.
20366
20367         Module stdbool.
20368         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
20369         OSF/1.
20370
20371         Module strtoll.
20372         * m4/strtoll.m4: New file.
20373
20374         Module strtoull.
20375         * m4/strtoull.m4: New file.
20376
20377         Module strtoimax.
20378         * m4/strtoimax.m4: New file.
20379
20380         Module strtoumax.
20381         * m4/strtoumax.m4: New file.
20382
20383         Module xstrtoimax.
20384         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
20385         jm_AC_PREREQ_XSTRTOIMAX.
20386         Moved the strtol prerequisites to strtol.m4.
20387         Moved the strtoll prerequisites to strtoll.m4.
20388         Moved the strtoimax prerequisites to strtoimax.m4.
20389
20390         Module xstrtoumax.
20391         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
20392         jm_AC_PREREQ_XSTRTOUMAX.
20393         Moved the strtoul prerequisites to strtoul.m4.
20394         Moved the strtoull prerequisites to strtoull.m4.
20395         Moved the strtoumax prerequisites to strtoumax.m4.
20396
20397         Module chown.
20398         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
20399         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
20400
20401         Module dup2.
20402         * m4/dup2.m4: New file.
20403
20404         Module ftruncate.
20405         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
20406         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
20407
20408         Module getgroups.
20409         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
20410         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
20411
20412         Module gettimeofday.
20413         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
20414         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
20415         gl_PREREQ_GETTIMEOFDAY.
20416
20417         Module mkdir.
20418         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
20419         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
20420
20421         Module mkstemp.
20422         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
20423         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
20424         jm_AC_TYPE_UINTMAX_T.
20425         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
20426
20427         Module stat.
20428         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
20429         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
20430
20431         Module lstat.
20432         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
20433         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
20434
20435         Module timespec.
20436         * m4/timespec.m4 (gl_TIMESPEC): New macro.
20437         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
20438         * m4/st_mtim.m4: Indentation.
20439
20440         Module nanosleep.
20441         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
20442         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
20443         gl_PREREQ_NANOSLEEP.
20444
20445         Module regex.
20446         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
20447         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
20448         (gl_REGEX): New macro.
20449
20450         Module rename.
20451         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
20452         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
20453
20454         Module rmdir.
20455         * m4/rmdir.m4: New file.
20456
20457         Module utime.
20458         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
20459         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
20460         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
20461
20462         Module dirname.
20463         * m4/dirname.m4: New file.
20464
20465         Module getopt.
20466         * m4/getopt.m4: New file.
20467
20468         Module unistd-safer.
20469         * m4/unistd-safer.m4: New file.
20470
20471         Module fnmatch.
20472         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
20473         declaration.
20474         (gl_PREREQ_FNMATCH_EXTRA): New macro.
20475         (gl_FUNC_FNMATCH_POSIX): New macro.
20476         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
20477         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
20478         simply fnmatch.
20479
20480         Module exclude.
20481         * m4/exclude.m4: New file.
20482
20483         Module human.
20484         * m4/human.m4: New file.
20485
20486         Module acl.
20487         * m4/acl.m4: Nop.
20488
20489         Module backupfile.
20490         * m4/backupfile.m4: New file.
20491         * m4/d-ino.m4: Indentation.
20492
20493         Module fsusage.
20494         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
20495         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
20496         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
20497
20498         Module dirfd.
20499         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
20500         requirements.
20501
20502         Module euidaccess.
20503         * m4/euidaccess.m4: New file.
20504
20505         Module file-type.
20506         * m4/file-type.m4: New file.
20507
20508         Module fileblocks.
20509         * m4/fileblocks.m4: New file.
20510
20511         Module filemode.
20512         * m4/filemode.m4: New file.
20513
20514         Module isdir.
20515         * m4/isdir.m4: New file.
20516
20517         Module lchown.
20518         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
20519         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
20520
20521         Module makepath.
20522         * m4/makepath.m4: New file.
20523
20524         Module modechange.
20525         * m4/modechange.m4: New file.
20526
20527         Module mountlist.
20528         * m4/mountlist.m4: New file.
20529         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
20530         Indentation.
20531
20532         Module path-concat.
20533         * m4/path-concat.m4: New file.
20534
20535         Module pathmax.
20536         * m4/pathmax.m4: New file.
20537
20538         Module same.
20539         * m4/same.m4: New file.
20540
20541         Module save-cwd.
20542         * m4/save-cwd.m4: New file.
20543
20544         Module savedir.
20545         * m4/savedir.m4: New file.
20546
20547         Module xgetcwd.
20548         * m4/xgetcwd.m4: New file.
20549         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
20550
20551         Module xreadlink.
20552         * m4/xreadlink.m4: New file.
20553
20554         Module safe-read.
20555         * m4/safe-read.m4: New file.
20556
20557         Module safe-write.
20558         * m4/safe-write.m4: New file.
20559
20560         Module closeout.
20561         * m4/closeout.m4: New file.
20562
20563         Module stdio-safer.
20564         * m4/stdio-safer.m4: New file.
20565
20566         Module getpass.
20567         * m4/getpass.m4: New file.
20568
20569         Module getugroups.
20570         * m4/getugroups.m4: New file.
20571
20572         Module group-member.
20573         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
20574         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
20575
20576         Module idcache.
20577         * m4/idcache.m4: New file.
20578
20579         Module userspec.
20580         * m4/userspec.m4: New file.
20581
20582         Module gettime.
20583         * m4/clock_time.m4: New file.
20584         * m4/gettime.m4: New file.
20585
20586         Module settime.
20587         * m4/settime.m4: New file.
20588
20589         Module posixtm.
20590         * m4/posixtm.m4: New file.
20591
20592         Module gethostname.
20593         * m4/gethostname.m4: New file.
20594
20595         Module canon-host.
20596         * m4/canon-host.m4: New file.
20597
20598         Module gettext.
20599         * m4/codeset.m4: New file, from gettext-0.11.5.
20600         * m4/gettext.m4: New file, from gettext-0.11.5.
20601         * m4/glibc21.m4: New file, from gettext-0.11.5.
20602         * m4/iconv.m4: New file, from gettext-0.11.5.
20603         * m4/intdiv0.m4: New file, from gettext-0.11.5.
20604         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
20605         * m4/inttypes.m4: New file, from gettext-0.11.5.
20606         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
20607         * m4/isc-posix.m4: New file, from gettext-0.11.5.
20608         * m4/lcmessage.m4: New file, from gettext-0.11.5.
20609         * m4/lib-ld.m4: New file, from gettext-0.11.5.
20610         * m4/lib-link.m4: New file, from gettext-0.11.5.
20611         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
20612         * m4/progtest.m4: New file, from gettext-0.11.5.
20613         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
20614         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
20615         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
20616
20617         Module localcharset.
20618         * m4/localcharset.m4: New file.
20619
20620         Module hard-locale.
20621         * m4/hard-locale.m4: New file.
20622
20623         Module mbswidth.
20624         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
20625         onceonly macros.
20626         * m4/mbrtowc.m4: Add comment.
20627
20628         Module memcasecmp.
20629         * m4/memcasecmp.m4: New file.
20630
20631         Module memcoll.
20632         * m4/memcoll.m4: New file.
20633
20634         Module unicodeio.
20635         * m4/unicodeio.m4: New file.
20636
20637         Module rpmatch.
20638         * m4/rpmatch.m4: New file.
20639
20640         Module yesno.
20641         * m4/yesno.m4: New file.
20642
20643         Module exitfail.
20644         * m4/exitfail.m4: New file.
20645
20646         Module c-stack.
20647         * m4/c-stack.m4 (gl_C_STACK): New macro.
20648         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
20649
20650         Module error.
20651         * m4/error.m4 (gl_ERROR): New macro.
20652         (jm_PREREQ_ERROR): Use onceonly macros.
20653
20654         Module fatal.
20655         * m4/fatal.m4: New file.
20656
20657         Module getloadavg.
20658         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
20659         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
20660
20661         Module getpagesize.
20662         * m4/getpagesize.m4: New file.
20663
20664         Module getusershell.
20665         * m4/getusershell.m4: New file.
20666
20667         Module physmem.
20668         * m4/physmem.m4: New file.
20669
20670         Module posixver.
20671         * m4/posixver.m4: New file.
20672
20673         Module quotearg.
20674         * m4/quotearg.m4: New file.
20675
20676         Module quote.
20677         * m4/quote.m4: New file.
20678
20679         Module readutmp.
20680         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
20681
20682         Module sig2str.
20683         * m4/sig2str.m4: New file.
20684
20685         Other.
20686         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
20687         ulonglong.m4.
20688         * m4/intmax_t.m4: New file.
20689         * m4/d-type.m4: Indentation.
20690         * m4/jm-macros.m4: Update.
20691         * m4/prereq.m4 (jm_PREREQ): Update.
20692         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
20693         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
20694         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
20695         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
20696         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
20697         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
20698         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
20699         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
20700         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
20701         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
20702         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
20703         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
20704         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
20705         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
20706         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
20707         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
20708         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
20709         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
20710         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
20711
20712 2002-12-24  Bruno Haible  <bruno@clisp.org>
20713
20714         * MODULES.txt: Update according to m4/ changes.
20715
20716         Module gettext.
20717         * config.rpath: New file, from gettext-0.11.5.
20718
20719         * modules/*: New module descriptions.
20720         * gnulib-tool: New file.
20721         * MODULES.html.sh: New file.
20722
20723 2002-12-21  Karl Berry  <karl@gnu.org>
20724
20725         * doc/fdl.texi: update to version 1.2.
20726
20727 2002-12-19  Karl Berry  <karl@gnu.org>
20728
20729         * config/config.guess: update from prep.
20730
20731 2002-12-18  Bruno Haible  <bruno@clisp.org>
20732
20733         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
20734         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
20735
20736 2002-12-17  Bruno Haible  <bruno@clisp.org>
20737
20738         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
20739         stdlib.h, string.h.
20740
20741 2002-12-17  Bruno Haible  <bruno@clisp.org>
20742
20743         * lib/canon-host.c (strdup): Remove unused declaration.
20744
20745         * lib/fsusage.c: Include full_read.h.
20746         (get_fs_usage): Use full_read instead of safe_read.
20747
20748         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
20749
20750 2002-12-12  Karl Berry  <karl@gnu.org>
20751
20752         * config/config.guess: update from prep.
20753
20754 2002-12-11  Bruno Haible  <bruno@clisp.org>
20755
20756         * m4/setenv.m4: New file, from gettext-0.11.5.
20757
20758 2002-12-11  Bruno Haible  <bruno@clisp.org>
20759
20760         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
20761         not unsetenv().
20762         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
20763         modifications:
20764
20765         2002-12-11  Bruno Haible  <bruno@clisp.org>
20766
20767                 * setenv.c (alloca): Fall back to malloc.
20768                 (freea): New macro.
20769                 (setenv): Use freea() to free memory allocated with alloca().
20770
20771         2002-11-13  Bruno Haible  <bruno@clisp.org>
20772
20773                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
20774                 function declarations.
20775                 * unsetenv.c (unsetenv): Likewise.
20776
20777         2002-03-04  Bruno Haible  <bruno@clisp.org>
20778
20779                 Portability to AIX 4.3.3.
20780                 * unsetenv.c: New file, extracted from setenv.c.
20781                 * setenv.c: Move the unsetenv() function to unsetenv.c.
20782
20783         2001-12-20  Bruno Haible  <bruno@clisp.org>
20784
20785                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
20786                 use malloc instead. For SunOS 4.
20787
20788         2001-12-11  Bruno Haible  <bruno@clisp.org>
20789
20790                 * setenv.c: Declare alloca.
20791                 (compar_fn_t): New typedef.
20792                 (KNOWN_VALUE, STORE_VALUE): Use it.
20793
20794         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
20795         setenv.h.
20796
20797 2002-12-10  Paul Eggert  <eggert@twinsun.com>
20798
20799         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
20800         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
20801         Choose values that are less likely to collide with system fnmatch
20802         options.
20803         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
20804         defined (e.g., a pure POSIX system).
20805         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
20806         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
20807
20808 2002-12-06  Paul Eggert  <eggert@twinsun.com>
20809
20810         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
20811         a pain in practice to deal with generated m4 files.  This change
20812         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
20813
20814         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
20815         and jm-glibc-io.m4, as they are no longer a special case.
20816         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
20817         kludge and the auto-generation stuff.  Check only whether the
20818         functions are declared, not whether they exist, since older hosts
20819         that don't declare the functions can't use the optimization anyway.
20820
20821 2002-12-06  Jim Meyering  <jim@meyering.net>
20822
20823         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
20824
20825         Merge in changes from libc's misc/error.c, in preparation
20826         for the merge of gnulib's changes back into libc.
20827
20828         * lib/error.c (_): Define only if not already defined.
20829         Move definition to follow all #include directives.
20830         Include unlocked-io.h only if !_LIBC.
20831         [_LIBC]: Include <libio/libioP.h>.
20832         [USE_IN_LIBIO]: Include <libio/iolibio.h>
20833         (fflush): Tweak definition to use INTUSE.
20834         (putc): Define.
20835
20836 2002-12-05  Paul Eggert  <eggert@twinsun.com>
20837
20838         * lib/alloca.c [defined emacs]: Include "lisp.h".
20839         (xalloc_die) [defined emacs]: New macro.
20840         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
20841         [! defined emacs]: Include <xalloc.h>.
20842         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
20843         (pointer): Typedef to POINTER_TYPE *.
20844         (malloc): Remove decl; we now always use xmalloc.
20845         (alloca): Use old-style definition, since Emacs needs this.
20846         Check for arithmetic overflow when computing combined size.
20847
20848 2002-12-04  Paul Eggert  <eggert@twinsun.com>
20849
20850         Do not generate unlocked-io.h automatically, since it's easier to
20851         maintain it by hand.
20852
20853         * lib/unlocked-io.h: New file, from GNU diffutils,
20854         but with proper copyright notice and attribution.
20855         * lib/gen-uio: Remove.
20856         * lib/Makefile.am: Add copyright notice.
20857         (libfetish_a_SOURCES): Add unlocked-io.h.
20858         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
20859         (DISTCLEANFILES, io_functions): Remove macros.
20860         (EXTRA_DIST): Remove gen_uio.
20861         (unlocked-io.h): Remove rule.
20862
20863 2002-12-04  Jim Meyering  <jim@meyering.net>
20864
20865         Reflect the fact that stat.c and lstat.c are no longer generated.
20866         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
20867         (DISTCLEANFILES): Likewise.
20868         (EXTRA_DIST): Likewise.
20869         (all_local): Don't depend on stat.c or lstat.c.
20870         (stat.c, lstat.c): Remove rules.
20871         (EXTRA_DIST): Remove xstat.in.
20872
20873         * lib/xstat.in: Remove file.  Contents moved into stat.c.
20874         * lib/stat.c: New file.  Contents mostly from xstat.in.
20875         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
20876         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
20877
20878         * lib/safe-read.c: Rework so that it may serve to define safe_write,
20879         too.
20880         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
20881
20882 2002-12-03  Jim Meyering  <jim@meyering.net>
20883
20884         * lib/safe-read.c, safe-write.c: Change variable names and comments,
20885         but not semantics, to minimize the differences between these two files.
20886         (safe_read): Change comment to mention SAFE_READ_ERROR.
20887
20888         * lib/safe-read.c (IS_EINTR): Define.
20889         (safe_read): Use IS_EINTR in place of in-function cpp directives.
20890
20891 2002-12-02  Jim Meyering  <jim@meyering.net>
20892
20893         * lib/safe-read.c (EINTR): Define.
20894         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
20895         (INT_MAX): Provide fallback.
20896         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
20897
20898         * lib/safe-read.h (SAFE_READ_ERROR): Define.
20899
20900 2002-12-02  Bruno Haible  <bruno@clisp.org>
20901
20902         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
20903         Define, taken from safe-read.c.
20904         (INT_MAX): Provide fallback.
20905         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
20906         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
20907
20908         * lib/safe-read.c (EINTR): Remove definition.
20909         (safe_read): Don't use EINTR if it is absent.
20910
20911 2002-12-01  Jim Meyering  <jim@meyering.net>
20912
20913         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
20914         zero.
20915         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
20916
20917 2002-11-27  Paul Eggert  <eggert@twinsun.com>
20918
20919         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
20920         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
20921         with `if (! (value < limit)) abort ();', for readability.
20922
20923 2002-11-26  Karl Berry  <karl@gnu.org>
20924
20925         * lib/strdup.c: copy from libc again, with jim's ok.
20926         * lib/.cppi-disable: re-add strdup.c
20927
20928 2002-11-25  Karl Berry  <karl@gnu.org>
20929
20930         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
20931         instead of "strtol.c".
20932
20933 2002-11-25  Karl Berry  <karl@gnu.org>
20934
20935         * config/install-sh: update from automake for variable quoting, $0 in
20936         error msgs, etc.
20937
20938         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
20939         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
20940         entry.
20941
20942 2002-11-25  Jim Meyering  <jim@meyering.net>
20943
20944         * lib/mktime.c: Sync from libc, now that it has the latest fix.
20945
20946 2002-11-24  Karl Berry  <karl@gnu.org>
20947
20948         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
20949         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
20950
20951 2002-11-24  Jim Meyering  <jim@meyering.net>
20952
20953         Update from coreutils:
20954
20955         * lib/mktime.c: Merge in changes from libc.
20956
20957         Avoid a link-time failure on some Linux systems.
20958         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
20959         (otherwise).
20960         (__mon_yday): Declare with the STATIC attribute.
20961         (__mktime_internal): Likewise.
20962         Based on a report from Greg Schafer.
20963
20964 2002-11-23  Jim Meyering  <jim@meyering.net>
20965
20966         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
20967         Use `unsigned', not `int', as type of index.
20968
20969         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
20970
20971         * lib/fsusage.c: Remove unneeded parentheses around operands of
20972         `defined'.
20973
20974 2002-11-22  Paul Eggert  <eggert@twinsun.com>
20975
20976         * lib/quotearg.h: Allow multiple inclusion by surrounding with
20977         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
20978         so that we can be included first.
20979         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
20980         * lib/quotearg.c: Include quotearg.h immediately after config.h.
20981         No need to include stddef.h or sys/types.h any more.
20982         Surround local include files with "", not "<>".
20983         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
20984         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
20985         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
20986         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
20987         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
20988         (ISPRINT): Remove; no longer needed now that we assume C89.
20989
20990         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
20991         Preserve errno.
20992
20993         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
20994         quotearg_char): Use SIZE_MAX rather than
20995         (size_t) -1 when we are talking about "infinity".
20996
20997         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
20998
20999 2002-11-22  Paul Eggert  <eggert@twinsun.com>
21000
21001         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
21002         hint that one should use `if (! x) abort ();' rather than `assert
21003         (x);', and anyway it's one less thing to worry about configuring.
21004         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
21005         hash_rehash, hash_insert): Use abort rather than assert.
21006
21007 2002-11-22  Bruno Haible  <bruno@clisp.org>
21008
21009         * lib/safe-read.h: Assume C89. Add comments.
21010         (safe_read): Change return type to size_t.
21011         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
21012         byte counts > SSIZE_MAX correctly.
21013         * lib/safe-write.h: New file.
21014         * lib/safe-write.c: New file.
21015         * lib/full-read.h: New file.
21016         * lib/full-read.c: New file.
21017         * lib/full-write.h: Assume C89. Add comments.
21018         * lib/full-write.c: Include safe-write.h.
21019         (full_write): Rewritten to use safe_write.
21020         Suggested by Jim Meyering and Paul Eggert.
21021
21022 2002-11-21  Jim Meyering  <jim@meyering.net>
21023
21024         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
21025
21026         Merge in changes from the coreutils.
21027
21028         2002-09-25  Paul Eggert  <eggert@twinsun.com>
21029         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
21030         <stdint.h>.
21031         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
21032         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
21033         int.  Work more efficiently if X is the same width as uintmax_t.
21034         Do not compare X to -1, to avoid bogus compiler warning.
21035         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
21036         Don't assume that f_frsize and f_bsize are the same type.
21037
21038         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
21039         warning on FreeBSD.
21040
21041         * lib/makepath.c (make_path): Restore umask *before* creating the final
21042         component.
21043         (make_path): Minor reformatting.
21044
21045         * lib/xmalloc.c: Adjust to work with new autoconf macros,
21046         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
21047         HAVE_MALLOC/HAVE_REALLOC.
21048
21049         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
21050         dummy ones.  At least on GNU/Linux systems, `auto' means something
21051         else.
21052         From Michael Stone.
21053
21054 2002-11-21  Bruno Haible  <bruno@clisp.org>
21055
21056         Remove case insensitive option matching.
21057         * lib/argmatch.h (argcasematch): Remove declaration.
21058         (ARGCASEMATCH): Remove macro.
21059         (__xargmatch_internal): Remove case_sensitive argument.
21060         (XARGMATCH): Update.
21061         (XARGCASEMATCH): Remove macro.
21062         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
21063         case_sensitive argument.
21064         (argcasematch): Remove function.
21065         (__xargmatch_internal): Remove case_sensitive argument.
21066         (main): Use XARGMATCH instead of XARGCASEMATCH.
21067
21068         * lib/xmalloc.c: Change compile-time error message. Add comment about
21069         required autoconf version.
21070
21071 2002-11-20  Paul Eggert  <eggert@twinsun.com>
21072
21073         Merge argmatch cleanups from Bison.  Assume C89.
21074
21075         * lib/argmatch.c: Include config.h here, not in argmatch.h.
21076         Include stdlib.h, for EXIT_FAILURE.
21077         Always include <string.h>, since we assume C89.
21078         (EXIT_FAILURE): Remove pre-C89 bug workaround.
21079         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
21080         Include <stddef.h> instead, since it's all we need for size_t.
21081         (PARAMS): Remove.  All uses removed.
21082         (ARRAY_CARDINALITY): Do not bother to #undef.
21083         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
21084         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
21085         Remove unnecessary parentheses.
21086         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
21087         Insert necessary parentheses.
21088         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
21089         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
21090
21091 2002-11-19  Bruno Haible  <bruno@clisp.org>
21092
21093         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
21094         * lib/mbswidth.h: Include <stddef.h>, for size_t.
21095
21096         * lib/mbswidth.h (PARAMS): Remove macro.
21097         (mbswidth, mbsnwidth): Use ANSI C function declarations.
21098         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
21099
21100         * lib/gcd.h (PARAMS): Remove macro.
21101         (gcd): Use ANSI C function declarations.
21102         * lib/gcd.c (gcd): Likewise.
21103
21104 2002-11-15  Bruno Haible  <bruno@clisp.org>
21105
21106         * lib/strcspn.c: Include <stddef.h>.
21107         (strcspn): Use ANSI C function declaration. Change return type to
21108         size_t. Use NULL.
21109         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
21110         (strpbrk): Use NULL.
21111         * lib/strpbrk.h (PARAMS): Remove macro.
21112         (strpbrk): Use ANSI C function declaration.
21113         * lib/strstr.c: Don't include <sys/types.h>.
21114         * lib/strstr.h (PARAMS): Remove macro.
21115         (strstr): Use ANSI C function declarations.
21116
21117 2002-11-14  Karl Berry  <karl@gnu.org>
21118
21119         * config/mkinstalldirs: `do' on separate line, instead of
21120         `for var; do'.
21121
21122 2002-11-06  Bruno Haible  <bruno@clisp.org>
21123
21124         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
21125         * lib/gcd.c (gcd): Likewise.
21126
21127 2002-11-05  Bruno Haible  <bruno@clisp.org>
21128
21129         * lib/gcd.h: New file, from gettext-0.11.5.
21130         * lib/gcd.c: New file, from gettext-0.11.5.
21131
21132 2002-11-05  Bruno Haible  <bruno@clisp.org>
21133
21134         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21135         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21136         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21137         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21138
21139         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
21140         <libintl.h>.
21141         * lib/makepath.c: Include gettext.h instead of <locale.h> and
21142         <libintl.h>.
21143
21144         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
21145         * lib/human.c: Include gettext.h instead of <libintl.h>.
21146         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
21147         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
21148         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
21149         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
21150         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
21151         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
21152         (textdomain): Remove definition.
21153         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
21154
21155         * lib/long-options.c: Remove include of <libintl.h> and definition of
21156         _.
21157         * lib/same.c: Remove include of <libintl.h> and definition of _.
21158
21159 2002-11-04  Owen Taylor  <otaylor@redhat.com>
21160
21161         * lib/config.charset: A few additions for Solaris.
21162
21163 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
21164
21165         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
21166         * lib/localcharset.c (locale_charset): Declare as extern "C".
21167
21168 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
21169
21170         * lib/config.charset: msdos in uk_UA uses CP1125.
21171
21172 2002-11-04  Bruno Haible  <bruno@clisp.org>
21173
21174         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
21175         * lib/strcase.h: New file, from GNU gettext-0.11.5.
21176         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
21177         * lib/strstr.h: New file, from GNU gettext-0.11.5.
21178         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
21179
21180 2002-11-04  Bruno Haible  <bruno@clisp.org>
21181
21182         * lib/localcharset.c (locale_charset): Don't return an empty string.
21183
21184 2002-11-04  Bruno Haible  <bruno@clisp.org>
21185
21186         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
21187         aliases.
21188
21189 2002-11-04  Bruno Haible  <bruno@clisp.org>
21190
21191         * lib/config.charset: Update for newest glibc. Add canonical names
21192         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
21193
21194 2002-11-04  Bruno Haible  <bruno@clisp.org>
21195
21196         * lib/config.charset: Add support for NetBSD.
21197
21198 2002-11-04  Bruno Haible  <bruno@clisp.org>
21199
21200         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
21201
21202 2002-11-01  Bruno Haible  <bruno@clisp.org>
21203
21204         * configure.in: Add AC_CONFIG_AUX_DIR call.
21205         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
21206         test/Makefile.
21207         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
21208
21209 2002-09-28  Karl Berry  <karl@gnu.org>
21210
21211         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
21212         installed automake until the next release, since changes have been
21213         made.
21214
21215 2002-09-25  Karl Berry  <karl@gnu.org>
21216
21217         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
21218         * lib/getopt*: copy from libc/posix.
21219         * lib/gettext.h: copy from gettext.
21220         * lib/.cppi-disable: add strdup.c, gettext.h.
21221
21222 2002-09-25  Karl Berry  <karl@gnu.org>
21223
21224         * config/srclist.txt: enable gettext.h check.
21225         * config/config.{guess,sub}: update from prep.
21226         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
21227                 from automake 1.6.3.
21228         See srclist*.
21229
21230 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
21231
21232         * regex.c (PATFETCH): Remove the translating fetch.
21233         (PATFETCH_RAW): Rename to PATFETCH.
21234         (set_image_of_range): New fun.
21235         (SET_RANGE_TABLE_WORK_AREA): Use it.
21236         (regex_compile): Don't translate the pattern chars so eagerly.
21237         Only do it when inserting an `exactn' bytecode or when handling
21238         a char-range.
21239         (mutually_exclusive_p): Avoid empty statement.
21240
21241 2002-07-06  Jim Meyering  <meyering@lucent.com>
21242
21243         * m4/README: Don't mention Makefile.am.in.
21244         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
21245
21246 2002-07-01  Jim Meyering  <meyering@lucent.com>
21247
21248         * lib/c-stack.c: Include sys/time.h.
21249         From Volker Borchert.
21250
21251 2002-06-26  Paul Eggert  <eggert@twinsun.com>
21252
21253         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
21254
21255 2002-06-26  Paul Eggert  <eggert@twinsun.com>
21256
21257         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
21258         New macro.  Use it uniformly instead of
21259         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
21260         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
21261         reported by Vin Shelton.
21262
21263 2002-06-22  Paul Eggert  <eggert@twinsun.com>
21264
21265         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
21266         Do not assume SA_SIGINFO behavior.
21267         Bug reported by Jim Meyering on NetBSD 1.5.2.
21268
21269 2002-06-22  Jim Meyering  <meyering@lucent.com>
21270
21271         * m4/c-stack.m4: New file, from diffutils-2.8.2.
21272         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
21273
21274         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
21275         now that configure.ac uses AC_GNU_SOURCE.
21276         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
21277         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
21278
21279         Update to latest tools.  Suggestions from Paul Eggert.
21280         * m4/stdbool.m4: New file, from diffutils-2.8.2.
21281         * m4/gnu-source.m4: Update from diffutils-2.8.2.
21282         * m4/fnmatch.m4: Likewise.
21283         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
21284         to AC_HEADER_STDBOOL
21285
21286 2002-06-22  Jim Meyering  <meyering@lucent.com>
21287
21288         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
21289         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
21290
21291 2002-06-22  Jim Meyering  <meyering@lucent.com>
21292
21293         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
21294
21295         * lib/exitfail.c, exitfail.h: Likewise.
21296         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
21297
21298         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
21299         of fnmatch.h.
21300         (EXTRA_DIST): Add fnmatch_loop.c.
21301         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
21302
21303         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
21304         * lib/fnmatch.c: Update from diffutils-2.8.2.
21305         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
21306         * lib/fnmatch.h: Remove file.
21307
21308 2002-06-21  Jim Meyering  <meyering@lucent.com>
21309
21310         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
21311         * m4/mbrtowc.m4: Likewise.
21312
21313         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
21314         * m4/mbswidth.m4: Reflect name change:
21315         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
21316         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
21317
21318         * m4/lib-link.m4: Update from gettext-0.11.2.
21319         * m4/gettext.m4: Likewise.
21320
21321         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
21322         From Alfred M. Szmidt.
21323
21324 2002-06-18  Paul Eggert  <eggert@twinsun.com>
21325
21326         * lib/file-type.h: Report an error if neither S_ISREG nor
21327         S_IFREG is defined, instead of using a test specific to glibc
21328         2.2.  This should be safe, since POSIX requires S_ISREG and
21329         Unix Version 7 had S_IFREG.  We don't need to check for
21330         <sys/types.h> since we don't use any symbols that it defines.
21331
21332 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
21333
21334         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
21335         $@-t, so that each temporary file name is unique and valid in the first
21336         8 characters, for operation under DOS.
21337
21338 2002-06-15  Paul Eggert  <eggert@twinsun.com>
21339
21340         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
21341
21342 2002-06-15  Jim Meyering  <meyering@lucent.com>
21343
21344         Work even with DJGPP 2.03, which lacks support for symlinks.
21345         From Richard Dawe.
21346         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
21347         is defined.
21348         * lib/lchown.c (S_ISLNK): Likewise.
21349
21350 2002-06-15  Jim Meyering  <meyering@lucent.com>
21351
21352         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
21353         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
21354         have been included before this file.
21355
21356 2002-06-14  Jim Meyering  <meyering@lucent.com>
21357
21358         * lib/file-type.h: Use the version from diffutils-2.8.2.
21359         * lib/file-type.c: Likewise.
21360
21361 2002-06-07  Jim Meyering  <meyering@lucent.com>
21362
21363         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
21364         They're needed at least for NetBSD 1.5.2.
21365         ($statxfs_includes): Include those same headers.
21366         ($statxfs_includes): Include sys/vfs.h if available.
21367         ($statxfs_includes): Likewise for sys/statvfs.h.
21368         Check for the following members in both structs statfs and statvfs:
21369         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
21370
21371 2002-06-01  Jim Meyering  <meyering@lucent.com>
21372
21373         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
21374         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
21375
21376 2002-05-28  Jim Meyering  <meyering@lucent.com>
21377
21378         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
21379         Reported by Volker Borchert.
21380
21381 2002-05-27  Jim Meyering  <meyering@lucent.com>
21382
21383         Fix a problem seen only on nonconforming systems whereby ls.c's
21384         use of localtime, and then of gettimeofday would cause trouble:
21385         the localtime call used to initialize rpl_gettimeofday's save
21386         mechanism would clobber ls's current local time information so
21387         that in any long listing the first file would always be listed
21388         with date 1970-01-01.  Analysis by Volker Borchert.
21389
21390         * lib/gettimeofday.c (localtime): Undefine.
21391         (rpl_localtime): New function.
21392
21393 2002-05-27  Jim Meyering  <meyering@lucent.com>
21394
21395         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
21396         localtime.
21397
21398         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
21399         use the replacement function; it wouldn't resolve at link time.
21400         Reported by Volker Borchert.
21401
21402 2002-05-22  Jim Meyering  <meyering@lucent.com>
21403
21404         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
21405         file-type.h.
21406         * lib/file-type.h: New file.
21407         * lib/file-type.c (file_type): New file/function.  Extracted from
21408         diffutils.
21409
21410 2002-04-30  Jim Meyering  <meyering@lucent.com>
21411
21412         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
21413
21414 2002-04-29  Paul Eggert  <eggert@twinsun.com>
21415
21416         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
21417
21418 2002-04-29  Paul Eggert  <eggert@twinsun.com>
21419
21420         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
21421         Do not check for alloca.h (no longer used) or stdbool.h (was never
21422         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
21423
21424 2002-04-29  Paul Eggert  <eggert@twinsun.com>
21425
21426         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
21427
21428 2002-04-29  Jim Meyering  <meyering@lucent.com>
21429
21430         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
21431         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
21432         Use AC_FUNC_STRNLEN here instead.
21433
21434         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
21435         With autoconf-2.53a, it's part of AC_PROG_CC.
21436
21437 2002-04-28  Paul Eggert  <eggert@twinsun.com>
21438
21439         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
21440         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
21441
21442 2002-04-28  Paul Eggert  <eggert@twinsun.com>
21443
21444         * lib/sig2str.h, lib/sig2str.c: New files.
21445         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
21446
21447 2002-04-28  Paul Eggert  <eggert@twinsun.com>
21448
21449         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
21450         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
21451         of 127, since 64 is the largest conceivable number for ancient
21452         nonstandard hosts.
21453         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
21454
21455 2002-04-28  Jim Meyering  <meyering@lucent.com>
21456
21457         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
21458
21459 2002-04-24  Jim Meyering  <meyering@lucent.com>
21460
21461         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
21462         (jm_PREREQ): Use it.
21463
21464         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
21465         mach/mach.h fcntl.h.
21466         Check for this function: setlocale.
21467
21468 2002-04-24  Jim Meyering  <meyering@lucent.com>
21469
21470         * lib/gettext.h: New file, from Gettext.
21471         * lib/Makefile.am (INCLUDES): Remove -I../intl.
21472         (libfetish_a_SOURCES): Add gettext.h.
21473
21474 2002-04-16  Jim Meyering  <meyering@lucent.com>
21475
21476         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
21477         ut_pid, ut_id, ut_exit.
21478
21479 2002-04-16  Jim Meyering  <meyering@lucent.com>
21480
21481         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
21482         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
21483         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
21484
21485 2002-04-12  Jim Meyering  <meyering@lucent.com>
21486
21487         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
21488         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
21489         existence of the getmntinfo function.  Needed for Darwin 5.3.
21490
21491         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
21492         This is necessary at least on Darwin 5.3.
21493
21494         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
21495         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
21496         strnlen.o in the library, and that makes some versions of ranlib
21497         object.
21498
21499 2002-04-12  Jim Meyering  <meyering@lucent.com>
21500
21501         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
21502
21503 2002-04-09  Jim Meyering  <meyering@lucent.com>
21504
21505         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
21506         to be more precise.  Rather than saying we're checking whether the
21507         function `works', say what we're testing.
21508         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
21509         Reported by Bruno Haible.
21510
21511 2002-03-10  Jim Meyering  <meyering@lucent.com>
21512
21513         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
21514         Suggestion from Santiago Vila.
21515
21516 2002-03-08  Jim Meyering  <meyering@lucent.com>
21517
21518         * lib/rename.c: Mention that this wrapper is needed also on
21519         mips-dec-ultrix4.4 systems.
21520
21521 2002-03-02  Jim Meyering  <meyering@lucent.com>
21522
21523         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
21524         not HAVE_CLOCK_SETTIME.
21525
21526 2002-02-27  Paul Eggert  <eggert@twinsun.com>
21527
21528         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
21529         Check for clock_settime.
21530
21531 2002-02-27  Paul Eggert  <eggert@twinsun.com>
21532
21533         * lib/nanosleep.h: Rename to....
21534         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
21535
21536         * lib/gettime.c: New file.
21537         * lib/settime.c: New file.
21538         * lib/stime.c: Remove.
21539
21540         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
21541         timespec.h.  Remove nanosleep.h.
21542
21543 2002-02-25  Paul Eggert  <eggert@twinsun.com>
21544
21545         * m4/acl.m4: New file.
21546         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
21547         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
21548
21549 2002-02-25  Paul Eggert  <eggert@twinsun.com>
21550
21551         * lib/acl.c, lib/acl.h: New files.
21552         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
21553
21554 2002-02-24  Jim Meyering  <meyering@lucent.com>
21555
21556         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
21557         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
21558         cause trouble.  Reported by Nelson Beebe.
21559
21560 2002-02-23  Paul Eggert  <eggert@twinsun.com>
21561
21562         * lib/path-concat.c (xpath_concat): Reorder code to pacify
21563         compilers that don't know that xalloc_die never returns.
21564
21565 2002-02-20  Jim Meyering  <meyering@lucent.com>
21566
21567         * lib/getdate.c: Regenerate using bison-1.33.
21568
21569 2002-02-17  Jim Meyering  <meyering@lucent.com>
21570
21571         * config/config.guess (main): Don't use `head -1'; it's no longer
21572         portable. Use `sed 1q' instead.
21573
21574 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
21575
21576         * m4/codeset.m4: Upgrade to gettext-0.11.
21577         * m4/gettext.m4: Upgrade to gettext-0.11.
21578         * m4/glibc21.m4: Upgrade to gettext-0.11.
21579         * m4/iconv.m4: Upgrade to gettext-0.11.
21580         * m4/isc-posix.m4: Upgrade to gettext-0.11.
21581         * m4/lcmessage.m4: Upgrade to gettext-0.11.
21582         * m4/lib-ld.m4: New file, from gettext-0.11.
21583         * m4/lib-link.m4: New file, from gettext-0.11.
21584         * m4/lib-prefix.m4: New file, from gettext-0.11.
21585         * m4/progtest.m4: Upgrade to gettext-0.11.
21586
21587 2002-02-15  Paul Eggert  <eggert@twinsun.com>
21588
21589         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
21590         (jm_PREREQ): Use it.
21591
21592 2002-02-15  Paul Eggert  <eggert@twinsun.com>
21593
21594         * lib/posixver.c, lib/posixver.h: New files.
21595         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
21596
21597 2002-02-02  Paul Eggert  <eggert@twinsun.com>
21598             Bruno Haible  <bruno@clisp.org>
21599
21600         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
21601         (fwrite_success_callback): New declaration.
21602         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
21603         print_unicode_char. Call failure callback instead of error.
21604         (fwrite_success_callback): New function.
21605         (exit_failure_callback): New function.
21606         (fallback_failure_callback): New function.
21607         (print_unicode_char): Call unicode_to_mb.
21608
21609 2002-01-26  Jim Meyering  <meyering@lucent.com>
21610
21611         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
21612         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
21613
21614 2002-01-26  Jim Meyering  <meyering@lucent.com>
21615
21616         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
21617
21618 2002-01-22  Paul Eggert  <eggert@twinsun.com>
21619
21620         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
21621
21622 2002-01-22  Jim Meyering  <meyering@lucent.com>
21623
21624         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
21625         Otherwise, some versions of automake would omit the rule that makes
21626         Makefile from Makefile.in.
21627
21628 2002-01-21  Paul Eggert  <eggert@twinsun.com>
21629
21630         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
21631         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
21632         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
21633         (memcoll): Set errno to zero if there is no error.
21634
21635         * lib/quotearg.c (quotearg_buffer_restyled):
21636         Fix bug with quoting buffers containing NUL when backslashing escapes.
21637         This bug was exposed by the other changes in this patch.
21638         (quotearg_n_options): New arg ARGSIZE.
21639         All callers changed.
21640         (quoting_options_from_style): New function.
21641         (quotearg_n_style): Use it.
21642         (quotearg_n_style_mem): New function.
21643
21644         * lib/quotearg.h (quotearg_n_style_mem): New function.
21645
21646 2002-01-19  Jim Meyering  <meyering@lucent.com>
21647
21648         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
21649         Remove useless quotes: DF_PROG="df".
21650         * m4/strnlen.m4: New file.
21651
21652 2002-01-16  Paul Eggert  <eggert@twinsun.com>
21653
21654         * lib/backupfile.c (ISDIGIT): Comment fix.
21655         * lib/getdate.y (ISDIGIT): Likewise.
21656         * lib/posixtm.c (ISDIGIT, year): Likewise.
21657         * lib/strverscmp.c (ISDIGIT): Likewise.
21658         * lib/userspec.c (ISDIGIT): Likewise.
21659
21660 2002-01-16  Jim Meyering  <meyering@lucent.com>
21661
21662         * lib/getdate.y: Add three semicolons, each just before a closing
21663         brace. Bison (as of version 1.31) no longer papers over that mistake.
21664
21665 2002-01-05  Jim Meyering  <meyering@lucent.com>
21666
21667         * lib/version-etc.c (version_etc_copyright): Update copyright year.
21668
21669 2001-12-19  Paul Eggert  <eggert@twinsun.com>
21670
21671         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
21672         not silently exit merely because the output buffer happens to
21673         have nothing pending.
21674
21675 2001-12-18  Paul Eggert  <eggert@twinsun.com>
21676
21677         See the big note in ../ChangeLog.
21678         * lib/human.c (suffixes): Prefer K to k for 1024.
21679         (generate_suffix_backwards): New function.
21680         (human_readable_inexact): Use it.
21681         * lib/xstrtol.c (__xstrtol): If there is no number but there
21682         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
21683         Accept 'K' as well as 'k'.
21684
21685 2001-12-15  Jim Meyering  <meyering@lucent.com>
21686
21687         * lib/regex.h (__restrict_arr): Update from libc.
21688
21689         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
21690         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
21691         (STREQ): Define.
21692
21693 2001-12-14  Jim Meyering  <meyering@lucent.com>
21694
21695         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
21696         Suggestion from Bruno Haible.
21697
21698 2001-12-10  Jim Meyering  <meyering@lucent.com>
21699
21700         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
21701         xrealloc, Instead, include "xalloc.h".
21702         (initbuffer): Don't cast xmalloc return value to char*.
21703         (readline): Reword comment.
21704         Don't cast xrealloc return value to char*
21705         Return NULL, not 0.
21706
21707 2001-12-09  Jim Meyering  <meyering@lucent.com>
21708
21709         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
21710         about `signed and unsigned type in conditional expression'.
21711         * lib/posixtm.c (posix_time_parse): Likewise.
21712
21713         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
21714
21715         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
21716         to avoid a pedantic warning.
21717
21718         * lib/getstr.c: Don't include assert.h.
21719         (getstr): Remove warning-evoking assertions.
21720         Return -1 if offset parameter is out of bounds.
21721         Change the type of a local from int to size_t.
21722
21723         * lib/strftime.c (my_strftime_localtime_r): Include this function
21724         definition in the `#if ! HAVE_TM_GMTOFF' block.
21725
21726         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
21727         Include xalloc.h instead.
21728
21729 2001-12-02  Jim Meyering  <meyering@lucent.com>
21730
21731         * lib/tempname.c: Don't declare getenv, thus reverting the change of
21732         2001-11-18.  It's no longer necessary, now that stdlib.h is always
21733         included.
21734
21735         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
21736         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
21737
21738 2001-11-30  Akim Demaille  <akim@epita.fr>
21739
21740         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
21741         before being defined.
21742
21743 2001-11-27  Paul Eggert  <eggert@twinsun.com>
21744
21745         * lib/quotearg.h (quotearg_n, quotearg_n_style):
21746         First arg is int, not unsigned.
21747         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
21748         (SIZE_MAX, UINT_MAX): New macros.
21749         (quotearg_n_options): Abort if N is negative.
21750         Avoid overflow check on hosts where size_t is 64 bits and int
21751         is 32 bits, as overflow is impossible there.
21752         Fix off-by-one typo that caused unnecessary reallocation.
21753
21754 2001-11-27  Jim Meyering  <meyering@lucent.com>
21755
21756         * lib/tempname.c: Merge with version from libc.
21757         * lib/regex.c: Likewise.
21758
21759         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
21760         systems for which STDC_HEADERS is 0, it was not included, resulting in
21761         a warning about an integer-to-pointer conversion problem with getenv.
21762         Reported by Volker Borchert.
21763
21764 2001-11-26  Jim Meyering  <meyering@lucent.com>
21765
21766         * lib/gtod.h: Remove file.
21767         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
21768         * lib/gettimeofday.c: Don't include gtod.h.
21769         (GTOD_init): Remove function.
21770         (rpl_gettimeofday): Do its job here instead, rather than aborting.
21771         Suggestion from Volker Borchert.
21772
21773 2001-11-23  Jim Meyering  <meyering@lucent.com>
21774
21775         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
21776         it.
21777         * lib/hash.c (struct hash_table): Define it here instead.
21778
21779 2001-11-22  Jim Meyering  <meyering@lucent.com>
21780
21781         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
21782
21783 2001-11-20  Jim Meyering  <meyering@lucent.com>
21784
21785         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
21786         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
21787
21788 2001-11-19  Jim Meyering  <meyering@lucent.com>
21789
21790         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
21791         directory.  Use "conftestXXXXXX" as the template.
21792         Suggestion from Paul Eggert.
21793
21794         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
21795         immediately, so the test doesn't mistakenly hit the max-open-files
21796         limit.
21797
21798 2001-11-18  Paul Eggert  <eggert@twinsun.com>
21799
21800         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
21801         (TEMPORARIES): New macro.
21802         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
21803         removes an artificial limitation (e.g. HP-UX 10.20, where
21804         TMP_MAX is 17576).
21805
21806 2001-11-18  Jim Meyering  <meyering@lucent.com>
21807
21808         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
21809
21810 2001-11-18  Jim Meyering  <meyering@lucent.com>
21811
21812         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
21813         on SunOS 4.
21814
21815         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
21816         files will be created before anything else.
21817
21818 2001-11-17  Paul Eggert  <eggert@twinsun.com>
21819
21820         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
21821         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
21822
21823 2001-11-17  Jim Meyering  <meyering@lucent.com>
21824
21825         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
21826         Prompted by a report from Bob Proulx.
21827
21828         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
21829         Instead, require UTILS_FUNC_MKSTEMP.
21830
21831 2001-11-17  Jim Meyering  <meyering@lucent.com>
21832
21833         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
21834         Now, that's done as part of AC_FUNC_STRTOD.
21835
21836 2001-11-17  Jim Meyering  <meyering@lucent.com>
21837
21838         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
21839         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
21840         rather than group writable.  Patch by Juan F. Codagnone.
21841
21842         * lib/readtokens.c: Remove explicit declarations of xmalloc and
21843         xrealloc, Instead, include "xalloc.h".
21844
21845         * lib/mountlist.c: Include unlocked-io.h after all system headers.
21846         Remove explicit declarations of xmalloc, xrealloc,
21847         and xstrdup.  Instead, include "xalloc.h".
21848
21849         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
21850         unlocked-io.h.
21851         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
21852         Likewise.
21853         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
21854
21855         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
21856         Reported by Padraig Brady.
21857
21858         * lib/mkstemp.c: #undef mkstemp.
21859         Include config.h.
21860         (rpl_mkstemp): Rename from mkstemp.
21861         Protoize.
21862
21863 2001-11-16  Jim Meyering  <meyering@lucent.com>
21864
21865         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
21866         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
21867         determine the amount of total physical memory, use pstat_getstatic.
21868         HPUX-11 doesn't define _SC_PHYS_PAGES.
21869         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
21870         If sysconf couldn't be used to determine the amount of available
21871         physical memory, use both pstat_getstatic and pstat_getdynamic.
21872         Based on a patch from Bob Proulx.
21873
21874 2001-11-10  Jim Meyering  <meyering@lucent.com>
21875
21876         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
21877         (jm_PREREQ): Use it.
21878
21879 2001-11-09  Jim Meyering  <meyering@lucent.com>
21880
21881         * m4/jm-macros.m4: Require autoconf-2.52f.
21882         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
21883         Use these AC_-prefixed names, not the AM_-prefixed ones.
21884
21885         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
21886
21887 2001-11-05  Jim Meyering  <meyering@lucent.com>
21888
21889         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
21890
21891 2001-11-04  Jim Meyering  <meyering@lucent.com>
21892
21893         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
21894         $DEFS.
21895
21896 2001-11-03  Jim Meyering  <meyering@lucent.com>
21897
21898         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
21899         of AC_DEFUN.
21900
21901         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
21902         know the name of the variable in the macro definition.
21903
21904 2001-11-03  Jim Meyering  <meyering@lucent.com>
21905
21906         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
21907         in argmatch_to_argument call.
21908
21909         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
21910         argument.
21911
21912         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
21913         e.g., a fault due to an attempt to free a NULL pointer.
21914
21915 2001-11-01  Jim Meyering  <meyering@lucent.com>
21916
21917         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
21918         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
21919
21920 2001-11-01  Jim Meyering  <meyering@lucent.com>
21921
21922         * lib/dirfd.c, lib/dirfd.h: New files.
21923         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
21924
21925         * lib/hash.c (hash_print) [TESTING]: Clean up.
21926
21927 2001-10-22  Paul Eggert  <eggert@twinsun.com>
21928
21929         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
21930         to avoid a warning if -Wall.
21931
21932 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
21933
21934         * README: New file
21935         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
21936         (per RMS's instructions, this is now the canonical source)
21937         * lgpl/, gpl/: New directories.
21938
21939 2001-10-21  Paul Eggert  <eggert@twinsun.com>
21940
21941         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
21942
21943 2001-10-21  Jim Meyering  <meyering@lucent.com>
21944
21945         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
21946         this code would end up calling gettext even in packages built
21947         with --disable-nls.
21948         * lib/getopt.c (_): Likewise.
21949         * lib/regex.c (_): Likewise.
21950
21951 2001-10-20  Paul Eggert  <eggert@twinsun.com>
21952
21953         * m4/error.m4 (jm_PREREQ_ERROR):
21954         Do not invoke AC_CHECK_FUNCS with strerror_r, as
21955         AC_FUNC_STRERROR_R does that.
21956         Check for strerror declaration.
21957
21958         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
21959         are supposed to have them these days.
21960         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
21961         Merge changes from latest Autoconf CVS.
21962         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
21963         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
21964         POSIX decided to standardize on the int flavor of strerror_r.
21965
21966 2001-10-20  Paul Eggert  <eggert@twinsun.com>
21967
21968         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
21969         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
21970         Use strerror_r that is only a macro, even if it is not a function.
21971         (strerror): Check for HAVE_DECL_STRERROR before declaring.
21972         (private_strerror): Use prototypes, not old-style function definition.
21973         (print_errno_message): New function.
21974         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
21975         char*-flavored one.
21976         (error_tail, error, error_at_line): Use it.
21977
21978 2001-10-11  Jim Meyering  <meyering@lucent.com>
21979
21980         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
21981         and quote_n (1, ... to avoid clobbering a buffer.
21982
21983 2001-10-05  Jim Meyering  <meyering@lucent.com>
21984
21985         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
21986         hash-pjw.h.
21987         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
21988         * lib/hash-pjw.h: New file.
21989
21990 2001-09-30  Jim Meyering  <meyering@lucent.com>
21991
21992         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
21993         `struct fsstat' has the `f_fstypename' member.
21994         Use that to define FS_TYPE, which is now used to make
21995         the getfsstat link test tighter.
21996
21997 2001-09-30  Jim Meyering  <meyering@lucent.com>
21998
21999         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
22000         Include <sys/ucred.h>, for Apple Darwin.
22001         Include sys/mount.h and sys/fs_types.h only if available.
22002         (FS_TYPE): Define.
22003         (read_filesystem_list): Use FS_TYPE.
22004
22005 2001-09-29  Paul Eggert  <eggert@twinsun.com>
22006
22007         * lib/exclude.c (excluded_filename): 0 -> false, since it's
22008         a boolean context.
22009
22010 2001-09-29  Jim Meyering  <meyering@lucent.com>
22011
22012         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
22013         [one-argument getmntent function]): Include stdio.h before mntent.h.
22014         SunOS 4.1.x needs it for the declaration of `FILE'.
22015         Patch by Volker Borchert.
22016
22017         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
22018         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
22019         sys/fs_types.h, and make the link-test for getfsstat guard #include
22020         directives with appropriate #if HAVE_*_H tests so that we can
22021         detect getfsstat on Apple Darwin1.3.7 systems.
22022         Reported by Nelson Beebe.
22023         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
22024
22025 2001-09-28  Paul Eggert  <eggert@twinsun.com>
22026
22027         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
22028         #defines strtoimax.  Also treat the other strto* functions
22029         like strtoimax.
22030
22031         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
22032         Check for strtoul and strtoumax,
22033         as those declarations are made even in the signed case.
22034         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
22035         Likewise, for strtol and strtoimax.
22036
22037 2001-09-28  Paul Eggert  <eggert@twinsun.com>
22038
22039         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
22040         #defines strtoimax.  Also treat the other strto* functions
22041         like strtoimax.
22042
22043         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
22044         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
22045         (strtoimax, strtoumax): Do not declare if already defined as a macro.
22046
22047 2001-09-26  Jim Meyering  <meyering@lucent.com>
22048
22049         Most macros in unlocked-io.h had the wrong number of arguments.
22050         * lib/gen-uio: New script.
22051         (USE_UNLOCKED_IO): Define to 1 if not already defined.
22052         * lib/unlocked-io.hin: Remove file.
22053         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
22054         rather than trying to embed it here.
22055         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
22056         Reported by Padraig Brady.
22057
22058 2001-09-25  Volker Borchert  <bt@teknon.de>
22059
22060         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
22061         `result'.
22062
22063 2001-09-24  Jim Meyering  <meyering@lucent.com>
22064
22065         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
22066
22067 2001-09-23  Jim Meyering  <meyering@lucent.com>
22068
22069         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
22070         instead of the mere test for existence of mntent.h.  The latter
22071         would get a false-positive on AIX 3.4 systems.
22072         In the outer getmntent if-block, don't die if neither of the getmntent
22073         tests succeeds.  Instead, just fall through and continue with the
22074         remaining tests.
22075
22076 2001-09-23  Jim Meyering  <meyering@lucent.com>
22077
22078         * lib/mountlist.c: Remove useless parentheses in #if directives.
22079         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
22080         the deprecated MOUNTED symbol is no longer defined in mntent.h.
22081
22082 2001-09-22  Jim Meyering  <meyering@lucent.com>
22083
22084         * m4/gettext.m4: New file.  From gettext.
22085         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
22086         * m4/progtest.m4: Likewise
22087         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
22088         * m4/glibc21.m4: Likewise.
22089
22090         * m4/libintl.m4: Remove.  No longer used.
22091
22092 2001-09-22  Jim Meyering  <meyering@lucent.com>
22093
22094         * lib/localcharset.c: Update from latest gettext.
22095         * lib/config.charset: Likewise.
22096
22097 2001-09-20  Jim Meyering  <meyering@lucent.com>
22098
22099         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
22100         strtoimax.
22101         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
22102         strtoumax.
22103
22104 2001-09-20  Jim Meyering  <meyering@lucent.com>
22105
22106         * lib/xstrtol.c (strtoimax): Guard declaration with
22107         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
22108         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
22109         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
22110         (strtoumax): Likewise, for completeness (it wasn't necessary).
22111
22112 2001-09-17  Paul Eggert  <eggert@twinsun.com>
22113
22114         * lib/strtoimax.c (HAVE_LONG_LONG):
22115         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
22116         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
22117         to work around bug in IBM C compiler.
22118
22119 2001-09-17  Jim Meyering  <meyering@lucent.com>
22120
22121         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
22122         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
22123         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
22124         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
22125         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
22126         whenever the right hand side need not be expanded by the shell.
22127
22128 2001-09-16  Paul Eggert  <eggert@twinsun.com>
22129
22130         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
22131         library.  It's not correct, as some older glibcs are buggy.
22132         fnmatch wasn't fixed until glibc 2.2.
22133
22134         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
22135         special shell magic here.
22136
22137 2001-09-16  Jim Meyering  <meyering@lucent.com>
22138
22139         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
22140         * m4/jm-macros.m4: Require it.
22141
22142 2001-09-16  Jim Meyering  <meyering@lucent.com>
22143
22144         * lib/mkdir.c: New file.
22145
22146 2001-09-15  Jim Meyering  <meyering@lucent.com>
22147
22148         * m4/jm-macros.m4: Check for help2man.
22149
22150 2001-09-11  Jim Meyering  <meyering@lucent.com>
22151
22152         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
22153         The body, by Paul Eggert, was moved here from configure.in.
22154         * m4/jm-macros.m4: Require UTILS_HOST_OS.
22155
22156 2001-09-04  Paul Eggert  <eggert@twinsun.com>
22157
22158         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
22159         (jm_PREREQ): Use it.
22160
22161 2001-09-04  Paul Eggert  <eggert@twinsun.com>
22162
22163         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
22164         Use ssize_t, not int, to store result of readlink.
22165         Check for ssize_t overflow as well as size_t overflow,
22166         as POSIX says the result of readlink is implementation-defined
22167         when ssize_t overflows.
22168         Remove unnecessary cast to char*.
22169         Use free+malloc instead of realloc, as the storage doesn't need
22170         to be preserved and it's clearer and can be more efficient that way.
22171         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
22172         * lib/xreadlink.h (xreadlink): Update prototype.
22173
22174 2001-09-04  Paul Eggert  <eggert@twinsun.com>
22175
22176         * lib/xgetcwd.c: Revert some of the previous change; intead,
22177         fix the HAVE_GETCWD_NULL code to behave more like the
22178         !HAVE_GETCWD_NULL code used to.
22179
22180         Include "xalloc.h".
22181         (xgetcwd): Do not return NULL when memory is exhausted; instead,
22182         invoke xalloc_die.
22183
22184 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22185
22186         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
22187         sys/param.h, as pathmax.h includes them.
22188
22189 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22190
22191         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
22192         (jm_PREREQ_XGETCWD): New macro.
22193
22194         * m4/getcwd.m4: New file.
22195
22196 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22197
22198         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
22199         like the HAVE_GETCWD_NULL code.
22200         Include pathmax.h if not HAVE_GETCWD.
22201         Do not include xalloc.h.
22202         (INITIAL_BUFFER_SIZE): New symbol.
22203         Do not use xmalloc / xrealloc, since the caller is responsible for
22204         handling errors.  Preserve errno around `free' during failure.
22205         Do not overrun buffer when using getwd.
22206
22207 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22208
22209         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
22210         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
22211         getcwd (NULL, 0).
22212
22213 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22214
22215         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
22216         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
22217         spotted by Jim Meyering.
22218
22219 2001-09-03  Jim Meyering  <meyering@lucent.com>
22220
22221         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
22222         failure.
22223
22224 2001-09-02  Jim Meyering  <meyering@lucent.com>
22225
22226         * lib/error.c: Update from GNU libc.
22227
22228 2001-09-01  Jim Meyering  <meyering@lucent.com>
22229
22230         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
22231         Used by df.
22232
22233 2001-09-01  Jim Meyering  <meyering@lucent.com>
22234
22235         * lib/xreadlink.c: New file.
22236         * lib/xreadlink.h: New file.
22237         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
22238         xreadlink.h.
22239
22240         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
22241         doesn't conflict with sparc Solaris 7's definition in
22242         /usr/include/sys/int_types.h.
22243
22244         * lib/exclude.c: Use `""', not `<>' to #include non-system header
22245         files.
22246         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
22247         and strncasecmp as r-values.  Unixware didn't have declarations.
22248
22249 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22250
22251         * lib/xstrtol.h: Add copyright notice.
22252         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
22253         LONGINT_INVALID_SUFFIX_CHAR.
22254
22255 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22256
22257         * lib/xstrtol.c (strtoimax): New decl.
22258
22259 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22260
22261         * lib/xgetcwd.c: Don't include pathmax.h.
22262         Include stdlib.h and unistd.h if available.
22263         Include xalloc.h.
22264         (xmalloc, xstrdup, free): Remove decls.
22265         (xgetcwd): Don't assume sizes fit in unsigned.
22266         Check for overflow when computing sizes.
22267         Simplify reallocation code.
22268
22269 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22270
22271         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
22272         a directory's st_size can have an arbitrary value, so the old
22273         usage could waste an arbitrary amount of memory.  All uses
22274         changed.
22275         * lib/savedir.h: Update prototype.
22276
22277 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22278
22279         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
22280
22281         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
22282         old strtoimax.c.
22283
22284         Also, make the following further changes to make this file's
22285         configuration more similar to that of strtol.c:
22286         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
22287         (strtoumax, uintmax_t, strtoull, strtol): Remove.
22288         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
22289         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
22290         changed to signed values.
22291
22292         And make the following changes as well:
22293         Fix copyright notice, as 1999 was missing.
22294         (verify): New macro.
22295         (strtoimax): Check sizes at compile-time, not run-time.
22296         Prefer strtol to strtoll if both work.
22297         (main): Remove; it was not that useful and was a pain to maintain.
22298
22299         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
22300
22301 2001-08-31  Jim Meyering  <meyering@lucent.com>
22302
22303         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
22304         Use an initial, malloc'd, buffer of length 128 rather than
22305         a statically allocated one of length 1024.
22306
22307 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22308
22309         Simplify code, partly by assuming autoconf 2.52 semantics.
22310
22311         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
22312
22313         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
22314         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
22315         All uses removed.
22316         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
22317         Move AC_REQUIRE to next-to-top level, to avoid confusion.
22318         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
22319         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
22320         jm_AC_HEADER_INTTYPES_H.
22321         * m4/jm-macros.m4 (jm_MACROS): Likewise.
22322
22323         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
22324
22325         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
22326         Quote first arg of AC_DEFUN.
22327         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
22328         since they are needed to parse the include file even if we need
22329         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
22330         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
22331         but with opposite signedness.
22332
22333 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22334
22335         Merge 'exclude' changes from tar 1.13.22.
22336         This fixes one or two unlikely storage allocation overflow bugs,
22337         but doesn't change user-visible behavior otherwise.
22338
22339 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22340
22341         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
22342         (jm_PREREQ_EXCLUDE): New macro.
22343
22344 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22345
22346         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
22347         tm to be declared.
22348
22349 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22350
22351         * lib/hash.c: Remove '2001' from copyright notice.
22352
22353 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22354
22355         * lib/full-write.h: New file.
22356         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
22357         * lib/full-write.c: Correct credits, as cccp.c no longer
22358         exists and anyway it was so heavily changed from the old cccp
22359         code as to be unrecognizable.  Include full-write.h.
22360         (full_write) Return size_t, with short writes meaning failure.
22361         All callers changed.  This fixes a bug with large buffers
22362         on 64-bit hosts.
22363         * lib/utime.c: Include full-write.h.
22364
22365 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22366
22367         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
22368         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
22369         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
22370         Include if available.
22371         (<xalloc.h>): Include
22372         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
22373         (verify): New macro.  Use it to verify that EXCLUDE macros do not
22374         collide with FNM macros.
22375         (struct patopts): New struct.
22376         (struct exclude): Use it, as exclude patterns now come with options.
22377         (new_exclude): Support above changes.
22378         (new_exclude, add_exclude_file):
22379         Initial size must now be a power of two to simplify overflow checking.
22380         (free_exclude, fnmatch_no_wildcards): New function.
22381         (excluded_filename): No longer requires options arg, as the options
22382         are determined by add_exclude.  Now returns bool, not int.
22383         (excluded_filename, add_exclude):
22384         Add support for the fancy new exclusion options.
22385         (add_exclude, add_exclude_file): Now takes int options arg.
22386         Check for arithmetic overflow when computing sizes.
22387         (add_exclude_file): xrealloc might modify errno, so don't
22388         realloc until after errno might be used.
22389
22390         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
22391         New macros.
22392         (free_exclude): New decl.
22393         (add_exclude, add_exclude_file): Now takes int options arg.
22394         (excluded_filename): No longer requires options arg, as the options
22395         are determined by add_exclude.  Now returns bool, not int.
22396
22397 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22398
22399         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
22400
22401 2001-08-27  Jim Meyering  <meyering@lucent.com>
22402
22403         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
22404
22405         * lib/version-etc.c (N_): Remove definition.
22406         Revert most of last change.
22407         Instead, simply don't mark the `Copyright...' string for translation.
22408         Based on advice from Paul Eggert.
22409
22410         * lib/strtoxmax.c: Tweak comment.
22411
22412 2001-08-26  Jim Meyering  <meyering@lucent.com>
22413
22414         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
22415
22416         * m4/xstrtoimax.m4: New file.
22417         * m4/xstrtoumax.m4: Add comments explaining why we
22418         AC_REPLACE_FUNCS(strtol).
22419
22420 2001-08-26  Jim Meyering  <meyering@lucent.com>
22421
22422         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
22423         of copyright with `%s' so translators don't get an untranslated
22424         message in 2002.
22425         (COPYRIGHT_YEAR): Define.
22426         (version_etc): Use fprintf rather than fputs.
22427         Suggestion from Ulrich Drepper.
22428
22429         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
22430
22431         * lib/strtoll.c: New file, from GNU libc.
22432         * lib/xstrtoimax.c: New file.
22433
22434         * lib/xstrtol.h: Add xstrtoimax.
22435         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
22436         * lib/strtoimax.c: New file.  Likewise, but first define
22437         STRTOUXMAX_SIGNED.
22438
22439         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
22440         ...
22441         * lib/strtoxmax.c: ... then renamed to this.
22442
22443 2001-08-18  Paul Eggert  <eggert@twinsun.com>
22444
22445         * m4/inttypes.m4: Add AC_PREREQ(2.13).
22446         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
22447         (jm_AC_TYPE_INTMAX_T): New macro.
22448         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
22449
22450         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
22451
22452         * m4/longlong.m4: Renamed from ulonglong.m4.
22453         * m4/inttypes.m4: Renamed from inttypes_h.m4.
22454         * m4/uintmax_t.m4: Removed.
22455
22456 2001-08-13  Paul Eggert  <eggert@twinsun.com>
22457
22458         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
22459         Port to Solaris 8, where 'sed' requires a space after the 'r'
22460         command, and where sh dislikes "$/".  Clean up the spacing a bit.
22461         Redirect output to $tmp just once.
22462
22463 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
22464
22465         * lib/addext.c (<errno.h>): Include.
22466         (errno): Declare if not defined.
22467         (addext): Work correctly when pathconf returns -1 and leaves
22468         errno alone because there is no limit.  Also, work even if
22469         pathconf returns a value greater than SIZE_MAX.
22470
22471 2001-08-12  Jim Meyering  <meyering@lucent.com>
22472
22473         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
22474         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
22475         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
22476         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
22477         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
22478         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
22479         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
22480         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
22481         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
22482         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
22483         utime.m4, utimes.m4, xstrtoumax.m4:
22484         Quote the first argument in each use of AC_DEFUN.
22485
22486 2001-08-12  Jim Meyering  <meyering@lucent.com>
22487
22488         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
22489         Simply `return getcwd (NULL, 0);'.
22490         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
22491         Use 1300 as initial value for length, not PATH_MAX.
22492
22493         * lib/pathmax.h: Clean up cpp syntax.
22494
22495 2001-08-12  Jim Meyering  <meyering@lucent.com>
22496
22497         * lib/gettimeofday.c: New file.
22498         * lib/gtod.h: New file.
22499         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
22500
22501 2001-08-05  Jim Meyering  <meyering@lucent.com>
22502
22503         * m4/jm-macros.m4: Require autoconf-2.52.
22504
22505 2001-08-04  Jim Meyering  <meyering@lucent.com>
22506
22507         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
22508         stmt, to get in sync with glibc.
22509
22510 2001-08-03  Paul Eggert  <eggert@twinsun.com>
22511
22512         The following changes are from gettext 0.10.39 as maintained by
22513         Bruno Haible.
22514
22515         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
22516         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
22517         with inverted sense.  All uses changed.
22518
22519         * lib/mbswidth.c: Don't include <limits.h>.
22520         Include <stdlib.h> and <string.h> unconditionally.
22521         (iswcntrl, mbsinit, ISCNTRL): New macros.
22522         (mbsnwidth): Use K&R style function declarations.
22523         Don't bother checking for MB_LEN_MAX == 1, since the compiler
22524         can optimize it when MB_CUR_MAX == 1.
22525         The width of control characters is zero, not 1.
22526
22527 2001-08-03  Paul Eggert  <eggert@twinsun.com>
22528
22529         The following changes are from gettext 0.10.39 as maintained by
22530         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
22531
22532         * m4/codeset.m4: Upgrade to serial AM1.
22533         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
22534         all uses changed.  Quote first arg of AC_DEFUN.
22535         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
22536
22537         * m4/iconv.m4: Upgrade to serial AM2.
22538         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
22539         Add --with-libconv-prefix.
22540         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
22541         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
22542         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
22543         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
22544         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
22545
22546         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
22547         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
22548         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
22549         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
22550         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
22551         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
22552         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
22553         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
22554         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
22555
22556         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
22557         string.h any more.
22558
22559         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
22560         not the default value.
22561
22562         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
22563         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
22564         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
22565         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
22566         Also check for iswcntrl, used for wcwidth fallback.
22567         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
22568         to Autoconf 2.13.
22569
22570 2001-08-03  Jim Meyering  <meyering@lucent.com>
22571
22572         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
22573         as it was in the original.  Reported by Paul Eggert.
22574
22575 2001-07-16  Jim Meyering  <meyering@lucent.com>
22576
22577         * m4/gettimeofday.m4: New file.
22578         Prompted by a report from Bernhard Baehr.
22579
22580 2001-07-15  Jim Meyering  <meyering@lucent.com>
22581
22582         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
22583         stuff. Now it's in ../Makefile.cfg.
22584
22585 2001-07-15  Jim Meyering  <meyering@lucent.com>
22586
22587         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
22588         (BUILT_SOURCES): Add unlocked-io.h.
22589         (io_functions): Define.
22590         (unlocked-io.h): New rule.
22591         (DISTCLEANFILES): Add unlocked-io.h.
22592         (all-local): Depend on unlocked-io.h, to ensure it is created.
22593
22594         * lib/unlocked-io.hin: New file
22595
22596         * lib/regex.c: Update from glibc.
22597
22598 2001-07-05  Jim Meyering  <meyering@lucent.com>
22599
22600         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
22601         recommendation.
22602         (libfetish_a_SOURCES): Put all .h files here instead.
22603         Remove a thus-exposed (better checks in automake) duplicate and
22604         two unnecessary .h files.
22605
22606 2001-07-04  Jim Meyering  <meyering@lucent.com>
22607
22608         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
22609         that generates jm-glibc-io.m4 so that it doesn't trigger any make
22610         distcheck failure.
22611
22612 2001-07-02  Jim Meyering  <meyering@lucent.com>
22613
22614         The following changes were prompted by suggestions from Bruno Haible.
22615
22616         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
22617         is now generated.
22618         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
22619         definition of EXTRA_DIST.
22620         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
22621         ensure that the generated file is created/updated whenever the list
22622         of $(unlocked_functions) is changed.
22623         (jm-glibc-io.m4): New rule.
22624         (unlocked-io.h): New rule -- currently unused.
22625
22626 2001-06-24  Jim Meyering  <meyering@lucent.com>
22627
22628         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
22629         unmatched right bracket, rather than kludging it with an extra,
22630         falsely-matching quote in a comment.  Patch by Akim Demaille.
22631
22632 2001-06-11  Jim Meyering  <meyering@lucent.com>
22633
22634         * lib/regex.c: Update from GNU libc.
22635
22636 2001-05-27  Jim Meyering  <meyering@lucent.com>
22637
22638         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
22639         Check for ut_type in struct utmp.
22640
22641 2001-05-27  Jim Meyering  <meyering@lucent.com>
22642
22643         * lib/readutmp.h (UT_TYPE): Define.
22644
22645 2001-05-24  Jim Meyering  <meyering@lucent.com>
22646
22647         * lib/argmatch.c: Include "quote.h".
22648         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
22649         quote function.  Reported by Göran Uddeborg.
22650
22651 2001-05-22  Jim Meyering  <meyering@lucent.com>
22652
22653         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
22654         now that we use the package-supplied version unconditionally.
22655         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
22656
22657 2001-05-21  Jim Meyering  <meyering@lucent.com>
22658
22659         * m4/regex.m4: Change a couple backticks to single quotes to avoid
22660         shell syntax errors.
22661
22662 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
22663
22664         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
22665
22666 2001-05-20  Paul Eggert  <eggert@twinsun.com>
22667
22668         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
22669         Don't bother to check library strftime, since
22670         we'll be using our own my_strftime function anyway.
22671         Define my_strftime instead of strftime.
22672
22673 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
22674
22675         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
22676         which is not yet declared.
22677
22678 2001-05-15  Jim Meyering  <meyering@lucent.com>
22679
22680         * m4/regex.m4: Use proper quoting so brackets appear in the test
22681         program.
22682         Reported by, and with help from, Bruno Haible.
22683
22684 2001-05-13  Jim Meyering  <meyering@lucent.com>
22685
22686         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
22687         undefined.
22688
22689 2001-05-11  Paul Eggert  <eggert@twinsun.com>
22690
22691         dirname code cleanup.  base_name now behaves more compatibly
22692         with POSIX basename when given file names that have trailing
22693         slashes, and similarly for dir_name.  Add new primitives
22694         base_len and dir_len.  Put the directory-name-related decls
22695         into dirname.h.
22696
22697         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
22698         * lib/backupfile.c (base_name): Likewise.
22699         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
22700         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
22701         * lib/makepath.c (strip_trailing_slashes): Likewise.
22702         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
22703         ISSLASH): Likewise.
22704         * lib/rename.c (strip_trailing_slashes): Likewise.
22705         * lib/same.c (base_name): Likewise.
22706         * lib/stripslash.c (ISSLASH): Likewise.
22707
22708         * lib/addext.c: Include <dirname.h> after size_t is defined.
22709         * lib/backupfile.c: Likewise.
22710
22711         * lib/addext.c (addext): Use base_len to trim redundant
22712         trailing slashes instead of doing it ourselves.
22713         But do not trim the last slash if it is not redundant.
22714
22715         * lib/backupfile.c (find_backup_file_name,
22716         max_backup_version): Use base_len instead of rolling it ourselves.
22717         Handle the case of "" and (on DOS) "C:" correctly.
22718
22719         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
22720         needed. Include <string.h>, <dirname.h>.
22721         (base_name): Allow file names ending in slashes, other than names
22722         that are all slashes.  In this case, return the basename followed
22723         by the slashes.  This is more general, and can be used in places
22724         where the original base_name purposely had an assertion failure.
22725         (base_len): New function.
22726
22727         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
22728         Do not include <assert.h>; no longer needed.
22729         Include xalloc.h.
22730         (memrchr): Remove decl.
22731         (dir_name_r): Remove.
22732         (dir_len): Renamed from dirlen.  All callers changed.
22733         Rewrite in terms of base_name, for simplicity and consistency.
22734         (dir_name): Never return NULL.  All callers changed.
22735         Do not include <stdlib.h> in test program; no longer needed.
22736         return 0; is fine for test program.
22737
22738         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
22739         New macros.
22740         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
22741
22742         * lib/path-concat.c (path_concat): Use base_len to compute
22743         base length, not strlen; this means we cannot rely on memcpy
22744         to null-terminate.
22745
22746         * lib/same.c (STREQ): Remove.
22747         (same_name): Handle the case where the basename ends in trailing '/'.
22748
22749         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
22750         a slash was stripped.  Do not strip the last slash after a
22751         file system prefix.
22752
22753 2001-05-11  Paul Eggert  <eggert@twinsun.com>
22754
22755         * lib/Makefile.am (libfetish_a_SOURCES):
22756         Add strftime.c, since we now compile it on all hosts.
22757
22758         * lib/strftime.c (my_strftime):
22759         Define to nstrftime if emacs, but only if my_strftime is not defined.
22760         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
22761         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
22762         Add one more extra argument: a nanoseconds value.
22763         All uses changed.
22764         (ns): New macro.
22765         (my_strftime function): Add %N format.
22766         (emacs_strftimeu): Renamed from emacs_strftime,
22767         with extra ut argument.
22768
22769 2001-05-09  Paul Eggert  <eggert@twinsun.com>
22770
22771         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
22772
22773 2001-04-21  Jim Meyering  <meyering@lucent.com>
22774
22775         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
22776         doesn't interfere.
22777
22778 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
22779
22780         * m4/ftruncate.m4: Check for chsize.
22781         Link with ftruncate.o unconditionally if ftruncate is missing.
22782         This was required when cross-compiling to i586-mingw32msvc.
22783
22784 2001-04-08  Jim Meyering  <meyering@lucent.com>
22785
22786         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
22787         recomputed; that's necessary when the offset spans a DST transition.
22788         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
22789
22790 2001-04-02  Jim Meyering  <meyering@lucent.com>
22791
22792         * lib/regex.h, regex.c: Update from GNU libc.
22793
22794 2001-03-24  Jim Meyering  <meyering@lucent.com>
22795
22796         * m4/jm-macros.m4: Require autoconf-2.49d.
22797
22798 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
22799
22800         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
22801
22802 2001-03-19  Paul Eggert  <eggert@twinsun.com>
22803
22804         * lib/version-etc.c (version_etc_copyright): Update to 2001.
22805
22806 2001-03-17  Jim Meyering  <meyering@lucent.com>
22807
22808         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
22809         now that the version in autoconf is equivalent.
22810         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
22811
22812         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
22813         Suggestion from Akim Demaille.
22814
22815         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
22816         (jm_PREREQ_TEMPNAME): New function.
22817
22818 2001-03-16  Paul Eggert  <eggert@twinsun.com>
22819
22820         * lib/tempname.c (uint64_t): Define to uintmax_t if
22821         not defined, and if UINT64_MAX is not defined.
22822         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
22823         Reported by John David Anglin.
22824
22825 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
22826
22827         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
22828         resolve alias if codeset is empty.
22829         * lib/config.charset (BeOS): Use wildcard syntax.
22830
22831 2001-03-13  Jim Meyering  <meyering@lucent.com>
22832
22833         * lib/path-concat.c (path_concat)
22834         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
22835         concatenating e.g., `C:' and `foo'.
22836         From Bruno Haible.
22837
22838 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
22839
22840         * lib/localcharset.c (locale_charset): Don't use
22841         setlocale(LC_CTYPE,NULL). Don't return NULL.
22842         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
22843
22844 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
22845
22846         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
22847         support for DOS/DJGPP.
22848
22849 2001-03-01  Paul Eggert  <eggert@twinsun.com>
22850
22851         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
22852         lacks mkstemp.  Compile our own tempname.c if we compile our own
22853         mkstemp.c, as mkstemp relies on tempname.
22854
22855 2001-03-01  Jim Meyering  <meyering@lucent.com>
22856
22857         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
22858         AH_VERBATIM really does output its argument verbatim.
22859
22860 2001-02-28  Paul Eggert  <eggert@twinsun.com>
22861
22862         * lib/Makefile.am (libfetish_a_SOURCES):
22863         Add dup-safer.c, fopen-safer.c.
22864         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
22865
22866         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
22867         * lib/unistd-safer.h: New files.
22868
22869 2001-02-25  Paul Eggert  <eggert@twinsun.com>
22870
22871         The mkstemp replacement is taken from glibc 2.2.2, with some
22872         portability fixes for use outside glibc, as follows:
22873
22874         * lib/tempname.c (struct_stat64): New macro.
22875         (direxists, __gen_tempname): Use it.
22876         This avoids a portability problem with Solaris 8.
22877
22878         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
22879         (<stddef.h>, <stdint.h>, <string.h>):
22880         Include only if STDC_HEADERS || _LIBC.
22881         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
22882         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
22883         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
22884         (__set_errno): Define this macro if <errno.h> doesn't.
22885         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
22886         Define these macros if <stdio.h> doesn't.
22887         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
22888         Define these macros if <sys/stat.h>
22889         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
22890         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
22891         __xstat64): Define if not _LIBC.
22892         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
22893         (__gen_tempname): Invoke gettimeofday only if
22894         HAVE_GETTIMEOFDAY || _LIBC;
22895         otherwise, fall back on plain "time".
22896         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
22897
22898         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
22899
22900         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
22901
22902 2001-02-18  Paul Eggert  <eggert@twinsun.com>
22903
22904         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
22905
22906 2001-02-17  Paul Eggert  <eggert@twinsun.com>
22907
22908         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
22909         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
22910         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
22911         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
22912
22913 2001-02-17  Paul Eggert  <eggert@twinsun.com>
22914
22915         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
22916         Remove workaround macros for hosts that have mbrtowc but not
22917         mbstate_t, as we now insist on proper declarations for both
22918         before using mbrtowc.
22919
22920 2001-02-17  Jim Meyering  <meyering@lucent.com>
22921
22922         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
22923         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
22924         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
22925         UnixWare 7.1.1.
22926
22927         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
22928         rather than AC_CACHE_VAL.
22929
22930 2001-02-17  Jim Meyering  <meyering@lucent.com>
22931
22932         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
22933         around included file name.
22934
22935         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
22936
22937         * lib/strftime.c: Update from GNU libc (the only changes were to
22938         comments).
22939
22940 2001-02-17  Jim Meyering  <meyering@lucent.com>
22941
22942         * lib/regex.c: Update from libc.
22943
22944 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
22945
22946         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
22947         clash.
22948
22949 2001-02-16  Paul Eggert  <eggert@twinsun.com>
22950
22951         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
22952         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
22953         Reported by Mark Hounschell via Paul Eggert.
22954
22955 2001-02-07  Jim Meyering  <meyering@lucent.com>
22956
22957         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
22958
22959 2001-02-05  Jim Meyering  <meyering@lucent.com>
22960
22961         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
22962         it includes the patch required for `large file' support with at least
22963         HP-UX's 10.20 /bin/cc.
22964
22965 2001-02-03  Jim Meyering  <meyering@lucent.com>
22966
22967         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
22968         AS_IF, now that it works once again (mysteriously).
22969         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
22970
22971 2001-01-30  Jim Meyering  <meyering@lucent.com>
22972
22973         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
22974         * m4/chown.m4: Rename conftestchown to conftest.chown.
22975         * m4/rename.m4: s/conftestdir/conftest.d1/ and
22976         s/conftestdir2/conftest.d2/.
22977         * m4/utimes.m4: s/conftestdata/conftest.data/
22978         Inspired by Pavel Roskin's change in autoconf.
22979
22980 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
22981
22982         * lib/config.charset: Update for FreeBSD 4.2.
22983
22984 2001-01-27  Jim Meyering  <meyering@lucent.com>
22985
22986         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
22987         a use of AS_IF.
22988         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
22989
22990 2001-01-26  Jim Meyering  <meyering@lucent.com>
22991
22992         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
22993         quotearg.c includes it.
22994
22995 2001-01-26  Jim Meyering  <meyering@lucent.com>
22996
22997         * lib/quotearg.c: Include stddef.h.
22998         * lib/quote.c: Include stddef.h.
22999         Reported by Axel Kittenberger.
23000
23001         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
23002         line in double quotes so that it evokes a better diagnostic.
23003         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
23004         Reported by Axel Kittenberger.
23005
23006 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
23007
23008         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
23009         as if it was a `charset'.
23010
23011 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
23012
23013         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
23014         has const.
23015
23016 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
23017
23018         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
23019         to avoid a warning.  Add back 'const' to inptr.
23020
23021 2001-01-20  Jim Meyering  <meyering@lucent.com>
23022
23023         Be sure that headers are checked before used in code compiled
23024         for the type checks.
23025         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
23026         In place of that, invoke jm_CHECK_ALL_TYPES.
23027         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
23028         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
23029         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
23030         The check for ssize_t was mistakenly run before the test for unistd.h.
23031
23032         The configure-time check for stdbool.h was missing.
23033         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
23034         (jm_PREREQ_HASH): New function.
23035
23036 2001-01-17  Jim Meyering  <meyering@lucent.com>
23037
23038         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
23039         for autoconf-2.49c.
23040         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
23041
23042 2001-01-16  Jim Meyering  <meyering@lucent.com>
23043
23044         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
23045         From Bruno Haible.
23046
23047 2001-01-14  Jim Meyering  <meyering@lucent.com>
23048
23049         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
23050         foo and bar.  Create conftestdir/ in the script, not in the C code.
23051         Remove directories in the script, not in the C code.
23052         Remove conftestdir{,2} before trying to create the directory.
23053         Make the entire configure script fail if the mkdir fails.
23054
23055 2001-01-14  Jim Meyering  <meyering@lucent.com>
23056
23057         * lib/rename.c: New file.  From Volker Borchert.
23058         Include stdlib.h, string.h or strings.h, and xalloc.h.
23059         Use strip_trailing_slashes rather than open-coding it.
23060
23061 2001-01-03  Paul Eggert  <eggert@twinsun.com>
23062
23063         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
23064
23065 2001-01-03  Jim Meyering  <meyering@lucent.com>
23066
23067         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
23068         of local `inptr' to avoid warning with some system declarations of
23069         iconv.
23070
23071 2001-01-02  Volker Borchert  <bt@teknon.de>
23072
23073         * m4/rename.m4: New file.
23074         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
23075
23076 2001-01-01  Jim Meyering  <meyering@lucent.com>
23077
23078         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
23079         even on systems with utmpx.h.  It's necessary for the declaration of
23080         utmp's ut_user member.  Reported by Andreas Jaeger.
23081
23082         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
23083         available. They are required for the declarations of getgrgid and
23084         getpwuid resp.
23085         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
23086         Reported by Andreas Jaeger.
23087
23088 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
23089
23090         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
23091         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
23092         so `make install' also works in VPATH builds.
23093
23094 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
23095
23096         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
23097         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
23098         can be used in subdirectories.
23099
23100 2000-12-29  Paul Eggert  <eggert@twinsun.com>
23101
23102         * lib/modechange.c: Do not assume that mode_t uses the
23103         traditional octal encoding.  E.g. "chmod 1 FOO" should set
23104         the other-execute bit of FOO even if S_IXOTH != 1.
23105
23106         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
23107         WOTH, XOTH, ALLM): New macros.
23108         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
23109          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
23110         Use them.
23111         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
23112         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
23113         (mode_compile):
23114         No need to use uintmax_t; unsigned long is long enough.
23115         Don't bother to get suffix since we don't use it.
23116
23117 2000-12-26  Jim Meyering  <meyering@lucent.com>
23118
23119         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
23120         better with autoheader.
23121
23122 2000-12-24  Jim Meyering  <meyering@lucent.com>
23123
23124         * lib/hash.c (is_prime): Return explicit boolean values.
23125         (hash_get_first): Return NULL to appease Irix5.6's 89.
23126         Reported by Nelson Beebe.
23127
23128 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
23129
23130         * lib/localcharset.c (locale_charset): Add support for Win32.
23131
23132 2000-12-18  Paul Eggert  <eggert@twinsun.com>
23133
23134         * lib/physmem.h, lib/physmem.c: New files.
23135
23136         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
23137         (noinst_HEADERS): Add physmem.h.
23138
23139         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
23140         't' for compatibility with Solaris 8 sort.
23141
23142 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
23143
23144         * lib/config.charset: Add support for BeOS.
23145
23146 2000-12-17  Jim Meyering  <meyering@lucent.com>
23147
23148         * m4/dos.m4 (jm_AC_DOS): New file and macro.
23149         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
23150
23151 2000-12-16  Jim Meyering  <meyering@lucent.com>
23152
23153         This bug had a serious impact on chown: `chown N:M FILE' (for integer
23154         N and M) would have treated it like `chown N:N FILE'.
23155
23156         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
23157
23158 2000-12-16  Jim Meyering  <meyering@lucent.com>
23159
23160         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
23161         SHELLS_FILE to a file name that's useful on djgpp systems.
23162         Include stdlib.h.
23163         (ADDITIONAL_DEFAULT_SHELLS): Define.
23164         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
23165         Based mostly on a patch from Prashant TR.
23166
23167 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
23168
23169         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
23170         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
23171         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
23172
23173 2000-12-08  Andreas Schwab  <schwab@suse.de>
23174
23175         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
23176         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
23177
23178 2000-12-07  Jim Meyering  <meyering@lucent.com>
23179
23180         * lib/stripslash.c (ISSLASH): Define.
23181         (strip_trailing_slashes): Use ISSLASH rather than comparing against
23182         `/'.
23183         From Prashant TR.
23184
23185         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
23186         (dir_name_r): Declare this function as static.
23187         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
23188         manifest itself on a name containing a mix of slashes and
23189         backslashes.
23190         Make this function work with names starting with a DOS-style
23191         drive letter and colon prefix.
23192         (dir_name): Append `.' if necessary.
23193         Based mostly on patches from Prashant TR and Eli Zaretskii.
23194
23195         * lib/dirname.h (dir_name_r): Remove prototype.
23196
23197 2000-12-06  Paul Eggert  <eggert@twinsun.com>
23198
23199         * m4/off_t-format.m4: Remove this file.
23200         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
23201
23202 2000-12-06  Jim Meyering  <meyering@lucent.com>
23203
23204         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
23205         replacement strtoull, we may well need the replacement strtoul, too.
23206         Check for declarations of strtoul and strtoull.
23207         Check for strtol.  Mainly as a cue to cause automake to include
23208         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
23209         Check for limits.h -- strtol.c needs it.
23210
23211 2000-12-05  Jim Meyering  <meyering@lucent.com>
23212
23213         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
23214
23215 2000-12-04  Jim Meyering  <meyering@lucent.com>
23216
23217         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
23218         Also include memory.h, stdlib.h, unistd.h if appropriate.
23219         Reported by Andreas Jaeger (conflicting declaration of malloc).
23220
23221 2000-12-02  Jim Meyering  <meyering@lucent.com>
23222
23223         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
23224         * m4/jm-macros.m4 (jm_MACROS): require it.
23225
23226 2000-12-02  Jim Meyering  <meyering@lucent.com>
23227
23228         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
23229
23230 2000-12-01  Paul Eggert  <eggert@twinsun.com>
23231
23232         * lib/memrchr.c: Include <config.h> before any system include file.
23233
23234 2000-11-30  Jim Meyering  <meyering@lucent.com>
23235
23236         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
23237
23238 2000-11-30  Jim Meyering  <meyering@lucent.com>
23239
23240         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
23241
23242 2000-11-29  Paul Eggert  <eggert@twinsun.com>
23243
23244         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
23245
23246 2000-11-26  Jim Meyering  <meyering@lucent.com>
23247
23248         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
23249
23250 2000-11-22  Paul Eggert  <eggert@twinsun.com>
23251
23252         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
23253         size of (size_t) -1; it's not portable.
23254
23255 2000-11-17  Jim Meyering  <meyering@lucent.com>
23256
23257         * lib/strstr.c: Update from GNU libc.
23258
23259 2000-11-17  Akim Demaille  <akim@epita.fr>
23260
23261         * lib/obstack.h: Formatting changes.
23262         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
23263         prevent type checking.
23264         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
23265         cast the value to (void *): assigning a `foo *' to a `void *'
23266         variable is valid.
23267         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
23268
23269 2000-11-16  Jim Meyering  <meyering@lucent.com>
23270
23271         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
23272
23273 2000-11-11  Jim Meyering  <meyering@lucent.com>
23274
23275         * lib/error.c: Add a couple #includes, merging from GNU libc version.
23276
23277 2000-11-10  Jim Meyering  <meyering@lucent.com>
23278
23279         * lib/obstack.h: Update from GNU libc.
23280         * lib/obstack.c: Likewise.
23281
23282 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
23283
23284         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
23285
23286 2000-11-06  Paul Eggert  <eggert@twinsun.com>
23287
23288         * lib/getusershell.c (setusershell): Use rewind rather than
23289         fseek/fseeko, to avoid configuration hassles with fseeko.
23290         Don't bother opening SHELLS_FILE if shellstream is NULL;
23291         it's not necessary.
23292
23293 2000-11-05  Jim Meyering  <meyering@lucent.com>
23294
23295         * lib/makepath.h (make_dir): Declare.
23296         * lib/makepath.c (make_dir): Remove `static' attribute.
23297         Tweak a comment.
23298
23299 2000-11-04  Jim Meyering  <meyering@lucent.com>
23300
23301         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
23302
23303 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
23304
23305         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
23306         last one in a bucket, advance to the next bucket.
23307
23308 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
23309
23310         * lib/fnmatch.c: Do not comment out all the code if we are using
23311         the GNU C library, because in some cases we are replacing buggy
23312         code in the GNU C library itself.
23313
23314 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
23315
23316         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
23317         (regex_compile): Catch bogus \(\1\).
23318
23319 2000-10-30  Paul Eggert  <eggert@twinsun.com>
23320
23321         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
23322         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
23323         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
23324
23325 2000-10-30  Paul Eggert  <eggert@twinsun.com>
23326
23327         * lib/error.h, getline.h, modechange.h:
23328         Remove "2000" from Copyright line, as the file hasn't been
23329         changed this year other than in the copyright notice.
23330
23331         * lib/xalloc.h: Add "2000" to Copyright line, as this file
23332         was changed this year.
23333
23334 2000-10-29  Jim Meyering  <meyering@lucent.com>
23335
23336         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
23337         renaming.
23338         * m4/ls-mntd-fs.m4: Likewise
23339
23340 2000-10-29  Jim Meyering  <meyering@lucent.com>
23341
23342         * lib/xstat.in: Fix grammar in comment.
23343
23344 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
23345
23346         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
23347         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
23348         doesn't define __restrict_arr.
23349
23350 2000-10-28  Jim Meyering  <meyering@lucent.com>
23351
23352         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
23353         (jm_PREREQ_MEMCHR): New function.
23354
23355 2000-10-28  Jim Meyering  <meyering@lucent.com>
23356
23357         * lib/memchr.c: Update from libc.
23358         Adjust for portability:
23359         [HAVE_STDLIB_H]: Include stdlib.h.
23360         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
23361         Undef __memchr, too.
23362         [!weak_alias]: Define __memchr to memchr.
23363
23364         * lib/regex.c: Update from libc.
23365         * lib/regex.h: Likewise.
23366         * lib/getopt1.c: Likewise.
23367         * lib/memcmp.c: Likewise.
23368
23369         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
23370         Avoid using fseek, when possible -- it's broken by design.
23371         Patch by Ulrich Drepper.
23372
23373 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
23374
23375         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
23376         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
23377         Giving in to popular pressure to shut up the compiler with casts.
23378
23379 2000-10-26  Jim Meyering  <meyering@lucent.com>
23380
23381         * lib/strftime.c: Update from libc.
23382
23383 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
23384
23385         * regex.c: More `unsigned char' -> `re_char' changes.
23386         Also change several `int' into `re_wchar_t'.
23387         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
23388         (PUSH_FAILURE_POINTER): Don't cast any more.
23389         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
23390         We want GCC to complain, since this piece of code makes
23391         re_match non-reentrant, which *should* be fixed.
23392         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
23393         (EXTEND_BUFFER): Use RETALLOC.
23394         (SET_LIST_BIT): Don't cast.
23395         (re_wchar_t): New type.
23396         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
23397         that those two functions will always properly return.
23398         (IMMEDIATE_QUIT_CHECK): Cast to void.
23399         (analyse_first): Use recursion rather than an explicit stack.
23400         (re_compile_fastmap): Can't fail anymore.
23401         (re_search_2): Don't check re_compile_fastmap for failure.
23402         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
23403         Now also sets the new value (passed in a new argument).
23404         (re_match_2_internal): Use it.
23405         Also, use a new var `reg' of type size_t when looping through regs
23406         rather than reuse the inappropriate `mcnt'.
23407
23408 2000-10-25  Jim Meyering  <meyering@lucent.com>
23409
23410         * lib/obstack.c: Update from libc.
23411
23412 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
23413
23414         * regex.c (regex_compile): Change the way of handling a range from
23415         a char less than 256 to a char not less than 256.
23416
23417 2000-10-24  Andrew Innes  <andrewi@gnu.org>
23418
23419         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
23420         NT-Emacs only.
23421         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
23422         so that re_search functions only quit when callers expect them to.
23423
23424 2000-10-23  Jim Meyering  <meyering@lucent.com>
23425
23426         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
23427         wrong.  That set_locale call must not have any side effects.
23428         From Paul Eggert.
23429
23430 2000-10-22  Jim Meyering  <meyering@lucent.com>
23431
23432         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
23433         [CYCLIC]: Remove now-unused definition.
23434
23435         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
23436         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
23437         Suggestion from Ulrich Drepper.
23438
23439 2000-10-21  Jim Meyering  <meyering@lucent.com>
23440
23441         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
23442         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
23443         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
23444
23445 2000-10-21  Jim Meyering  <meyering@lucent.com>
23446
23447         * lib/dirname.c (memrchr): Declare if necessary.
23448         (dir_name): Remove the restriction that there be no
23449         trailing slashes.  Now, this code skips past them, effectively
23450         ignoring them.
23451         [TEST_DIRNAME] (main): New unit tests.
23452
23453         * lib/memrchr.c: New file from GNU libc.
23454         Undef __memrchr, too.
23455         [!weak_alias]: Define __memrchr to memrchr.
23456         Guard weak_alias use with `#ifdef weak_alias'.
23457
23458 2000-10-21  Jim Meyering  <meyering@lucent.com>
23459
23460         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
23461         (dir_name): Use dir_name_r.
23462         * lib/dirname.h (dir_name_r): Declare it.
23463
23464 2000-10-17  Jim Meyering  <meyering@lucent.com>
23465
23466         * lib/quote.h (PARAMS): Define and use.
23467         Reported by Akim Demaille.
23468
23469         * lib/getopt.c: Update from libc.
23470
23471 2000-10-16  Jim Meyering  <meyering@lucent.com>
23472
23473         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
23474         setlocale.
23475         From Jan Fedak.
23476
23477 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
23478
23479         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
23480
23481 2000-09-25  Jim Meyering  <meyering@lucent.com>
23482
23483         * lib/md5.h (rol): Define (from GnuPG).
23484
23485         * lib/sha.c: Give credit (GnuPG) where due.
23486         (M): Use rol rather than open-coding it.
23487         Add a FIXME comment.
23488
23489 2000-09-21  Jim Meyering  <meyering@lucent.com>
23490
23491         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
23492         Reported by Michael Stone.
23493
23494 2000-09-20  Jim Meyering  <meyering@lucent.com>
23495
23496         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
23497         (noinst_HEADERS): Add sha.h.
23498         Based on code from Scott G. Miller and from GnuPG.
23499
23500 2000-09-18  Jim Meyering  <meyering@lucent.com>
23501
23502         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
23503         LIBS. Otherwise, everyone ends up linking with -lelf for some
23504         configurations.
23505         Reported by Mike Stone.
23506
23507 2000-09-15  Jim Meyering  <meyering@lucent.com>
23508
23509         * lib/regex.c: Update from libc.
23510
23511 2000-09-10  Jim Meyering  <meyering@lucent.com>
23512
23513         * lib/getopt.c (_getopt_internal): Update from glibc.
23514
23515 2000-09-09  Jim Meyering  <meyering@lucent.com>
23516
23517         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
23518         think it should be used as a general replacement for isascii.
23519         * lib/fnmatch.c: Likewise.
23520         * lib/mbswidth.c: Likewise
23521         * lib/regex.c: Likewise.
23522
23523         Don't use atoi.
23524         * lib/userspec.c: Include sys/param.h and limits.h.
23525         Include xstrtol.h.
23526         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
23527         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
23528         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
23529         UID, GID.  Check range.
23530
23531 2000-09-06  Jim Meyering  <meyering@lucent.com>
23532
23533         * lib/getopt.c (_getopt_internal): Update from glibc.
23534
23535 2000-08-30  Jim Meyering  <meyering@lucent.com>
23536
23537         * lib/strftime.c: Merge in changes from GNU libc.
23538
23539 2000-08-26  Jim Meyering  <meyering@lucent.com>
23540
23541         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
23542         * m4/fpending.m4: New file.
23543
23544 2000-08-26  Jim Meyering  <meyering@lucent.com>
23545
23546         * lib/closeout.c: Include "__fpending.h".
23547         (close_stdout_status): Return right away if there's nothing to flush.
23548
23549         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
23550         * lib/__fpending.c: New file.
23551         * lib/__fpending.h: New file.
23552
23553 2000-08-20  Jim Meyering  <meyering@lucent.com>
23554
23555         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
23556         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
23557         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
23558
23559 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
23560
23561         Improve fileutils installation on systems where running
23562         programs (like install) can't be unlinked.
23563         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
23564         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
23565
23566 2000-08-07  Paul Eggert  <eggert@twinsun.com>
23567
23568         Standardize on "memory exhausted" instead of "Memory exhausted"
23569         or "virtual memory exhausted".
23570         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
23571         "virtual memory exhausted".
23572         * lib/same.c (same_name): Invoke xalloc_die instead of printing
23573         our own message.
23574         * lib/userspec.c (parse_user_spec): Likewise.
23575         * lib/bumpalloc.h: comment fix
23576         * lib/same.c, userspec.c: Include xalloc.h.
23577
23578         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
23579         not char *const and pointing to a constant array.
23580         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
23581         (xrealloc): Comment fix.
23582
23583         * lib/userspec.c (parse_user_spec):
23584         Don't translate a message until just before returning,
23585         to avoid unnecessary translation.
23586
23587 2000-08-07  Jim Meyering  <meyering@lucent.com>
23588
23589         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
23590         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
23591         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
23592         getgroups.c, gethostname.c, getopt.h, group-member.c,
23593         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
23594         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
23595         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
23596         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
23597         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
23598         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
23599         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
23600         yesno.c: Back out Copyright date changes for each file with no change
23601         this year.  This eases coordination with other programs using the same
23602         source code modules.  From Paul Eggert.
23603
23604 2000-08-06  Paul Eggert  <eggert@twinsun.com>
23605
23606         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
23607         not char, for compatibility with glibc 2.1.3 strftime.c.
23608
23609 2000-08-03  Greg McGary  <greg@mcgary.org>
23610
23611         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
23612         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
23613         (EXTEND_BUFFER): Use them.
23614
23615 2000-08-01  Jim Meyering  <meyering@lucent.com>
23616
23617         * lib/dirname.c (ISSLASH): Define.
23618         (BACKSLASH_IS_PATH_SEPARATOR): Define.
23619         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
23620         both `\' and `/' may be use as path separators.
23621         Based on a patch from Prashant TR.
23622
23623 2000-07-31  Paul Eggert  <eggert@twinsun.com>
23624
23625         * lib/quotearg.c (quotearg_n_options): Don't make the initial
23626         slot vector a constant, since it might get modified.
23627
23628 2000-07-31  Jim Meyering  <meyering@lucent.com>
23629
23630         * lib/xmalloc.c: Use `virtual memory exhausted', not
23631         `Memory exhausted'.
23632         * lib/obstack.c (print_and_abort): Likewise.
23633
23634 2000-07-30  Paul Eggert  <eggert@twinsun.com>
23635
23636         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
23637         buffer, so that the caller can always quote one small
23638         component of a "memory exhausted" message in slot 0.
23639         From a suggestion by Jim Meyering.
23640
23641 2000-07-30  Jim Meyering  <meyering@lucent.com>
23642
23643         * lib/makepath.c (make_path): Quote the other instance, too.
23644
23645         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
23646         (STATIC_BUF_SIZE): Define.
23647         (quotearg_n_options): Use only statically allocated storage when
23648         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
23649         than STATIC_BUF_SIZE.
23650
23651 2000-07-29  Jim Meyering  <meyering@lucent.com>
23652
23653         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
23654         * lib/dirname.c (dir_name): Likewise.
23655
23656         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
23657         `/'.
23658
23659         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
23660         (dir_name): Assert that there are no trailing slashes.
23661
23662 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
23663
23664         * lib/mbswidth.h (mbswidth): Add a flags argument.
23665         (mbswidth): New declaration.
23666         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
23667         * lib/mbswidth.c (mbswidth): Add a flags argument.
23668         (mbsnwidth): New function.
23669
23670 2000-07-24  Jim Meyering  <meyering@lucent.com>
23671
23672         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
23673
23674 2000-07-23  Paul Eggert  <eggert@twinsun.com>
23675
23676         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
23677
23678 2000-07-23  Paul Eggert  <eggert@twinsun.com>
23679
23680         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
23681         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
23682         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
23683         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
23684         invoke multibyte primitives.
23685
23686 2000-07-23  Paul Eggert  <eggert@twinsun.com>
23687
23688         * lib/quotearg.c:
23689         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
23690         so that mbstate_t is always defined.
23691
23692         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
23693         be 1 in at least one GCC installation, and this configuration
23694         error is likely to be common.  Ignoring MB_LEN_MAX hurts
23695         performance on hosts that have mbrtowc but have only unibyte
23696         locales, but I assume these hosts are rare.
23697
23698 2000-07-23  Paul Eggert  <eggert@twinsun.com>
23699
23700         * lib/mbswidth.c (_XOPEN_SOURCE):
23701         Don't define; this causes problems on Solaris 7.
23702         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
23703
23704 2000-07-23  Jim Meyering  <meyering@lucent.com>
23705
23706         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
23707         too: getgrgid, getpwuid, getuid.
23708
23709 2000-07-23  Jim Meyering  <meyering@lucent.com>
23710
23711         * lib/basename.c (base_name): Add an assertion.
23712
23713 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
23714
23715         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
23716         shadow its mbsinit function.
23717
23718 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
23719
23720         * lib/mbswidth.h: New file.
23721         * lib/mbswidth.c: New file.
23722         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
23723         (noinst_HEADERS): Add mbswidth.h.
23724
23725 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
23726
23727         * lib/config.charset: Add support for FreeBSD. Improve support for
23728         HP-UX and IRIX 6.
23729
23730 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
23731
23732         * m4/mbswidth.m4: New file.
23733         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
23734
23735 2000-07-15  Jim Meyering  <meyering@lucent.com>
23736
23737         * lib/makepath.c: Include quote.h.
23738         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
23739         corresponding argument in a `quote (...)' call.
23740         Give better diagnostics.
23741
23742         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
23743         (noinst_HEADERS): Add quote.h.
23744
23745         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
23746         from tar's src/misc.c.
23747         * lib/quote.h: New file.  Prototypes for same.
23748
23749 2000-07-14  Paul Eggert  <eggert@twinsun.com>
23750
23751         From a suggestion by Bruno Haible.
23752         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
23753         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
23754         to decide whether to define the BeOS workaround macro;
23755         this adjusts to the change to AC_MBSTATE_T.
23756
23757 2000-07-14  Jim Meyering  <meyering@lucent.com>
23758
23759         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
23760         jm_AC_TYPE_UINTMAX_T.
23761
23762 2000-07-13  Paul Eggert  <eggert@twinsun.com>
23763
23764         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
23765
23766         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
23767         quotearg_buffer_restyled): Add support for
23768         clocale_quoting_style.  Undo previous change to
23769         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
23770         and "{RIGHT QUOTATION MARK}" msgids.
23771
23772 2000-07-10  Paul Eggert  <eggert@twinsun.com>
23773
23774         From a suggestion by Bruno Haible.
23775         * m4/mbstate_t.m4 (AC_MBSTATE_T):
23776         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
23777         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
23778         and mbstate_t, to a single-part test that simply defines mbstate_t.
23779         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
23780         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
23781
23782 2000-07-10  Jim Meyering  <meyering@lucent.com>
23783
23784         * m4/strerror_r.m4: Mirror the correction made in autoconf.
23785
23786         * m4/gnu-source.m4: Output to confdefs.h directly.
23787         Suggestion from Akim Demaille.
23788
23789 2000-07-09  Paul Eggert  <eggert@twinsun.com>
23790
23791         The old behavior of quoting `like this' doesn't look good with
23792         newer, ISO-style fonts.  See:
23793         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
23794
23795         Instead, quote "like this" by default.  Let the translator
23796         tailor the locale-specific quoting behavior by providing
23797         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
23798
23799         * lib/quotearg.c (N_): New macro.
23800         (gettext_default): New function.
23801         (quotearg_buffer_restyled): Use
23802         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
23803         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
23804
23805 2000-07-09  Jim Meyering  <meyering@lucent.com>
23806
23807         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
23808         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
23809
23810         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
23811         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
23812
23813 2000-07-09  Jim Meyering  <meyering@lucent.com>
23814
23815         * lib/Most files: Update copyright dates to include 2000.
23816
23817 2000-07-08  Jim Meyering  <meyering@lucent.com>
23818
23819         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
23820         if not defined.
23821         (xgethostname): Remove now-unnecessary #ifdef.
23822         Move declaration of `err' into loop where it's used.
23823
23824 2000-07-05  Paul Eggert  <eggert@twinsun.com>
23825         and Bruno Haible  <haible@clisp.cons.org>
23826
23827         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
23828         only if the test for an object-type mbstate_t fails.  This
23829         prevents us from mistakenly reporting that mbstate_t is a
23830         system object type after we "#define mbstate_t int" to work
23831         around its lack.
23832
23833 2000-07-05  Paul Eggert  <eggert@twinsun.com>
23834         and Bruno Haible  <haible@clisp.cons.org>
23835
23836         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
23837
23838 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
23839
23840         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
23841         to strerror_r.
23842         Include <ctype.h> for use of isalpha.
23843
23844 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
23845
23846         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
23847         by allocating a larger buffer. Test the gethostname return value for
23848         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
23849         returns an error and ENAMETOOLONG isn't defined.
23850
23851 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
23852
23853         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
23854         dimension.
23855
23856 2000-07-04  Jim Meyering  <meyering@lucent.com>
23857
23858         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
23859         of the deprecated AC_CHECKING.
23860
23861 2000-07-04  Jim Meyering  <meyering@lucent.com>
23862
23863         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
23864         Reported by Bruno Haible.
23865
23866 2000-07-04  Jim Meyering  <meyering@lucent.com>
23867
23868         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
23869         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
23870         lacks mbrtowc.
23871
23872 2000-07-03  Paul Eggert  <eggert@twinsun.com>
23873
23874         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
23875         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
23876
23877 2000-07-03  Paul Eggert  <eggert@twinsun.com>
23878         and Bruno Haible  <haible@clisp.cons.org>
23879
23880         * lib/quotearg.c (mbrtowc):
23881         Assign to *pwc, and return 1 only if result is nonzero.
23882         (iswprint): Use ISPRINT when substituting our own mbrtowc.
23883
23884 2000-07-03  Jim Meyering  <meyering@lucent.com>
23885
23886         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
23887
23888 2000-07-03  Jim Meyering  <meyering@lucent.com>
23889
23890         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
23891         This is necessary to get a definition of e.g., UTMP_FILE on
23892         HP-UX 10.20.
23893         From Bob Proulx.
23894
23895 2000-07-02  Jim Meyering  <meyering@lucent.com>
23896
23897         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
23898
23899         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
23900         AC_LIBOBJ(function_name).
23901         * m4/chown.m4: Likewise.
23902         * m4/fnmatch.m4: Likewise.
23903         * m4/ftruncate.m4: Likewise.
23904         * m4/getgroups.m4: Likewise.
23905         * m4/getline.m4: Likewise.
23906         * m4/group-member.m4: Likewise.
23907         * m4/jm-macros.m4: Likewise.
23908         * m4/lstat.m4: Likewise.
23909         * m4/malloc.m4: Likewise.
23910         * m4/memcmp.m4: Likewise.
23911         * m4/nanosleep.m4: Likewise.
23912         * m4/putenv.m4: Likewise.
23913         * m4/realloc.m4: Likewise.
23914         * m4/regex.m4: Likewise.
23915         * m4/stat.m4: Likewise.
23916         * m4/strftime.m4: Likewise.
23917
23918 2000-07-02  Jim Meyering  <meyering@lucent.com>
23919
23920         * lib/quotearg.c (mbstate_t): Don't define here.
23921
23922 2000-07-02  Jim Meyering  <meyering@lucent.com>
23923
23924         * lib/nanosleep.c (SIGCONT): Define if not already defined.
23925
23926 2000-07-01  Jim Meyering  <meyering@lucent.com>
23927
23928         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
23929
23930 2000-07-01  Jim Meyering  <meyering@lucent.com>
23931
23932         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
23933         problem.
23934
23935 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
23936
23937         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
23938         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
23939
23940 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
23941
23942         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
23943         per change in ../m4/ls-mntd-fs.m4.
23944         (read_filesystem_list): Ignore symbolic links.
23945
23946 2000-06-29  Jim Meyering  <meyering@lucent.com>
23947
23948         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
23949         for declaration of strcmp.
23950
23951         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
23952
23953         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
23954         Avoid warning by casting result to `char *' to remove `const'.
23955
23956 2000-06-28  Jim Meyering  <meyering@lucent.com>
23957
23958         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
23959         included by quotearg.c, for which we perform this test.  From
23960         Bruno Haible.
23961
23962 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
23963
23964         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
23965         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
23966         <utmpx.h> exists, put readutmp.o into LIBOBJS.
23967
23968 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
23969
23970         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
23971
23972 2000-06-26  Paul Eggert  <eggert@twinsun.com>
23973
23974         savedir now sets errno on failure and invokes xmalloc to get memory.
23975         Fix a couple of other minor bugs while we're at it.
23976
23977         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
23978         (NAMLEN): Remove macro.
23979         (malloc, realloc): Remove decls.
23980         (stpcpy): Likewise.
23981         ("xalloc.h"): Include.
23982         (NAME_SIZE_DEFAULT): New macro.
23983         (savedir): Use xmalloc / xrealloc to allocate memory.
23984         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
23985         Skip "" directory entries.
23986         Use strlen to calculate directory entry length, since the old method
23987         is rarely used these days and isn't worth supporting.
23988         Don't use a pointer after freeing it.
23989         Check for integer overflow when calculating allocation size.
23990         Use memcpy to copy entries, instead of stpcpy.
23991         Set errno properly when returning NULL.
23992         Check for readdir error.
23993
23994 2000-06-26  Jim Meyering  <meyering@lucent.com>
23995
23996         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
23997
23998 2000-06-25  Jim Meyering  <meyering@lucent.com>
23999
24000         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
24001         Linux header bug when _XOPEN_SOURCE is defined to 500.
24002
24003 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
24004
24005         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
24006         deficiency.
24007
24008 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
24009
24010         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
24011         Include xalloc.h.
24012         Don't include <stdlib.h>.  Don't declare malloc, realloc.
24013
24014 2000-06-24  Jim Meyering  <meyering@lucent.com>
24015
24016         * m4/strerror_r.m4: Revive this file -- to try out an experimental
24017         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
24018         for which strerror does return char*, but which lacks a conveniently
24019         accessible declaration of the function.  If the compile-test says
24020         strerror_r doesn't work, then resort to a `run'-test that works on
24021         BeOS and segfaults on DEC Unix.
24022
24023 2000-06-24  Jim Meyering  <meyering@lucent.com>
24024
24025         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
24026
24027 2000-06-23  Paul Eggert  <eggert@twinsun.com>
24028
24029         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
24030         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
24031
24032 2000-06-23  Paul Eggert  <eggert@twinsun.com>
24033
24034         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
24035         (mbrtowc, mbstate_t): Define substitutes if
24036         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
24037         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
24038         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
24039
24040 2000-06-23  Jim Meyering  <meyering@lucent.com>
24041
24042         * m4/afs.m4: Add missing AC_MSG_RESULT.
24043         Reported by Bruno Haible.
24044
24045         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
24046         Suggestion from Bruno Haible.
24047
24048 2000-06-23  Jim Meyering  <meyering@lucent.com>
24049
24050         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
24051
24052 2000-06-21  Jim Meyering  <meyering@lucent.com>
24053
24054         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
24055
24056 2000-06-21  Jim Meyering  <meyering@lucent.com>
24057
24058         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
24059         (noinst_HEADERS): Add getstr.h.
24060
24061         * lib/getline.c (getstr): Move into a separate file.
24062         * lib/getstr.c (getstr): New file, extracted from getline.c, with
24063         the following changes: new parameter, delim2; both delim[12]
24064         parameters have type `int', not `char'.  The latter would lose
24065         with 8-bit delimiters.
24066         * lib/getstr.h: New file.
24067
24068 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
24069
24070         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
24071         than 1024, return a memory chunk of least possible size, instead
24072         of size PATH_MAX + 2. In the loop, increment the size proportionally.
24073         Use free/xmalloc instead of xrealloc to avoid copying for very long
24074         paths.
24075
24076 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
24077
24078         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
24079         the empty string.
24080
24081 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
24082
24083         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
24084         address, not strdup.  Include <stdlib.h> and don't declare free().
24085
24086 2000-06-19  Jim Meyering  <meyering@lucent.com>
24087
24088         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
24089
24090 2000-06-18  Jim Meyering  <meyering@lucent.com>
24091
24092         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
24093
24094         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
24095         `checking whether...' message to be consistent with that of the
24096         lstat test.
24097
24098 2000-06-18  Jim Meyering  <meyering@lucent.com>
24099
24100         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
24101         Besides, these days every porting target provides a mkdir function.
24102
24103         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
24104         needed. (this snippet comes from src/system.h).
24105
24106 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
24107
24108         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
24109
24110 2000-06-15  Paul Eggert  <eggert@twinsun.com>
24111
24112         * lib/human.c (adjust_value): New function.
24113         (human_readable_inexact): Apply rounding style even when
24114         printing approximate values.
24115
24116 2000-06-14  Paul Eggert  <eggert@twinsun.com>
24117
24118         * lib/human.c (human_readable_inexact): Allow an input block
24119         size that is not a multiple of the output block size, and vice versa.
24120         Reported by Piergiorgio Sartor.
24121
24122 2000-06-14  Paul Eggert  <eggert@twinsun.com>
24123
24124         * lib/getdate.y (get_date): Apply relative times after time
24125         zone indicator, not before.  Reported by Todd A. Jacobs.
24126
24127 2000-06-13  Jim Meyering  <meyering@lucent.com>
24128
24129         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
24130
24131         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
24132
24133 2000-06-12  Paul Eggert  <eggert@twinsun.com>
24134
24135         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
24136
24137 2000-06-12  Jim Meyering  <meyering@lucent.com>
24138
24139         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
24140         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
24141         optional argument.
24142         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
24143         the optional argument, `lib'.
24144
24145 2000-06-08  Jim Meyering  <meyering@lucent.com>
24146
24147         * m4/largefile.m4: Remove file (now that it's part of autoconf).
24148
24149 2000-06-04  Paul Eggert  <eggert@twinsun.com>
24150
24151         Rewrite largefile configuration so that we don't need to run
24152         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
24153         AC_CANONICAL_HOST in configure.in -- jmm]
24154
24155         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
24156         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
24157         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
24158         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
24159         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
24160         All uses changed.
24161         Instead of inspecting the output of getconf, try to compile the
24162         test program without and with the macro definition.
24163         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
24164         for getconf.  Instead, check for the needed flags by compiling
24165         test programs.
24166
24167 2000-06-04  Paul Eggert  <eggert@twinsun.com>
24168
24169         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
24170
24171 2000-06-04  Jim Meyering  <meyering@lucent.com>
24172
24173         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
24174         SunOS 4.1.4 for which gid_t is an unsigned type.
24175
24176 2000-06-03  Jim Meyering  <meyering@lucent.com>
24177
24178         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
24179         now that autoconf requires that.
24180
24181         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
24182         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
24183         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
24184
24185 2000-06-03  Jim Meyering  <meyering@lucent.com>
24186
24187         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
24188
24189 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
24190
24191         * m4/glibc21.m4: New file.
24192         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
24193
24194 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
24195
24196         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
24197         newer, don't install charset.alias.
24198         * lib/config.charset: Change the Linux/glibc rules so they become empty
24199         on glibc-2.1 or newer.
24200
24201 2000-06-02  Jim Meyering  <meyering@lucent.com>
24202
24203         * lib/mountlist.c: Back out last change.  Instead, do this...
24204         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
24205         me_dummy member using the same `ignore'-testing code.
24206         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
24207         fs_type strings.
24208         From Mark D. Roth.
24209
24210 2000-05-29  Jim Meyering  <meyering@lucent.com>
24211
24212         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
24213         mounts with the `ignore' attribute.  Based on a patch from
24214         Mark D. Roth.
24215
24216 2000-05-28  Jim Meyering  <meyering@lucent.com>
24217
24218         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
24219         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
24220         * m4/stat.m4: Likewise.
24221         * m4/lstat.m4: Likewise.
24222         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
24223
24224         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
24225         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
24226
24227 2000-05-26  Jim Meyering  <meyering@lucent.com>
24228
24229         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
24230
24231 2000-05-24  Jim Meyering  <meyering@lucent.com>
24232
24233         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
24234         autoconf requires that.
24235         * m4/lib-check.m4: Likewise.
24236         * m4/jm-macros.m4: Likewise.
24237         * m4/strftime.m4: Likewise.
24238
24239         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
24240         AC_CHECK_DECLS, now that autoconf requires that.
24241
24242 2000-05-22  Jim Meyering  <meyering@lucent.com>
24243
24244         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
24245         * m4/lstat.m4: Likewise.
24246
24247 2000-05-22  Jim Meyering  <meyering@lucent.com>
24248
24249         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
24250
24251 2000-05-20  Jim Meyering  <meyering@lucent.com>
24252
24253         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
24254         (jm_PREREQ): Use it.
24255
24256 2000-05-18  Jim Meyering  <meyering@lucent.com>
24257
24258         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
24259         back, too, since it may have been modified by allocate_entry.
24260         (hash_delete): Rewrite to use neither the assignment operator
24261         nor the comma operator in an if-expression.
24262
24263 2000-05-15  Paul Eggert  <eggert@twinsun.com>
24264
24265         * lib/closeout.c:
24266         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
24267         Remove; no longer needed.
24268         "quotearg.h": Add include.
24269         (file_name): Do not bother to explicitly initialize to NULL; it's less
24270         efficient on some hosts.
24271         (close_stdout_status): Remove test as to whether stdout was already
24272         closed; it breaks for the case "echo x | sort >&-".
24273         Quote file name colons.
24274         Do not assume that _("write error") lacks format strings.
24275
24276 2000-05-15  Jim Meyering  <meyering@lucent.com>
24277
24278         * lib/version-etc.c (version_etc_copyright): Update the copyright
24279         string used in all --version output.
24280
24281 2000-05-14  Jim Meyering  <meyering@lucent.com>
24282
24283         * lib/closeout.c (close_stdout_set_file_name): New function.
24284         (close_stdout_status): Use new file-scoped global.
24285         Return right away if fstat says the stdout file descriptor is invalid.
24286         * lib/closeout.h (close_stdout_set_file_name): Declare.
24287
24288 2000-05-10  Jim Meyering  <meyering@lucent.com>
24289
24290         * lib/closeout.c [default_exit_status]: New file-scoped variable.
24291         (close_stdout_set_status): New function.
24292         * lib/closeout.h (close_stdout_set_status): Declare.
24293
24294 2000-05-09  Jim Meyering  <meyering@lucent.com>
24295
24296         * m4/gettext.m4: Rename this...
24297         * m4/libintl.m4: ...to this.
24298
24299 2000-05-08  Jim Meyering  <meyering@lucent.com>
24300
24301         * lib/long-options.c: Don't include closeout.h.
24302         (parse_long_options): Don't call close_stdout for --version.
24303
24304 2000-05-06  Paul Eggert  <eggert@twinsun.com>
24305
24306         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
24307         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
24308         2.1.3 bug.  This avoids a clash when files like regex.c define
24309         _GNU_SOURCE.
24310
24311 2000-05-06  Jim Meyering  <meyering@lucent.com>
24312
24313         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
24314         (AC_REPLACE_FUNCS): Add strnlen.
24315
24316         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
24317         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
24318
24319         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
24320         AC_SEARCH_LIBS call for nanosleep.
24321         (LIB_NANOSLEEP): Set and AC_SUBST.
24322
24323 2000-05-06  Jim Meyering  <meyering@lucent.com>
24324
24325         * lib/strnlen.c: Undefine __strnlen and strnlen.
24326         [!weak_alias]: Define __strnlen to strnlen.
24327
24328         * lib/atexit.c: New file, from libiberty.
24329
24330 2000-05-06  Jim Meyering  <meyering@lucent.com>
24331
24332         * lib/closeout.c (close_stdout_status): Also check for errors on the
24333         stderr stream.
24334
24335 2000-05-05  Jim Meyering  <meyering@lucent.com>
24336
24337         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
24338         AC_SEARCH_LIBS call for clock_gettime.
24339         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
24340
24341         * m4/search-libs.m4: Update from autoconf.
24342
24343         su doesn't work on Solaris 2.6.
24344         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
24345         <shadow.h>.  Reported by Dragos Harabor.
24346
24347 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
24348
24349         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
24350         memcpy instead of xmalloc, xrealloc, path_concat.
24351         (locale_charset): Treat empty environment variables as absent.
24352         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
24353
24354 2000-05-04  Jim Meyering  <meyering@lucent.com>
24355
24356         * lib/getopt.c: Update from glibc.
24357         * lib/obstack.c: Likewise.
24358         * lib/obstack.h: Likewise.
24359         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
24360         file
24361
24362         * lib/regex.h: Likewise.
24363         * lib/strndup.c: Likewise.
24364         * lib/strnlen.c: New file, from glibc.
24365
24366 2000-05-03  Jim Meyering  <meyering@lucent.com>
24367
24368         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
24369
24370 2000-05-02  Paul Eggert  <eggert@twinsun.com>
24371
24372         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
24373         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
24374         compile-time test, rather than inspecting host and OS, to
24375         decide whether to define _LARGEFILE_SOURCE.
24376
24377 2000-05-01  Jim Meyering  <meyering@lucent.com>
24378
24379         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
24380
24381         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
24382         Based on a patch from Bruno Haible.
24383
24384 2000-05-01  Jim Meyering  <meyering@lucent.com>
24385
24386         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
24387
24388 2000-04-29  Jim Meyering  <meyering@lucent.com>
24389
24390         * lib/path-concat.c: Declare strdup only if it's not defined.
24391         * lib/canon-host.c: Likewise.
24392
24393 2000-04-28  Jim Meyering  <meyering@lucent.com>
24394
24395         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
24396         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
24397         is included first, then limits.h is included by locale.h by libintl.h.
24398         From John David Anglin.
24399
24400 2000-04-25  Jim Meyering  <meyering@lucent.com>
24401
24402         * lib/makepath.c (S_IRWXUGO): Define.
24403         (make_path): Always perform explicit chmod if MODE specifies any
24404         of the `special' permission bits.  Prompted by a bug report against
24405         install from Mate Wierdl and Joost van Baal.
24406
24407 2000-04-18  Jim Meyering  <meyering@lucent.com>
24408
24409         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
24410         (jm_PREREQ): Use it.
24411
24412 2000-04-18  Jim Meyering  <meyering@lucent.com>
24413
24414         * lib/README: New file.
24415
24416         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
24417         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
24418
24419 2000-04-17  Jim Meyering  <meyering@lucent.com>
24420
24421         Get it right :-)
24422         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
24423         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
24424         Suggestion from Akim Demaille.
24425
24426 2000-04-17  Jim Meyering  <meyering@lucent.com>
24427
24428         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
24429         the definition of it to rpl_strftime also defined-away the system's
24430         declaration.
24431
24432 2000-04-15  Jim Meyering  <meyering@lucent.com>
24433
24434         Use `C' to denote so-called `contiguous' files, the same way
24435         that tar does.
24436         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
24437         (ftypelet): Use S_ISCTG.
24438         From Michael Deutschmann.
24439
24440 2000-04-14  Jim Meyering  <meyering@lucent.com>
24441
24442         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
24443         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
24444         clobbered.
24445
24446 2000-04-14  Jim Meyering  <meyering@lucent.com>
24447
24448         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
24449
24450 2000-04-13  Jim Meyering  <meyering@lucent.com>
24451
24452         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
24453         AH_VERBATIM to insert required #ifndef into config.h.in.
24454         Suggestion from Akim Demaille.
24455
24456 2000-04-12  Jim Meyering  <meyering@lucent.com>
24457
24458         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
24459         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
24460         Christian Krackowizer.
24461
24462         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
24463         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
24464         (AC_SYS_LARGEFILE): Require.
24465         (AM_C_PROTOTYPES): Require.
24466
24467 2000-04-08  Jim Meyering  <meyering@lucent.com>
24468
24469         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
24470         names don't conflict.  Reported by Eli Zaretskii.
24471
24472 2000-04-07  Jim Meyering  <meyering@lucent.com>
24473
24474         * lib/putenv.c: Move inclusion of errno.h so it follows that of
24475         sys/types.h, to work around system header problems on AIX 3.2.5.
24476         From Bruno Haible.
24477
24478 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
24479
24480         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
24481         bug.  Deal with the different error behavior of Irix iconv.
24482
24483 2000-04-05  Paul Eggert  <eggert@twinsun.com>
24484
24485         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
24486         IRIX if the installer said otherwise.
24487
24488 2000-04-05  Jim Meyering  <meyering@lucent.com>
24489
24490         Portability tweaks required for ultrix4.3.
24491         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
24492         (jm_CHECK_DECLS): Add getutent to the list of functions.
24493         (_jm_DECL_HEADERS): Add utmpx.h.
24494         From John David Anglin.
24495
24496         * m4/strftime.m4: Back out the 2000-04-02 change.
24497         Instead of that change, simply undefine putenv in the test program.
24498
24499 2000-04-05  Jim Meyering  <meyering@lucent.com>
24500
24501         Portability tweaks required for ultrix4.3.
24502         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
24503         getutent.
24504         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
24505         * lib/canon-host.c: Declare strdup.
24506         * lib/path-concat.c: Likewise.
24507         From John David Anglin.
24508
24509 2000-04-04  Jim Meyering  <meyering@lucent.com>
24510
24511         Be more DOS 8.3-friendly.
24512         * lib/ref-add.sin: Renamed from ref-add.sed.in.
24513         * lib/ref-del.sin: Renamed from ref-del.sed.in.
24514         * lib/Makefile.am: Reflect renaming.
24515         Reported by Eli Zaretskii.
24516
24517         Use a temporary file name that won't clash with `charset.alias'
24518         in the DOS 8.3 name space.
24519         * lib/Makefile.am (charset_tmp): Define.
24520         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
24521         (uninstall-local): Likewise.
24522         Reported by Eli Zaretskii.
24523
24524 2000-04-03  Jim Meyering  <meyering@lucent.com>
24525
24526         * m4/gettext.m4: Fix typo in comment.
24527
24528         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
24529         textutils/configure.in).  Suggestion from Paul Eggert.
24530         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
24531
24532 2000-04-02  Paul Eggert  <eggert@twinsun.com>
24533
24534         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
24535         variable in the shell rather than using putenv, which isn't
24536         portable.  This avoids the configure-time inter-test dependency
24537         on the potentially-renamed putenv function.
24538
24539 2000-03-30  Paul Eggert  <eggert@twinsun.com>
24540
24541         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
24542         before checking struct stat.st_blksize, so that
24543         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
24544
24545 2000-03-29  Paul Eggert  <eggert@twinsun.com>
24546
24547         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
24548         since strftime.c uses HAVE_STRFTIME to decide whether to use
24549         the underlying strftime.
24550
24551 2000-03-29  Paul Eggert  <eggert@twinsun.com>
24552
24553         * lib/time/strftime.c (my_strftime): Make sure we call the system
24554         strftime, not ourselves, when invoking the underlying strftime.
24555
24556 2000-03-24  Jim Meyering  <meyering@lucent.com>
24557
24558         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
24559         (charset_alias): Define.
24560         (install-exec-local): Factor out common code.
24561         (uninstall-local): Split lines longer than 80.
24562         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
24563         (SUFFIXES): Define.
24564         (.sed.in.sed): New rule.  Don't redirect directly to $@.
24565         (CLEANFILES): Add ref-add.sed and ref-del.sed.
24566
24567 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
24568
24569         * lib/config.charset: Output a line containing "Packages using this
24570         file".
24571         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
24572         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
24573         ref-del.sed): New rules.
24574
24575 2000-03-17  Jim Meyering  <meyering@lucent.com>
24576
24577         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
24578         Otherwise, include <strings.h>
24579
24580 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
24581
24582         * lib/unicodeio.c (utf8_wctomb): New function.
24583         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
24584         format instead of in UCS-4 with platform dependent endianness.
24585
24586 2000-03-10  Jim Meyering  <meyering@lucent.com>
24587
24588         * m4/lib-check.m4: Look for getspnam in -lgen, too.
24589         From Marco Franzen.
24590
24591 2000-03-07  Paul Eggert  <eggert@twinsun.com>
24592
24593         * lib/savedir.c (savedir): Work even if directory size is
24594         negative; this can happen with some screwy NFS configurations.
24595
24596 2000-03-06  Jim Meyering  <meyering@lucent.com>
24597
24598         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
24599         if it's NULL (because we ran out of memory).  From Bruno Haible.
24600
24601 2000-03-05  Jim Meyering  <meyering@lucent.com>
24602
24603         * lib/localcharset.c ("path-concat.h"): Include.
24604         (get_charset_aliases): Use path_concat instead of ANSI string
24605         concatenation.
24606
24607         * lib/unicodeio.h (PARAMS): Define.
24608         Use it to guard prototype.
24609
24610 2000-03-04  Jim Meyering  <meyering@lucent.com>
24611
24612         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
24613         for lib/localcharset.c.
24614
24615 2000-03-04  Jim Meyering  <meyering@lucent.com>
24616
24617         * lib/Makefile.am (install-exec-local): Create $(libdir) before
24618         installing into it.
24619         (uninstall-local): Uncomment this rule so `make distcheck' works
24620         once again.
24621
24622         * lib/unicodeio.c (<errno.h>): Include it.
24623         (errno): Declare if not defined.
24624
24625         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
24626
24627         * lib/config.charset: New version, incorporating remarks from a linux
24628         i18n mailing list.  From Bruno Haible.
24629
24630 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
24631
24632         * m4/codeset.m4: New file.
24633         * m4/iconv.m4: New file.
24634         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
24635
24636 2000-03-03  Jim Meyering  <meyering@lucent.com>
24637
24638         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
24639
24640 2000-03-02  Jim Meyering  <meyering@lucent.com>
24641
24642         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
24643         the messages come out on separate lines.
24644
24645         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
24646         rather than jm_CHECK_DECLARATIONS.
24647         * m4/decl.m4: Remove now-unused file.
24648
24649         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
24650         geteuid.
24651
24652 2000-03-02  Jim Meyering  <meyering@lucent.com>
24653
24654         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
24655
24656 2000-03-01  Jim Meyering  <meyering@lucent.com>
24657
24658         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
24659         * lib/unicodeio.c: Likewise.
24660
24661 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
24662
24663         * lib/config.charset: New file.
24664         * lib/localcharset.c: New file.
24665         * lib/unicodeio.h, lib/unicodeio.c: New files.
24666         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
24667         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
24668         (noinst_HEADERS): Add unicodeio.h.
24669         (all-local, install-exec-local, charset.alias): New targets.
24670
24671 2000-02-28  Paul Eggert  <eggert@twinsun.com>
24672
24673         * lib/quotearg.c (ALERT_CHAR): New macro.
24674         (quotearg_buffer_restyled): Use it.
24675
24676 2000-02-27  Jim Meyering  <meyering@lucent.com>
24677
24678         * m4/check-decl.m4: Add getenv to the list.
24679
24680 2000-02-27  Jim Meyering  <meyering@lucent.com>
24681
24682         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
24683         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
24684
24685         * lib/backupfile.c: Guard inclusion of stdlib.h with
24686         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
24687         Declare malloc if needed.
24688
24689         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
24690         `#ifndef HAVE_DECL..'
24691         now that autoconf always defines the HAVE_DECL_ symbols.
24692         * lib/human.c: Likewise.
24693         * lib/same.c: Likewise.
24694         * lib/strtoumax.c: Likewise.
24695
24696         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
24697         declaration check was not run.
24698         * lib/hash.c: Likewise.
24699         * lib/human.c: Likewise.
24700         * lib/same.c: Likewise.
24701         * lib/strtoumax.c: Likewise.
24702
24703         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
24704         `.', then first look up the entire `.'-containing string as a login
24705         name.
24706
24707 2000-02-23  Jim Meyering  <meyering@lucent.com>
24708
24709         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
24710         in place of my hack.
24711
24712 2000-02-18  Paul Eggert  <eggert@twinsun.com>
24713
24714         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
24715         (textint): New typedef.
24716         (parser_control): Member year changed from int to textint.
24717         All uses changed.
24718         (YYSTYPE): Removed; replaced by %union with int and textint members.
24719         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
24720         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
24721         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
24722         (tSNUMBER, tUNUMBER): Now of type <textintval>.
24723         (date, number, to_year): Use width of number in digits, not its value,
24724         to determine whether it's a 2-digit year, or a 2-digit time.
24725         (yylex): Store number of digits of numeric tokens.
24726         Reported by John Kendall.
24727
24728         (parser_control): Changed from struct parser_control to typedef (for
24729         consistency).  All uses changed.
24730
24731         (tID): Removed; not used.
24732         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
24733
24734 2000-02-14  Paul Eggert  <eggert@twinsun.com>
24735
24736         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
24737         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
24738
24739 2000-02-12  Jim Meyering  <meyering@lucent.com>
24740
24741         * lib/userspec.c (ISDIGIT): Define it.
24742         (isdigit): Remove definition.
24743         (is_number): Use ISDIGIT, not isdigit.
24744         <libintl.h>: Include.
24745         (_ and N_): Define.
24746         (parse_user_spec): Mark translatable strings.
24747
24748 2000-02-10  Jim Meyering  <meyering@lucent.com>
24749
24750         With these changes, nanosleep.[ch] are finally enough like the other
24751         lib/* replacement files to compile on a few more losing systems.
24752
24753         * lib/nanosleep.h: Don't include config.h.
24754         Remove prototype from declaration of nanosleep.
24755         (PARAMS): Remove now-unneeded definition.
24756         * lib/nanosleep.c: #undef nanosleep.
24757         (rpl_nanosleep): Rename from nanosleep.
24758
24759 2000-02-10  Jim Meyering  <meyering@lucent.com>
24760
24761         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
24762         gnu_nanosleep to rpl_nanosleep.
24763
24764 2000-02-09  Jim Meyering  <meyering@lucent.com>
24765
24766         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
24767         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
24768
24769 2000-02-08  Akim Demaille  <akim@epita.fr>
24770
24771         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
24772         `[' and `]' and remove uses of `changequote'.
24773         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
24774         (AC_SYS_LARGEFILE): Likewise.
24775         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
24776         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
24777         of changequote.
24778         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
24779         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
24780         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
24781         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
24782
24783 2000-02-05  Jim Meyering  <meyering@lucent.com>
24784
24785         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
24786         Remove explicit use of AC_HEADER_TIME.  It is required by
24787         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
24788         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
24789         in autoconf whereby the expansion of the latter ended up preceding
24790         the expansion of its prerequisite, AC_HEADER_TIME.
24791         Reported by Volker Borchert.
24792
24793 2000-02-03  Jim Meyering  <meyering@lucent.com>
24794
24795         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
24796
24797 2000-02-03  Jim Meyering  <meyering@lucent.com>
24798
24799         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
24800         rather than with `#if HAVE_UTMPNAME'.
24801
24802 2000-02-02  Jim Meyering  <meyering@lucent.com>
24803
24804         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
24805         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
24806         Reported by Eli Zaretskii.
24807
24808 2000-02-01  Jim Meyering  <meyering@lucent.com>
24809
24810         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
24811
24812 2000-01-31  Jim Meyering  <meyering@lucent.com>
24813
24814         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
24815         functions.  Add the time.h and sys/time.h headers along with the
24816         AC_REQUIRE'ment of AC_HEADER_TIME.
24817
24818 2000-01-31  Jim Meyering  <meyering@lucent.com>
24819
24820         * lib/nanosleep.h (nanosleep): Guard declaration with
24821         `#if ! HAVE_DECL_NANOSLEEP'.
24822         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
24823         the declaration in that vendor's sys/timers.h.
24824         Reported by Christian Krackowizer.
24825
24826         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
24827         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
24828         (ISPRINT): Likewise.
24829         Reported by Tom Tromey.
24830
24831 2000-01-30  Jim Meyering  <meyering@lucent.com>
24832
24833         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
24834
24835         * m4/prereq.m4 (utmp_includes): Define.
24836         Check for ut_user and ut_name members in both struct utmpx
24837         and struct utmp.
24838
24839 2000-01-30  Jim Meyering  <meyering@lucent.com>
24840
24841         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
24842         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
24843         header files where only utmpx.ut_user is declared.
24844
24845         * lib/readutmp.h (UT_USER): Define.
24846
24847 2000-01-29  Jim Meyering  <meyering@lucent.com>
24848
24849         * m4/lib-check.m4: New file containing library-related checks from
24850         fileutils and sh-utils (textutils had none).
24851
24852 2000-01-28  Jim Meyering  <meyering@lucent.com>
24853
24854         * m4/perl.m4: Change format of warning message to look more like that
24855         from the missing script.  Suggestion from François Pinard.
24856
24857 2000-01-25  Jim Meyering  <meyering@lucent.com>
24858
24859         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
24860         well as time.h in the compile check.
24861         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
24862         Fix typo in cross-compiling case: s/yes/no/.
24863
24864 2000-01-23  Jim Meyering  <meyering@lucent.com>
24865
24866         * m4/jm-macros.m4: Move df-related tests here from
24867         fileutils/configure.in
24868
24869         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
24870         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
24871
24872         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
24873         s/space/ac_fsusage_space/.
24874         (jm_FILE_SYSTEM_USAGE): Take two parameters.
24875
24876         * m4/ftruncate.m4: New file (derived from part of
24877         fileutils/configure.in).
24878         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
24879         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
24880
24881         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
24882         AC_SUBST these here, rather than just in sh-util/configure.in, so
24883         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
24884         all the same.
24885         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
24886         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
24887         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
24888         (AC_SUBST(POW_LIBM)): Likewise.
24889         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
24890
24891 2000-01-23  Jim Meyering  <meyering@lucent.com>
24892
24893         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
24894         obstack.c.
24895
24896 2000-01-22  Jim Meyering  <meyering@lucent.com>
24897
24898         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
24899
24900         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
24901
24902         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
24903         configure.in
24904         (AC_CHECK_HEADERS): Likewise for sh-utils.
24905         (AC_CHECK_HEADERS): Likewise for textutils.
24906         Merge the three lists of headers.
24907
24908         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
24909         from fileutils' configure.in.
24910
24911         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
24912         code. Moved tests into their own function (_jm_DECL_HEADERS) in
24913         check-decl.m4.
24914
24915         * m4/check-decl.m4: Use #if rather than #ifdef.
24916         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
24917         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
24918         (_jm_DECL_HEADERS): Define new function.
24919         (jm_CHECK_DECLARATIONS): Require it.
24920
24921 2000-01-22  Jim Meyering  <meyering@lucent.com>
24922
24923         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
24924         [! HAVE_DECL_STRTOULL]: Declare strtoull.
24925         Required for some AIX systems.  Reported by Christian Krackowizer.
24926         [TESTING] (main): New function.
24927
24928         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
24929         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
24930         letters.
24931
24932         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
24933         iswprint.
24934
24935         * lib/strverscmp.c (ISDIGIT): Define.
24936         (strverscmp): Use ISDIGIT, not isdigit.
24937
24938 2000-01-19  Jim Meyering  <meyering@lucent.com>
24939
24940         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
24941         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
24942         defines `struct timespec' in <sys/time.h>
24943
24944         * m4/c-bs-a.m4: Remove uses of changequote altogether.
24945         Thanks to Akim for explaining.
24946
24947 2000-01-17  Paul Eggert  <eggert@twinsun.com>
24948
24949         * lib/nanosleep.c (nanosleep):
24950         Don't use SA_INTERRUPT to decide whether to call sigaction, as
24951         POSIX.1 doesn't require SA_INTERRUPT and some systems
24952         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
24953         it's been part of POSIX.1 since day 1 (in 1988).
24954
24955 2000-01-17  Jim Meyering  <meyering@lucent.com>
24956
24957         * lib/interlock: Remove unused file.  Reported by François Pinard.
24958
24959 2000-01-16  Paul Eggert  <eggert@twinsun.com>
24960
24961         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
24962         alert, backslash, formfeed, and vertical tab unnecessarily in
24963         shell quoting style.
24964
24965 2000-01-16  Jim Meyering  <meyering@lucent.com>
24966
24967         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
24968         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
24969         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
24970         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
24971
24972 2000-01-16  Jim Meyering  <meyering@lucent.com>
24973
24974         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
24975         because the latter didn't work.
24976
24977 2000-01-15  Jim Meyering  <meyering@lucent.com>
24978
24979         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
24980         (AC_REPLACE_FUNCS): Add memcpy and memset.
24981         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
24982         Add strpbrk.
24983         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
24984
24985 2000-01-12  Jim Meyering  <meyering@lucent.com>
24986
24987         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
24988         (jm_PREREQ): Use it.
24989         (jm_PREREQ_READUTMP): New macro.
24990         (jm_PREREQ): Use it.
24991
24992 2000-01-11  Paul Eggert  <eggert@twinsun.com>
24993
24994         Quote multibyte characters correctly.
24995         * m4/c-bs-a.m4: New file.
24996         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
24997         (jm_PREREQ): Use it.
24998
24999 2000-01-11  Paul Eggert  <eggert@twinsun.com>
25000
25001         * m4/uintmax_t.m4: Port to autoconf 2.13.
25002
25003 2000-01-08  Jim Meyering  <meyering@ascend.com>
25004
25005         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
25006         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
25007
25008 2000-01-04  Jim Meyering  <meyering@ascend.com>
25009
25010         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
25011         jm_STRUCT_DIRENT_D_TYPE.
25012         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
25013         jm_STRUCT_DIRENT_D_INO.
25014         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
25015         jm_STRUCT_UTIMBUF.
25016         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
25017         renamings.
25018         * m4/utime.m4: Likewise.
25019
25020         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
25021         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
25022
25023 2000-01-03  Paul Eggert  <eggert@twinsun.com>
25024
25025         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
25026         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
25027
25028 2000-01-02  Jim Meyering  <meyering@ascend.com>
25029
25030         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
25031         remember if this is necessary.
25032
25033 1999-12-26  Jim Meyering  <meyering@ascend.com>
25034
25035         * m4/jm-macros.m4: Use it here.
25036         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
25037
25038 1999-12-23  Jim Meyering  <meyering@ascend.com>
25039
25040         * m4/jm-macros.m4: Check for clock_gettime (moved from
25041         fileutils/configure.in)
25042         Check for gettimeofday.
25043
25044 1999-12-20  Jim Meyering  <meyering@ascend.com>
25045
25046         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
25047         autoconf-2.14a-1999-12-20.
25048
25049 1999-12-19  Jim Meyering  <meyering@ascend.com>
25050
25051         * m4/lstat-slash.m4: New file.
25052         * m4/jm-macros.m4: Use the new macro:
25053         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
25054
25055 1999-12-07  Jim Meyering  <meyering@ascend.com>
25056
25057         * m4/perl.m4: Require that File::Compare be available, too.
25058         Too many systems seem to lack it.
25059
25060         * m4/strftime.m4: Add checks for most of the cpp macros tested in
25061         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
25062
25063 1999-11-18  Paul Eggert  <eggert@twinsun.com>
25064
25065         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
25066         problem with the QNX 4.25 shell, which doesn't propagate exit
25067         status of failed commands inside shell assignments.
25068
25069 1999-11-17  Jim Meyering  <meyering@ascend.com>
25070
25071         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
25072
25073 1999-11-07  Jim Meyering  <meyering@ascend.com>
25074
25075         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
25076
25077 1999-11-06  Jim Meyering  <meyering@ascend.com>
25078
25079         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
25080         * m4/jm-macros.m4 (jm_MACROS): Use it here.
25081
25082 1999-11-05  Jim Meyering  <meyering@ascend.com>
25083
25084         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
25085         configure.in of textutils, fileutils, and sh-utils into this one
25086         (shared between those packages) file.
25087         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
25088         AC_STRUCT_ST_BLKSIZE.
25089
25090 1999-11-03  Jim Meyering  <meyering@ascend.com>
25091
25092         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
25093         of AC_CHECK_TYPE checks includes unistd.h.
25094         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
25095         Suggestion from Akim Demaille.
25096
25097 1999-10-30  Jim Meyering  <meyering@ascend.com>
25098
25099         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
25100         m4-quoted string.
25101         * m4/ls-mntd-fs.m4: Likewise.
25102         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
25103         * m4/jm-winsz1.m4: Likewise.
25104
25105         * m4/const.m4: Remove file, since the fix made it into the experimental
25106         version of autoconf.
25107         * m4/mktime.m4: Likewise.
25108
25109         * m4/check-type.m4: Remove file, now that the latest version of
25110         AC_CHECK_TYPE takes a third arg to specify additional #includes.
25111
25112         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
25113         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
25114         AC_CHECK_TYPE.
25115
25116 1999-10-04  Jim Meyering  <meyering@ascend.com>
25117
25118         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
25119
25120 1999-09-22  Paul Eggert  <eggert@twinsun.com>
25121
25122         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
25123         2.95.1 bug with HP-UX 10.20.
25124
25125 1999-09-17  Jim Meyering  <meyering@ascend.com>
25126
25127         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
25128         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
25129         due to missing strdup (against sh-utils-2.0).
25130
25131 1999-08-29  Jim Meyering  <meyering@ascend.com>
25132
25133         * m4/jm-macros.m4: Require jm_BISON.
25134         * m4/bison.m4: New file.
25135
25136 1999-08-17  Paul Eggert  <eggert@twinsun.com>
25137
25138         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
25139         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
25140
25141 1999-08-05  Jim Meyering  <meyering@ascend.com>
25142
25143         * m4/getline.m4: Rename test file from conftestdata to conftest.data
25144         to avoid conflicts with `conftest' on 8+3 filesystems.
25145         Suggestion from Eli Zaretskii.
25146
25147 1999-08-04  Jim Meyering  <meyering@ascend.com>
25148
25149         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
25150         fileutils and sh-utils (textutils's getline test was inadequate).
25151         (AM_FUNC_GETLINE): Run this test.
25152         (AC_CHECK_FUNCS): Check for getdelim.
25153         Reported by Bob Proulx.
25154
25155 1999-08-02  Jim Meyering  <meyering@ascend.com>
25156
25157         * m4/jm-macros.m4: Add a comment.
25158
25159 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25160
25161         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
25162         <inttypes.h> defines strtoumax as a macro (and not as a
25163         function).
25164
25165 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25166
25167         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
25168         that we can shift, multiply and divide unsigned long long
25169         values; Ultrix cc can't do it.
25170
25171 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25172
25173         * m4/mktime.m4: New file, which is a preview of what should appear
25174         in the next public autoconf release.
25175
25176 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25177
25178         * m4/lfs.m4: Remove this file.
25179         * m4/largefile.m4: New file.  It contains the old contents of
25180         lfs.m4, except that all names with prefix AC_LFS have been
25181         changed to use the prefix AC_SYS_LARGEFILE instead, to be
25182         compatible with future autoconf versions.  Also, some minor m4
25183         quoting problems have been fixed.
25184
25185 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25186
25187         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
25188         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
25189         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
25190         and simplify the shell code.
25191
25192 1999-08-01  Jim Meyering  <meyering@ascend.com>
25193
25194         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
25195         m4.
25196
25197 1999-07-20  Jim Meyering  <meyering@ascend.com>
25198
25199         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
25200
25201 1999-07-15  Jim Meyering  <meyering@ascend.com>
25202
25203         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
25204
25205 1999-05-22  Jim Meyering  <meyering@ascend.com>
25206
25207         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
25208
25209 1999-05-20  Jim Meyering  <meyering@ascend.com>
25210
25211         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
25212         Add a colon after each `then' in case $4 is empty.
25213
25214 1999-05-16  Jim Meyering  <meyering@ascend.com>
25215
25216         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
25217
25218 1999-05-10  Jim Meyering  <meyering@ascend.com>
25219
25220         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
25221
25222         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
25223         AC_FUNC_MKTIME.
25224
25225 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
25226
25227         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
25228
25229 1999-05-04  Paul Eggert  <eggert@twinsun.com>
25230
25231         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
25232         not CPPFLAGS, so that linking works correctly in IRIX.
25233
25234 1999-04-30  Paul Eggert  <eggert@twinsun.com>
25235
25236         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
25237
25238 1999-04-20  Paul Eggert  <eggert@twinsun.com>
25239
25240         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
25241         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
25242         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
25243         jm_AC_TYPE_UNSIGNED_LONG_LONG.
25244         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
25245
25246         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
25247
25248 1999-04-20  Jim Meyering  <meyering@ascend.com>
25249
25250         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
25251         AC_REPLACE xstroull if necessary.  From Paul Eggert.
25252         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
25253
25254 1999-04-18  Jim Meyering  <meyering@ascend.com>
25255
25256         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
25257         * m4/jm-macros.m4: Use it.
25258
25259 1999-04-06  Jim Meyering  <meyering@ascend.com>
25260
25261         * m4/strftime.m4: Remove test for %f.
25262
25263 1999-03-29  Jim Meyering  <meyering@ascend.com>
25264
25265         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
25266         superset of the AC_TYPE_* checks in the textutils, fileutils,
25267         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
25268         AC_TYPE_PID_T.
25269
25270 1999-03-28  Jim Meyering  <meyering@ascend.com>
25271
25272         * m4/jm-macros.m4: Define GNU_PACKAGE here.
25273         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
25274         replaced e.g., in the *.sh files of the sh-utils.
25275
25276 1999-03-20  Jim Meyering  <meyering@ascend.com>
25277
25278         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
25279         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
25280         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
25281
25282 1999-03-19  Jim Meyering  <meyering@ascend.com>
25283
25284         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
25285
25286 1999-03-12  Jim Meyering  <meyering@ascend.com>
25287
25288         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
25289
25290 1999-03-07  Jim Meyering  <meyering@ascend.com>
25291
25292         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
25293         declared.
25294
25295 1999-02-17  Jim Meyering  <meyering@ascend.com>
25296
25297         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
25298         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
25299
25300 1999-02-07  Jim Meyering  <meyering@ascend.com>
25301
25302         * m4/group-member.m4: New file -- extracted from sh-utils'
25303         configure.in.
25304
25305         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
25306         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
25307
25308 1999-02-06  Jim Meyering  <meyering@ascend.com>
25309
25310         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
25311         * m4/fnmatch.m4: Likewise.
25312         * m4/getgroups.m4: Likewise.
25313         * m4/lstat.m4: Likewise.
25314         * m4/malloc.m4: Likewise.
25315         * m4/putenv.m4: Likewise.
25316         * m4/realloc.m4: Likewise.
25317         * m4/regex.m4: Likewise.
25318         * m4/stat.m4: Likewise.
25319         * m4/strftime.m4: Likewise.
25320         Suggestion from Alain Magloire.
25321
25322         * m4/chown.m4: Use `.$ac_objext', not `.o'.
25323         * m4/fnmatch.m4: Likewise.
25324         * m4/getgroups.m4: Likewise.
25325         * m4/getline.m4: Likewise.
25326         * m4/lstat.m4: Likewise.
25327         * m4/malloc.m4: Likewise.
25328         * m4/memcmp.m4: Likewise.
25329         * m4/putenv.m4: Likewise.
25330         * m4/realloc.m4: Likewise.
25331         * m4/regex.m4: Likewise.
25332         * m4/stat.m4: Likewise.
25333         * m4/strftime.m4: Likewise.
25334         Suggestion from Alain Magloire.
25335
25336         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
25337         an argument.
25338
25339         * m4/regex.m4: Add a run-time Test for proper operation of
25340         re_compile_pattern.
25341
25342 1999-01-31  Jim Meyering  <meyering@ascend.com>
25343
25344         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
25345
25346 1999-01-30  Jim Meyering  <meyering@ascend.com>
25347
25348         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
25349
25350         * m4/jm-mktime.m4: Make this a wrapper around the official
25351         AM_FUNC_MKTIME rather than my private copy, now that the official one
25352         is up to date.
25353         * m4/mktime.m4: Remove file.
25354
25355         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
25356         * m4/uptime.m4: Likewise.
25357         * m4/uintmax_t.m4: Likewise.
25358
25359 1999-01-28  Jim Meyering  <meyering@ascend.com>
25360
25361         * m4/jm-macros.m4: Use jm_AFS.
25362         * m4/afs.m4: New file (from fileutils' configure.in).
25363
25364         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
25365         * m4/chown.m4: Likewise.
25366         * m4/d-ino.m4: Likewise.
25367         * m4/d-type.m4: Likewise.
25368         * m4/fnmatch.m4: Likewise.
25369         * m4/getgroups.m4: Likewise.
25370         * m4/gettext.m4: Likewise.
25371         * m4/jm-mktime.m4: Likewise.
25372         * m4/jm-winsz2.m4: Likewise.
25373         * m4/lcmessage.m4: Likewise.
25374         * m4/ls-mntd-fs.m4: Likewise.
25375         * m4/malloc.m4: Likewise.
25376         * m4/memcmp.m4: Likewise.
25377         * m4/putenv.m4: Likewise.
25378         * m4/realloc.m4: Likewise.
25379         * m4/st_mtim.m4: Likewise.
25380         * m4/strftime.m4: Likewise.
25381
25382 1999-01-16  Jim Meyering  <meyering@ascend.com>
25383
25384         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
25385         (ARGMATCH_DIE_DECL): Define.
25386
25387 1999-01-12  Jim Meyering  <meyering@ascend.com>
25388
25389         * m4/Makefile.am.in: Rewrite to avoid using fmt.
25390         Reported by Lars Hecking.
25391
25392 1999-01-10  Jim Meyering  <meyering@ascend.com>
25393
25394         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
25395         gross kludge.
25396         * m4/inttypes_h.m4: Likewise.
25397         * m4/lstat.m4: Likewise.
25398         * m4/malloc.m4: Likewise.
25399         * m4/readdir.m4: Likewise.
25400         * m4/realloc.m4: Likewise.
25401         * m4/st_dm_mode.m4: Likewise.
25402         * m4/stat.m4: Likewise.
25403         * m4/utimbuf.m4: Likewise.
25404         * m4/utimes.m4: Likewise.
25405
25406         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
25407         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
25408         comments in config.h.in are meaningful.
25409
25410         * m4/jm-macros.m4: Require autoconf-2.13 here.
25411
25412         * m4/regex.m4: By default, don't use the included regex.c on systems
25413         with glibc 2.  Suggestion from Uli Drepper.
25414
25415 1999-01-02  Jim Meyering  <meyering@ascend.com>
25416
25417         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
25418
25419 1998-12-18  Jim Meyering  <meyering@ascend.com>
25420
25421         * m4/Makefile.am.in (Makefile.am): Simplify rule.
25422         Based on a suggestion from Lars Hecking.
25423
25424 1998-11-16  Paul Eggert  <eggert@twinsun.com>
25425
25426         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
25427
25428 1998-11-16  Jim Meyering  <meyering@ascend.com>
25429
25430         * m4/lfs.m4: Double-quote the `uname...` expression.
25431
25432 1998-11-14  Jim Meyering  <meyering@ascend.com>
25433
25434         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
25435         * m4/stat.m4: Likewise.
25436
25437 1998-11-03  Jim Meyering  <meyering@ascend.com>
25438
25439         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
25440         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
25441
25442 1998-10-18  Jim Meyering  <meyering@ascend.com>
25443
25444         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
25445
25446 1998-10-17  Jim Meyering  <meyering@ascend.com>
25447
25448         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
25449         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
25450         calls for those previously hard-coded headers.  Instead, take a new
25451         parameter.
25452         (jm_CHECK_DECLARATIONS): Reflect interface change.
25453         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
25454         (jm_CHECK_DECL_LOCALTIME_R): New macro.
25455
25456         * m4/mktime.m4: Test for spring-forward gap before long-running test.
25457
25458 1998-10-14  Jim Meyering  <meyering@ascend.com>
25459
25460         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
25461         instead of "TZ=America/Vancouver".  From Paul Eggert.
25462
25463 1998-10-11  Jim Meyering  <meyering@ascend.com>
25464
25465         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
25466         This adds a test for a recently added compatibility fix for mktime.c.
25467         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
25468
25469 1998-09-27  Jim Meyering  <meyering@ascend.com>
25470
25471         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
25472
25473         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
25474         ../configure.in, including a change from Gordon Matzigkeit to allow
25475         cross-compiling for the Hurd.
25476
25477         * m4/glibc.m4: New file/macro to test for the GNU C Library
25478         versions 1 and 2.  From Gordon Matzigkeit.
25479         Indent.
25480
25481 1998-09-21  Jim Meyering  <meyering@ascend.com>
25482
25483         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
25484
25485 1998-08-18  Paul Eggert  <eggert@twinsun.com>
25486
25487         Port nanosecond-resolution times to UnixWare 2.1.2 and
25488         pedantic Solaris 2.6.
25489
25490         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
25491         AC_STRUCT_ST_MTIM.
25492         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
25493         Generate name of ns member, instead of just 1 or undef.
25494         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
25495
25496 1998-08-15  Jim Meyering  <meyering@ascend.com>
25497
25498         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
25499         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
25500         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
25501         instead of jm_TYPE_SSIZE_T.
25502
25503 1998-08-12  Jim Meyering  <meyering@ascend.com>
25504
25505         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
25506
25507 1998-08-02  Jim Meyering  <meyering@ascend.com>
25508
25509         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
25510         in acconfig.h manually.
25511
25512 1998-07-31  Paul Eggert  <eggert@twinsun.com>
25513
25514         * m4/st_mtim.m4: New file.
25515
25516 1998-07-28  Jim Meyering  <meyering@ascend.com>
25517
25518         * m4/utimes.m4: Undef stat.
25519
25520 1998-07-25  Jim Meyering  <meyering@ascend.com>
25521
25522         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
25523         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
25524
25525 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
25526
25527         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
25528         uid and gid actually remain unchanged.
25529
25530 1998-07-07  Jim Meyering  <meyering@ascend.com>
25531
25532         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
25533
25534 1998-07-04  Jim Meyering  <meyering@ascend.com>
25535
25536         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
25537         to prove that this macro can be used in packages without regex.c.
25538
25539 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
25540
25541         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
25542         is to be used.
25543
25544 1998-07-03  Jim Meyering  <meyering@ascend.com>
25545
25546         * m4/gettext.m4: Add -lintl if it's found to be necessary.
25547
25548         * m4/gettext.m4: New file -- from gettext-0.10.35.
25549         * m4/lcmessage.m4: Likewise.
25550         * m4/progtest.m4: Likewise.
25551
25552         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
25553         * m4/jm-macros.m4: Require the new macro.
25554
25555 1998-06-29  Jim Meyering  <meyering@ascend.com>
25556
25557         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
25558         for the definition of NGROUPS (used in a system header included
25559         by sys/mount.h).
25560
25561 1998-06-28  Jim Meyering  <meyering@ascend.com>
25562
25563         * m4/ls-mntd-fs.m4: New file.
25564         * m4/fstypename.m4: New file.
25565
25566         * m4/jm-macros.m4: Require the new macro.
25567         * m4/jm-glibc-io.m4: New file.
25568
25569 1998-05-19  Jim Meyering  <meyering@ascend.com>
25570
25571         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
25572         * m4/lchown.m4: New file.
25573
25574         * m4/Makefile.am.in: New file.
25575         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
25576
25577 1998-05-14  Jim Meyering  <meyering@ascend.com>
25578
25579         * m4/Makefile.am (EXTRA_DIST): Add them.
25580         * m4/jm-macros.m4: New file.
25581         * m4/utimbuf.m4: New file.
25582
25583 1998-05-12  Jim Meyering  <meyering@ascend.com>
25584
25585         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
25586
25587 1998-05-11  Jim Meyering  <meyering@ascend.com>
25588
25589         * m4/isc-posix.m4: New file.
25590
25591 1998-05-10  Jim Meyering  <meyering@ascend.com>
25592
25593         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
25594
25595 1998-05-09  Jim Meyering  <meyering@ascend.com>
25596
25597         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
25598         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
25599         with automake.
25600
25601         * m4/ssize_t.m4: New file.
25602         * m4/mktime.m4: Remove file -- the new automake has this now.
25603
25604 1998-04-26  Jim Meyering  <meyering@ascend.com>
25605
25606         * m4/assert.m4: New file.
25607         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
25608
25609 1998-04-05  Jim Meyering  <meyering@ascend.com>
25610
25611         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
25612         (jm_PREREQ): Use it here.
25613
25614 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
25615
25616         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
25617         in acconfig.h.
25618
25619 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
25620
25621         * m4/prereq.m4: New file.
25622         * m4/error.m4: New file.
25623         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
25624
25625 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
25626
25627         * m4/getline.m4: Don't set am_cv_func_working_getline before the
25628         cache-check for the same variable -- that defeated the purpose of
25629         the test; the test program was never run.  This was a problem only
25630         on systems with losing getline functions -- HP-UX 10.20 is one.
25631         Reported by Bjorn Helgaas.
25632
25633 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
25634
25635         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
25636
25637 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
25638
25639         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
25640
25641         * m4/const.m4: New file.  Use an initializer in this declaration
25642         typedef int charset[2]; const charset x;
25643         Reported by Bob Glickstein.
25644
25645 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
25646
25647         * m4/chown.m4: Fix reversed types on -1 args to chown.
25648         From Kaveh Ghazi.
25649
25650 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
25651
25652         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
25653         Add lseek and memchr.
25654
25655         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
25656         T.E.Dickey <dickey@clark.net> said that some older preprocessors
25657         have a 20-character limit on names.
25658
25659 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
25660
25661         * m4/inttypes_h.m4: New file.
25662         * m4/uintmax_t.m4: New file.
25663         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
25664
25665 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
25666   Free Software Foundation, Inc.
25667 Copying and distribution of this file, with or without modification,
25668 are permitted provided the copyright notice and this notice are preserved.