e6f93bf2135f82829d89e19d78798f763ad36cb7
[gnulib.git] / ChangeLog
1 2007-01-22  Bruno Haible  <bruno@clisp.org>
2
3         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
4         * modules/sys_select (Makefile.am): Likewise.
5         * modules/sys_socket (Makefile.am): Likewise.
6         * modules/sys_time (Makefile.am): Likewise.
7
8 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
9
10         * modules/gettimeofday (License): Change from GPL to LGPL, since
11         gettimeofday is a library function.
12
13 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14
15         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
16
17 2007-01-21  Bruno Haible  <bruno@clisp.org>
18
19         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
20
21 2007-01-21  Bruno Haible  <bruno@clisp.org>
22
23         * modules/striconveha: New file.
24         * lib/striconveha.h: New file.
25         * lib/striconveha.c: New file.
26         * MODULES.html.sh (Internationalization functions): Add striconveha.
27         * lib/striconv.c (str_iconv): Optimize the case of an empty input
28         string.
29         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
30
31 2007-01-21  Bruno Haible  <bruno@clisp.org>
32
33         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
34         * lib/striconveh.c (str_iconveh): Likewise.
35
36 2007-01-21  Bruno Haible  <bruno@clisp.org>
37
38         * lib/striconveh.h (mem_iconveh): New declaration.
39         * lib/striconveh.c (mem_iconveh): New function.
40         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
41
42 2007-01-21  Bruno Haible  <bruno@clisp.org>
43
44         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
45
46         * lib/striconveh.h (mem_cd_iconveh): Change specification.
47         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
48         original result buffer.
49         (str_cd_iconveh): Update.
50         * tests/test-striconveh.c (main): Update.
51
52         * lib/striconv.h (mem_cd_iconv): Change specification.
53         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
54         result buffer.
55         (str_cd_iconv): Update.
56         * tests/test-striconv.c (main): Update.
57
58 2007-01-21  Bruno Haible  <bruno@clisp.org>
59
60         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
61
62 2007-01-20  Jim Meyering  <jim@meyering.net>
63
64         * lib/userspec.c (parse_with_separator): If a user or group string
65         starts with "+", skip the corresponding name-to-ID look-up, since
66         such a look-up must fail: user and group names may not include "+".
67
68 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
69
70         * lib/poll.c: Include sys/time.h and time.h unconditionally,
71         since we now assume the sys_time module.
72         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
73         check for sys/time.h; no longer needed.
74         * modules/poll (Depends-on): Depend on sys_time.
75
76 2007-01-18  Bruno Haible  <bruno@clisp.org>
77
78         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
79         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
80
81         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
82         gettimeofday.
83
84         * tests/test-gettimeofday.c: Include <time.h>.
85         (dummy): Remove variable.
86
87         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
88         gl_HEADER_SYS_TIME_H.
89         (gl_HEADER_SYS_TIME_H): New macro.
90
91         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
92         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
93         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
94         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
95         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
96         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
97         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
98         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
99         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
100         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
101         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
102
103         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
104         last change; it caused a compilation error when cross-compiling to
105         Cygwin.
106
107 2007-01-18  Jim Meyering  <jim@meyering.net>
108
109         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
110         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
111         than the race-prone "test -d sys || mkdir sys".
112         (configure.ac): Use AC_PROG_MKDIR_P.
113         * modules/sys_select: Likewise.
114         * modules/sys_socket: Likewise.
115         * modules/sys_time: Likewise.
116
117 2007-01-18  Eric Blake  <ebb9@byu.net>
118
119         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
120         replace gettimeofday.
121         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
122         name, to avoid infinite recursion.
123
124 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
125
126         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
127         module sys_time.
128         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
129         assume timespec.h defines struct timeval.
130         * lib/settime.c: Likewise.
131         * lib/utimens.c: Likewise.
132         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
133         since we now assume the gettimeofday module.
134         * lib/tempname.c (__gen_tempname): Likewise.
135         * lib/gettimeofday.h: Remove.
136         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
137         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
138         Include <time.h>, for 'time()'.
139         (localtime_buffer_addr): Also use this workaround if
140         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
141         to simplify the uses.  All uses changed.
142         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
143         that #undef is inside {}, and 'const' follows type name consistently.
144         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
145         (gettimeofday): Do not use the maximum possible value for
146         tv->tv_usec, since that might break usages other than ls.c.
147         Instead, we'll leave ls.c alone.  This undoes today's patch
148         by Bruno.  Add a compile-time warning for 1s-clock resolution;
149         we've never observed the problem but might as well keep the
150         canary.
151         * lib/nanosleep.c: Include timespec.h first, for interface check.
152         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
153         now assume the sys_time module.
154         * lib/tempname.c: Likewise.
155         * lib/timespec.h: Likewise.
156         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
157         needed.
158         * lib/strftime.c: Likewise.
159         * lib/timespec.h: Likewise.
160         * lib/posixtm.c: Include posixtm.h first, for interface check.
161         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
162         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
163         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
164         * lib/sys_time_.h: New file.
165         * lib/timespec.h (struct timespec): Use long int, not long.
166         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
167         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
168         Remove obsolescent call to AC_HEADER_TIME.
169         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
170         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
171         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
172         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
173         Likewise.
174         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
175         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
176         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
177         into the sys_time module.  Check for gettimeofday just once.
178         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
179         for gettimeofday signature to just check the signature.  Merely
180         compile it, since linking doesn't test signature.  Improve test for
181         whether gettimeofday.o is actually needed.
182         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
183         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
184         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
185         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
186         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
187         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
188         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
189         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
190         than worrying about sys/time.h.
191         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
192         Don't bother worrying about TIME_WITH_SYS_TIME.
193         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
194         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
195         * m4/sys_time_h.m4: New file.
196         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
197         Don't include sys/time.h.  Return from main rather than exiting.
198         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
199         all uses changed.
200         * modules/gethrxtime (Depends-on): Add sys_time.
201         * modules/gettime (Depends-on): Likewise.
202         * modules/gettimeofday (Depends-on): Likewise.
203         * modules/nanosleep (Depends-on): Likewise.
204         * modules/settime (Depends-on): Likewise.
205         * modules/tempname (Depends-on): Likewise.
206         * modules/utimens (Depends-on): Likewise.
207         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
208         (Include:) Change back to <sys/time.h>.
209         (Maintainer:) Add self.
210         * modules/sys_time: New file.
211         * modules/tempname (Depends-on): Add gettimeofday.
212         * tests/test-gettimeofday.c: Include <sys/time.h>
213         rather than gettimeofday.h.
214
215 2007-01-17  Bruno Haible  <bruno@clisp.org>
216
217         * gnulib-tool (func_get_license): Revert last patch. Instead, let
218         the license default to GPL.
219         (func_create_testdir): Don't complain if a module is LGPL and its
220         tests module depends on GPLed modules.
221
222 2007-01-17  Bruno Haible  <bruno@clisp.org>
223
224         * lib/gettimeofday.c (gettimeofday): Add code for the case
225         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
226         maximum possible value for tv->tv_usec, rather than the minimum one.
227
228 2005-10-08  Martin Lambers  <marlam@marlam.de>
229 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
230 2007-01-16  Bruno Haible  <bruno@clisp.org>
231
232         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
233         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
234         gl_FUNC_GETTIMEOFDAY.
235         (Include): Add gettimeofday.h.
236         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
237         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
238         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
239         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
240         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
241         * lib/gettimeofday.h: New file.
242         * lib/gettimeofday.c: Include <sys/timeb.h>.
243         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
244         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
245         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
246         fall back on time().
247
248         * tests/test-gettimeofday.c: New file.
249         * modules/gettimeofday-tests: New file.
250
251 2007-01-16  Eric Blake  <ebb9@byu.net>
252
253         * modules/fnmatch (Depends-on): Depend on wchar.
254         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
255         * m4/fnmatch.m4: Likewise.
256         * modules/mbchar (Makefile.am): Assume <wchar.h>.
257         * m4/mbchar.m4: Likewise.
258         * modules/mbswidth (Depends-on): Depend on wchar.
259         * lib/mbswidth.c: Assume <wchar.h>.
260         * m4/mbswidth.m4: Likewise.
261         * modules/quotearg (Depends-on): Depend on wchar.
262         * lib/quotearg.c: Assume <wchar.h>.
263         * m4/quotearg.m4: Likewise.
264         * modules/regex (Depends-on): Depend on wchar.
265         * lib/regex_internal.h: Assume <wchar.h>.
266         * m4/regex.m4: Likewise.
267         * modules/stdint (Depends-on): Depend on wchar.
268         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
269         * m4/stdint.m4: Likewise.
270         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
271         * modules/strftime (Depends-on): Depend on wchar.
272         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
273         * modules/strtol (Depends-on): Depend on wchar.
274         * lib/strtol.c: Assume <wchar.h>.
275         * modules/wcwidth (Depends-on): Depend on wchar.
276         * lib/wcwidth.h: Assume <wchar.h>.
277         * m4/wcwidth.m4: Likewise.
278
279 2007-01-16  Bruno Haible  <bruno@clisp.org>
280
281         * modules/csharpexec-script: New, created from...
282         * modules/csharpexec: ... this.
283
284 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
285
286         * modules/javaexec-script: New, created from...
287         * modules/javaexec: ... this.
288
289 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
290
291         * modules/poll (Dependencies): Add sys_select.
292
293 2007-01-15  Jim Meyering  <jim@meyering.net>
294
295         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
296         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
297         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
298         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
299
300 2007-01-15  Bruno Haible  <bruno@clisp.org>
301
302         * modules/striconveh: New file.
303         * lib/striconveh.h: New file.
304         * lib/striconveh.c: New file.
305         * MODULES.html.sh (Internationalization functions): Add striconveh.
306
307         * modules/striconveh-tests: New file.
308         * tests/test-striconveh.c: New file.
309
310 2007-01-15  Bruno Haible  <bruno@clisp.org>
311
312         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
313         not from GNU libiconv or GNU libc.
314
315 2007-01-15  Bruno Haible  <bruno@clisp.org>
316
317         * doc/gnulib-intro.texi (Copyright): Explain the different license
318         terms for module descriptions, autoconf macros, tests, documentation.
319
320 2007-01-14  Bruno Haible  <bruno@clisp.org>
321
322         * modules/striconv-tests: New file.
323         * tests/test-striconv.c: New file.
324
325 2007-01-14  Bruno Haible  <bruno@clisp.org>
326
327         * modules/iconv-tests: New file.
328         * tests/test-iconv.c: New file.
329
330 2007-01-14  Bruno Haible  <bruno@clisp.org>
331
332         * gnulib-tool (func_get_license): For test modules, use the license of
333         the main module.
334
335 2007-01-14  Bruno Haible  <bruno@clisp.org>
336
337         * modules/iconv (Include): Clarify that <iconv.h> can only be included
338         if iconv is found to exist.
339
340 2007-01-14  Bruno Haible  <bruno@clisp.org>
341
342         * modules/c-ctype-tests: New file.
343         * tests/test-c-ctype.c: New file.
344
345 2007-01-14  Bruno Haible  <bruno@clisp.org>
346
347         * modules/binary-io-tests: New file.
348         * tests/test-binary-io.sh: New file.
349         * tests/test-binary-io.c: New file.
350
351 2007-01-14  Bruno Haible  <bruno@clisp.org>
352
353         * modules/array-oset-tests: New file.
354         * tests/test-array_oset.c: New file.
355
356 2007-01-14  Bruno Haible  <bruno@clisp.org>
357
358         * modules/array-list-tests: New file.
359         * tests/test-array_list.c: New file.
360
361 2007-01-14  Bruno Haible  <bruno@clisp.org>
362
363         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
364         and make.
365         Reported by Simon Josefsson in
366         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
367
368 2007-01-14  Bruno Haible  <bruno@clisp.org>
369
370         * modules/allocsa-tests: New file.
371         * tests/test-allocsa.c: New file.
372
373 2007-01-14  Bruno Haible  <bruno@clisp.org>
374
375         * modules/fchdir (Depends-on): Add absolute-header.
376         * modules/unistd (Depends-on): Likewise.
377
378 2006-12-30  Bruno Haible  <bruno@clisp.org>
379
380         * modules/fchdir: New file.
381         * modules/unistd (Files): Add lib/unistd_.h.
382         (Makefile.am): Generate unistd.h from unistd_.h.
383         * lib/fchdir.c: New file.
384         * lib/dirent_.h: New file.
385         * lib/unistd_.h: New file.
386         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
387         * m4/fchdir.m4: New file.
388         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
389         (gl_HEADER_UNISTD): Invoke it.
390         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
391         function.
392         * lib/backupfile.c (opendir, closedir): Undefine.
393         * lib/chown.c (open, close): Undefine.
394         * lib/clean-temp.c (open, close): Undefine.
395         * lib/copy-file.c (open, close): Undefine.
396         * lib/execute.c (open, close): Undefine.
397         * lib/fsusage.c (open, close): Undefine.
398         * lib/gc-gnulib.c (open, close): Undefine.
399         * lib/getcwd.c (opendir, closedir): Undefine.
400         * lib/glob.c (opendir, closedir): Undefine.
401         * lib/javacomp.c (open, close): Undefine.
402         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
403         * lib/openat-proc.c (open, close): Undefine.
404         * lib/pagealign_alloc.c (open, close): Undefine.
405         * lib/pipe.c (open, close): Undefine.
406         * lib/progreloc.c (open, close): Undefine.
407         * lib/savedir.c (opendir, closedir): Undefine.
408         * lib/utime.c (open, close): Undefine.
409         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
410
411 2007-01-10  Bruno Haible  <bruno@clisp.org>
412
413         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
414
415 2007-01-12  Eric Blake  <ebb9@byu.net>
416
417         Provide a robust <wchar.h>.  Further simplifications are now
418         possible in other modules, but not included here.
419         * modules/wchar: New module.
420         * m4/wchar.m4: New file.
421         * lib/wchar_.h: Likewise.
422         * modules/mbchar (Depends-on): Depend on wchar, as the first use
423         of the new module.
424         * MODULES.html.sh (Extended multibyte and wide character utilities):
425         New section.
426
427 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
428
429         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
430         to a reasonable default for memory allocation.
431         (xreadlink): Don't allocate a huge buffer, to work around a buggy
432         file system that reports garbage st_size values for symlinks.
433         Problem reported by Liyang Hu.
434
435 2007-01-11  Simon Josefsson  <simon@josefsson.org>
436
437         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
438         Emacs .#* auto-save files).
439
440 2007-01-11  Bruno Haible  <bruno@clisp.org>
441
442         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
443         directory.
444
445 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
446
447         Use @...@ consistently in lib/wctype_.h.
448         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
449         on it being set to 1 or 0.
450         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
451         go back to AC_SUBSTing it.
452         * modules/wctype (Makefile.am): Undo previous change.
453
454 2007-01-10  Eric Blake  <ebb9@byu.net>
455
456         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
457         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
458         * modules/wctype (Makefile.am): Likewise.
459         Reported by Chris McGuire.
460
461 2007-01-10  Jim Meyering  <jim@meyering.net>
462
463         fts.c: a small readability/maintainability improvement
464         * lib/fts.c (fts_read): Make this code slightly more readable and
465         maintainable by hoisting the "sp->fts_cur = p" assignments to
466         immediately follow the statements that set P.  Derived from
467         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
468
469 2007-01-10  Eric Blake  <ebb9@byu.net>
470
471         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
472         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
473         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
474         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
475         Reported by Chris McGuire.
476
477 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
478
479         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
480         in sed script.
481
482 2007-01-09  Bruno Haible  <bruno@clisp.org>
483
484         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
485         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
486         variables.
487         (func_module): Use them.
488
489 2007-01-09  Bruno Haible  <bruno@clisp.org>
490
491         * modules/unistr/base: New file.
492         * lib/unistr.h: New file.
493
494         * modules/unistr/u8-to-u16: New file.
495         * lib/unistr/u8-to-u16.c: New file.
496
497         * modules/unistr/u8-to-u32: New file.
498         * lib/unistr/u8-to-u32.c: New file.
499
500         * modules/unistr/u16-to-u8: New file.
501         * lib/unistr/u16-to-u8.c: New file.
502
503         * modules/unistr/u16-to-u32: New file.
504         * lib/unistr/u16-to-u32.c: New file.
505
506         * modules/unistr/u32-to-u8: New file.
507         * lib/unistr/u32-to-u8.c: New file.
508
509         * modules/unistr/u32-to-u16: New file.
510         * lib/unistr/u32-to-u16.c: New file.
511
512         * modules/unistr/u8-check: New file.
513         * modules/unistr/u16-check: New file.
514         * modules/unistr/u32-check: New file.
515         * lib/unistr/u8-check.c: New file.
516         * lib/unistr/u16-check.c: New file.
517         * lib/unistr/u32-check.c: New file.
518
519         * modules/unistr/u8-chr: New file.
520         * modules/unistr/u16-chr: New file.
521         * modules/unistr/u32-chr: New file.
522         * lib/unistr/u8-chr.c: New file.
523         * lib/unistr/u16-chr.c: New file.
524         * lib/unistr/u32-chr.c: New file.
525
526         * modules/unistr/u8-cmp: New file.
527         * modules/unistr/u16-cmp: New file.
528         * modules/unistr/u32-cmp: New file.
529         * lib/unistr/u8-cmp.c: New file.
530         * lib/unistr/u16-cmp.c: New file.
531         * lib/unistr/u32-cmp.c: New file.
532
533         * modules/unistr/u8-cpy: New file.
534         * modules/unistr/u16-cpy: New file.
535         * modules/unistr/u32-cpy: New file.
536         * lib/unistr/u8-cpy.c: New file.
537         * lib/unistr/u16-cpy.c: New file.
538         * lib/unistr/u32-cpy.c: New file.
539         * lib/unistr/u-cpy.h: New file.
540
541         * modules/unistr/u8-cpy-alloc: New file.
542         * modules/unistr/u16-cpy-alloc: New file.
543         * modules/unistr/u32-cpy-alloc: New file.
544         * lib/unistr/u8-cpy-alloc.c: New file.
545         * lib/unistr/u16-cpy-alloc.c: New file.
546         * lib/unistr/u32-cpy-alloc.c: New file.
547         * lib/unistr/u-cpy-alloc.h: New file.
548
549         * modules/unistr/u8-endswith: New file.
550         * modules/unistr/u16-endswith: New file.
551         * modules/unistr/u32-endswith: New file.
552         * lib/unistr/u8-endswith.c: New file.
553         * lib/unistr/u16-endswith.c: New file.
554         * lib/unistr/u32-endswith.c: New file.
555         * lib/unistr/u-endswith.h: New file.
556
557         * modules/unistr/u8-mblen: New file.
558         * modules/unistr/u16-mblen: New file.
559         * modules/unistr/u32-mblen: New file.
560         * lib/unistr/u8-mblen.c: New file.
561         * lib/unistr/u16-mblen.c: New file.
562         * lib/unistr/u32-mblen.c: New file.
563
564         * modules/unistr/u8-mbtouc: New file.
565         * modules/unistr/u16-mbtouc: New file.
566         * modules/unistr/u32-mbtouc: New file.
567         * lib/unistr/u8-mbtouc.c: New file.
568         * lib/unistr/u16-mbtouc.c: New file.
569         * lib/unistr/u32-mbtouc.c: New file.
570
571         * modules/unistr/u8-mbtouc-safe: New file.
572         * modules/unistr/u16-mbtouc-safe: New file.
573         * modules/unistr/u32-mbtouc-safe: New file.
574         * lib/unistr/u8-mbtouc-safe.c: New file.
575         * lib/unistr/u16-mbtouc-safe.c: New file.
576         * lib/unistr/u32-mbtouc-safe.c: New file.
577
578         * modules/unistr/u8-move: New file.
579         * modules/unistr/u16-move: New file.
580         * modules/unistr/u32-move: New file.
581         * lib/unistr/u8-move.c: New file.
582         * lib/unistr/u16-move.c: New file.
583         * lib/unistr/u32-move.c: New file.
584         * lib/unistr/u-move.h: New file.
585
586         * modules/unistr/u8-next: New file.
587         * modules/unistr/u16-next: New file.
588         * modules/unistr/u32-next: New file.
589         * lib/unistr/u8-next.c: New file.
590         * lib/unistr/u16-next.c: New file.
591         * lib/unistr/u32-next.c: New file.
592
593         * modules/unistr/u8-prev: New file.
594         * modules/unistr/u16-prev: New file.
595         * modules/unistr/u32-prev: New file.
596         * lib/unistr/u8-prev.c: New file.
597         * lib/unistr/u16-prev.c: New file.
598         * lib/unistr/u32-prev.c: New file.
599
600         * modules/unistr/u8-set: New file.
601         * modules/unistr/u16-set: New file.
602         * modules/unistr/u32-set: New file.
603         * lib/unistr/u8-set.c: New file.
604         * lib/unistr/u16-set.c: New file.
605         * lib/unistr/u32-set.c: New file.
606         * lib/unistr/u-set.h: New file.
607
608         * modules/unistr/u8-startswith: New file.
609         * modules/unistr/u16-startswith: New file.
610         * modules/unistr/u32-startswith: New file.
611         * lib/unistr/u8-startswith.c: New file.
612         * lib/unistr/u16-startswith.c: New file.
613         * lib/unistr/u32-startswith.c: New file.
614         * lib/unistr/u-startswith.h: New file.
615
616         * modules/unistr/u8-stpcpy: New file.
617         * modules/unistr/u16-stpcpy: New file.
618         * modules/unistr/u32-stpcpy: New file.
619         * lib/unistr/u8-stpcpy.c: New file.
620         * lib/unistr/u16-stpcpy.c: New file.
621         * lib/unistr/u32-stpcpy.c: New file.
622         * lib/unistr/u-stpcpy.h: New file.
623
624         * modules/unistr/u8-stpncpy: New file.
625         * modules/unistr/u16-stpncpy: New file.
626         * modules/unistr/u32-stpncpy: New file.
627         * lib/unistr/u8-stpncpy.c: New file.
628         * lib/unistr/u16-stpncpy.c: New file.
629         * lib/unistr/u32-stpncpy.c: New file.
630         * lib/unistr/u-stpncpy.h: New file.
631
632         * modules/unistr/u8-strcat: New file.
633         * modules/unistr/u16-strcat: New file.
634         * modules/unistr/u32-strcat: New file.
635         * lib/unistr/u8-strcat.c: New file.
636         * lib/unistr/u16-strcat.c: New file.
637         * lib/unistr/u32-strcat.c: New file.
638         * lib/unistr/u-strcat.h: New file.
639
640         * modules/unistr/u8-strchr: New file.
641         * modules/unistr/u16-strchr: New file.
642         * modules/unistr/u32-strchr: New file.
643         * lib/unistr/u8-strchr.c: New file.
644         * lib/unistr/u16-strchr.c: New file.
645         * lib/unistr/u32-strchr.c: New file.
646
647         * modules/unistr/u8-strcmp: New file.
648         * modules/unistr/u16-strcmp: New file.
649         * modules/unistr/u32-strcmp: New file.
650         * lib/unistr/u8-strcmp.c: New file.
651         * lib/unistr/u16-strcmp.c: New file.
652         * lib/unistr/u32-strcmp.c: New file.
653
654         * modules/unistr/u8-strcpy: New file.
655         * modules/unistr/u16-strcpy: New file.
656         * modules/unistr/u32-strcpy: New file.
657         * lib/unistr/u8-strcpy.c: New file.
658         * lib/unistr/u16-strcpy.c: New file.
659         * lib/unistr/u32-strcpy.c: New file.
660         * lib/unistr/u-strcpy.h: New file.
661
662         * modules/unistr/u8-strcspn: New file.
663         * modules/unistr/u16-strcspn: New file.
664         * modules/unistr/u32-strcspn: New file.
665         * lib/unistr/u8-strcspn.c: New file.
666         * lib/unistr/u16-strcspn.c: New file.
667         * lib/unistr/u32-strcspn.c: New file.
668         * lib/unistr/u-strcspn.h: New file.
669
670         * modules/unistr/u8-strdup: New file.
671         * modules/unistr/u16-strdup: New file.
672         * modules/unistr/u32-strdup: New file.
673         * lib/unistr/u8-strdup.c: New file.
674         * lib/unistr/u16-strdup.c: New file.
675         * lib/unistr/u32-strdup.c: New file.
676         * lib/unistr/u-strdup.h: New file.
677
678         * modules/unistr/u8-strlen: New file.
679         * modules/unistr/u16-strlen: New file.
680         * modules/unistr/u32-strlen: New file.
681         * lib/unistr/u8-strlen.c: New file.
682         * lib/unistr/u16-strlen.c: New file.
683         * lib/unistr/u32-strlen.c: New file.
684         * lib/unistr/u-strlen.h: New file.
685
686         * modules/unistr/u8-strmblen: New file.
687         * modules/unistr/u16-strmblen: New file.
688         * modules/unistr/u32-strmblen: New file.
689         * lib/unistr/u8-strmblen.c: New file.
690         * lib/unistr/u16-strmblen.c: New file.
691         * lib/unistr/u32-strmblen.c: New file.
692
693         * modules/unistr/u8-strmbtouc: New file.
694         * modules/unistr/u16-strmbtouc: New file.
695         * modules/unistr/u32-strmbtouc: New file.
696         * lib/unistr/u8-strmbtouc.c: New file.
697         * lib/unistr/u16-strmbtouc.c: New file.
698         * lib/unistr/u32-strmbtouc.c: New file.
699
700         * modules/unistr/u8-strncat: New file.
701         * modules/unistr/u16-strncat: New file.
702         * modules/unistr/u32-strncat: New file.
703         * lib/unistr/u8-strncat.c: New file.
704         * lib/unistr/u16-strncat.c: New file.
705         * lib/unistr/u32-strncat.c: New file.
706         * lib/unistr/u-strncat.h: New file.
707
708         * modules/unistr/u8-strncmp: New file.
709         * modules/unistr/u16-strncmp: New file.
710         * modules/unistr/u32-strncmp: New file.
711         * lib/unistr/u8-strncmp.c: New file.
712         * lib/unistr/u16-strncmp.c: New file.
713         * lib/unistr/u32-strncmp.c: New file.
714
715         * modules/unistr/u8-strncpy: New file.
716         * modules/unistr/u16-strncpy: New file.
717         * modules/unistr/u32-strncpy: New file.
718         * lib/unistr/u8-strncpy.c: New file.
719         * lib/unistr/u16-strncpy.c: New file.
720         * lib/unistr/u32-strncpy.c: New file.
721         * lib/unistr/u-strncpy.h: New file.
722
723         * modules/unistr/u8-strnlen: New file.
724         * modules/unistr/u16-strnlen: New file.
725         * modules/unistr/u32-strnlen: New file.
726         * lib/unistr/u8-strnlen.c: New file.
727         * lib/unistr/u16-strnlen.c: New file.
728         * lib/unistr/u32-strnlen.c: New file.
729         * lib/unistr/u-strnlen.h: New file.
730
731         * modules/unistr/u8-strpbrk: New file.
732         * modules/unistr/u16-strpbrk: New file.
733         * modules/unistr/u32-strpbrk: New file.
734         * lib/unistr/u8-strpbrk.c: New file.
735         * lib/unistr/u16-strpbrk.c: New file.
736         * lib/unistr/u32-strpbrk.c: New file.
737         * lib/unistr/u-strpbrk.h: New file.
738
739         * modules/unistr/u8-strrchr: New file.
740         * modules/unistr/u16-strrchr: New file.
741         * modules/unistr/u32-strrchr: New file.
742         * lib/unistr/u8-strrchr.c: New file.
743         * lib/unistr/u16-strrchr.c: New file.
744         * lib/unistr/u32-strrchr.c: New file.
745
746         * modules/unistr/u8-strspn: New file.
747         * modules/unistr/u16-strspn: New file.
748         * modules/unistr/u32-strspn: New file.
749         * lib/unistr/u8-strspn.c: New file.
750         * lib/unistr/u16-strspn.c: New file.
751         * lib/unistr/u32-strspn.c: New file.
752         * lib/unistr/u-strspn.h: New file.
753
754         * modules/unistr/u8-strstr: New file.
755         * modules/unistr/u16-strstr: New file.
756         * modules/unistr/u32-strstr: New file.
757         * lib/unistr/u8-strstr.c: New file.
758         * lib/unistr/u16-strstr.c: New file.
759         * lib/unistr/u32-strstr.c: New file.
760         * lib/unistr/u-strstr.h: New file.
761
762         * modules/unistr/u8-strtok: New file.
763         * modules/unistr/u16-strtok: New file.
764         * modules/unistr/u32-strtok: New file.
765         * lib/unistr/u8-strtok.c: New file.
766         * lib/unistr/u16-strtok.c: New file.
767         * lib/unistr/u32-strtok.c: New file.
768         * lib/unistr/u-strtok.h: New file.
769
770         * modules/unistr/u8-uctomb: New file.
771         * modules/unistr/u16-uctomb: New file.
772         * modules/unistr/u32-uctomb: New file.
773         * lib/unistr/u8-uctomb.c: New file.
774         * lib/unistr/u16-uctomb.c: New file.
775         * lib/unistr/u32-uctomb.c: New file.
776
777         * MODULES.html.sh (Unicode string functions): Add the new modules.
778
779 2007-01-08  Bruno Haible  <bruno@clisp.org>
780
781         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
782         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
783         subdirectories.
784
785 2007-01-08  Karl Berry  <karl@gnu.org>
786
787         * doc/error.texi: mention that main() fns must set program_name
788         when progname is used.
789
790 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
791
792         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
793         WCTYPE_H is empty, for the benefit of builds from non-distclean
794         directories.  Problem reported by Eric Blake in
795         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
796
797 2007-01-08  Bruno Haible  <bruno@clisp.org>
798
799         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
800         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
801         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
802         PROVIDE_CANONICALIZE_FILENAME_MODE.
803         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
804
805 2007-01-08  Bruno Haible  <bruno@clisp.org>
806
807         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
808         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
809         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
810         * lib/fts.c: Likewise.
811         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
812
813 2006-12-25  Bruno Haible  <bruno@clisp.org>
814
815         * modules/utf8-ucs4-safe: New file.
816         * lib/utf8-ucs4-safe.h: New file.
817         * lib/unistr/utf8-ucs4-safe.c: New file.
818
819         * modules/utf16-ucs4-safe: New file.
820         * lib/utf16-ucs4-safe.h: New file.
821         * lib/unistr/utf16-ucs4-safe.c: New file.
822
823         * MODULES.html.sh (Unicode string functions): Add the new modules.
824
825 2007-01-08  Bruno Haible  <bruno@clisp.org>
826
827         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
828         (Depends-on): Add unitypes.
829         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
830         (u8_mbtouc_aux): Move out to separate file.
831         (u8_mbtouc): Use ucs4_t, uint8_t types.
832         * lib/unistr/utf8-ucs4.c: New file.
833
834         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
835         (Depends-on): Add unitypes.
836         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
837         (u16_mbtouc_aux): Move out to separate file.
838         (u16_mbtouc): Use ucs4_t, uint16_t types.
839         * lib/unistr/utf16-ucs4.c: New file.
840
841         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
842         (Depends-on): Add unitypes.
843         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
844         (u8_uctomb_aux): Move out to separate file.
845         (u8_uctomb): Use ucs4_t, uint8_t types.
846         * lib/unistr/ucs4-utf8.c: New file.
847
848         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
849         (Depends-on): Add unitypes.
850         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
851         (u16_uctomb_aux): Move out to separate file.
852         (u16_uctomb): Use ucs4_t, uint16_t types.
853         * lib/unistr/ucs4-utf16.c: New file.
854
855 2006-12-25  Bruno Haible  <bruno@clisp.org>
856
857         * modules/unitypes: New file.
858         * lib/unitypes.h: New file.
859         * MODULES.html.sh (func_all_modules): New section "Unicode string
860         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
861         this section. Add unitypes.
862
863 2007-01-08  Bruno Haible  <bruno@clisp.org>
864
865         Avoid variable names that conflict with those from libtool.
866         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
867         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
868         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
869         library_names_spec to acl_library_names_spec, hardcode_* to
870         acl_hardcode_*.
871         Reported by Ralf Wildenhues.
872
873 2007-01-08  Bruno Haible  <bruno@clisp.org>
874
875         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
876         definition.
877         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
878         definition.
879         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
880         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
881         definition.
882         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
883         definition.
884         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
885         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
886         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
887         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
888         definition.
889         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
890         definition.
891         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
892         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
893         GC_USE_<algorithm>.
894         * lib/gc-libgcrypt.c: Likewise.
895         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
896         * modules/gc-arctwo (configure.ac): Likewise.
897         * modules/gc-des (configure.ac): Likewise.
898         * modules/gc-hmac-md5 (configure.ac): Likewise.
899         * modules/gc-hmac-sha1 (configure.ac): Likewise.
900         * modules/gc-md2 (configure.ac): Likewise.
901         * modules/gc-md4 (configure.ac): Likewise.
902         * modules/gc-md5 (configure.ac): Likewise.
903         * modules/gc-random (configure.ac): Likewise.
904         * modules/gc-rijndael (configure.ac): Likewise.
905         * modules/gc-sha1 (configure.ac): Likewise.
906
907 2007-01-08  Bruno Haible  <bruno@clisp.org>
908
909         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
910         macro definition.
911         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
912         definition.
913         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
914         definition.
915         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
916         * modules/fcntl-safer (configure.ac): Likewise.
917         * modules/fopen-safer (configure.ac): Likewise.
918         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
919         GNULIB_FWRITEERROR macro definition.
920
921 2007-01-08  Bruno Haible  <bruno@clisp.org>
922
923         * m4/gnulib-common.m4: New file.
924         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
925         (func_get_filelist): Add m4/gnulib-common.m4.
926
927 2007-01-08  Bruno Haible  <bruno@clisp.org>
928
929         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
930         command.
931
932 2007-01-08  Jim Meyering  <jim@meyering.net>
933
934         Use a more robust test for a "can't happen" condition.
935         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
936         narrowed the st_size value.  Presuming the "can't happen" condition
937         is true, that narrowing could conceivably convert an invalid st_size
938         value into a valid one.  Instead, use a change based on Matthew
939         Woehlke's original patch.
940
941         Slight readability improvement: use an assert-like macro
942         in place of literal "abort ()" uses.
943         * lib/fts.c (fts_assert): Define.
944         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
945         Use this macro instead of a bare 'abort'.
946
947 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
948
949         Don't worry about using IRIX 5.3's wctype.h broken definitions;
950         simply work around them.
951         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
952         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
953         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before declaring.
954         Don't bother to define as macros, since the standard doesn't require it.
955         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
956         longer worry about IRIX 5.3.
957         (HAVE_WCTYPE_CTMP_BUG): Remove.
958
959 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
960
961         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
962         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
963         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
964         Problems reported by Georg Schwarz for IRIX 5.3.
965
966         * gnulib-tool (autoconf_minversion): Take the maximum version number
967         found, not the minimum.  Problem reported by James Youngman.
968
969 2007-01-03  Karl Berry  <karl@gnu.org>
970
971         * doc/error.texi: new file, explaining interaction with progname.
972         * doc/gnulib.texi: include it.  Update copyright.
973
974 2007-01-03  Simon Josefsson  <simon@josefsson.org>
975
976         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
977         AC_CANONICAL_HOST, to improve autobuild outputs.
978
979 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
980             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
981
982         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
983         sockets, server sockets, and other file descriptors.  Count errors
984         to compute the return value.  Reorder the code a bit to be easier
985         to follow.  Don't set event bits that were not requested (except
986         POLLERR and POLLHUP).
987
988 2007-01-01  Bruno Haible  <bruno@clisp.org>
989
990         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
991
992 2007-01-03  Jim Meyering  <jim@meyering.net>
993
994         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
995
996 2007-01-02  Bruno Haible  <bruno@clisp.org>
997
998         * modules/settime (Include): Require timespec.h.
999         * modules/nanosleep (Include): Likewise.
1000
1001 2007-01-01  Bruno Haible  <bruno@clisp.org>
1002
1003         * gnulib-tool (func_emit_copyright_notice): Bump year.
1004         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
1005
1006 2007-01-01  Bruno Haible  <bruno@clisp.org>
1007
1008         Improve support for OpenBSD.
1009         * build-aux/config.rpath (libname_spec): Export.
1010         (library_names_spec): New variable. Export.
1011         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
1012         library_names_spec from the config.rpath output. Locate shared library
1013         through the name pattern in library_names_spec.
1014
1015 2007-01-01  Eric Blake  <ebb9@byu.net>
1016
1017         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
1018
1019 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1020
1021         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
1022         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
1023         assume the C locale, and avoid an "eval" that could cause trouble.
1024         Problem with SORT reported by Bob Proulx.
1025
1026         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
1027         Define.  Trivial patch from Henning Nielsen Lund, originally
1028         sent to bug-grep@gnu.org today.
1029
1030 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1031
1032         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
1033         struct stat.  Problem reported by Henning Nielsen Lund.
1034         * lib/acl.c: Include acl.h first, to check interface.  Don't
1035         bother to include sys/types.h and sys/stat.h again.
1036
1037 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
1038
1039         Import the following change from libc; problem reported by
1040         Sven Verdoolaege.
1041
1042         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
1043
1044         [BZ #1373]
1045         * lib/argp.h: Remove __NTH for __argp_usage inline function.
1046
1047 2006-12-28  Jim Meyering  <jim@meyering.net>
1048
1049         * build-aux/announce-gen: Do not assume that the package
1050         builds any of tar.gz, tar.bz2, and .xdelta files.
1051         Suggestion from Simon Josefsson.
1052
1053 2006-12-28  Simon Josefsson  <simon@josefsson.org>
1054
1055         * modules/announce-gen: New file.
1056
1057 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1058
1059         * lib/mbchar.h: Just include <wctype.h>; the wctype module
1060         handles its gotchas now.
1061         * lib/mbswidth.c: Likewise.
1062         * lib/wcwidth.h: Likewise.
1063         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
1064         and iswcntrl; the wctype module does this stuff now.
1065         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1066         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1067         * modules/mbchar (Depends-on): Add wctype.
1068         * modules/mbswidth (Depends-on): Likewise.
1069         * modules/wcwidth (Depends-on): Likewise.
1070
1071 2006-12-27  Eric Blake  <ebb9@byu.net>
1072
1073         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
1074         module uses more than what <wctype.h> is required to provide.
1075
1076 2006-12-26  Eric Blake  <ebb9@byu.net>
1077
1078         * gnulib-tool (sed_extract_prog): Avoid space-tab.
1079
1080 2006-12-26  Eric Blake  <ebb9@byu.net>
1081
1082         * modules/absolute-header: New module.
1083         * modules/fcntl (Depends-on): Depend on it.
1084         * modules/inttypes (Depends-on): Likewise.
1085         * modules/stdint (Depends-on): Likewise.
1086         * modules/sys_stat (Depends-on): Likewise.
1087         * modules/wctype (Depends-on): Likewise.
1088         * MODULES.html.sh (Support for building libraries and
1089         executables): Document it.
1090
1091 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1092
1093         * gnulib-tool (SED): Remove, undoing previous change.
1094         The problem was that it broke coreutils on Solaris, because
1095         "sed --posix" leaked into a makefile.
1096         (sed): New alias, if 'alias' and GNU sed.
1097
1098 2006-12-24  Jim Meyering  <jim@meyering.net>
1099
1100         Work around an fchownat bug in glibc-2.4:
1101         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
1102         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
1103         in spite of the -P option.
1104         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
1105         New macros.
1106         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
1107         * modules/openat (Files): Add lib/fchownat.c.
1108         * lib/openat.c (fchownat): Don't define here.  Move to...
1109         * lib/fchownat.c: ...this new file.
1110
1111 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1112
1113         Fix bug reported by Bruno Haible in
1114         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
1115         where quotearg.c didn't compile on Mac OS X 10.2 because it
1116         lacks <wchar.h> and wint_t.
1117         * lib/wctype_.h (__wctype_wint_t): New type.
1118         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
1119         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
1120         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
1121         Arg is now of type __wctype_wint_t, not wint_t.
1122         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
1123         substitute HAVE_WINT_T.
1124         * modules/wctype (Files): Add m4/wint_t.m4.
1125         (wctype.h): Substitute HAVE_WINT_T.
1126
1127 2006-12-23  Bruno Haible  <bruno@clisp.org>
1128
1129         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
1130
1131 2006-12-23  Bruno Haible  <bruno@clisp.org>
1132
1133         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
1134         S_ISLNK.
1135         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
1136         mingw.
1137
1138 2006-12-22  Bruno Haible  <bruno@clisp.org>
1139
1140         * lib/copy-file.c: Include acl.h.
1141         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
1142         Close the file descriptors only after being done with copy_acl.
1143         * modules/copy-file (Depends-on): Add acl.
1144
1145 2006-12-22  Bruno Haible  <bruno@clisp.org>
1146
1147         * gnulib-tool (SED): New variable.
1148         Use $SED instead of sed everywhere.
1149
1150 2006-12-22  Bruno Haible  <bruno@clisp.org>
1151
1152         * modules/no-c++: New file.
1153         * m4/no-c++.m4: New file.
1154         * MODULES.html.sh (Support for building libraries and executables):
1155         Add no-c++.
1156
1157 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1158
1159         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
1160         Include <limits.h>, and use its INT_MAX to rewrite the
1161         j loop so that it does not overflow 'int'.  Problem reported by
1162         Ralf Wildenhues in
1163         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
1164         Play it safe by shifting left by 1 rather than multiplying by 2,
1165         as GCC is less likely to optimize this away when the value
1166         is signed (when it assumes overflow leads to undefined behavior).
1167         Also, don't assume time_t uses two's complement.
1168
1169 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1170
1171         * MODULES.html.sh: New module wctype.
1172         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
1173         * lib/fnmatch.c: Don't bother to include <wchar.h> before
1174         <wctype.h>, since the new wctype module should fix this.
1175         * lib/quotearg.c: Include <wctype.h> unconditionally, since
1176         the wctype module should arrange for it.
1177         * lib/regex_internal.h: Likewise.
1178         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
1179         since the wctype module should handle this now.
1180         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
1181         * modules/fnmatch (Depends-on): Add wctype.
1182         * modules/quotearg (Depends-on): Likewise.
1183         * modules/regex (Depends-on): Likewise.
1184
1185 2006-12-19  Bruno Haible  <bruno@clisp.org>
1186
1187         * lib/strdup.h [C++]: Wrap definitions in extern "C".
1188         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
1189
1190 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1191
1192         * modules/savewd (Depends-on): Fix dependency on fcntl.
1193
1194 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1195
1196         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
1197         conforms to C99, rather than relying on the user's environment
1198         setting of STDINT_H.
1199
1200 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1201         and Eric Blake  <ebb9@byu.net>
1202
1203         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
1204         This is more consistent with the other defines here.
1205         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
1206         Port to z/OS.  Problem reported by Paul Gilmartin.
1207         Change local vars to use gl_ prefix rather than ac_.
1208         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
1209         with other defines.
1210         * modules/double-slash-root: New module.
1211         * modules/dirname (Files): Remove m4/double-slash-root.m4.
1212         (Depends-on): Add double-slash-root.
1213         * MODULES.html.sh (File system functions): Mention new module.
1214
1215 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
1216
1217         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
1218         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
1219         This is for the benefit of gzip, which doesn't do i18n.
1220
1221 2006-12-12  Jim Meyering  <jim@meyering.net>
1222
1223         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
1224         Reported by Andreas Schwab <schwab@suse.de>.
1225
1226 2006-12-12  Bruno Haible  <bruno@clisp.org>
1227
1228         Merge these changes.
1229         2006-09-05  Bruno Haible  <bruno@clisp.org>
1230         * lib/iconvme.c (iconv_string): No need to save and restore errno when
1231         iconv_alloc succeeded.
1232         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
1233         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
1234         test for " && dest " at the end - dest is always != NULL there. Call
1235         iconv with 4xNULL arguments initially, to reset the state. Call iconv
1236         with 2xNULL arguments, also to flush the state storage. Handle the
1237         IRIX iconv behaviour. Realloc the final result, to throw away unused
1238         memory.
1239
1240 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1241
1242         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
1243         and fchmodat unconditionally, since glibc 2.4 has them.
1244         Problem reported by Arkadiusz Miskiewicz.
1245
1246 2006-12-10  Bruno Haible  <bruno@clisp.org>
1247
1248         * gnulib-tool (func_import): Show the include files only for those
1249         modules that are copied and specified.
1250         Reported by Karl Berry.
1251
1252 2006-12-08  Jim Meyering  <jim@meyering.net>
1253
1254         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
1255         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
1256
1257         * build-aux/announce-gen: Add two new options, both optional:
1258         --bootstrap-tools=TOOL_LIST
1259               a comma-separated list of tools, e.g.,
1260               autoconf,automake,bison,gnulib
1261         --gnulib-snapshot-date=DATE
1262               if gnulib is in the bootstrap tool list,
1263               then report this as the snapshot date.
1264               If not specified, use the current date/time.
1265               If you specify a date here, be sure it's UTC.
1266
1267 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1268
1269         * tests/test-argp-2.sh: Fix test to match actual output.
1270         (func_compare): Fix sed script to be portable.
1271
1272 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1273
1274         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
1275         workaround for this case.  It is not autoconfigured now; offhand
1276         it's hard to see how to autoconfigure it.
1277
1278 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
1279
1280         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
1281         a directory that is about to be chowned.  Such a directory's
1282         initial file permissions should permit the owner only and this
1283         should not be changed until after the chown, since the group and
1284         other bits would be incorrect if they granted permission before
1285         the chown.
1286
1287         Fix porting problem for iswctype reported by Georg Schwarz in:
1288         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
1289         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
1290         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
1291         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
1292         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
1293
1294 2006-12-03  Jim Meyering  <jim@meyering.net>
1295
1296         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
1297         p->fts_statp may not yet be defined.
1298         (fts_read): Instead, set it in the caller, once p->fts_statp is
1299         sure to be defined, and corresponds to a top-level directory.
1300         This bug made du -x fail.  Here's the coreutils test case:
1301         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
1302         Reported by Mike Frysinger.
1303
1304 2006-12-01  Jim Meyering  <jim@meyering.net>
1305
1306         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
1307         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
1308         Reported by Simon Josefsson.
1309
1310 2006-11-30  Jim Meyering  <jim@meyering.net>
1311
1312         * m4/warning.m4: Use the all-permissive copyright notice
1313         recommended by RMS (rather than LGPL).
1314         * m4/vararrays.m4: Likewise.
1315         * m4/flexmember.m4: Likewise.
1316
1317 2006-11-29  Bruno Haible  <bruno@clisp.org>
1318
1319         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
1320         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
1321         using +=.
1322         Reported by Simon Josefsson <simon@josefsson.org>.
1323
1324 2006-11-28  James Youngman <jay@gnu.org>
1325
1326         * README: Advise users that they might find the bug-gnulib@gnu.org
1327         and autotools-announce@gnu.org mailing lists useful.
1328
1329 2006-11-28  Bruno Haible  <bruno@clisp.org>
1330
1331         * m4/ptrdiff_max.m4: Remove file.
1332
1333 2006-11-21  Bruno Haible  <bruno@clisp.org>
1334
1335         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
1336         _AC_COMPUTE_INT.
1337         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1338         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
1339         _AC_COMPUTE_INT.
1340         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1341         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
1342         _AC_COMPUTE_INT.
1343         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1344
1345 2006-11-28  Jim Meyering  <jim@meyering.net>
1346
1347         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
1348         warning from "gcc -Wshadow" about shadowing the builtin.
1349
1350 2006-11-27  Bruno Haible  <bruno@clisp.org>
1351
1352         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
1353         _AC_COMPUTE_INT.
1354         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1355
1356 2006-11-27  Bruno Haible  <bruno@clisp.org>
1357             Paul Eggert  <eggert@cs.ucla.edu>
1358
1359         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
1360
1361 2006-11-26  Bruno Haible  <bruno@clisp.org>
1362
1363         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
1364         noinst_LTLIBRARIES.
1365
1366 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
1367             Bruno Haible  <bruno@clisp.org>
1368
1369         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
1370         if compiling with "gcc -ansi".
1371
1372 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
1373
1374         Fix some incompatibilities with gcc -ansi -pedantic.
1375         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
1376         if compiling pedantically with GCC, unless it's C99 or later.
1377         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
1378         it mishandles gcc -ansi -pedantic as well.
1379         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
1380         if gcc -pedantic.
1381         * lib/regexec.c (check_node_accept_bytes): Don't use auto
1382         initializers for struct if -pedantic, unless it's C99 or later.
1383
1384 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
1385
1386         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
1387         Don't close an fd more than once. Identical atimes indicate
1388         success, not failure.
1389
1390 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
1391
1392         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
1393
1394 2006-11-23  Jim Meyering  <jim@meyering.net>
1395
1396         * build-aux/announce-gen: New file.  From coreutils.
1397
1398 2006-11-22  Jim Meyering  <jim@meyering.net>
1399
1400         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
1401         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
1402         (fts_read): Use a temporary to narrow the overused st_size member
1403         before using it in a switch statement.  Reported by Matthew Woehlke.
1404
1405         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
1406         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
1407
1408 2006-11-20  Bruno Haible  <bruno@clisp.org>
1409
1410         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
1411         changequote instead of pairs of brackets.
1412         Reported by Andreas Schwab <schwab@suse.de>.
1413
1414 2006-11-21  Jim Meyering  <jim@meyering.net>
1415
1416         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
1417         so as to remain compatible with older compilers.
1418         Patch from Michael Deutschmann.
1419
1420 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
1421
1422         * MODULES.html.sh (File system functions): Add openat.
1423
1424         * lib/openat.h (rpl_fstatat): New macro, if
1425         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
1426         (fstatat): Define to rpl_fstatat under the same conditions,
1427         unless COMPILING_FSTATAT.
1428         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
1429         seems to have the bug.
1430         * lib/fstatat.c: New file.
1431         * modules/openat (Files): Add it.
1432
1433 2006-11-20  Bruno Haible  <bruno@clisp.org>
1434
1435         * Makefile: New file.
1436
1437 2006-11-20  Jim Meyering  <jim@meyering.net>
1438
1439         The beginnings of syntax-related checks for gnulib.
1440         * lib/Makefile: New file.
1441         * lib/t-idcache: New script.  Ensure that the two halves of
1442         idcache.c stay in sync.
1443
1444         * lib/idcache.c: Adjust comments in user- and group- portions to
1445         be more accurate, and to be consistent with one another.
1446
1447 2006-11-20  Jim Meyering  <jim@meyering.net>
1448
1449         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
1450         continue using the flexible array member (thus, this module performs
1451         half as many malloc calls), with the addition that...
1452         (getgroup, getuser): Consistently record a non-match via an empty
1453         "name" string, and map an empty string match to a NULL return value.
1454         * modules/idcache (Depends-on): Re-add flexmember.
1455
1456         * lib/idcache.c (getuser): Remove all uses of the register keyword.
1457         (getuidbyname, getgroup, getgidbyname): Likewise.
1458
1459         Use cleaner syntax: NULL rather than 0.
1460         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
1461
1462 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
1463
1464         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
1465         It mishandled the case where the group was missing.
1466         Problem reported by Greg Schafer.
1467         * modules/idcache: Likewise.
1468
1469 2006-11-18  Jim Meyering  <jim@meyering.net>
1470
1471         * check-module (%exempt_header): Add exception for some
1472         conditionally-included headers.
1473
1474         * modules/i-ring (Depends-on): Add verify.
1475         (License): Change to LGPL.
1476
1477 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
1478
1479         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
1480         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
1481         and inttostr.h.  Use snprintf rather than uinttostr, so that
1482         LGPLed code doesn't depend on GPLed.
1483
1484 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
1485
1486         * modules/inline (License): Change from GPL to LGPL.
1487
1488 2006-11-17  Jim Meyering  <jim@meyering.net>
1489
1490         * modules/d-type (License): Switch to LGPL.
1491
1492 2006-11-15  Bruno Haible  <bruno@clisp.org>
1493
1494         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
1495
1496 2006-11-15  Eric Blake  <ebb9@byu.net>
1497
1498         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
1499         the module dependency.
1500
1501 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
1502             Bruno Haible  <bruno@clisp.org>
1503
1504         * gnulib-tool (func_create_testdir): Add license consistency check.
1505
1506 2006-11-15  Eric Blake  <ebb9@byu.net>
1507
1508         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
1509         random "(cached)" in configure output.
1510
1511 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1512
1513         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
1514         test for conforming inttypes.h is both announced and cached.
1515
1516         * MODULES.html.sh (seen_modules, seen_files): New variables.
1517         (func_module): Rewrite to use a few less gnulib-tool and sed
1518         invocations.  Avoid a couple of quadratic algorithms for ...
1519         (missed_modules, missed_files): ... these, with ...
1520         (func_append, func_tmpdir): ... these new functions, from
1521         gnulib-tool.  Analogously, install traps for cleanup.
1522
1523         * tests/test-gc.c (main): Remove unused variables.
1524         * tests/test-read-file.c: Include stdlib.h, for 'free'.
1525
1526 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
1527
1528         * modules/inttostr (License): Change to LGPL.
1529
1530 2006-11-14  Eric Blake  <ebb9@byu.net>
1531
1532         * modules/tempname (License): Change to LGPL.
1533
1534 2006-11-14  Eric Blake  <ebb9@byu.net>
1535
1536         * doc/functions.texi (Function Portability): *printf functions on
1537         Cygwin now understand all POSIX size specifiers.
1538
1539 2006-11-14  Bruno Haible  <bruno@clisp.org>
1540
1541         * modules/c-ctype (License): Change to LGPL.
1542
1543 2006-11-12  Bruno Haible  <bruno@clisp.org>
1544
1545         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
1546         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
1547         for GNOME libraries, for which the include files are installed in
1548         subdirectories of $prefix/include.
1549
1550 2006-11-12  Bruno Haible  <bruno@clisp.org>
1551
1552         * m4/lib-link.m4: Require at least autoconf-2.54.
1553         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
1554         name to underscores for the --with option.
1555
1556 2006-11-13  Bruno Haible  <bruno@clisp.org>
1557
1558         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
1559         the tests directory.
1560         Reported by Ralf Wildenhues.
1561
1562 2006-11-13  Bruno Haible  <bruno@clisp.org>
1563
1564         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
1565         (func_emit_initmacro_end): Undo the override here.
1566         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
1567         Works around the famous automake error in coreutils.
1568
1569 2006-11-13  Eric Blake  <ebb9@byu.net>
1570
1571         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
1572         element, not its node.
1573
1574 2006-11-12  Bruno Haible  <bruno@clisp.org>
1575
1576         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
1577         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
1578
1579 2006-11-12  Bruno Haible  <bruno@clisp.org>
1580
1581         * gnulib-tool: New option --local-symlink.
1582         (func_usage): Document it.
1583         (lsymbolic): New variable.
1584         (func_import, func_create_testdir): If --symlink was not specified,
1585         test whether --local-symlink was specified and the file comes from
1586         the local_gnulib_dir.
1587
1588 2006-11-12  Bruno Haible  <bruno@clisp.org>
1589
1590         * gnulib-tool (func_ln): New function.
1591         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
1592
1593 2006-11-12  Bruno Haible  <bruno@clisp.org>
1594
1595         Finish support for source files in subdirectories.
1596         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
1597         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
1598         AUTOMAKE_OPTIONS.
1599         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
1600
1601 2006-11-12  Bruno Haible  <bruno@clisp.org>
1602
1603         * gnulib-tool (func_get_automake_snippet): Synthesize also an
1604         EXTRA_lib_SOURCES augmentation.
1605         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
1606
1607 2006-11-12  Jim Meyering  <jim@meyering.net>
1608
1609         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
1610         file descriptors.  This also averts a failure on systems with
1611         native openat support when a traversed directory lacks "x" access.
1612         * lib/fts_.h: Include "i-ring.h"
1613         (struct FTS) [fts_fd_ring]: New member.
1614         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
1615         (FCHDIR): Add parentheses.
1616         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
1617         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
1618         When descending, rather than simply closing the previous
1619         fts_cwd_fd value, push that file descriptor onto the ring.
1620         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
1621         (fts_open): Initialize the new fd_ring member.
1622         (fts_close): Clear the ring.
1623         (fts_safe_changedir): When possible, use our new fd_ring to skip
1624         the diropen and fstat and dev/ino comparison that would normally
1625         accompany a virtual `chdir ("..")'.
1626
1627         * modules/fts (Depends-on): Add i-ring.
1628         * modules/i-ring: New module.
1629         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
1630         * m4/i-ring.m4: New file.
1631
1632 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1633
1634         * gnulib-tool (func_create_testdir): Fix replacement of
1635         `build-aux' in configure.ac.  Run autotools in gltests
1636         subdirectory.
1637         (func_create_testdir, func_create_megatestdir, test): There is
1638         no need for '--force' in most autotool invocations in a new
1639         tree.  Actually fail the whole test if any of the tools, or the
1640         configure or make stages fail.
1641
1642         Sync from Automake.
1643         * build-aux/gnupload: Revert last change.  Add pointer to upload
1644         instructions of the GNU Maintenance Instructions.
1645         Suggestion by Karl Berry.
1646
1647 2006-11-10  Jim Meyering  <jim@meyering.net>
1648
1649         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
1650
1651 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1652
1653         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
1654         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
1655         (bind_textdomain_codeset) [! ENABLE_NLS]:
1656         Evaluate all the arguments.  That way, callers get compatible behavior
1657         if the arguments have side effects.  Also, it avoids some GCC
1658         diagnostics in some cases; Joel E. Denny reported problems when Bison
1659         was configured with --enable-gcc-warnigs.
1660
1661 2006-11-10  Jim Meyering  <jim@meyering.net>
1662
1663         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
1664         relevant options in CFLAGS (like -O, -fno-inline) are taken into
1665         account.
1666
1667 2006-11-10  Jim Meyering  <jim@meyering.net>
1668
1669         * modules/inline: New file/module.
1670         * modules/xalloc (Files): Remove m4/inline.m4.
1671         (Depends-on): Add inline, instead.
1672         * modules/oset: Likewise.
1673         * modules/list: Likewise.
1674
1675 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1676
1677         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
1678         Problem reported by Matthew Woehlke.
1679
1680 2006-11-09  Bruno Haible  <bruno@clisp.org>
1681
1682         * lib/tempname.c (gen_tempname): Remove variant that invokes
1683         __gen_tempname.
1684         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
1685         __gen_tempname.
1686
1687 2006-11-08  Bruno Haible  <bruno@clisp.org>
1688
1689         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
1690         to 'yes' instead of 'cross-compiling'.
1691
1692 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
1693
1694         * lib/quotearg.h (quotearg_free): New decl.
1695         * lib/quotearg.c (quotearg_free): New function.
1696         (slot0, nslots, slotvec0, slotvec):
1697         Now file-scope so that quotearg_free can get at them.
1698
1699 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1700
1701         Sync from Automake.
1702         * build-aux/gnupload: Add missing 'gnu' to example URL.
1703         Report by Karl Berry.
1704
1705 2006-11-08  Bruno Haible  <bruno@clisp.org>
1706
1707         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
1708         Suggested by Paul Eggert.
1709
1710 2006-11-08  Jim Meyering  <jim@meyering.net>
1711
1712         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
1713         It's already included if !_LIBC.
1714         (fts_safe_changedir): Add a comment.
1715
1716 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1717
1718         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
1719         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
1720         Matthew Woehlke.
1721
1722         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
1723         definitions up, to avoid colliding with change below.
1724         (static_inline) [HAVE_INLINE]: New macro.
1725         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1726         Provide extern decls when !HAVE_INLINE.  Do not define unless
1727         static_inline is defined, either by us or by xmalloc.c.  Use
1728         static_inline rather than static inline.
1729         (XCALLOC): Optimize sizeof(T) = 1 case.
1730         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
1731
1732 2006-11-07  Bruno Haible  <bruno@clisp.org>
1733
1734         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
1735         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
1736         AC_C_INLINE.
1737         * modules/xalloc (Files): Add m4/inline.m4.
1738
1739 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1740
1741         * README: Fix typo.
1742         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
1743         (Miscellanous Notes): ...from this.
1744
1745 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1746
1747         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
1748         Mention that offsetof should be used instead of sizeof.
1749         From Bruno Haible.
1750
1751 2006-11-07  Bruno Haible  <bruno@clisp.org>
1752
1753         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
1754
1755 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
1756
1757         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
1758         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
1759         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
1760         (gl_tree_add_before, gl_tree_add_after):
1761         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
1762         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
1763         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
1764         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
1765         (gl_linked_add_after, gl_linked_add_at): Likewise.
1766         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
1767         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
1768         (gl_tree_add_before, gl_tree_add_after): Likewise.
1769         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
1770         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
1771         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
1772
1773 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1774
1775         * lib/gl_oset.h: Use C comment style, not C++ comment style.
1776
1777 2006-11-06  Bruno Haible  <bruno@clisp.org>
1778
1779         * m4/inline.m4: New file.
1780         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
1781         * modules/list (Files): Add m4/inline.m4.
1782         * modules/oset (Files): Likewise.
1783
1784 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
1785
1786         * lib/idcache.c: Include <stddef.h>, for offsetof.
1787         (struct userid.name): Change from char * to a flexible array member.
1788         All uses changed.
1789         * modules/idcache (Depends-on): Add flexmember.
1790
1791         * MODULES.html.sh (Core language properties): New module flexmember.
1792         * modules/flexmember, m4/flexmember.m4: New files.
1793
1794         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
1795         inline functions that are identical with the old xnmalloc_inline,
1796         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
1797         that we can avoid some unnecessary integer multiplications and
1798         divisions in the common case where the element size is known at
1799         compile time.
1800         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
1801         needed.
1802         (xnboundedmalloc): Remove.
1803         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
1804         arguments, for consistency with rest of this header.
1805         (xcharalloc): Rewrite using XNMALLOC.
1806         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
1807         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
1808         versions have been moved to lib/xalloc.h and renamed to be the
1809         non-*_inline versions.
1810         (xmalloc, xrealloc): Implement without reference to the xnmalloc
1811         and xnrealloc functions, since those functions are now inline and
1812         now call us.
1813         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
1814         renaming described above.
1815         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
1816         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
1817         captures the dependency in AC_C_INLINE.
1818
1819         New module canonicalize-lgpl, proposed by Charles Wilson in
1820         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
1821         with a few small changes afterwards.
1822         * MODULES.html.sh (File system functions): New module
1823         canonicalize-lgpl.
1824         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
1825         and canonicalize_file_name.
1826         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
1827         * modules/canonicalize-lgpl: New files.
1828
1829 2006-11-05  Bruno Haible  <bruno@clisp.org>
1830
1831         * gnulib-tool (func_import, func_create_testdir): Create directories
1832         also for files in subdirectories of lib/.
1833
1834 2006-11-05  Bruno Haible  <bruno@clisp.org>
1835
1836         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
1837         ANSI C compliant.
1838
1839 2006-11-03  Bruno Haible  <bruno@clisp.org>
1840
1841         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
1842         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
1843         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
1844         (xnboundedmalloc): New inline function.
1845         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
1846         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
1847         xmalloc.
1848         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
1849         xmalloc.
1850         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
1851         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
1852         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
1853         xmalloc.
1854         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
1855         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
1856         xmalloc.
1857         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
1858         gl_tree_add_after): Use XMALLOC instead of xmalloc.
1859         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
1860         xmalloc.
1861         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
1862         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
1863         gl_tree_add_after): Use XMALLOC instead of xmalloc.
1864         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
1865         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
1866         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
1867         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
1868
1869 2006-11-03  Bruno Haible  <bruno@clisp.org>
1870
1871         * lib/c-ctype.h [C++]: Define functions without name mangling.
1872         * lib/fwriteerror.h [C++]: Likewise.
1873         * lib/gcd.h [C++]: Likewise.
1874         * lib/linebreak.h [C++]: Likewise.
1875
1876 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
1877
1878         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
1879         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
1880         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
1881         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
1882         Check for functions and headers just once.
1883         Check for declaration of canonicalize_file_name.
1884         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
1885
1886 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
1887
1888         * gnulib-tool (func_import): Fix typo in actioncmd.
1889
1890 2006-11-02  Bruno Haible  <bruno@clisp.org>
1891
1892         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
1893         newline sequence in the Makefile.am snippet as a space, like "make"
1894         does.
1895         Reported by Roger Persson <perrog@gmail.com>.
1896
1897 2006-11-01  Bruno Haible  <bruno@clisp.org>
1898
1899         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
1900         already declared in <string.h>.
1901         * lib/strcase.h (strncasecmp): Don't declare it if yes.
1902
1903 2006-11-01  Bruno Haible  <bruno@clisp.org>
1904
1905         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
1906         * lib/strcase.h: Include <string.h>.
1907         (strcasecmp): Define to rpl_strcasecmp here.
1908
1909 2006-11-01  Bruno Haible  <bruno@clisp.org>
1910
1911         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
1912
1913 2006-11-01  Eric Blake  <ebb9@byu.net>
1914
1915         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
1916
1917         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
1918
1919 2006-10-29  Bruno Haible  <bruno@clisp.org>
1920
1921         Make it compile in C++ mode.
1922         * lib/full-write.c (full_rw): Add a cast.
1923
1924 2006-11-01  Bruno Haible  <bruno@clisp.org>
1925
1926         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
1927         be POSIX compliant.
1928         Reported by Roger Persson <perrog@gmail.com>.
1929
1930 2006-11-01  Eric Blake  <ebb9@byu.net>
1931
1932         * lib/getopt_.h: Fix comments.
1933
1934 2006-10-31  Eric Blake  <ebb9@byu.net>
1935
1936         * modules/tmpdir (Depends-on): Add sys_stat.
1937         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
1938         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
1939         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
1940         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
1941         tempname.
1942
1943 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
1944
1945         Avoid some C++ diagnostics reported by Bruno Haible.
1946         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
1947         xmalloc.
1948         (quotearg_alloc): Use xcharalloc rather than xmalloc.
1949         (struct slotvec): Move to top level.
1950         (quotearg_n_options): Rewrite to avoid xmalloc.
1951         * lib/xalloc.h (xcharalloc): New function.
1952         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
1953         [defined __cplusplus]: Add function template that provides result
1954         type propagation.  This part of the change is from Bruno Haible.
1955
1956 2006-10-29  Bruno Haible  <bruno@clisp.org>
1957
1958         Make it compile in C++ mode.
1959         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
1960         * lib/strnlen1.c (strnlen1): Cast memchr result.
1961         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
1962         * lib/clean-temp.c (string_equals, string_hash): Add casts.
1963         (create_temp_dir): Rename local variable 'template'.
1964         (compile_csharp_using_sscli): Add cast.
1965         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
1966         * lib/findprog.c (find_in_path): Likewise.
1967         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
1968         * lib/wait-process.c (register_slave_subprocess): Likewise.
1969
1970 2006-10-22  Bruno Haible  <bruno@clisp.org>
1971
1972         * modules/tsearch: New file.
1973         * lib/tsearch.h: New file.
1974         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
1975         * m4/tsearch.m4: New file.
1976         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
1977
1978 2006-10-29  Eric Blake  <ebb9@byu.net>
1979
1980         * lib/arcfour.c: Assume config.h.
1981         * lib/arctwo.c: Likewise.
1982         * lib/base64.c: Likewise.
1983         * lib/check-version.c: Likewise.
1984         * lib/crc.c: Likewise.
1985         * lib/des.c: Likewise.
1986         * lib/gc-gnulib.c: Likewise.
1987         * lib/gc-libgcrypt.c: Likewise.
1988         * lib/gc-pbkdf2-sha1.c: Likewise.
1989         * lib/getaddrinfo.c: Likewise.
1990         * lib/getdelim.c: Likewise.
1991         * lib/getline.c: Likewise.
1992         * lib/hmac-md5.c: Likewise.
1993         * lib/hmac-sha1.c: Likewise.
1994         * lib/iconvme.c: Likewise.
1995         * lib/md2.c: Likewise.
1996         * lib/md4.c: Likewise.
1997         * lib/memxor.c: Likewise.
1998         * lib/read-file.c: Likewise.
1999         * lib/readline.c: Likewise.
2000         * lib/rijndael-alg-fst.c: Likewise.
2001         * lib/rijndael-api-fst.c: Likewise.
2002         * lib/xgetdomainname.c: Likewise.
2003
2004 2006-10-28  Eric Blake  <ebb9@byu.net>
2005
2006         * lib/xstrndup.c: Assume config.h.
2007
2008 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
2009
2010         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
2011         stat-macros.h is now for our own macros, whereas stat_h is for
2012         macros in the <sys/stat.h> name space.
2013         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
2014         (STAT_MACROS_H): Remove.
2015         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
2016         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
2017         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
2018         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
2019         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
2020         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
2021         Move these macros to ...
2022         * lib/stat_.h: here.  Don't include stat-macros.h.
2023         * lib/canonicalize.c: Don't include stat-macros.h.
2024         * lib/chown.c: Likewise.
2025         * lib/euidaccess.c: Likewise.
2026         * lib/file-type.c: Likewise.
2027         * lib/filemode.c: Likewise.
2028         * lib/glob.c: Likewise.
2029         * lib/isapipe.c: Likewise.
2030         * lib/lchown.c: Likewise.
2031         * lib/lstat.c: Likewise.
2032         * lib/mkdir-p.c: Likewise.
2033         * lib/rmdir.c: Likewise.
2034         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
2035         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
2036         unless mkdir isn't declared, to speed up 'configure'.
2037         Always create sys/stat.h, since it's unlikely any real sys/stat.h
2038         would define all the S_* symbols.
2039         * modules/canonicalize (Depends-on):
2040         Depend on sys_stat, not stat-macros.
2041         * modules/chown: Likewise.
2042         * modules/euidaccess: Likewise.
2043         * modules/filemode: Likewise.
2044         * modules/file-type: Likewise.
2045         * modules/glob: Likewise.
2046         * modules/isapipe: Likewise.
2047         * modules/lchown: Likewise.
2048         * modules/lstat: Likewise.
2049         * modules/mkancesdirs: Likewise.
2050         * modules/rmdir: Likewise.
2051         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
2052         * modules/modechange: Likewise.
2053         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
2054         (configure.ac): Remove gl_STAT_MACROS.
2055         * modules/sys_stat (Depends-on): Remove stat-macros.
2056
2057 2006-10-27  Bruno Haible  <bruno@clisp.org>
2058
2059         * m4/signed.m4: Remove file.
2060         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
2061         invocation.
2062         * modules/vasnprintf (Files): Remove m4/signed.m4.
2063
2064 2006-10-27  Bruno Haible  <bruno@clisp.org>
2065
2066         Update to GNU gettext 0.16.
2067         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
2068         m4/inttypes-h.m4, m4/signed.m4.
2069         * m4/gettext.m4: Update to GNU gettext 0.16.
2070         * m4/intl.m4: New file, from GNU gettext.
2071         * m4/intldir.m4: New file, from GNU gettext.
2072         * config/srclist.txt: Update
2073
2074 2006-10-27  Eric Blake  <ebb9@byu.net>
2075
2076         * MODULES.html.sh: Document tempname.
2077         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
2078         dependencies.
2079         (Files): Move lib/tempname.c...
2080         * modules/tempname: ...to this new module.
2081         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
2082         (gl_PREREQ_TEMPNAME): Move...
2083         * m4/tempname.m4: ...to this new file.
2084         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
2085         * modules/sys_stat (Depends-on): Add stat-macros.
2086         * lib/stat_.h (includes): Pick up stat macros.
2087         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
2088         if stat macros are broken.
2089         * lib/tempname.c (includes): No need to include "stat-macros.h".
2090         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
2091         (direxists, __path_search) [!_LIBC]: Don't compile these in
2092         gnulib; the tmpdir module covers that.
2093         * lib/tempname.h: New file.
2094
2095 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
2096
2097         * COPYING: Explain how gnulib-tool converts licence headers.
2098         Almost all wording by Eric Blake.
2099
2100 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
2101
2102         * lib/mbchar.h (is_basic_table): Make read-only.
2103         * lib/mbchar.c (is_basic_table): Likewise.
2104         Reported by John Darrington.
2105
2106 2006-10-25  Bruno Haible  <bruno@clisp.org>
2107
2108         * lib/progname.h (set_program_name): Undefine before defining.
2109
2110 2006-10-25  Bruno Haible  <bruno@clisp.org>
2111
2112         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
2113         false for non-gcc C++ compilers.
2114         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
2115
2116 2006-10-24  Bruno Haible  <bruno@clisp.org>
2117
2118         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
2119         iconv implementations like Irix iconv.
2120
2121 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2122
2123         * modules/vararrays: New file.
2124         * m4/vararrays.m4: New file, taken from diffutils.
2125         * MODULES.html.sh: New module vararrays.
2126
2127 2006-10-24  Karl Berry  <karl@gnu.org>
2128
2129         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
2130         Don't call GNU Unix.
2131
2132 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2133
2134         * users.txt: Add Libtool.
2135
2136         Sync from Libtool:
2137
2138         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2139
2140         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
2141         to gnulib's policy of including config.h unconditionally.
2142
2143 2006-10-24  Bruno Haible  <bruno@clisp.org>
2144
2145         * modules/wcwidth (Files): Add m4/wint_t.m4.
2146         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
2147         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
2148
2149 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2150
2151         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
2152         to pacify GCC with some -W flags enabled.  Problem reported by
2153         Bruno Haible.
2154
2155 2006-10-24  Jim Meyering  <jim@meyering.net>
2156
2157         * MODULES.html.sh: Remove uinttostr.  It's not a module.
2158         Reported by Karl Berry.
2159
2160 2006-10-23  Bruno Haible  <bruno@clisp.org>
2161
2162         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
2163
2164 2006-10-24  Bruno Haible  <bruno@clisp.org>
2165
2166         * lib/gl_list.h: Use C comment style, not C++ comment style.
2167
2168 2006-10-23  Eric Blake  <ebb9@byu.net>
2169
2170         * lib/getaddrinfo.c (includes): Add missing include.
2171
2172 2006-10-23  Bruno Haible  <bruno@clisp.org>
2173             Paul Eggert  <eggert@cs.ucla.edu>
2174
2175         Ability to rename obstack_free.
2176         * lib/obstack.h (__obstack_free): New macro. Declare instead of
2177         obstack_free.
2178         (obstack_free): Invoke the __obstack_free macro.
2179         * lib/obstack.c (obstack_free): Use __obstack_free macro.
2180
2181 2006-10-23  Bruno Haible  <bruno@clisp.org>
2182             Paul Eggert  <eggert@cs.ucla.edu>
2183
2184         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
2185         __argc, __argv from the declaration. (They are defined as macros on
2186         mingw.)
2187
2188 2006-10-22  Bruno Haible  <bruno@clisp.org>
2189
2190         * doc/gnulib-intro.texi: New file.
2191         * doc/gnulib.texi: Include it.
2192
2193 2006-10-21  Bruno Haible  <bruno@clisp.org>
2194
2195         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
2196         "Introduction", "Miscellanous Notes", "Particular Modules".
2197
2198 2006-10-21  Bruno Haible  <bruno@clisp.org>
2199
2200         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2201         Change mostlyclean-local rule to avoid sh syntax error from bash
2202         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
2203
2204 2006-10-23  Jim Meyering  <jim@meyering.net>
2205
2206         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
2207         in place of snprintf.
2208
2209         * modules/inttostr (Files): Add lib/uinttostr.c.
2210         * lib/uinttostr.c (inttostr): New file/function.
2211         * lib/inttostr.h (uinttostr): Declare.
2212         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
2213         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
2214         Add uinttostr.
2215         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
2216
2217 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
2218
2219         * lib/canonicalize.c (ELOOP): Define if not already defined.
2220         Problem reported by Bruno Haible in
2221         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
2222
2223 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
2224
2225         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
2226         Problem reported by Perry Smith and Ville Laurikari.
2227
2228         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
2229         uses.
2230
2231 2006-10-19  Bruno Haible  <bruno@clisp.org>
2232
2233         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
2234         for mingw.
2235
2236 2006-10-19  Bruno Haible  <bruno@clisp.org>
2237
2238         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
2239         Needed for mingw.
2240
2241 2006-10-19  Bruno Haible  <bruno@clisp.org>
2242
2243         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
2244
2245 2006-10-19  Bruno Haible  <bruno@clisp.org>
2246
2247         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
2248         it.
2249
2250 2006-10-19  Bruno Haible  <bruno@clisp.org>
2251
2252         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
2253         invocation.
2254
2255 2006-10-19  Bruno Haible  <bruno@clisp.org>
2256
2257         * gnulib-tool (func_create_testdir): Don't include ftruncate and
2258         mountlist by default.
2259
2260 2006-10-16  Bruno Haible  <bruno@clisp.org>
2261
2262         * lib/c-strstr.c: Include c-strstr.h.
2263
2264 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
2265
2266         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
2267         in a slash.
2268
2269 2006-10-18  Bruno Haible  <bruno@clisp.org>
2270
2271         * lib/lock.h [C++]: Wrap definitions in extern "C".
2272
2273 2006-10-18  Bruno Haible  <bruno@clisp.org>
2274
2275         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
2276         gl_LIBOBJS list.
2277
2278 2006-10-18  Bruno Haible  <bruno@clisp.org>
2279
2280         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
2281
2282 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
2283
2284         * lib/xstrtol.h: Include gettext.h.
2285         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
2286         Problem reported by Eric Blake.
2287         * modules/xstrtol (Depends-on): Add gettext-h.
2288
2289 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
2290
2291         * lib/strftime.c (advance): New macro.
2292         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
2293         incomplete type, so you can't add 0 to it.  Problem and patch
2294         reported by Eelco Dolstra for dietlibc.
2295
2296 2006-10-18  Jim Meyering  <jim@meyering.net>
2297
2298         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
2299         type for a local, and rename it: s/up/user_proc/.
2300
2301 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
2302
2303         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
2304         READ_UTMP_USER_PROCESS.
2305         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
2306
2307 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
2308
2309         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
2310         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
2311
2312 2006-10-17  Eric Blake  <ebb9@byu.net>
2313
2314         * lib/sigprocmask.c (sigprocmask): Fix typo.
2315
2316         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
2317
2318         * modules/clean-temp (Makefile.am): Don't add to make output...
2319         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
2320         config.h.
2321
2322 2006-10-17  Bruno Haible  <bruno@clisp.org>
2323
2324         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
2325         differently if DEFAULT_TEXT_DOMAIN is set.
2326
2327 2006-10-16  Bruno Haible  <bruno@clisp.org>
2328
2329         * lib/clean-temp.c: Include fwriteerror.h.
2330
2331 2006-10-16  Bruno Haible  <bruno@clisp.org>
2332
2333         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
2334
2335 2006-10-16  Bruno Haible  <bruno@clisp.org>
2336
2337         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
2338         * lib/sigprocmask.h: Include <sys/types.h>.
2339         (sigset_t): Use the system's definition if present.
2340
2341 2006-10-17  Eric Blake  <ebb9@byu.net>
2342
2343         * lib/xvasprintf.c (includes): Assume config.h.
2344         * lib/xasprintf.c (includes): Likewise.
2345
2346 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2347
2348         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
2349         at least as wide as intmax_t.
2350
2351 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
2352
2353         (Imported from Automake.)
2354         * build-aux/gnupload: Update to version 1.1 of directive file.
2355
2356 2006-10-16  Eric Blake  <ebb9@byu.net>
2357
2358         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
2359         match Automake 1.10a.
2360
2361 2006-10-14  Bruno Haible  <bruno@clisp.org>
2362
2363         * modules/sigprocmask: New file.
2364         * lib/sigprocmask.h: New file.
2365         * lib/sigprocmask.c: New file.
2366         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
2367         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
2368         request sigprocmask.o.
2369         (gl_PREREQ_SIGPROCMASK): New macro.
2370         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
2371         (Depends-on): Add sigprocmask.
2372         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
2373         gt_SIGNALBLOCKING. Test for 'raise' only once.
2374         * lib/fatal-signal.c: Include sigprocmask.h.
2375         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
2376         unblock_fatal_signals): Define always.
2377         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
2378         sigprocmask.
2379
2380 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2381
2382         Sync from Automake.
2383         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
2384         which incorrectly sets the mode of an existing destination
2385         directory.  In some cases the unpatched install-sh could do the
2386         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
2387         system.  We hope this is rare in practice, but it's clearly worth
2388         fixing.  Problem reported by Alex Unleashed in
2389         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
2390         Also, don't bother to check for -m bugs unless we're using -m;
2391         suggested by Stepan Kasal.
2392
2393 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2394
2395         Sync from Automake.
2396         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
2397         `-c' flag, so they appear at the same position as in %FASTDEP%
2398         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
2399         which ignores unknown options only after the first non-option.
2400         Bug report against M4 by Nelson H. F. Beebe.
2401
2402 2006-10-13  Jim Meyering  <jim@meyering.net>
2403
2404         Fix a bug in yesterday's change.
2405         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
2406         p->fts_statp->st_dev would be used uninitialized.
2407         Ensures that we always call fts_stat on the very first entry.
2408         Miklos Szeredi reported that find -xdev stopped working.
2409
2410 2006-10-12  Bruno Haible  <bruno@clisp.org>
2411
2412         * gnulib-tool (func_get_automake_snippet): Append an automatically
2413         computed EXTRA_DIST augmentation.
2414         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
2415         * modules/alloca-opt (Makefile.am): Likewise.
2416         * modules/allocsa (Makefile.am): Likewise.
2417         * modules/arcfour (Makefile.am): Likewise.
2418         * modules/arctwo (Makefile.am): Likewise.
2419         * modules/argmatch (Makefile.am): Likewise.
2420         * modules/argz (Makefile.am): Likewise.
2421         * modules/atexit (Makefile.am): Likewise.
2422         * modules/backupfile (Makefile.am): Likewise.
2423         * modules/byteswap (Makefile.am): Likewise.
2424         * modules/c-strtod (Makefile.am): Likewise.
2425         * modules/c-strtold (Makefile.am): Likewise.
2426         * modules/calloc (Makefile.am): Likewise.
2427         * modules/canon-host (Makefile.am): Likewise.
2428         * modules/canonicalize (Makefile.am): Likewise.
2429         * modules/chdir-long (Makefile.am): Likewise.
2430         * modules/chdir-safer (Makefile.am): Likewise.
2431         * modules/check-version (Makefile.am): Likewise.
2432         * modules/chown (Makefile.am): Likewise.
2433         * modules/cloexec (Makefile.am): Likewise.
2434         * modules/close-stream (Makefile.am): Likewise.
2435         * modules/closeout (Makefile.am): Likewise.
2436         * modules/crc (Makefile.am): Likewise.
2437         * modules/csharpexec (Makefile.am): Likewise.
2438         * modules/cycle-check (Makefile.am): Likewise.
2439         * modules/des (Makefile.am): Likewise.
2440         * modules/dev-ino (Makefile.am): Likewise.
2441         * modules/dirfd (Makefile.am): Likewise.
2442         * modules/dirname (Makefile.am): Likewise.
2443         * modules/dup2 (Makefile.am): Likewise.
2444         * modules/eealloc (Makefile.am): Likewise.
2445         * modules/error (Makefile.am): Likewise.
2446         * modules/euidaccess (Makefile.am): Likewise.
2447         * modules/exclude (Makefile.am): Likewise.
2448         * modules/exitfail (Makefile.am): Likewise.
2449         * modules/fcntl-safer (Makefile.am): Likewise.
2450         * modules/fcntl (Makefile.am): Likewise.
2451         * modules/file-type (Makefile.am): Likewise.
2452         * modules/fileblocks (Makefile.am): Likewise.
2453         * modules/filemode (Makefile.am): Likewise.
2454         * modules/filenamecat (Makefile.am): Likewise.
2455         * modules/fnmatch (Makefile.am): Likewise.
2456         * modules/fopen-safer (Makefile.am): Likewise.
2457         * modules/fpending (Makefile.am): Likewise.
2458         * modules/fprintftime (Makefile.am): Likewise.
2459         * modules/free (Makefile.am): Likewise.
2460         * modules/fsusage (Makefile.am): Likewise.
2461         * modules/ftruncate (Makefile.am): Likewise.
2462         * modules/fts (Makefile.am): Likewise.
2463         * modules/gc-arcfour (Makefile.am): Likewise.
2464         * modules/gc-des (Makefile.am): Likewise.
2465         * modules/gc-hmac-md5 (Makefile.am): Likewise.
2466         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
2467         * modules/gc-md4 (Makefile.am): Likewise.
2468         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
2469         * modules/gc-sha1 (Makefile.am): Likewise.
2470         * modules/gc (Makefile.am): Likewise.
2471         * modules/getaddrinfo (Makefile.am): Likewise.
2472         * modules/getcwd (Makefile.am): Likewise.
2473         * modules/getdelim (Makefile.am): Likewise.
2474         * modules/getdomainname (Makefile.am): Likewise.
2475         * modules/getgroups (Makefile.am): Likewise.
2476         * modules/gethostname (Makefile.am): Likewise.
2477         * modules/gethrxtime (Makefile.am): Likewise.
2478         * modules/getline (Makefile.am): Likewise.
2479         * modules/getloadavg (Makefile.am): Likewise.
2480         * modules/getlogin_r (Makefile.am): Likewise.
2481         * modules/getndelim2 (Makefile.am): Likewise.
2482         * modules/getopt (Makefile.am): Likewise.
2483         * modules/getpagesize (Makefile.am): Likewise.
2484         * modules/getpass-gnu (Makefile.am): Likewise.
2485         * modules/getpass (Makefile.am): Likewise.
2486         * modules/getsubopt (Makefile.am): Likewise.
2487         * modules/gettime (Makefile.am): Likewise.
2488         * modules/gettimeofday (Makefile.am): Likewise.
2489         * modules/getugroups (Makefile.am): Likewise.
2490         * modules/getusershell (Makefile.am): Likewise.
2491         * modules/glob (Makefile.am): Likewise.
2492         * modules/group-member (Makefile.am): Likewise.
2493         * modules/hard-locale (Makefile.am): Likewise.
2494         * modules/hash (Makefile.am): Likewise.
2495         * modules/hmac-md5 (Makefile.am): Likewise.
2496         * modules/hmac-sha1 (Makefile.am): Likewise.
2497         * modules/human (Makefile.am): Likewise.
2498         * modules/idcache (Makefile.am): Likewise.
2499         * modules/imaxabs (Makefile.am): Likewise.
2500         * modules/imaxdiv (Makefile.am): Likewise.
2501         * modules/inet_ntop (Makefile.am): Likewise.
2502         * modules/inet_pton (Makefile.am): Likewise.
2503         * modules/intprops (Makefile.am): Likewise.
2504         * modules/inttostr (Makefile.am): Likewise.
2505         * modules/inttypes (Makefile.am): Likewise.
2506         * modules/isapipe (Makefile.am): Likewise.
2507         * modules/javaversion (Makefile.am): Likewise.
2508         * modules/lchmod (Makefile.am): Likewise.
2509         * modules/lchown (Makefile.am): Likewise.
2510         * modules/localcharset (Makefile.am): Likewise.
2511         * modules/long-options (Makefile.am): Likewise.
2512         * modules/lstat (Makefile.am): Likewise.
2513         * modules/malloc (Makefile.am): Likewise.
2514         * modules/mathl (Makefile.am): Likewise.
2515         * modules/mbchar (Makefile.am): Likewise.
2516         * modules/md2 (Makefile.am): Likewise.
2517         * modules/md4 (Makefile.am): Likewise.
2518         * modules/md5 (Makefile.am): Likewise.
2519         * modules/memcasecmp (Makefile.am): Likewise.
2520         * modules/memchr (Makefile.am): Likewise.
2521         * modules/memcmp (Makefile.am): Likewise.
2522         * modules/memcoll (Makefile.am): Likewise.
2523         * modules/memcpy (Makefile.am): Likewise.
2524         * modules/memmem (Makefile.am): Likewise.
2525         * modules/memmove (Makefile.am): Likewise.
2526         * modules/mempcpy (Makefile.am): Likewise.
2527         * modules/memrchr (Makefile.am): Likewise.
2528         * modules/memset (Makefile.am): Likewise.
2529         * modules/memxor (Makefile.am): Likewise.
2530         * modules/mkancesdirs (Makefile.am): Likewise.
2531         * modules/mkdir-p (Makefile.am): Likewise.
2532         * modules/mkdir (Makefile.am): Likewise.
2533         * modules/mkdtemp (Makefile.am): Likewise.
2534         * modules/mkstemp (Makefile.am): Likewise.
2535         * modules/mktime (Makefile.am): Likewise.
2536         * modules/modechange (Makefile.am): Likewise.
2537         * modules/mountlist (Makefile.am): Likewise.
2538         * modules/nanosleep (Makefile.am): Likewise.
2539         * modules/obstack (Makefile.am): Likewise.
2540         * modules/openat (Makefile.am): Likewise.
2541         * modules/pagealign_alloc (Makefile.am): Likewise.
2542         * modules/pathmax (Makefile.am): Likewise.
2543         * modules/physmem (Makefile.am): Likewise.
2544         * modules/poll (Makefile.am): Likewise.
2545         * modules/posixtm (Makefile.am): Likewise.
2546         * modules/posixver (Makefile.am): Likewise.
2547         * modules/putenv (Makefile.am): Likewise.
2548         * modules/quote (Makefile.am): Likewise.
2549         * modules/quotearg (Makefile.am): Likewise.
2550         * modules/raise (Makefile.am): Likewise.
2551         * modules/read-file (Makefile.am): Likewise.
2552         * modules/readline (Makefile.am): Likewise.
2553         * modules/readlink (Makefile.am): Likewise.
2554         * modules/readtokens (Makefile.am): Likewise.
2555         * modules/readutmp (Makefile.am): Likewise.
2556         * modules/realloc (Makefile.am): Likewise.
2557         * modules/regex (Makefile.am): Likewise.
2558         * modules/rename-dest-slash (Makefile.am): Likewise.
2559         * modules/rename (Makefile.am): Likewise.
2560         * modules/rijndael (Makefile.am): Likewise.
2561         * modules/rmdir (Makefile.am): Likewise.
2562         * modules/rpmatch (Makefile.am): Likewise.
2563         * modules/safe-read (Makefile.am): Likewise.
2564         * modules/safe-write (Makefile.am): Likewise.
2565         * modules/same-inode (Makefile.am): Likewise.
2566         * modules/same (Makefile.am): Likewise.
2567         * modules/save-cwd (Makefile.am): Likewise.
2568         * modules/savedir (Makefile.am): Likewise.
2569         * modules/setenv (Makefile.am): Likewise.
2570         * modules/settime (Makefile.am): Likewise.
2571         * modules/sha1 (Makefile.am): Likewise.
2572         * modules/sig2str (Makefile.am): Likewise.
2573         * modules/snprintf (Makefile.am): Likewise.
2574         * modules/stat-macros (Makefile.am): Likewise.
2575         * modules/stat-time (Makefile.am): Likewise.
2576         * modules/stdbool (Makefile.am): Likewise.
2577         * modules/stdint (Makefile.am): Likewise.
2578         * modules/stdlib-safer (Makefile.am): Likewise.
2579         * modules/stpcpy (Makefile.am): Likewise.
2580         * modules/stpncpy (Makefile.am): Likewise.
2581         * modules/strcase (Makefile.am): Likewise.
2582         * modules/strcasestr (Makefile.am): Likewise.
2583         * modules/strchrnul (Makefile.am): Likewise.
2584         * modules/strcspn (Makefile.am): Likewise.
2585         * modules/strdup (Makefile.am): Likewise.
2586         * modules/strerror (Makefile.am): Likewise.
2587         * modules/strftime (Makefile.am): Likewise.
2588         * modules/strndup (Makefile.am): Likewise.
2589         * modules/strnlen (Makefile.am): Likewise.
2590         * modules/strpbrk (Makefile.am): Likewise.
2591         * modules/strsep (Makefile.am): Likewise.
2592         * modules/strstr (Makefile.am): Likewise.
2593         * modules/strtod (Makefile.am): Likewise.
2594         * modules/strtoimax (Makefile.am): Likewise.
2595         * modules/strtok_r (Makefile.am): Likewise.
2596         * modules/strtol (Makefile.am): Likewise.
2597         * modules/strtoll (Makefile.am): Likewise.
2598         * modules/strtoul (Makefile.am): Likewise.
2599         * modules/strtoull (Makefile.am): Likewise.
2600         * modules/strtoumax (Makefile.am): Likewise.
2601         * modules/strverscmp (Makefile.am): Likewise.
2602         * modules/sys_socket (Makefile.am): Likewise.
2603         * modules/sys_stat (Makefile.am): Likewise.
2604         * modules/sysexits (Makefile.am): Likewise.
2605         * modules/time_r (Makefile.am): Likewise.
2606         * modules/timegm (Makefile.am): Likewise.
2607         * modules/timespec (Makefile.am): Likewise.
2608         * modules/tmpfile-safer (Makefile.am): Likewise.
2609         * modules/trim (Makefile.am): Likewise.
2610         * modules/unistd-safer (Makefile.am): Likewise.
2611         * modules/unlinkdir (Makefile.am): Likewise.
2612         * modules/unlocked-io (Makefile.am): Likewise.
2613         * modules/userspec (Makefile.am): Likewise.
2614         * modules/utime (Makefile.am): Likewise.
2615         * modules/utimecmp (Makefile.am): Likewise.
2616         * modules/utimens (Makefile.am): Likewise.
2617         * modules/vasnprintf (Makefile.am): Likewise.
2618         * modules/vasprintf (Makefile.am): Likewise.
2619         * modules/vsnprintf (Makefile.am): Likewise.
2620         * modules/xalloc (Makefile.am): Likewise.
2621         * modules/xgetcwd (Makefile.am): Likewise.
2622         * modules/xnanosleep (Makefile.am): Likewise.
2623         * modules/xreadlink (Makefile.am): Likewise.
2624         * modules/xstrtod (Makefile.am): Likewise.
2625         * modules/xstrtol (Makefile.am): Likewise.
2626         * modules/xstrtold (Makefile.am): Likewise.
2627         * modules/yesno (Makefile.am): Likewise.
2628         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
2629
2630 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2631
2632         * modules/error (Makefile.am): Distribute files through
2633         EXTRA_DIST, not lib_SOURCES.
2634
2635 2006-10-12  Eric Blake  <ebb9@byu.net>
2636
2637         * modules/error (Makefile.am): Distribute files in /lib.
2638         * modules/obstack (Makefile.am): Likewise.
2639
2640 2006-10-12  Bruno Haible  <bruno@clisp.org>
2641
2642         * modules/acl (Makefile.am): Distribute all files in lib/ through
2643         EXTRA_DIST.
2644         * modules/arcfour (Makefile.am): Likewise.
2645         * modules/arctwo (Makefile.am): Likewise.
2646         * modules/argmatch (Makefile.am): Likewise.
2647         * modules/argz (Makefile.am): Likewise.
2648         * modules/atexit (Makefile.am): Likewise.
2649         * modules/backupfile (Makefile.am): Likewise.
2650         * modules/c-strtod (Makefile.am): Likewise.
2651         * modules/c-strtold (Makefile.am): Likewise.
2652         * modules/calloc (Makefile.am): Likewise.
2653         * modules/canon-host (Makefile.am): Likewise.
2654         * modules/canonicalize (Makefile.am): Likewise.
2655         * modules/chdir-long (Makefile.am): Likewise.
2656         * modules/chdir-safer (Makefile.am): Likewise.
2657         * modules/check-version (Makefile.am): Likewise.
2658         * modules/chown (Makefile.am): Likewise.
2659         * modules/cloexec (Makefile.am): Likewise.
2660         * modules/close-stream (Makefile.am): Likewise.
2661         * modules/closeout (Makefile.am): Likewise.
2662         * modules/crc (Makefile.am): Likewise.
2663         * modules/cycle-check (Makefile.am): Likewise.
2664         * modules/des (Makefile.am): Likewise.
2665         * modules/dirfd (Makefile.am): Likewise.
2666         * modules/dirname (Makefile.am): Likewise.
2667         * modules/dup2 (Makefile.am): Likewise.
2668         * modules/euidaccess (Makefile.am): Likewise.
2669         * modules/exclude (Makefile.am): Likewise.
2670         * modules/exitfail (Makefile.am): Likewise.
2671         * modules/fcntl-safer (Makefile.am): Likewise.
2672         * modules/file-type (Makefile.am): Likewise.
2673         * modules/fileblocks (Makefile.am): Likewise.
2674         * modules/filemode (Makefile.am): Likewise.
2675         * modules/filenamecat (Makefile.am): Likewise.
2676         * modules/fnmatch (Makefile.am): Likewise.
2677         * modules/fopen-safer (Makefile.am): Likewise.
2678         * modules/fpending (Makefile.am): Likewise.
2679         * modules/fprintftime (Makefile.am): Likewise.
2680         * modules/free (Makefile.am): Likewise.
2681         * modules/fsusage (Makefile.am): Likewise.
2682         * modules/ftruncate (Makefile.am): Likewise.
2683         * modules/fts (Makefile.am): Likewise.
2684         * modules/gc (Makefile.am): Likewise.
2685         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
2686         * modules/getaddrinfo (Makefile.am): Likewise.
2687         * modules/getcwd (Makefile.am): Likewise.
2688         * modules/getdelim (Makefile.am): Likewise.
2689         * modules/getdomainname (Makefile.am): Likewise.
2690         * modules/getgroups (Makefile.am): Likewise.
2691         * modules/gethostname (Makefile.am): Likewise.
2692         * modules/gethrxtime (Makefile.am): Likewise.
2693         * modules/getline (Makefile.am): Likewise.
2694         * modules/getloadavg (Makefile.am): Likewise.
2695         * modules/getlogin_r (Makefile.am): Likewise.
2696         * modules/getopt (Makefile.am): Likewise.
2697         * modules/getpass (Makefile.am): Likewise.
2698         * modules/getpass-gnu (Makefile.am): Likewise.
2699         * modules/getsubopt (Makefile.am): Likewise.
2700         * modules/gettime (Makefile.am): Likewise.
2701         * modules/gettimeofday (Makefile.am): Likewise.
2702         * modules/getugroups (Makefile.am): Likewise.
2703         * modules/getusershell (Makefile.am): Likewise.
2704         * modules/glob (Makefile.am): Likewise.
2705         * modules/group-member (Makefile.am): Likewise.
2706         * modules/hard-locale (Makefile.am): Likewise.
2707         * modules/hash (Makefile.am): Likewise.
2708         * modules/hmac-md5 (Makefile.am): Likewise.
2709         * modules/hmac-sha1 (Makefile.am): Likewise.
2710         * modules/human (Makefile.am): Likewise.
2711         * modules/idcache (Makefile.am): Likewise.
2712         * modules/imaxabs (Makefile.am): Likewise.
2713         * modules/imaxdiv (Makefile.am): Likewise.
2714         * modules/inet_ntop (Makefile.am): Likewise.
2715         * modules/inet_pton (Makefile.am): Likewise.
2716         * modules/inttostr (Makefile.am): Likewise.
2717         * modules/isapipe (Makefile.am): Likewise.
2718         * modules/lchown (Makefile.am): Likewise.
2719         * modules/long-options (Makefile.am): Likewise.
2720         * modules/lstat (Makefile.am): Likewise.
2721         * modules/malloc (Makefile.am): Likewise.
2722         * modules/mathl (Makefile.am): Likewise.
2723         * modules/mbchar (Makefile.am): Likewise.
2724         * modules/md2 (Makefile.am): Likewise.
2725         * modules/md4 (Makefile.am): Likewise.
2726         * modules/md5 (Makefile.am): Likewise.
2727         * modules/memcasecmp (Makefile.am): Likewise.
2728         * modules/memchr (Makefile.am): Likewise.
2729         * modules/memcmp (Makefile.am): Likewise.
2730         * modules/memcoll (Makefile.am): Likewise.
2731         * modules/memcpy (Makefile.am): Likewise.
2732         * modules/memmem (Makefile.am): Likewise.
2733         * modules/memmove (Makefile.am): Likewise.
2734         * modules/mempcpy (Makefile.am): Likewise.
2735         * modules/memrchr (Makefile.am): Likewise.
2736         * modules/memset (Makefile.am): Likewise.
2737         * modules/memxor (Makefile.am): Likewise.
2738         * modules/mkancesdirs (Makefile.am): Likewise.
2739         * modules/mkdir (Makefile.am): Likewise.
2740         * modules/mkdir-p (Makefile.am): Likewise.
2741         * modules/mkdtemp (Makefile.am): Likewise.
2742         * modules/mkstemp (Makefile.am): Likewise.
2743         * modules/mktime (Makefile.am): Likewise.
2744         * modules/modechange (Makefile.am): Likewise.
2745         * modules/mountlist (Makefile.am): Likewise.
2746         * modules/nanosleep (Makefile.am): Likewise.
2747         * modules/openat (Makefile.am): Likewise.
2748         * modules/pagealign_alloc (Makefile.am): Likewise.
2749         * modules/physmem (Makefile.am): Likewise.
2750         * modules/poll (Makefile.am): Likewise.
2751         * modules/posixtm (Makefile.am): Likewise.
2752         * modules/posixver (Makefile.am): Likewise.
2753         * modules/putenv (Makefile.am): Likewise.
2754         * modules/quote (Makefile.am): Likewise.
2755         * modules/quotearg (Makefile.am): Likewise.
2756         * modules/raise (Makefile.am): Likewise.
2757         * modules/read-file (Makefile.am): Likewise.
2758         * modules/readline (Makefile.am): Likewise.
2759         * modules/readlink (Makefile.am): Likewise.
2760         * modules/readtokens (Makefile.am): Likewise.
2761         * modules/readutmp (Makefile.am): Likewise.
2762         * modules/realloc (Makefile.am): Likewise.
2763         * modules/regex (Makefile.am): Likewise.
2764         * modules/rename (Makefile.am): Likewise.
2765         * modules/rename-dest-slash (Makefile.am): Likewise.
2766         * modules/rijndael (Makefile.am): Likewise.
2767         * modules/rmdir (Makefile.am): Likewise.
2768         * modules/rpmatch (Makefile.am): Likewise.
2769         * modules/safe-read (Makefile.am): Likewise.
2770         * modules/safe-write (Makefile.am): Likewise.
2771         * modules/same (Makefile.am): Likewise.
2772         * modules/save-cwd (Makefile.am): Likewise.
2773         * modules/savedir (Makefile.am): Likewise.
2774         * modules/setenv (Makefile.am): Likewise.
2775         * modules/settime (Makefile.am): Likewise.
2776         * modules/sha1 (Makefile.am): Likewise.
2777         * modules/sig2str (Makefile.am): Likewise.
2778         * modules/snprintf (Makefile.am): Likewise.
2779         * modules/stdlib-safer (Makefile.am): Likewise.
2780         * modules/stpcpy (Makefile.am): Likewise.
2781         * modules/stpncpy (Makefile.am): Likewise.
2782         * modules/strcase (Makefile.am): Likewise.
2783         * modules/strcasestr (Makefile.am): Likewise.
2784         * modules/strchrnul (Makefile.am): Likewise.
2785         * modules/strcspn (Makefile.am): Likewise.
2786         * modules/strdup (Makefile.am): Likewise.
2787         * modules/strerror (Makefile.am): Likewise.
2788         * modules/strftime (Makefile.am): Likewise.
2789         * modules/strndup (Makefile.am): Likewise.
2790         * modules/strnlen (Makefile.am): Likewise.
2791         * modules/strpbrk (Makefile.am): Likewise.
2792         * modules/strsep (Makefile.am): Likewise.
2793         * modules/strstr (Makefile.am): Likewise.
2794         * modules/strtod (Makefile.am): Likewise.
2795         * modules/strtoimax (Makefile.am): Likewise.
2796         * modules/strtok_r (Makefile.am): Likewise.
2797         * modules/strtol (Makefile.am): Likewise.
2798         * modules/strtoll (Makefile.am): Likewise.
2799         * modules/strtoul (Makefile.am): Likewise.
2800         * modules/strtoull (Makefile.am): Likewise.
2801         * modules/strtoumax (Makefile.am): Likewise.
2802         * modules/strverscmp (Makefile.am): Likewise.
2803         * modules/time_r (Makefile.am): Likewise.
2804         * modules/timegm (Makefile.am): Likewise.
2805         * modules/tmpfile-safer (Makefile.am): Likewise.
2806         * modules/unistd-safer (Makefile.am): Likewise.
2807         * modules/unlinkdir (Makefile.am): Likewise.
2808         * modules/userspec (Makefile.am): Likewise.
2809         * modules/utime (Makefile.am): Likewise.
2810         * modules/utimecmp (Makefile.am): Likewise.
2811         * modules/utimens (Makefile.am): Likewise.
2812         * modules/vasnprintf (Makefile.am): Likewise.
2813         * modules/vasprintf (Makefile.am): Likewise.
2814         * modules/vsnprintf (Makefile.am): Likewise.
2815         * modules/xalloc (Makefile.am): Likewise.
2816         * modules/xgetcwd (Makefile.am): Likewise.
2817         * modules/xnanosleep (Makefile.am): Likewise.
2818         * modules/xreadlink (Makefile.am): Likewise.
2819         * modules/xstrtod (Makefile.am): Likewise.
2820         * modules/xstrtol (Makefile.am): Likewise.
2821         * modules/xstrtold (Makefile.am): Likewise.
2822         * modules/yesno (Makefile.am): Likewise.
2823
2824 2006-10-12  Jim Meyering  <jim@meyering.net>
2825
2826         * m4/getloadavg.m4: Revert the change below.
2827
2828         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
2829         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
2830         fail with a symlink, which is what coreutils' ./bootstrap now
2831         creates by default.
2832
2833 2006-10-12  Bruno Haible  <bruno@clisp.org>
2834
2835         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
2836         mingw.
2837         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
2838         MSVC and mingw explicitly.
2839
2840 2006-10-11  Simon Josefsson  <jas@extundo.com>
2841             Bruno Haible  <bruno@clisp.org>
2842
2843         Add support for multiple gnulib-tool invocations in the scope of a
2844         single configure.ac file.
2845         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
2846         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
2847         with the same contents as the _LIBADD variable.
2848         (func_emit_initmacro_start, func_emit_initmacro_end,
2849         func_emit_initmacro_done): New functions.
2850         (func_import, func_create_testdir): Invoke them. Allow the identifiers
2851         gl_LIBOBJS and gl_LTLIBOBJS.
2852
2853 2006-10-11  Bruno Haible  <bruno@clisp.org>
2854
2855         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
2856         (func_create_testdir): Don't create po/Makefile.am, don't invoke
2857         autoreconf. Instead, invoke autopoint explicitly but move back the
2858         *.m4 files from gnulib.
2859
2860 2006-10-11  Bruno Haible  <bruno@clisp.org>
2861
2862         * gnulib-tool (func_usage): Make module names after --create-testdir
2863         optional.
2864         (func_create_testdir): If no module was specified, use nearly all
2865         modules.
2866
2867 2006-10-12  Jim Meyering  <jim@meyering.net>
2868
2869         Big performance improvement for fts-based tools that use FTS_NOSTAT.
2870         Avoid spurious inode-mismatch problems on non-POSIX file systems.
2871         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
2872         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
2873         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
2874         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
2875         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
2876         (fts_set_stat_required): New function.
2877         (fts_open): Defer the calls to fts_stat, if possible or requested.
2878         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
2879         into fts_stat itself.
2880         (fts_read): Perform any required (deferred) fts_stat call.
2881         (fts_build): Likewise, for the directory we're about to open and read.
2882         In the readdir loop, carefully decide whether each entry will require
2883         an eventual call to fts_stat, using dirent.d_type info if available.
2884         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
2885         a command line argument into this function.  Update all callers.
2886         Map a return value of FTS_DOT to FTS_D for a command line argument.
2887         * modules/fts (Depends-on): Add d-type.  Alphabetize.
2888         Thanks to Miklos Szeredi for his tenacity and for the initial
2889         bug report about "find" failing on a FUSE-based file system.
2890
2891         * lib/fts.c (fts_open): Use consistent indentation.
2892
2893 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2894
2895         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
2896         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
2897         reported by Jim Meyering.  All uses of cache variables renamed
2898         to match Autoconf's.
2899         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
2900         the other one.
2901
2902         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
2903         Fix misspelling in diagnostic.
2904
2905 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
2906
2907         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
2908         defined.  Problem reported by Matthew Woehlke.
2909
2910         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
2911         Add support for Tandem NonStop R series.
2912         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
2913         Use new macro.
2914
2915         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
2916         (has_trailing_slash): Omit size arg; all callers changed.
2917         Omit 'inline', since it doesn't help performance and we'd
2918         need to configure it.
2919         Don't count //, ///, etc. as having a trailing slash.
2920         As a side effect, this removes a C99ism reported by Matthew Woehlke.
2921         (rpl_rename_dest_slash): On failure, use rename's errno rather
2922         than (in some cases) an incorrect or junk errno.
2923         Simplify code by removing need to compute length; this does
2924         cause it to make two passes instead of one over the file name,
2925         but it's worth it.
2926
2927         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
2928         change, since Autoconf's version may no longer be appropriate now
2929         that we are using CVS Autoconf's version.  Add support for Tandem.
2930
2931 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
2932             Bruno Haible  <bruno@clisp.org>
2933
2934         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
2935         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
2936         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
2937         gl_AC_TYPE_LONG_LONG.
2938
2939         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
2940         instead of HAVE_LONG_LONG.
2941         * lib/printf-args.c (printf_fetchargs): Likewise.
2942         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
2943         * lib/vasnprintf.c (VASNPRINTF): Likewise.
2944         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
2945         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
2946         gl_AC_TYPE_LONG_LONG.
2947
2948 2006-10-11  Bruno Haible  <bruno@clisp.org>
2949
2950         * m4/longlong.m4: Add comments.
2951         * m4/ulonglong.m4: Likewise.
2952
2953 2006-10-10  Bruno Haible  <bruno@clisp.org>
2954
2955         Make it possible to #define stpcpy, strdup to aliases.
2956         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
2957         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
2958
2959 2006-10-10  Bruno Haible  <bruno@clisp.org>
2960
2961         Make it possible to #define gcd to an alias.
2962         * lib/gcd.c: Include config.h.
2963
2964 2006-10-10  Bruno Haible  <bruno@clisp.org>
2965
2966         Make it possible to #define c_isascii to an alias.
2967         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
2968         defined. Undefine the macros before defining them, to avoid gcc
2969         warnings.
2970         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
2971         define NO_C_CTYPE_MACROS early.
2972
2973 2006-10-10  Bruno Haible  <bruno@clisp.org>
2974
2975         Make it possible to #define set_program_name to an alias.
2976         * lib/progname.c: Don't undefine set_program_name; instead, undefine
2977         ENABLE_RELOCATABLE early.
2978
2979 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
2980
2981         Port to Tandem NSK OSS, which has 64-bit signed int but at most
2982         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
2983         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
2984         More generally, don't assume that 64-bit signed int is available
2985         if unsigned int is, and vice versa.
2986         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
2987         unsigned symbols, not on their signed counterparts.
2988         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
2989         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
2990         (UINT64_C, UINTMAX_C):
2991         Likewise.
2992         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
2993         unsigned counterparts.
2994         (Have_long_long, Unsigned): New macros.
2995         (Int): Renamed from INT.
2996         (strtoimax): Use the new macros.
2997         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
2998         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
2999         * modules/inttypes (inttypes.h): Substitute
3000         HAVE_UNSIGNED_LONG_LONG_INT.
3001         * modules/stdint (stdint.h): Likewise.
3002         (Files): Add m4/ulonglong.m4.
3003
3004 2006-10-10  Bruno Haible  <bruno@clisp.org>
3005
3006         Fix a gcc -Wshadow warning.
3007         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
3008         to 'bucket'.
3009         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
3010         gl_linked_indexof_from_to): Likewise.
3011         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
3012         Likewise.
3013         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
3014         Likewise.
3015         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
3016         Reported by Eric Blake.
3017
3018 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
3019
3020         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
3021         for NetBSD.  Problem reported by Bruno Haible.
3022
3023 2006-10-09  Jim Meyering  <jim@meyering.net>
3024
3025         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
3026         Patch from Bruno Haible.
3027
3028 2006-10-09  Jim Meyering  <jim@meyering.net>
3029
3030         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
3031         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
3032         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
3033
3034 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
3035
3036         Don't include <config.h> twice; this doesn't work in some cases,
3037         e.g., when config.h has "#define intmax_t long long int" and
3038         we include <config.h>, <inttypes.h>, <config.h> in that order.
3039         Problem reported by Matthew Woehlke in:
3040         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
3041         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
3042         * lib/fts-cycle.c: Don't include config.h.
3043         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
3044         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
3045         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
3046         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
3047         inttypes.h.
3048         * lib/xstrtoumax.c: Likewise.
3049         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
3050         __strtol and the like, so that this module is more like its siblings.
3051         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
3052         Remove; no longer needed now that we assume gnulib inttypes.h.
3053
3054 2006-10-08  Bruno Haible  <bruno@clisp.org>
3055
3056         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
3057         option.
3058
3059 2006-10-07  Jim Meyering  <jim@meyering.net>
3060
3061         * modules/inttypes (inttypes.h): Revert what seems to have been
3062         an inadvertent part of today's change: use "|", not "/" in the
3063         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
3064
3065 2006-10-07  Bruno Haible  <bruno@clisp.org>
3066
3067         * modules/sublist: New file.
3068
3069 2006-10-07  Bruno Haible  <bruno@clisp.org>
3070
3071         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
3072         * modules/argz (argz.h): Likewise.
3073         * modules/arpa_inet (arpa/inet.h): Likewise.
3074         * modules/byteswap (byteswap.h): Likewise.
3075         * modules/configmake (configmake.h): Likewise.
3076         * modules/fcntl (fcntl.h): Likewise.
3077         * modules/fnmatch (fnmatch.h): Likewise.
3078         * modules/getopt (getopt.h): Likewise.
3079         * modules/glob (glob.h): Likewise.
3080         * modules/inttypes (inttypes.h): Likewise.
3081         * modules/netinet_in (netinet/in.h): Likewise.
3082         * modules/poll (poll.h): Likewise.
3083         * modules/stdbool (stdbool.h): Likewise.
3084         * modules/stdint (stdint.h): Likewise.
3085         * modules/sys_select (sys/select.h): Likewise.
3086         * modules/sys_socket (sys/socket.h): Likewise.
3087         * modules/sys_stat (sys/stat.h): Likewise.
3088         * modules/sysexits (sysexits.h): Likewise.
3089         * modules/unistd (unistd.h): Likewise.
3090         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3091         Add a "DO NOT EDIT" comment to the generated file.
3092         (func_import): Likewise for gnulib-comp.m4.
3093
3094 2006-10-07  Bruno Haible  <bruno@clisp.org>
3095
3096         * lib/gl_sublist.h: New file.
3097         * lib/gl_sublist.c: New file.
3098
3099 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
3100
3101         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
3102         name (relative to the original working directory) and the file
3103         name component (relative to the temporary working directory).  All
3104         callers changed.
3105         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
3106         * lib/mkdir-p.c (make_dir_parents): Likewise.
3107         * lib/mkdir-p.h (make_dir_parents): Likewise.
3108
3109 2006-10-06  Eric Blake  <ebb9@byu.net>
3110
3111         Define several macros for use by the clean-temp module.
3112         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
3113         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
3114         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
3115
3116         * lib/clean-temp.h (close_stream_temp): New declaration.
3117         * lib/clean-temp.c (includes): Pull in headers according to what
3118         other modules are in use.
3119         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
3120
3121 2006-10-06  Bruno Haible  <bruno@clisp.org>
3122
3123         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
3124         instead of fopen, fwriteerror.
3125
3126 2006-10-06  Bruno Haible  <bruno@clisp.org>
3127
3128         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
3129         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
3130         int.
3131         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
3132         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
3133         Return an error indicator.
3134         Suggested by Eric Blake.
3135
3136 2006-10-06  Bruno Haible  <bruno@clisp.org>
3137
3138         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
3139         Reported by Eric Blake.
3140
3141 2006-10-06  Bruno Haible  <bruno@clisp.org>
3142
3143         * modules/closeout (Description): Mention stderr too.
3144
3145 2006-10-06  Bruno Haible  <bruno@clisp.org>
3146         and Paul Eggert  <eggert@cs.ucla.edu>
3147
3148         * lib/closeout.c (close_stdout): Also close stderr.
3149         * lib/closeout.h: Update comment.
3150
3151 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
3152
3153         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
3154         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
3155         * lib/dirchownmod.c: Include lchown.h.
3156         * lib/lchown.c: Don't include files that lchown.h now includes.
3157         Don't declare chown, since lchown.h now does that.
3158         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
3159         (lchown): Define to rpl_chown if lchown is declared but
3160         does not exist.  Declare using a prototype if lchown is not
3161         declared.  Add a copyright notice.
3162         * lib/mkstemp.h: Include <unistd.h>.
3163         * lib/openat.c: Include lchown.h.
3164
3165         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
3166         we now test for that separately.
3167         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
3168         rather than O_NOFOLLOW, when testing whether it's possible to
3169         avoid a race condition reliably.
3170         * lib/savewd.c (savewd_chdir): Likewise.
3171
3172         Remove macros that are no longer needed now that stdint.h is
3173         reliable.
3174         * lib/fsusage.c (UINTMAX_MAX): Remove.
3175         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
3176         * lib/utimecmp.c (SIZE_MAX): Remove.
3177
3178         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
3179
3180         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
3181         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
3182         O_NOATIME works.
3183
3184 2006-10-05  Bruno Haible  <bruno@clisp.org>
3185
3186         * lib/gl_list.h (gl_sortedlist_search_from_to,
3187         gl_sortedlist_indexof_from_to): New declarations.
3188         (gl_list_implementation): New fields sortedlist_search_from_to,
3189         sortedlist_indexof_from_to.
3190         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
3191         inline functions.
3192         * lib/gl_list.c (gl_sortedlist_search_from_to,
3193         gl_sortedlist_indexof_from_to): New functions.
3194         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
3195         function.
3196         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
3197         (gl_array_sortedlist_search_from_to): New function.
3198         (gl_array_list_implementation): Update.
3199         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
3200         function.
3201         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
3202         (gl_carray_sortedlist_search_from_to): New function.
3203         (gl_carray_list_implementation): Update.
3204         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
3205         gl_linked_sortedlist_indexof_from_to): New functions.
3206         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
3207         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
3208         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
3209         gl_tree_sortedlist_indexof_from_to): New functions.
3210         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
3211         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
3212         Update.
3213         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
3214         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
3215         Update.
3216
3217 2006-10-05  Bruno Haible  <bruno@clisp.org>
3218
3219         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
3220         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
3221         (struct gl_list_implementation): Add fields search_from_to,
3222         indexof_from_to. Remove fields search, indexof.
3223         (gl_list_search): Use the search_from_to method.
3224         (gl_list_search_from, gl_list_search_from_to): New functions.
3225         (gl_list_indexof): Use the indexof_from_to method.
3226         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
3227         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
3228         (gl_list_search_from, gl_list_search_from_to): New functions.
3229         (gl_list_indexof): Use the indexof_from_to method.
3230         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
3231         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
3232         gl_array_indexof. Add start_index, end_index arguments.
3233         (gl_array_search_from_to): Renamed from gl_array_search. Add
3234         start_index, end_index arguments.
3235         (gl_array_remove, gl_array_list_implementation): Update.
3236         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
3237         gl_carray_indexof. Add start_index, end_index arguments.
3238         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
3239         start_index, end_index arguments.
3240         (gl_carray_remove, gl_carray_list_implementation): Update.
3241         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
3242         gl_linked_search. Add start_index, end_index arguments.
3243         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
3244         start_index, end_index arguments.
3245         (gl_linked_remove): Update.
3246         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
3247         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
3248         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
3249         field to 'size_t'.
3250         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
3251         gl_tree_search. Add start_index, end_index arguments.
3252         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
3253         start_index, end_index arguments.
3254         (gl_tree_remove): Update.
3255         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
3256         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
3257         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
3258         function.
3259         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
3260         gl_tree_search. Add start_index, end_index arguments.
3261         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
3262         start_index, end_index arguments.
3263         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
3264         Update.
3265         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
3266
3267 2006-10-05  Bruno Haible  <bruno@clisp.org>
3268
3269         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
3270
3271         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
3272         fwriteerror_temp): New declarations.
3273         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
3274         (descriptors): New variable.
3275         (cleanup): First, close the descriptors.
3276         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
3277         fclose_temp, fwriteerror_temp): New functions.
3278
3279 2006-10-04  Jim Meyering  <jim@meyering.net>
3280
3281         * lib/fts.c (fts_open): Tiny comment change.
3282
3283 2006-10-04  Bruno Haible  <bruno@clisp.org>
3284
3285         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
3286         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
3287         gl_LOCK_BODY.
3288         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
3289         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
3290         gl_LOCK_EARLY_BODY.
3291         (gl_LOCK): Require gl_LOCK_BODY.
3292
3293 2006-10-04  Bruno Haible  <bruno@clisp.org>
3294
3295         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
3296         (gl_oset_search_atleast): New declaration.
3297         (struct gl_oset_implementation): Add field 'search_atleast'.
3298         (gl_oset_search_atleast): New inline function.
3299         * lib/gl_oset.c (gl_oset_search_atleast): New function.
3300         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
3301         (gl_array_oset_implementation): Update.
3302         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
3303         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
3304         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
3305
3306 2006-10-04  Bruno Haible  <bruno@clisp.org>
3307
3308         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
3309
3310 2006-10-03  Bruno Haible  <bruno@clisp.org>
3311
3312         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
3313         from gl_avltreehash_list_implementation.
3314
3315 2006-10-03  Bruno Haible  <bruno@clisp.org>
3316
3317         * lib/gl_oset.c (gl_oset_add): Fix return type.
3318
3319 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
3320
3321         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
3322
3323 2006-10-02  Eric Blake  <ebb9@byu.net>
3324
3325         * modules/strnlen (Depends-on): Add extensions.
3326
3327 2006-10-02  Eric Blake  <ebb9@byu.net>
3328
3329         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
3330         definition in 2.60+.
3331
3332 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
3333
3334         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
3335         checks.
3336
3337 2006-10-02  Bruno Haible  <bruno@clisp.org>
3338
3339         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
3340         to the AUTOMAKE_OPTIONS.
3341         Reported by Jim Meyering.
3342
3343 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
3344
3345         Work around bug in Solaris 10 /proc file system:
3346         /proc/self/fd/NNN/.. isn't the parent directory of
3347         the directory whose file descriptor is NNN.  This needs to
3348         be worked around at run time, not compile time, since a
3349         program might be built on Solaris 8, where things work, and
3350         run on Solaris 10.
3351         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
3352         to use the following interface instead:
3353         (OPENAT_BUFFER_SIZE): New macro.
3354         (openat_proc_name): New function.
3355         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
3356         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
3357         Likewise.
3358         * lib/openat-proc.c: New file.
3359         * modules/openat (Files): Add lib/openat-proc.c.
3360         (Depends-on): Add same-inode, stdbool.
3361         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
3362
3363 2006-09-29  Bruno Haible  <bruno@clisp.org>
3364
3365         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
3366         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
3367         argument. Set stdout_closed before testing for ferror, not after.
3368         (fwriteerror, fwriteerror_no_ebadf): New functions.
3369
3370 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3371
3372         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
3373
3374 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
3375
3376         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
3377         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
3378
3379 2006-09-28  Jim Meyering  <jim@meyering.net>
3380
3381         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
3382         Include <unistd.h>.
3383
3384 2006-09-28  Bruno Haible  <bruno@clisp.org>
3385
3386         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
3387         * modules/linkedhash-list (Depends-on): Likewise.
3388         * modules/rbtreehash-list (Depends-on): Likewise.
3389
3390 2006-09-28  Bruno Haible  <bruno@clisp.org>
3391
3392         * lib/strndup.h: Simplify the redefinition of strndup.
3393         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
3394         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
3395
3396 2006-09-28  Bruno Haible  <bruno@clisp.org>
3397
3398         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
3399         * lib/gl_linkedhash_list.c: Likewise.
3400         * lib/gl_rbtreehash_list.c: Likewise.
3401
3402 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
3403
3404         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
3405         getaddrinfo.
3406
3407         * lib/__fpending.h: Don't include <stdio_ext.h> unless
3408         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
3409         it causes <stdio_ext.h> to cause a compile-time error.
3410         Problem reported by Nelson H. F. Beebe.
3411         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
3412         of HAVE_DECL___PENDING.
3413
3414         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
3415         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
3416         declaration.
3417
3418 2006-09-27  Jim Meyering  <jim@meyering.net>
3419
3420         This file could end up with a definition for a function
3421         named __strndup, rather than rpl_strndup on a system with
3422         incomplete weak_alias support.
3423         * lib/strndup.c (strndup): Rename from __strndup.
3424         Remove #defines that used to map __strndup to strndup.
3425         Don't use K&R prototypes.
3426         Remove LIBC-related code, since this file is not sync'd with glibc.
3427         * lib/strndup.h: Revamp, accordingly.
3428         * m4/strndup.m4: Modernize.
3429
3430 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3431
3432         * modules/savewd (Depends-on): Add 'raise'.
3433         * lib/savewd.c: Include <signal.h>, for 'raise'.
3434
3435 2006-09-26  Jim Meyering  <jim@meyering.net>
3436
3437         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
3438         when we detect Darwin 8.7.0's acl_get_file bug.
3439         Rearrange to perform the new (below) run-test while $LIBS
3440         contains any acl-related library.  Set USE_ACL at the end.
3441         (gl_ACL_GET_FILE): New function.
3442
3443 2006-09-26  Eric Blake  <ebb9@byu.net>
3444
3445         * lib/verror.c: Include <config.h> unconditionally.
3446
3447 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
3448
3449         * modules/clock-time (Maintainer): Add self.
3450         * modules/getlogin_r (Depends-on): Add extensions.
3451
3452 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3453
3454         * modules/clock-time: New module.
3455         * modules/nanosleep (Depends-on): Add clock-time.
3456         * modules/gethrxtime (Depends-on): Likewise.
3457         * modules/gettime (Depends-on): Likewise.
3458         * modules/settime (Depends-on): Likewise.
3459
3460         * modules/fts-lgpl: Depend on openat.
3461         * modules/mkancesdirs: Depend on savewd.
3462         * modules/mkdir-p: Likewise.
3463
3464 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3465
3466         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
3467
3468         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
3469         `gl_have_arbitrary_file_name_length_limit' to
3470         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
3471         actually works between configure runs.
3472
3473 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3474             Bruno Haible  <bruno@clisp.org>
3475
3476         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
3477
3478 2006-09-25  Jim Meyering  <jim@meyering.net>
3479
3480         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
3481         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
3482
3483 2006-09-25  Eric Blake  <ebb9@byu.net>
3484
3485         * gnulib-tool (func_import, func_create_testdir): Fix typos in
3486         exec's in 2006-09-18 patch when shuffling fds.
3487
3488 2006-09-25  Bruno Haible  <bruno@clisp.org>
3489
3490         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
3491         Reported by Jim Meyering.
3492
3493 2006-09-24  Jim Meyering  <jim@meyering.net>
3494
3495         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
3496         compare a pointer against a literal "0".  That caused failures with
3497         at least HP-UX's hpcc.
3498
3499 2006-09-22  Simon Josefsson  <jas@extundo.com>
3500
3501         * modules/gc-sha1:
3502         * modules/gc-md4:
3503         * modules/gc-hmac-sha1:
3504         * modules/gc-hmac-md5:
3505         * modules/gc-des:
3506         * modules/gc-arcfour: Distribute more files.
3507
3508 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3509
3510         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
3511         (gl_linked_iterator_from_to): Initialize struct completely.
3512         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
3513         (gl_tree_iterator_from_to): Likewise
3514         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
3515         * lib/gl_array_list.c [lint] (gl_array_iterator)
3516         (gl_array_iterator_from_to): Likewise.
3517         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
3518         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
3519         (gl_carray_iterator_from_to): Likewise.
3520
3521         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
3522         * lib/md4.c (md4_process_block): Remove unused variable.
3523         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
3524         parentheses for clarity.
3525
3526 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3527
3528         * modules/bison-i18n (Depends-on): Add gettext.
3529
3530 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3531
3532         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
3533         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
3534         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
3535         also add missing comma that caused broken test.
3536         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
3537         stdlib.h, for `abort'.
3538         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
3539         variables.
3540         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
3541         include unistd.h if present, for `rmdir'.
3542         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
3543         variables.
3544         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
3545         in the process include standard headers for prototypes.
3546         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
3547         gets declared on GNU/Linux.
3548         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
3549         unistd.h, for `rmdir'.
3550         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
3551
3552         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
3553         always true.
3554         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
3555
3556         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
3557
3558 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3559
3560         * gnulib-tool (func_version): Create output all at once.  This
3561         may help avoid triggering unnecessary SIGPIPEs, and at any
3562         rate it doesn't hurt.
3563
3564 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3565             Bruno Haible  <bruno@clisp.org>
3566
3567         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
3568         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
3569         * m4/signed.m4 (bh_C_SIGNED): Likewise.
3570
3571         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
3572         (gl_FUNC_VASPRINTF): Invoke it.
3573
3574 2006-09-22  Bruno Haible  <bruno@clisp.org>
3575
3576         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
3577         getloadavg.c as first argument.
3578
3579 2006-09-22  Bruno Haible  <bruno@clisp.org>
3580
3581         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
3582         at the beginning of the gl_INIT macro.
3583         * modules/getloadavg (configure.ac): Pass $gl_source_base to
3584         gl_GETLOADAVG.
3585
3586 2006-09-22  Bruno Haible  <bruno@clisp.org>
3587
3588         * gnulib-tool (func_create_megatestdir): Don't include the config-h
3589         module.
3590         Suggested by Ralf Wildenhues.
3591
3592 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
3593
3594         Import this patch from libc:
3595
3596         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
3597
3598         * lib/regex_internal.c (re_string_reconstruct): Handle
3599         offset < pstr->valid_raw_len && pstr->offsets_needed case.
3600         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
3601         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
3602         re_string_context_at.
3603
3604         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
3605         now requires it.
3606         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
3607         gl_REGEX now does it for us.
3608         (gl_REGEX): Add test taken from
3609         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
3610
3611         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
3612         Check that large offsets work.  Modernize Autoconf usages.
3613         Prefer "yes" to mean a good thing rather than a bad.
3614         Don't put "#define mkstemp" in config.h, as this might interfere
3615         with standard system headers that "#define mkstemp mkstemp64".
3616
3617         * modules/mkstemp (Depends-on): Add extensions, so that
3618         mkstemp is visible on some platforms.
3619         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
3620         (Include): Change to "mkstemp.h" from <stdlib.h>.
3621         (Files): Add mkstemp.h.
3622
3623         * lib/mkstemp.h: New file, since some standard headers
3624         #define mkstemp.
3625         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
3626         Include "mkstemp.h".
3627         Make the _LIBC code resemble glibc original more,
3628         e.g., use K&R style.
3629         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
3630         (mkstemp): Remove, since mkstemp.h does this for us.
3631         * lib/stdlib--.h: Include mkstemp.h.
3632
3633         Import this patch from libc:
3634
3635         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
3636
3637         * lib/tempname.c (__gen_tempname): Change attempts_min
3638         into a macro.  Use preprocessor to decide how to initialize
3639         attempts [Coverity CID 67].
3640
3641 2006-09-20  Bruno Haible  <bruno@clisp.org>
3642
3643         * lib/mkdtemp.c: Import from libc.
3644         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
3645                 * sysdeps/posix/tempname.c (__gen_tempname): Change
3646                 attempts_min into a macro.  Use preprocessor to decide how to
3647                 initialize attempts [Coverity CID 67].
3648         2001-11-27  Paul Eggert  <eggert@twinsun.com>
3649                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
3650                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
3651
3652 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3653
3654         * gnulib-tool (func_exit): New function, to allow to pass the
3655         exit status portably through the trap.  Use everywhere.
3656         (--help, --version): Signal a write error.
3657         (trap): catch SIGPIPE, for write errors.
3658         Exit at the end of the trap, with the correct exit status.
3659
3660 2006-09-19  Karl Berry  <karl@gnu.org>
3661
3662         * doc/gnulib.texi: note about the license texinfo files.
3663
3664 2006-09-19  Eric Blake  <ebb9@byu.net>
3665
3666         * gnulib-tool: Avoid space-tab.
3667
3668 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3669
3670         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
3671         that prevented coreutils 6.1 from building.  Problem reported
3672         by Petter Reinholdtsen.
3673
3674 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
3675
3676         * gnulib-tool (avoidlist): Fix typo that broke options like
3677         --avoid=lock that are used by coreutils bootstrap.
3678
3679 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
3680
3681         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
3682         more systematically.
3683
3684 2006-09-18  Jim Meyering  <jim@meyering.net>
3685
3686         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
3687
3688 2006-09-18  Bruno Haible  <bruno@clisp.org>
3689
3690         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
3691
3692 2006-09-18  Bruno Haible  <bruno@clisp.org>
3693
3694         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
3695         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
3696         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
3697         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
3698         * m4/gettext.m4: Require autoconf >= 2.52.
3699         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
3700         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
3701         of gl_cv_header_inttypes_h.
3702
3703 2006-09-18  Bruno Haible  <bruno@clisp.org>
3704
3705         * lib/javaversion.c: Include configmake.h.
3706
3707 2006-09-18  Bruno Haible  <bruno@clisp.org>
3708
3709         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
3710         avoid that the while loops be executed in a subshell.
3711
3712 2006-09-18  Bruno Haible  <bruno@clisp.org>
3713
3714         * MODULES.html.sh (func_module): Break long lines.
3715         Suggested by Bruce Korb <bkorb@gnu.org>.
3716
3717 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3718
3719         Speed up by a factor of 1.12.
3720         * gnulib-tool (nl): New variable.
3721         (func_import): Rewrite include directive extraction to only read each
3722         directive once.
3723
3724 2006-09-17  Bruno Haible  <bruno@clisp.org>
3725
3726         * modules/javaversion (Makefile.am): Remove DEFS setting.
3727         (Depends-on): Add configmake, for PKGDATADIR definition.
3728
3729 2006-09-17  Bruno Haible  <bruno@clisp.org>
3730
3731         * gnulib-tool (func_create_testdir): Rewrite all files at once.
3732
3733 2006-09-17  Bruno Haible  <bruno@clisp.org>
3734
3735         * gnulib-tool (func_append): New function, stolen from libtool.m4.
3736         (func_modules_transitive_closure, func_modules_add_dummy,
3737         func_modules_to_filelist, func_import, func_create_testdir,
3738         func_create_megatestdir, ...): Use it wherever possible.
3739         Suggested by Ralf Wildenhues.
3740
3741 2006-09-16  Karl Berry  <karl@gnu.org>
3742
3743         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
3744         to avoid sectioning errors.
3745         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
3746         [ifinfo]: blank line after @center-ed titles.
3747         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
3748         Spell FSF address consistently with others.
3749         (These changes approved by rms.)
3750
3751 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3752
3753         Speed up by a factor of 1.61.
3754         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
3755         already checked module names again.
3756
3757 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3758
3759         Speed up by a factor of 1.13.
3760         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
3761         for new_files, and the input to func_add_or_update.
3762
3763 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3764
3765         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
3766         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
3767
3768 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
3769
3770         * modules/mkancesdirs (Depends-on): Add fcntl.
3771         * modules/savewd: New file.
3772         * MODULES.html.sh (File system functions): Add savewd.
3773
3774         * modules/configmake (Makefile.am): Add support for the
3775         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
3776
3777 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
3778
3779         * m4/savewd.m4: New file.
3780
3781 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
3782
3783         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
3784         (dirchownmod): New arg FD.  All callers changed.
3785         Use FD rather than opening the directory ourself, as opening is
3786         now the caller's responsibility.
3787         * lib/dirchownmod.h: Likewise.
3788         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
3789         hosts that require <sys/types.h> before <sys/stat.h>.  Include
3790         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
3791         (test_dir): Remove.
3792         (mkancesdirs): Return length of prefix of FILE that has already
3793         been made, or -2 if there is a child doing the work.  Redo
3794         algorithm so that it is O(N) rather than O(N**2).  Optimize away
3795         ".", and treat ".." specially since it might stray back into
3796         already-created areas.  Use a subprocess if necessary.  New arg
3797         WD; all users changed.  MAKE_DIR function should now return 1
3798         if it creates a directory that is not readable.  Return -2 if
3799         a child process is spun off.
3800         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
3801         Adjust signature to match code.
3802         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
3803         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
3804         all users changed.
3805         * lib/savewd.c, lib/savewd.h: New files.
3806
3807 2006-09-15  Jim Meyering  <jim@meyering.net>
3808
3809         * modules/rename-dest-slash: New module.
3810         * MODULES.html.sh (posix_compat): Add it here.
3811
3812         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
3813
3814 2006-09-15  Jim Meyering  <jim@meyering.net>
3815
3816         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
3817         file.
3818
3819         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
3820
3821 2006-09-15  Jim Meyering  <jim@meyering.net>
3822
3823         * lib/rename-dest-slash.c (has_trailing_slash): Use
3824         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
3825         (rpl_rename_dest_slash): Perform the cheaper trailing slash
3826         test before testing whether SRC is a directory.
3827         Suggestions from Bruno Haible.
3828
3829         Avoid a warning about an unused variable.
3830         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
3831         into the #ifdef block where it's used.
3832
3833         * lib/rename-dest-slash.c: New file.
3834
3835 2006-09-14  Bruno Haible  <bruno@clisp.org>
3836
3837         * lib/allocsa.c: Include <config.h> unconditionally.
3838         * lib/asnprintf.c: Likewise.
3839         * lib/asprintf.c: Likewise.
3840         * lib/c-strcasecmp.c: Likewise.
3841         * lib/c-strcasestr.c: Likewise.
3842         * lib/c-strncasecmp.c: Likewise.
3843         * lib/c-strstr.c: Likewise.
3844         * lib/classpath.c: Likewise.
3845         * lib/clean-temp.c: Likewise.
3846         * lib/concatpath.c: Likewise.
3847         * lib/copy-file.c: Likewise.
3848         * lib/csharpcomp.c: Likewise.
3849         * lib/csharpexec.c: Likewise.
3850         * lib/execute.c: Likewise.
3851         * lib/fatal-signal.c: Likewise.
3852         * lib/findprog.c: Likewise.
3853         * lib/fwriteerror.c: Likewise.
3854         * lib/gl_array_list.c: Likewise.
3855         * lib/gl_array_oset.c: Likewise.
3856         * lib/gl_avltree_list.c: Likewise.
3857         * lib/gl_avltree_oset.c: Likewise.
3858         * lib/gl_avltreehash_list.c: Likewise.
3859         * lib/gl_carray_list.c: Likewise.
3860         * lib/gl_linked_list.c: Likewise.
3861         * lib/gl_linkedhash_list.c: Likewise.
3862         * lib/gl_list.c: Likewise.
3863         * lib/gl_oset.c: Likewise.
3864         * lib/gl_rbtree_list.c: Likewise.
3865         * lib/gl_rbtree_oset.c: Likewise.
3866         * lib/gl_rbtreehash_list.c: Likewise.
3867         * lib/imaxabs.c: Likewise.
3868         * lib/imaxdiv.c: Likewise.
3869         * lib/javacomp.c: Likewise.
3870         * lib/javaexec.c: Likewise.
3871         * lib/javaversion.c: Likewise.
3872         * lib/linebreak.c: Likewise.
3873         * lib/localcharset.c: Likewise.
3874         * lib/lock.c: Likewise.
3875         * lib/mbchar.c: Likewise.
3876         * lib/mbswidth.c: Likewise.
3877         * lib/mkdtemp.c: Likewise.
3878         * lib/pipe.c: Likewise.
3879         * lib/printf-args.c: Likewise.
3880         * lib/printf-parse.c: Likewise.
3881         * lib/progname.c: Likewise.
3882         * lib/progreloc.c: Likewise.
3883         * lib/readlink.c: Likewise.
3884         * lib/sh-quote.c: Likewise.
3885         * lib/stpcpy.c: Likewise.
3886         * lib/stpncpy.c: Likewise.
3887         * lib/strcasecmp.c: Likewise.
3888         * lib/strcasestr.c: Likewise.
3889         * lib/strcspn.c: Likewise.
3890         * lib/striconv.c: Likewise.
3891         * lib/strncasecmp.c: Likewise.
3892         * lib/strnlen1.c: Likewise.
3893         * lib/strstr.c: Likewise.
3894         * lib/strtok_r.c: Likewise.
3895         * lib/tls.c: Likewise.
3896         * lib/tmpdir.c: Likewise.
3897         * lib/unicodeio.c: Likewise.
3898         * lib/unsetenv.c: Likewise.
3899         * lib/vasnprintf.c: Likewise.
3900         * lib/vasprintf.c: Likewise.
3901         * lib/wait-process.c: Likewise.
3902         * lib/xallocsa.c: Likewise.
3903         * lib/xsetenv.c: Likewise.
3904         * lib/xstriconv.c: Likewise.
3905
3906 2006-09-13  Simon Josefsson  <jas@extundo.com>
3907
3908         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
3909         that internally, suggested by Ralf Wildenhues
3910         <Ralf.Wildenhues@gmx.de>.
3911
3912 2006-09-13  Simon Josefsson  <jas@extundo.com>
3913
3914         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
3915         @LIBOBJS@.
3916         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
3917
3918 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3919
3920         * lib/_fpending.c: Include <config.h> unconditionally, since we no
3921         longer worry about uses that don't define HAVE_CONFIG_H.
3922         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
3923         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
3924         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
3925         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
3926         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
3927         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
3928         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
3929         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
3930         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
3931         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
3932         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
3933         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
3934         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
3935         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
3936         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
3937         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
3938         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
3939         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
3940         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
3941         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
3942         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
3943         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
3944         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
3945         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
3946         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
3947         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
3948         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
3949         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
3950         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
3951         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
3952         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
3953         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
3954         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
3955         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
3956         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
3957         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
3958         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
3959         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
3960         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
3961         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
3962         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
3963         Likewise.
3964
3965 2006-09-13  Eric Blake  <ebb9@byu.net>
3966
3967         * lib/getopt.c: Fix typo in last commit.
3968
3969 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
3970
3971         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
3972         dgettext.
3973
3974 2006-09-12  Jim Meyering  <jim@meyering.net>
3975
3976         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
3977         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
3978         Reported by Nelson H. F. Beebe.
3979
3980 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
3981
3982         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
3983         program_invocation_name and program_invocation_short_name are
3984         initialized.
3985         * lib/argp-namefrob.h: Move declarations of program_invocation_name
3986         and program_invocation_short_name to argp.h, so they are visible
3987         to user programs.
3988         * lib/argp.h: Likewise
3989
3990 2006-09-10  Bruno Haible  <bruno@clisp.org>
3991
3992         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
3993         m4/inttypes_h.m4, m4/uintmax_t.m4.
3994
3995 2006-09-10  Bruno Haible  <bruno@clisp.org>
3996
3997         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
3998         gl_AC_TYPE_UINTMAX_T.
3999
4000 2006-09-10  Bruno Haible  <bruno@clisp.org>
4001
4002         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
4003
4004 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
4005
4006         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
4007         convention.  Text proposed by Bruno Haible.
4008         (struct argp_option): Document the use of N_() wrappers.
4009
4010         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
4011         '\v', and translate the two parts separately, instead of feeding
4012         the whole string to gettext.  This allows to exclude
4013         '\v' from the strings visible to the translator by writing doc
4014         strings as N_("..") "\v" N_("..").
4015
4016 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
4017
4018         * config/srclist.txt: Undo latest change; the bug was fixed.
4019
4020 2006-09-09  Bruno Haible  <bruno@clisp.org>
4021
4022         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
4023         assignments if building a library without libtool.
4024         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
4025         in func_emit_lib_Makefile_am.
4026         (func_import): When building a static library libfoo.a, arrange to
4027         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
4028         (func_create_testdir): Likewise.
4029         * modules/gc (configure.ac, Makefile.am): If building statically,
4030         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
4031         * modules/iconvme (configure.ac, Makefile.am): Likewise.
4032         * modules/striconv (configure.ac, Makefile.am): Likewise.
4033         Based on a suggestion by Ralf Wildenhues.
4034
4035 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4036
4037         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
4038         Check for unistd.h too, since Autoconf doesn't assume POSIX.
4039         Also:
4040
4041         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4042         Add year_2050_test to catch glibc bug 2821
4043         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
4044
4045         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4046         Prefer #ifdef to #if.
4047
4048         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
4049         Return from 'main' instead of calling 'exit'.
4050
4051 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4052
4053         * lib/mktime.c (guess_time_tm): Fix bug where mktime
4054         returned the maximum time_t value rather than (time_t) -1.
4055         Problem originally reported by William Bardwell
4056         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
4057
4058         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
4059         Moved to here ...
4060         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
4061         ... from here.
4062
4063 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4064
4065         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
4066         2821 is fixed.
4067
4068 2006-09-08  Jim Meyering  <jim@meyering.net>
4069
4070         Don't make generated files read-only.  That would bother too many
4071         people.  However, do retain the ability to work when targets are
4072         read-only: remove the destination and temporary files before writing
4073         them (when generated via sed or echo), or by using the -f option for
4074         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
4075         * modules/alloca-opt, modules/argz, modules/arpa_inet:
4076         * modules/byteswap, modules/configmake, modules/fcntl:
4077         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
4078         * modules/localcharset, modules/netinet_in, modules/poll:
4079         * modules/stdbool, modules/stdint, modules/sys_select:
4080         * modules/sys_socket, modules/sys_stat, modules/sysexits:
4081
4082 2006-09-08  Jim Meyering  <jim@meyering.net>
4083
4084         Avoid new build failure on FreeBSD 6.0.
4085         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
4086         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
4087         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
4088
4089 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4090
4091         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
4092
4093 2006-09-07  Jim Meyering  <jim@meyering.net>
4094
4095         Fix global typo in last change: use chmod u-w, not chmod u-x.
4096         Spotted by Paul Eggert and Bruce Korb.
4097         * modules/alloca-opt, modules/argz, modules/arpa_inet:
4098         * modules/byteswap, modules/configmake, modules/fcntl:
4099         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
4100         * modules/localcharset, modules/netinet_in, modules/poll:
4101         * modules/stdbool, modules/stdint, modules/sys_select:
4102         * modules/sys_socket, modules/sys_stat, modules/sysexits:
4103
4104 2006-09-06  Jim Meyering  <jim@meyering.net>
4105
4106         Make generated files be read-only.
4107         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
4108         Ensure that each generated file is now read-only.
4109         * modules/argz: Likewise.
4110         * modules/arpa_inet: Likewise.
4111         * modules/byteswap: Likewise.
4112         * modules/configmake: Likewise.
4113         * modules/fcntl: Likewise.
4114         * modules/fnmatch: Likewise.
4115         * modules/getopt: Likewise.
4116         * modules/glob: Likewise.
4117         * modules/inttypes: Likewise.
4118         * modules/netinet_in: Likewise.
4119         * modules/poll: Likewise.
4120         * modules/stdbool: Likewise.
4121         * modules/stdint: Likewise.
4122         * modules/sys_select: Likewise.
4123         * modules/sys_socket: Likewise.
4124         * modules/sys_stat: Likewise.
4125         * modules/sysexits: Likewise.
4126         * modules/localcharset: Same as above, but continue using temporary
4127         file named "t-$@" (why different?) rather than the "$@-t" used
4128         everywhere else.
4129
4130         * modules/sysexits (Makefile.am): Replace literal occurrences
4131         of "sysexit.h" more readable, and more consistent, "$@".
4132
4133 2006-09-06  Bruno Haible  <bruno@clisp.org>
4134
4135         * modules/striconv: New file.
4136         * modules/xstriconv: New file.
4137         * MODULES.html.sh (Internationalization functions): Add striconv,
4138         xstriconv.
4139
4140 2006-09-06  Bruno Haible  <bruno@clisp.org>
4141
4142         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
4143         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
4144         not using libtool correctly.
4145
4146 2006-09-06  Bruno Haible  <bruno@clisp.org>
4147
4148         * lib/striconv.h: New file.
4149         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
4150         iconvstring.c.
4151         * lib/xstriconv.h: New file.
4152         * lib/xstriconv.c: New file.
4153
4154 2006-09-06  Bruno Haible  <bruno@clisp.org>
4155
4156         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
4157         lib_..._LDFLAGS.
4158
4159 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4160
4161         * lib/argz_.h: Sync from Libtool.
4162
4163         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
4164                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4165
4166         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
4167
4168 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
4169
4170         * modules/trim: New file.
4171
4172 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
4173
4174         * lib/trim.h: New file.
4175         * lib/trim.c: New file.
4176
4177 2006-09-05  Bruno Haible  <bruno@clisp.org>
4178
4179         * MODULES.html.sh (String handling): Add trim.
4180
4181 2006-09-04  Karl Berry  <karl@gnu.org>
4182
4183         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
4184         until next release.
4185
4186 2006-09-03  Bruno Haible  <bruno@clisp.org>
4187
4188         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
4189         correctly.
4190
4191 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4192
4193         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
4194         not gl_GETLOADAVG.  Omit unneeded semicolons.
4195         Problems reported by Ralf Wildenhues in
4196         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
4197         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
4198         at the end, which is the usual gnulib style.
4199
4200         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
4201         of doing all the work ourselves.
4202         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
4203         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
4204
4205 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4206
4207         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
4208         Problem reported by Ralf Wildenhues in
4209         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
4210
4211         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
4212         HAVE_STRUCT_STATFS_F_FSTYPENAME.
4213
4214 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4215
4216         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
4217         yesterday's patch by changing test -n to test -z.
4218
4219 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4220
4221         * modules/getloadavg (Files): Add m4/getloadavg.m4.
4222         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
4223         the former is now obsolescent.
4224
4225         * modules/chdir-long (Depends-on): Add fcntl.
4226
4227 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4228
4229         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
4230         obsolescent, and programs should use gnulib instead.
4231         * m4/getloadavg.m4: New file, with contents taken from Autoconf
4232         but with prefixes changed.
4233
4234 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4235
4236         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
4237         or stdbool.h, because they might not exist while configuring.
4238
4239         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
4240         Don't include unistd.h or limits.h; not needed, since chdir-long.h
4241         does that for us.
4242         (O_DIRECTORY): Remove.
4243
4244 2006-08-31  Eric Blake  <ebb9@byu.net>
4245
4246         * gnulib-tool: Don't let emacs change spaces to TAB.
4247
4248 2006-08-31  Bruno Haible  <bruno@clisp.org>
4249
4250         * gnulib-tool: When calling func_import more than once, do it in a
4251         subshell.
4252         Reported by Eric Blake <ebb9@byu.net>.
4253
4254 2006-08-31  Bruno Haible  <bruno@clisp.org>
4255
4256         * gnulib-tool (nl): Remove variable.
4257         (sed_transform_lib_file): Use more robust test for config-h module.
4258         (func_import): Fix typo in 2006-08-25 patch.
4259
4260 2006-08-31  Bruno Haible  <bruno@clisp.org>
4261
4262         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
4263         specified, augment Makefile.am variables instead of assigning them.
4264
4265 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4266
4267         Work around a bug in both the Linux and SunOS 64-bit kernels:
4268         nanosleep mishandles sleeps for longer than 2**31 seconds.
4269         Problem reported by Frank v Waveren in
4270         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
4271         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
4272         Check for nanosleep bug.
4273         (LIB_NANOSLEEP): Append clock_gettime library if needed.
4274
4275 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4276
4277         Work around a bug in both the Linux and SunOS 64-bit kernels:
4278         nanosleep mishandles sleeps for longer than 2**31 seconds.
4279         Problem reported by Frank v Waveren in
4280         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
4281         * lib/nanosleep.c (BILLION): New constant.
4282         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
4283         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
4284         implementation.
4285
4286 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4287
4288         * modules/nanosleep (Depends-on): Add gettime.
4289
4290 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4291         and Simon Josefsson  <jas@extundo.com>
4292         and Oskar Liljeblad  <oskar@osk.mine.nu>
4293
4294         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
4295         * gnulib-tool (func_import): New license type 'unmodifiable license
4296         text'.
4297         * modules/fdl: Use it.  Longer description.
4298         * module/gpl, module/lgpl: New files.
4299
4300 2006-08-30  Jim Meyering  <jim@meyering.net>
4301
4302         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
4303         shadowing the parameter.
4304
4305 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4306
4307         Sync from Libtool:
4308
4309         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4310
4311         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
4312         sharing with gnulib.  Report by Eric Blake.
4313
4314 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4315
4316         * modules/isapipe: New file.
4317         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
4318
4319 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4320
4321         * modules/configmake (Makefile.am): Add a comment, and omit
4322         the CONFIGMAKE_ prefix from generated macro names.  Suggested
4323         by Bruno Haible.
4324
4325 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4326
4327         * m4/isapipe.m4: New file.
4328
4329 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4330
4331         * lib/isapipe.c, lib/isapipe.h: New files.
4332
4333 2006-08-29  Jim Meyering  <jim@meyering.net>
4334
4335         * modules/configmake (Makefile.am): Make configmake.h depend on
4336         Makefile.  Otherwise, a stale configmake.h could hang around.
4337
4338 2006-08-29  Eric Blake  <ebb9@byu.net>
4339
4340         * lib/error.c (error_at_line, print_errno_message): Match libc, after
4341         resolution of upstream bug 3044.
4342
4343 2006-08-29  Bruno Haible  <bruno@clisp.org>
4344
4345         * modules/localcharset (Depends-on): Add configmake.
4346         (Makefile.am): Remove setting of LIBDIR through DEFS.
4347
4348 2006-08-29  Bruno Haible  <bruno@clisp.org>
4349
4350         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
4351         defined.
4352
4353 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4354
4355         * modules/fcntl: New file.
4356         * modules/chdir-safer (Depends-on): Add fcntl.
4357         * modules/fts: Likewise.
4358         * modules/mkdir-p: Likewise.
4359
4360         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
4361         This undoes the most recent change, since we're now addressing the
4362         problem in a different way.
4363
4364         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
4365         into output, since the output might be called Makefile.am even
4366         if $makefile_name is something different.
4367         (func_import): Use $makefile_am rather than
4368         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
4369         empty.
4370
4371         * modules/inttypes (Files): Add m4/inttypes-h.m4.
4372
4373 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4374
4375         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
4376         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
4377         recent change to stdint.m4, since we're now addressing the problem in a
4378         different way.
4379
4380 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4381
4382         * m4/fcntl_h.m4: New file.
4383
4384 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4385
4386         * lib/fcntl_.h: New file.
4387         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
4388         the fcntl module.
4389         * lib/dirchownmod.c: Likewise.
4390         * lib/fts.c: Likewise.
4391
4392         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
4393         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
4394         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
4395         just before including <inttypes.h>, to avoid circular inclusion.
4396
4397 2006-08-28  Jim Meyering  <jim@meyering.net>
4398
4399         * doc/visibility.texi: Actually read and correct the grammar of the
4400         sentence affected by yesterday's change.
4401
4402 2006-08-28  Eric Blake  <ebb9@byu.net>
4403
4404         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
4405         needs wrapper.
4406
4407 2006-08-28  Eric Blake  <ebb9@byu.net>
4408
4409         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
4410
4411 2006-08-28  Eric Blake  <ebb9@byu.net>
4412
4413         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
4414
4415 2006-08-28  Bruno Haible  <bruno@clisp.org>
4416
4417         * modules/c-strstr: New file, from GNU gettext.
4418         * MODULES.html.sh (String handling): Add c-strstr.
4419
4420 2006-08-28  Bruno Haible  <bruno@clisp.org>
4421
4422         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
4423         macros.
4424         Reported by Eric Blake.
4425
4426 2006-08-28  Bruno Haible  <bruno@clisp.org>
4427
4428         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
4429         (VASNPRINTF): Return a string of length > INT_MAX without failing.
4430         * lib/vasprintf.c: Include errno.h, limits.h.
4431         (EOVERFLOW): New fallback definition.
4432         (vasprintf): Test here whether the string length is > INT_MAX.
4433         * lib/vsnprintf.c: Include errno.h, limits.h.
4434         (EOVERFLOW): New fallback definition.
4435         (vsnprintf): Fix bug when generated string was too long for the buffer.
4436         Test here whether the string length is > INT_MAX.
4437
4438 2006-08-28  Bruno Haible  <bruno@clisp.org>
4439
4440         * lib/inttypes_.h (SCNX*): Remove definitions.
4441         Reported by Eric Blake.
4442
4443 2006-08-28  Bruno Haible  <bruno@clisp.org>
4444
4445         * lib/c-strstr.h: New file, from GNU gettext.
4446         * lib/c-strstr.c: New file, from GNU gettext.
4447
4448 2006-08-28  Bruno Haible  <bruno@clisp.org>
4449
4450         * gnulib-tool: Reorder some statements.
4451
4452 2006-08-28  Bruno Haible  <bruno@clisp.org>
4453
4454         * gnulib-tool: New option --makefile-name.
4455         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
4456         $makefile_name.
4457         (func_import): Write $makefile_name to the cache file, and read it from
4458         there unless explicitly specified. Use $makefile_name as file name
4459         instead of Makefile.am. Adjust the recommendations accordingly.
4460
4461 2006-08-28  Bruno Haible  <bruno@clisp.org>
4462
4463         * gnulib-tool (func_verify_module): Check against misapplying patch.
4464
4465 2006-08-28  Bruno Haible  <bruno@clisp.org>
4466
4467         * gnulib-tool (func_relativize, func_relconcat): New functions.
4468         Give an error if --local-dir is given with --update.
4469         Remove trailing slashes from $local_gnulib_dir.
4470         (func_import): Store the relativized $local_gnulib_dir in
4471         gnulib-cache.m4, and read it from there if not specified explicitly.
4472
4473 2006-08-28  Bruno Haible  <bruno@clisp.org>
4474
4475         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
4476         is the current directory. Respect also $local_gnulib_dir.
4477
4478 2006-08-28  Bruno Haible  <bruno@clisp.org>
4479             Simon Josefsson  <jas@extundo.com>
4480
4481         BeOS portability.
4482         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
4483
4484 2006-08-27  Jim Meyering  <jim@meyering.net>
4485
4486         * doc/visibility.texi: Remove duplicate word: "pointer".
4487
4488 2006-08-26  Bruno Haible  <bruno@clisp.org>
4489
4490         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
4491         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
4492         (Makefile.am): Create inttypes.h from inttypes_.h.
4493         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
4494
4495         * modules/imaxabs: New file.
4496
4497         * modules/imaxdiv: New file.
4498
4499 2006-08-26  Bruno Haible  <bruno@clisp.org>
4500
4501         * m4/inttypes.m4: New file.
4502         * m4/_inttypes_h.m4: Remove file.
4503         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
4504         PRI_MACROS_BROKEN.
4505         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
4506
4507         * m4/imaxabs.m4: New file.
4508
4509         * m4/imaxdiv.m4: New file.
4510
4511 2006-08-26  Bruno Haible  <bruno@clisp.org>
4512
4513         * lib/inttypes_.h: New file.
4514         * lib/inttypes.h: Remove file.
4515         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
4516
4517         * lib/imaxabs.c: New file.
4518
4519         * lib/imaxdiv.c: New file.
4520
4521 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
4522
4523         New config-h module, so that "make" output needn't be cluttered
4524         by -DHAVE_CONFIG_H.
4525         * MODULES.html.sh (Support for building libraries and executables):
4526         Add config-h.
4527         * modules/config-h: New file.
4528         * gnulib-tool (nl, sed_transform_lib_file): New vars.
4529         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
4530         the config-h module is used.
4531
4532         New configmake module, so that "make" output needn't be cluttered
4533         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
4534         * MODULES.html.sh (Support for building libraries and executables):
4535         Add configmake.
4536         * modules/configmake: New file.
4537
4538 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
4539
4540         * m4/config-h.m4: New file.
4541
4542 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4543
4544         * config/srclist.txt: Add elisp-comp.
4545
4546 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4547
4548         * MODULES.html.sh (Support for building libraries and executables):
4549         Add elisp-comp.
4550         * build-aux/elisp-comp: New file.
4551         * modules/elisp-comp: New file.
4552
4553 2006-08-24  Bruno Haible  <bruno@clisp.org>
4554
4555         * gnulib-tool (func_create_testdir): Use non-default values of
4556         sourcebase and m4base.
4557
4558 2006-08-24  Bruno Haible  <bruno@clisp.org>
4559
4560         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
4561         HTML structure.
4562
4563 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4564
4565         * modules/openat (Depends-on): Add lchown.
4566
4567 2006-08-23  Bruno Haible  <bruno@clisp.org>
4568
4569         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
4570         of gl_LOCK_EARLY instead of gl_LOCK.
4571
4572 2006-08-23  Bruno Haible  <bruno@clisp.org>
4573
4574         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
4575         on OSF/1 to no.
4576         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
4577
4578 2006-08-23  Bruno Haible  <bruno@clisp.org>
4579
4580         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
4581         as unusable.
4582
4583         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
4584         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
4585         (gl_LOCK): New macro.
4586
4587 2006-08-22  Simon Josefsson  <jas@extundo.com>
4588
4589         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
4590         to md5 module.
4591
4592 2006-08-22  Simon Josefsson  <jas@extundo.com>
4593
4594         * MODULES.html.sh: Add "Support for maintaining and release
4595         projects".
4596
4597         * build-aux/gnupload: New file, from coreutils.
4598
4599 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
4600
4601         Avoid the need for AC_LIBSOURCES in m4 macros.
4602         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
4603         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
4604         * modules/check-version (EXTRA_DIST): Add check-version.h.
4605         * modules/crc (EXTRA_DIST): Add crc.h.
4606         * modules/des (EXTRA_DIST): Add des.h.
4607         * modules/gc (EXTRA_DIST): Add gc.h.
4608         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
4609         * modules/getline (EXTRA_DIST): Add getline.h.
4610         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
4611         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
4612         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
4613         * modules/md2 (EXTRA_DIST): Add md2.h.
4614         * modules/md4 (EXTRA_DIST): Add md4.h.
4615         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
4616         * modules/read-file (EXTRA_DIST): Add read-file.h.
4617         * modules/readline (EXTRA_DIST): Add readline.h.
4618         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
4619         rijndael-api-fst.h.
4620
4621 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
4622
4623         * m4/rijndael.m4 (gl_ARCFOUR):
4624         * m4/arctwo.m4 (gl_ARCTWO):
4625         * m4/check-version.m4 (gl_CHECK_VERSION):
4626         * m4/crc.m4 (gl_CRC):
4627         * m4/des.m4 (gl_DES):
4628         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
4629         * m4/gc.m4 (gl_GC):
4630         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
4631         * m4/getline.m4 (gl_FUNC_GETLINE):
4632         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
4633         * m4/hmac-md5.m4 (gl_HMAC_MD5):
4634         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
4635         * m4/md2.m4 (gl_MD2):
4636         * m4/md4.m4 (gl_MD4):
4637         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
4638         * m4/read-file.m4 (gl_FUNC_READ_FILE):
4639         * m4/readline.m4 (gl_FUNC_READLINE):
4640         * m4/rijndael.m4 (gl_RIJNDAEL):
4641         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
4642         to get the necessary .h files and whatnot.
4643
4644 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
4645
4646         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
4647         gnulib rather than the other way around.
4648         * config/srclistvars.sh (COREUTILS): Remove.
4649
4650 2006-08-22  Jim Meyering  <jim@meyering.net>
4651
4652         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
4653
4654         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
4655
4656 2006-08-22  Eric Blake  <ebb9@byu.net>
4657
4658         * modules/regexprops-generic: New file.
4659         * MODULES.html.sh (Support for building documentation): List it.
4660
4661 2006-08-22  Eric Blake  <ebb9@byu.net>
4662
4663         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
4664         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
4665         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
4666         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
4667
4668 2006-08-22  Bruno Haible  <bruno@clisp.org>
4669
4670         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
4671         and lib_LTLIBRARIES like the other lib_* variables.
4672
4673 2006-08-22  Bruno Haible  <bruno@clisp.org>
4674
4675         * build-aux/x-to-1.in: New file, from GNU gettext.
4676
4677 2006-08-22  Bruno Haible  <bruno@clisp.org>
4678
4679         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
4680         <utmpx.h> exists.
4681
4682 2006-08-22  Bruno Haible  <bruno@clisp.org>
4683
4684         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
4685         <utmpx.h> exists.
4686
4687 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4688
4689         BeOS portability.
4690         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
4691         exist.
4692         Problem reported by Bruno Haible.
4693
4694 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4695
4696         Avoid the need for AC_LIBSOURCES in m4 macros.
4697         * modules/acl (EXTRA_DIST): Add acl.h.
4698         * modules/argmatch (Files): Add m4/argmatch.m4.
4699         (configure.ac): Add gl_ARGMATCH.
4700         (EXTRA_DIST): Renamed from lib_SOURCES, for
4701         consistency with the other modules.  Remove argmatch.c.
4702         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
4703         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
4704         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
4705         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
4706         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
4707         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
4708         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
4709         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
4710         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
4711         * modules/closeout (EXTRA_DIST): Add closeout.h.
4712         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
4713         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
4714         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
4715         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
4716         dirname.h; remove basename.c and stripslash.c.
4717         * modules/exclude (EXTRA_DIST): Add exclude.h.
4718         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
4719         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
4720         * modules/file-type (EXTRA_DIST): Add file-type.h.
4721         * modules/filemode (EXTRA_DIST): Add filemode.h.
4722         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
4723         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
4724         * modules/fpending (EXTRA_DIST): Add __fpending.h.
4725         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
4726         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
4727         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
4728         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
4729         * modules/getdate (EXTRA_DIST): Add getdate.c.
4730         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
4731         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
4732         * modules/getpass (EXTRA_DIST): Add getpass.h.
4733         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
4734         * modules/group-member (EXTRA_DIST): Add group-member.h.
4735         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
4736         * modules/hash (EXTRA_DIST): Add hash.h.
4737         * modules/human (EXTRA_DIST): Add human.h.
4738         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
4739         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
4740         * modules/lchown (EXTRA_DIST): Add lchown.h.
4741         * modules/long-options (EXTRA_DIST): Add long-options.h.
4742         * modules/lstat (EXTRA_DIST): Add lstat.h.
4743         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
4744         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
4745         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
4746         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
4747         * modules/memxor (EXTRA_DIST): Add memxor.h.
4748         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
4749         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
4750         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
4751         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
4752         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
4753         * modules/physmem (EXTRA_DIST): Add physmem.h.
4754         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
4755         * modules/posixver (EXTRA_DIST): Add posixver.h.
4756         * modules/quote (EXTRA_DIST): Add quote.h.
4757         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
4758         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
4759         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
4760         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
4761         regex_internal.h regexec.c.
4762         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
4763         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
4764         * modules/same (EXTRA_DIST): Add same.h.
4765         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
4766         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
4767         * modules/savedir (EXTRA_DIST): Add savedir.h.
4768         * modules/sha1 (EXTRA_DIST): Add sha1.h.
4769         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
4770         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
4771         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
4772         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
4773         * modules/strdup (EXTRA_DIST): Add strdup.h.
4774         * modules/strftime (EXTRA_DIST): Add strftime.h.
4775         * modules/strndup (EXTRA_DIST): Add strndup.h.
4776         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
4777         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
4778         * modules/time_r (EXTRA_DIST): Add time_r.h.
4779         * modules/timespec (EXTRA_DIST): Add timespec.h.
4780         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
4781         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
4782         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
4783         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
4784         * modules/userspec (EXTRA_DIST): Add userspec.h.
4785         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
4786         * modules/utimens (EXTRA_DIST): Add utimens.h.
4787         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
4788         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
4789         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
4790         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
4791         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
4792         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
4793         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
4794         * modules/yesno (EXTRA_DIST): Add yesno.h.
4795
4796 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
4797
4798         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
4799
4800         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
4801         * m4/dev-ino.m4, same-inode.m4: Remove.
4802
4803         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
4804         * m4/acl.m4 (AC_FUNC_ACL):
4805         * m4/backupfile.m4 (gl_BACKUPFILE):
4806         * m4/c-strtod.m4 (gl_C99_STRTOLD):
4807         * m4/canon-host.m4 (gl_CANON_HOST):
4808         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
4809         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
4810         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
4811         * m4/cloexec.m4 (gl_CLOEXEC):
4812         * m4/close-stream.m4 (gl_CLOSE_STREAM):
4813         * m4/closeout.m4 (gl_CLOSEOUT):
4814         * m4/dirfd.m4 (gl_FUNC_DIRFD):
4815         * m4/dirname.m4 (gl_DIRNAME):
4816         * m4/exclude.m4 (gl_EXCLUDE):
4817         * m4/exitfail.m4 (gl_EXITFAIL):
4818         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
4819         * m4/file-type.m4 (gl_FILE_TYPE):
4820         * m4/filemode.m4 (gl_FILEMODE):
4821         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
4822         * m4/fpending.m4 (gl_FUNC_FPENDING):
4823         * m4/fprintftime.m4 (gl_FPRINTFTIME):
4824         * m4/fts.m4 (gl_FUNC_FTS):
4825         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
4826         * m4/getdate.m4 (gl_GETDATE):
4827         * m4/gethrxtime.m4 (gl_GETHRXTIME):
4828         * m4/getpagesize.m4 (gl_GETPAGESIZE):
4829         * m4/getpass.m4 (gl_FUNC_GETPASS):
4830         * m4/gettime.m4 (gl_GETTIME):
4831         * m4/getugroups.m4 (gl_GETUGROUPS):
4832         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
4833         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
4834         * m4/hard-locale.m4 (gl_HARD_LOCALE):
4835         * m4/hash.m4 (gl_HASH):
4836         * m4/idcache.m4 (gl_IDCACHE):
4837         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
4838         * m4/lchown.m4 (gl_FUNC_LCHOWN):
4839         * m4/long-options.m4 (gl_LONG_OPTIONS):
4840         * m4/lstat.m4 (gl_FUNC_LSTAT):
4841         * m4/md5.m4 (gl_MD5):
4842         * m4/memcasecmp.m4 (gl_MEMCASECMP):
4843         * m4/memcoll.m4 (gl_MEMCOLL):
4844         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
4845         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
4846         * m4/memxor.m4 (gl_MEMXOR):
4847         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
4848         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
4849         * m4/modechange.m4 (gl_MODECHANGE):
4850         * m4/mountlist.m4 (gl_MOUNTLIST):
4851         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
4852         * m4/openat.m4 (gl_FUNC_OPENAT):
4853         * m4/pathmax.m4 (gl_PATHMAX):
4854         * m4/physmem.m4 (gl_PHYSMEM):
4855         * m4/posixtm.m4 (gl_POSIXTM):
4856         * m4/posixver.m4 (gl_POSIXVER):
4857         * m4/quote.m4 (gl_QUOTE):
4858         * m4/quotearg.m4 (gl_QUOTEARG):
4859         * m4/readtokens.m4 (gl_READTOKENS):
4860         * m4/readutmp.m4 (gl_READUTMP):
4861         * m4/regex.m4 (gl_REGEX):
4862         * m4/safe-read.m4 (gl_SAFE_READ):
4863         * m4/safe-write.m4 (gl_SAFE_WRITE):
4864         * m4/same.m4 (gl_SAME):
4865         * m4/save-cwd.m4 (gl_SAVE_CWD):
4866         * m4/savedir.m4 (gl_SAVEDIR):
4867         * m4/settime.m4 (gl_SETTIME):
4868         * m4/sha1.m4 (gl_SHA1):
4869         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
4870         * m4/stat-macros.m4 (gl_STAT_MACROS):
4871         * m4/stat-time.m4 (gl_STAT_TIME):
4872         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
4873         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
4874         * m4/strdup.m4 (gl_FUNC_STRDUP):
4875         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
4876         * m4/strndup.m4 (gl_FUNC_STRNDUP):
4877         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
4878         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
4879         * m4/time_r.m4 (gl_TIME_R):
4880         * m4/timespec.m4 (gl_TIMESPEC):
4881         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
4882         * m4/unlinkdir.m4 (gl_UNLINKDIR):
4883         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
4884         * m4/userspec.m4 (gl_USERSPEC):
4885         * m4/utimecmp.m4 (gl_UTIMECMP):
4886         * m4/utimens.m4 (gl_UTIMENS):
4887         * m4/xalloc.m4 (gl_XALLOC):
4888         * m4/xgetcwd.m4 (gl_XGETCWD):
4889         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
4890         * m4/xreadlink.m4 (gl_XREADLINK):
4891         * m4/xstrtod.m4 (gl_XSTRTOD):
4892         * m4/yesno.m4 (gl_YESNO):
4893         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
4894         to get the necessary .h files and whatnot.
4895
4896 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
4897             Bruno Haible  <bruno@clisp.org>
4898
4899         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
4900         /bin/sh understanding of '!' conditional negation.
4901
4902 2006-08-21  Jim Meyering  <jim@meyering.net>
4903
4904         * modules/openat (Depends-on): Really alphabetize.
4905
4906         * modules/acl (Depends-on): Add error and quote.
4907
4908         * check-module (find_included_lib_files): Add at-func.c to the
4909         ok-to-include-more-than-once white list.
4910
4911         * modules/openat (Depends-on): Add lstat.  Alphabetize.
4912
4913 2006-08-21  Bruno Haible  <bruno@clisp.org>
4914
4915         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4916         Emit a pkgdata_DATA variable only if some snippets add contents to it.
4917         Reported by Martin Lambers <marlam@marlam.de>.
4918
4919 2006-08-21  Bruno Haible  <bruno@clisp.org>
4920
4921         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
4922         specify an installation location, don't emit a noinst_LIBRARIES or
4923         noinst_LTLIBRARIES assignment.
4924
4925 2006-08-21  Bruno Haible  <bruno@clisp.org>
4926
4927         BeOS portability.
4928         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
4929         BeOS has mbrtowc() but no <wctype.h>.
4930
4931 2006-08-21  Bruno Haible  <bruno@clisp.org>
4932
4933         BeOS portability.
4934         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
4935         exist.
4936
4937 2006-08-21  Bruno Haible  <bruno@clisp.org>
4938
4939         BeOS portability.
4940         * lib/mbchar.h: Include <wctype.h> only if it exists.
4941
4942 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
4943
4944         Remove files that are no longer needed by their respective modules.
4945         * m4/obstack.m4: Remove.
4946         * m4/strerror_r.m4: Remove.
4947         * m4/uint32_t.m4: Remove.
4948         * m4/uintptr_t.m4: Remove.
4949         * m4/ullong_max.m4: Remove.
4950         * m4/xstrtoimax.m4: Remove.
4951         * m4/xstrtoumax.m4: Remove.
4952
4953         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
4954         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
4955         dependencies now capture this.
4956
4957         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
4958         Do not use AC_LIBSOURCES, since gnulib modules now do this.
4959         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
4960         * m4/human.m4 (gl_HUMAN): Likewise.
4961         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
4962         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
4963
4964         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
4965
4966         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
4967         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
4968         stdint.
4969         * m4/human.m4 (gl_HUMAN): Likewise.
4970         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
4971         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
4972         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
4973         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
4974         * m4/xstrtol (gl_XSTRTOL): Likewise.
4975
4976         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
4977         AC_TYPE_LONG_LONG_INT.
4978         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
4979         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
4980         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
4981         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
4982
4983         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
4984         on stdbool.
4985
4986         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
4987         (gl_PREREQ_XSTRTOUL): Remove.
4988
4989         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
4990
4991         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
4992         mode.
4993
4994 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
4995
4996         Add and change modules to make it easier for coreutils to use
4997         gnulib-tool.
4998         * modules/backupfile (Files): Remove m4/d-ino.m4.
4999         (Depends-on): Add d-ino.
5000         * modules/cycle-check (Depends-on): Add stdint.
5001         (lib_SOURCES): Add cycle-check.h.
5002         * modules/d-ino: New module.
5003         * modules/d-type: New module.
5004         * modules/error (Files): Remove m4/strerror_r.m4.
5005         * modules/filemode (Files): Add m4/st_dm_mode.m4.
5006         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
5007         m4/inttypes_h.m4, m4/uintmax_t.m4.
5008         (Depends-on): Add stdint.
5009         (lib_SOURCES): Add fsusage.h.
5010         * modules/getcwd (Files): Remove d-ino.m4.
5011         (Depends-on): Add d-ino.
5012         * modules/getndelim2 (Depends-on): Add stdint.
5013         * modules/glob (Files): Remove m4/d-type.m4.
5014         (Depends-on): Add d-type.
5015         * modules/host-os: New module.
5016         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
5017         m4/inttypes_h.m4, m4/uintmax_t.m4.
5018         * Depends-on: Add stdint.
5019         (lib_SOURCES): Add human.h.
5020         * modules/inttostr (Files): Remove m4/intmax_t.m4,
5021         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
5022         m4/uintmax_t.m4, m4/ulonglong.m4.
5023         (Depends-on): Add stdint.
5024         (EXTRA_DIST): Add inttostr.h.
5025         * modules/lchmod: New module.
5026         * modules/link-follow: New module.
5027         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
5028         (Depends-on): Add lchmod.
5029         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
5030         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
5031         (Depends-on): Add stdint.
5032         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
5033         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
5034         (Depends-on): Add stdint.
5035         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
5036         * modules/perl: New module.
5037         * modules/regex (Depends-on): Add stdint.
5038         * modules/rmdir-errno: New module.
5039         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
5040         m4/intmax_t.m4.
5041         (Depends-on): Add stdint.
5042         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
5043         m4/uintmax_t.m4.
5044         (Depends-on): Add stdint.
5045         * modules/unlink-busy: New module.
5046         * modules/utimecmp (Depends-on): Add stdint.
5047         * modules/uptime: New module.
5048         * modules/winsz-ioctl: New module.
5049         * modules/winsz-termios: New module.
5050         * modules/xnanosleep (Depends-on): Add nanosleep.
5051         * modules/ullong_max: Remove.
5052         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
5053         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
5054         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
5055         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
5056         (Depends-on): Add inttypes.
5057         (lib_SOURCES): Add xstrtol.h.
5058         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
5059         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
5060         * MODULES.html.sh: Move 'assert' into the assert section.
5061         Move 'dummy' into the linking section.
5062         Remove ullong_max.
5063         Add section for compatibility checks for POSIX:2001 functions,
5064         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
5065         winsz-ioctl, and winsz-termios into it.
5066         Add lchmod.
5067         Add top-level Misc section and put host-os, perl, and uptime
5068         into it.
5069
5070 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5071
5072         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
5073         now assume the stdint module.  Do not include inttypes.h.
5074         * lib/fsusage.h: Likewise.
5075         * lib/getndelim2.c: Likewise.
5076         * lib/human.h: Likewise.
5077         * lib/inttostr.h: Likewise.
5078         * lib/obstack.c: Likewise.
5079         * lib/regex_internal.h: Likewise.
5080         * lib/tempname.c: Likewise.
5081         * lib/utimecmp.c: Likewise.
5082         * lib/xstrtol.h: Likewise.
5083
5084         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
5085
5086         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
5087         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
5088         * lib/xtime.h: Likewise.
5089
5090 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5091
5092         * modules/openat (Files): Add lib/fchmodat.c.
5093         Fixes problem reported by Jay Youngman.
5094
5095 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5096
5097         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
5098         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
5099
5100 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
5101             Bruno Haible  <bruno@clisp.org>
5102
5103         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
5104         and is a script that invokes bison. Tighten the code. Add comments.
5105
5106 2006-08-18  Jim Meyering  <jim@meyering.net>
5107
5108         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
5109         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
5110         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
5111         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
5112
5113 2006-08-18  Bruno Haible  <bruno@clisp.org>
5114
5115         * modules/bison-i18n: New file.
5116         * MODULES.html.sh (Internationalization functions): Add it.
5117
5118 2006-08-18  Bruno Haible  <bruno@clisp.org>
5119
5120         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
5121         sys/statvfs.h. When getmntinfo was found, check its declaration and
5122         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
5123
5124 2006-08-18  Bruno Haible  <bruno@clisp.org>
5125
5126         * m4/bison-i18n.m4: New file, from bison.
5127
5128 2006-08-18  Bruno Haible  <bruno@clisp.org>
5129
5130         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
5131         (ME_DUMMY): Treat "kernfs" as a dummy.
5132         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
5133
5134 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
5135
5136         Update from coreutils.
5137
5138         2006-08-15  Jim Meyering  <jim@meyering.net>
5139
5140         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
5141
5142         2006-01-17  Jim Meyering  <jim@meyering.net>
5143
5144         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
5145
5146         2006-01-11  Jim Meyering  <jim@meyering.net>
5147
5148         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
5149         Check for the lchmod function.
5150
5151 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
5152
5153         Update from coreutils.
5154
5155         * lib/__fpending.h: Add copyright notice.
5156         * lib/fprintftime.h: Likewise.
5157         * lib/savedir.c: Use (C) in copyright notice.
5158         * lib/savedir.h: Likewise.
5159
5160         2006-08-15  Jim Meyering  <jim@meyering.net>
5161
5162         * lib/at-func.c: New file, with the logic of all emulated at-functions.
5163         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
5164         in support of the EXPECTED_ERRNO macro.
5165         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
5166         definitions.  Instead, define the appropriate symbols and include
5167         "at-func.c".
5168         * lib/mkdirat.c (mkdirat): Likewise.
5169         * lib/fchmodat.c (fchmodat): Likewise.
5170         (ENOSYS): Remove definition.
5171         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
5172         it.  Don't include "unistd--.h" -- it wasn't ever used.
5173
5174         2006-01-17  Jim Meyering  <jim@meyering.net>
5175
5176         Rewrite fts.c not to change the current working directory,
5177         by using openat, fstatat, fdopendir, etc..
5178
5179         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
5180         (HAVE_OPENAT_SUPPORT): Define.
5181         [_LIBC] (fchdir): Don't undef or define; no longer used.
5182         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
5183         Now, this `function' always succeeds, and consumes its file descriptor
5184         parameter -- so callers must not close such FDs.  Update callers.
5185         (diropen_fd, opendirat, cwd_advance_fd): New functions.
5186         (diropen): Add parameter, SP.  Adjust all callers.
5187         Implement using diropen_fd, rather than open.
5188         (fts_open): Initialize new member, fts_cwd_fd.
5189         Remove fts_rft-setting code.
5190         (fts_close): Close fts_cwd_fd, if necessary.
5191         (__opendir2): Define in terms of opendir or opendirat,
5192         depending on whether the FST_NOCHDIR flag is set.
5193         (fts_build): Since fts_safe_changedir consumes its FD, and since
5194         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
5195         and close the dup'd file descriptor upon failure.
5196         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
5197         (fts_safe_changedir): Tweak semantics to reflect that this function
5198         now calls cwd_advance_fd and hence consumes its FD argument.
5199         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
5200         [struct FTS] (fts_rft): Remove now-unused member.
5201         [struct FTS] (fts_cycle.state): Improve comment.
5202
5203         * lib/openat.c (openat_needs_fchdir): New function.
5204         * lib/openat.h (openat_needs_fchdir): Declare it.
5205
5206 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
5207
5208         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
5209         Problem and fix reported by Pádraig Brady in
5210         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
5211
5212 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5213
5214         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
5215
5216 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5217
5218         * lib/memcoll.c (memcoll): Optimize for the common case where the
5219         arguments are bytewise equal.
5220
5221 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5222
5223         * doc/regexprops-generic.texi: Add a copyright notice.
5224
5225 2006-08-15  Bruno Haible  <bruno@clisp.org>
5226
5227         * modules/tmpdir (License): Change to LGPL.
5228
5229 2006-08-15  Bruno Haible  <bruno@clisp.org>
5230
5231         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
5232         module.
5233
5234 2006-08-14  Simon Josefsson  <jas@extundo.com>
5235
5236         * config/srclist.txt: Add gnupload.
5237
5238 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5239
5240         Change copyright notice from LGPL 2 to GPL 2, since that's the
5241         standard form used in the gnulib repository.
5242         * tests/test-lock.c: Likewise.
5243         * tests/test-stdint.c: Likewise.
5244         * tests/test-tls.c: Likewise.
5245
5246         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
5247         prelude-manager.  User shorter URLs for GNU projects, without '?'.
5248         Add copyright notice.
5249
5250         * check-module: Add copyright notice.  Output a copyright
5251         notice if "--version" is specified.
5252         * modules/COPYING: New file.
5253         * tests/test-getaddrinfo.c: Add copyright notice.
5254         * tests/test-verify.c: Likewise.
5255
5256 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5257
5258         Change copyright notice from LGPL 2 to GPL 2, since that's the
5259         standard form used in the gnulib repository.
5260         * lib/lock.c: LGPL -> GPL.
5261         * lib/lock.h: Likewise.
5262         * lib/strnlen1.c: Likewise.
5263         * lib/strnlen1.h: Likewise.
5264         * lib/tls.c: Likewise.
5265         * lib/tls.h: Likewise.
5266         * lib/tmpdir.c: Likewise.
5267
5268         * lib/TODO: Remove; this belongs only in coreutils.
5269
5270 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5271
5272         Add copyright notices to long-enough files that lack them, since
5273         otherwise the files aren't clearly free.  Use the same notice that
5274         getdate.texi already uses.
5275         * doc/alloca-opt.texi: Add copyright notice.
5276         * doc/alloca.texi: Likewise.
5277         * doc/ctime.texi: Likewise.
5278         * doc/functions.texi: Likewise.
5279         * doc/gcd.texi: Likewise.
5280         * doc/gnulib-tool.texi: Likewise.
5281         * doc/inet_ntoa.texi: Likewise.
5282         * doc/visibility.texi: Likewise.
5283
5284         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
5285         * doc/quote.texi: Add copyright notice.
5286
5287         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
5288         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
5289         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
5290         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
5291         is now obsolete, and give a pointer to the Sun list.
5292         Add copyright notice.
5293
5294 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5295
5296         * config/srclistvars.sh: Add copyright notice.
5297
5298 2006-08-14  Eric Blake  <ebb9@byu.net>
5299
5300         Import the following change from libc:
5301
5302         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
5303
5304         Upstream bug 2997.
5305         * lib/misc/error.c: Add space between program name and message if file
5306         name is missing.
5307
5308 2006-08-12  Karl Berry  <karl@gnu.org>
5309
5310         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
5311         remove, these originate in gnulib now.
5312
5313 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5314
5315         * doc/Makefile (standards.info standards.html standards.dvi):
5316         Also depend on make-stds.texi.
5317
5318 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
5319
5320         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
5321         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
5322
5323         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
5324         in wchar_t.  Problem reported by Eric Blake.
5325
5326         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
5327         LEN is smaller than SIZE.  Suggested by Bruno Haible.
5328         Also, help the compiler to keep LEN in a register.
5329
5330 2006-08-11  Eric Blake  <ebb9@byu.net>
5331
5332         * users.txt: Sort.  Add tar.
5333
5334 2006-08-11  Bruno Haible  <bruno@clisp.org>
5335
5336         * users.txt: New file.
5337
5338 2006-08-11  Bruno Haible  <bruno@clisp.org>
5339
5340         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
5341         before <wchar.h>. Needed for OSF/1 and BSD/OS.
5342
5343 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5344
5345         * modules/snprintf (Depends-on): Remove minmax.
5346         (Maintainer): Add self and Bruno.
5347
5348 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5349
5350         * lib/.cppi-disable: Add snprintf.h, socket_.h.
5351         * lib/snprintf.c: Include <errno.h> and <limits.h>.
5352         (EOVERFLOW): Define if the system does not.
5353         Do not include "minmax.h"; it wasn't used.
5354         (snprintf): Don't assume size_t promotes to an unsigned type.
5355         Fix bug when generated string was too long for the buffer: the
5356         buffer's contents are supposed to be the initial prefix of the
5357         output.  Don't assume vasnprintf returns EOVERFLOW if the size
5358         exceeds INT_MAX; do the check ourselves.
5359
5360         Import the following changes from libc:
5361
5362         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
5363
5364         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
5365         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
5366         set wc to the byte which couldn't be converted.
5367         (re_string_reconstruct): Don't clear valid_raw_len before calling
5368         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
5369         tip_context using re_string_context_at.
5370
5371         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
5372
5373         * lib/posix/regex.h: g++ still cannot handled [restrict].
5374
5375         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
5376
5377         * lib/posix/regex.h: Remove special handling for VMS.
5378
5379 2006-08-10  Jim Meyering  <jim@meyering.net>
5380
5381         * modules/same-inode: New module.
5382         * modules/dev-ino: New module.
5383         * modules/cycle-check: Depend on these modules, rather than simply
5384         including their .h files.
5385         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
5386         required via m4/cycle-check.m4.
5387         * modules/same: Depend on new same-inode module, rather than
5388         including same-inode.h.
5389         * modules/chdir-safer: New file.
5390
5391         * modules/chown (Depends-on): Add stat-macros.
5392
5393 2006-08-10  Jim Meyering  <jim@meyering.net>
5394
5395         * m4/cycle-check.m4: New file.
5396         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
5397         * m4/dev-ino.m4, m4/same-inode.m4: New files.
5398
5399 2006-08-10  Eric Blake  <ebb9@byu.net>
5400
5401         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
5402         in from original proposal.
5403
5404 2006-08-10  Eric Blake  <ebb9@byu.net>
5405         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5406
5407         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
5408         namespace.
5409
5410 2006-08-10  Bruno Haible  <bruno@clisp.org>
5411
5412         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
5413         as well.
5414
5415 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5416
5417         Sync from coreutils.
5418
5419         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
5420
5421         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
5422         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
5423
5424 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5425
5426         * modules/restrict: Remove; no longer needed now that we assume
5427         Autoconf 2.59 or later.
5428         * MODULES.html.sh: Remove 'restrict'.
5429         * modules/argp (Depends-on): Remove 'restrict'.
5430         * modules/base64 (Depends-on): Likewise.
5431         * modules/gc (Depends-on): Likewise.
5432         * modules/getaddrinfo (Depends-on): Likewise.
5433         * modules/glob (Depends-on): Likewise.
5434         * modules/inet_ntop (Depends-on): Likewise.
5435         * modules/inet_pton (Depends-on): Likewise.
5436         * modules/memxor (Depends-on): Likewise.
5437         * modules/regex (Depends-on): Likewise.
5438         * modules/strtok_r (Depends-on): Likewise.
5439         * modules/time_r (Depends-on): Likewise.
5440
5441 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5442
5443         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
5444         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
5445         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
5446         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
5447         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
5448         * m4/memxor.m4 (gl_MEMXOR): Likewise.
5449         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
5450         gl_C_RESTRICT replaced by AC_C_RESTRICT.
5451
5452         Merge from coreutils.
5453         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
5454         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
5455         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
5456         * m4/time_r.m4 (gl_TIME_R): Likewise.
5457
5458 2006-08-09  Karl Berry  <karl@gnu.org>
5459
5460         * config/srclist.txt: no more gettext-tools, per Bruno.
5461
5462 2006-08-08  Eric Blake  <ebb9@byu.net>
5463
5464         * modules/verror: New module.
5465         * MODULES.html.sh: Document it.
5466
5467 2006-08-08  Eric Blake  <ebb9@byu.net>
5468
5469         * lib/verror.h, lib/verror.c: New files.
5470
5471 2006-08-08  Eric Blake  <ebb9@byu.net>
5472
5473         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
5474         verror_at_line output complies with GNU Coding Standards even when
5475         file is NULL.
5476
5477 2006-08-07  Bruno Haible  <bruno@clisp.org>
5478
5479         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
5480         versions of AIX.
5481         Reported by Ralf Wildenhues.
5482
5483 2006-08-07  Bruno Haible  <bruno@clisp.org>
5484
5485         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
5486         in an AC_DEFUN. Needed so that the autoconf snippets can use
5487         AC_REQUIRE.
5488
5489 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5490
5491         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5492         Initialize pkgdata_DATA.
5493         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
5494         overriding it.
5495
5496 2006-08-06  Eric Blake  <ebb9@byu.net>
5497
5498         * lib/error.h: Fold in some upstream changes from glibc.
5499         * lib/error.c: Likewise.
5500
5501 2006-08-04  Bruno Haible  <bruno@clisp.org>
5502
5503         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5504         Make the mostlyclean-local rule depend on mostlyclean-generic.
5505         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
5506
5507 2006-07-31  Bruno Haible  <bruno@clisp.org>
5508
5509         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
5510         <stdlib.h>, <string.h>.
5511
5512 2006-07-30  Bruno Haible  <bruno@clisp.org>
5513
5514         * modules/readlink (License): Change to LGPL.
5515
5516 2006-07-30  Bruno Haible  <bruno@clisp.org>
5517
5518         * modules/javaversion (Makefile.am): Distribute javaversion.java and
5519         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
5520         set PKGDATADIR to point to it.
5521
5522 2006-07-30  Bruno Haible  <bruno@clisp.org>
5523
5524         * modules/csharpexec (configure.ac): Comment out macro invocation.
5525         * modules/javaexec (configure.ac): Likewise.
5526         * modules/javacomp-script (configure.ac): Likewise.
5527
5528         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
5529
5530 2006-07-30  Bruno Haible  <bruno@clisp.org>
5531
5532         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
5533         linked-list.
5534
5535 2006-07-30  Bruno Haible  <bruno@clisp.org>
5536
5537         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
5538
5539 2006-07-30  Bruno Haible  <bruno@clisp.org>
5540
5541         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5542         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
5543         get removed.
5544
5545 2006-07-29  Bruno Haible  <bruno@clisp.org>
5546
5547         Make it possible for gnulib-tool to work with locally modified or
5548         augmented gnulib repositories.
5549         * gnulib-tool (func_usage): Document --local-dir option.
5550         (local_gnulib_dir): New variable.
5551         Handle --local-dir option.
5552         (func_lookup_file): New function.
5553         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
5554         (func_get_description, func_get_filelist, func_get_description,
5555         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
5556         func_get_automake_snippet, func_get_include_directive,
5557         func_get_license, func_get_maintainer): Use func_lookup_file.
5558         (func_import, func_create_testdir): Use func_lookup_file.
5559
5560 2006-07-29  Bruno Haible  <bruno@clisp.org>
5561
5562         * modules/setenv (Depends-on): Add unistd.
5563
5564 2006-07-29  Bruno Haible  <bruno@clisp.org>
5565
5566         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
5567
5568 2006-07-29  Bruno Haible  <bruno@clisp.org>
5569
5570         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
5571
5572 2006-07-29  Bruno Haible  <bruno@clisp.org>
5573
5574         * gnulib-tool (import, update): If there is no Makefile.am, look at
5575         aclocal.m4, instead of bailing out.
5576
5577 2006-07-29  Bruno Haible  <bruno@clisp.org>
5578
5579         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
5580         Categorize the options by when they are useful.
5581
5582 2006-07-29  Bruno Haible  <bruno@clisp.org>
5583
5584         * gnulib-tool (func_usage): Document option --no-libtool.
5585         Handle option --no-libtool.
5586         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
5587         for changed semantics of $libtool variable.
5588         (func_import): Likewise. If libtool is not used, show this through
5589         an option --no-libtool.
5590         (func_create_testdir): Update.
5591
5592 2006-07-29  Bruno Haible  <bruno@clisp.org>
5593
5594         * gnulib-tool (func_import): Extend error message about missing
5595         --doc-base.
5596
5597 2006-07-29  Bruno Haible  <bruno@clisp.org>
5598
5599         * gnulib-tool (func_import): Don't create the $docbase directory if
5600         there is no file to store there.
5601
5602 2006-07-29  Bruno Haible  <bruno@clisp.org>
5603
5604         * gnulib-tool (autoconf_minversion): If a --dir option is given and
5605         relevant, look for configure.ac there, not in the current directory.
5606         Also use a simple search for AC_PREREQ, not "autoconf --trace".
5607
5608 2006-07-29  Bruno Haible  <bruno@clisp.org>
5609
5610         * gnulib-tool (SORT): New variable.
5611         (func_usage): Undocument --assume-autoconf option.
5612         Remove --assume-autoconf option handling.
5613         (autoconf_minversion): Determine from the contents of configure.ac.
5614         (func_import): Remove autoconf_minversion handling.
5615         Suggested by Eric Blake.
5616
5617 2006-07-29  Bruno Haible  <bruno@clisp.org>
5618
5619         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
5620
5621 2006-07-29  Bruno Haible  <bruno@clisp.org>
5622
5623         * config/srclist.txt (*setenv.[ch]): Remove rules.
5624
5625 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
5626
5627         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
5628
5629 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
5630
5631         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
5632         arpa/inet.h.
5633
5634 2006-07-28  Simon Josefsson  <jas@extundo.com>
5635
5636         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
5637         * modules/inet_pton (Depends-on): Likewise.
5638
5639 2006-07-28  Simon Josefsson  <jas@extundo.com>
5640
5641         * m4/netinet_in_h.m4: New file.
5642
5643 2006-07-28  Simon Josefsson  <jas@extundo.com>
5644
5645         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
5646         #include's.
5647
5648 2006-07-28  Simon Josefsson  <jas@extundo.com>
5649
5650         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
5651         #include's.
5652
5653 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
5654
5655         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
5656         setgid on directories only if they set these bits.
5657         * lib/modechange.h: Remove obsolete comment about masks.
5658
5659 2006-07-28  Eric Blake  <ebb9@byu.net>
5660
5661         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
5662         macro expansion.
5663
5664 2006-07-28  Bruno Haible  <bruno@clisp.org>
5665
5666         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
5667
5668 2006-07-28  Bruno Haible  <bruno@clisp.org>
5669
5670         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
5671
5672 2006-07-28  Bruno Haible  <bruno@clisp.org>
5673
5674         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
5675         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
5676         Define fallbacks.
5677         Avoids link error on FreeBSD 4.x.
5678         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
5679
5680         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
5681         encoding.
5682         * lib/mbswidth.c (iswcntrl): Likewise.
5683
5684 2006-07-27  Bruno Haible  <bruno@clisp.org>
5685
5686         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
5687         test.
5688
5689 2006-07-27  Bruno Haible  <bruno@clisp.org>
5690
5691         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
5692         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
5693         defined.
5694
5695 2006-07-26  Eric Blake  <ebb9@byu.net>
5696
5697         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
5698
5699 2006-07-26  Eric Blake  <ebb9@byu.net>
5700
5701         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
5702         like mingw that lack mkstemp.
5703         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
5704         avoid compilation warning on mingw.
5705
5706 2006-07-26  Bruno Haible  <bruno@clisp.org>
5707
5708         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
5709         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
5710         INT_FAST*_MIN, INTPTR_MIN.
5711
5712 2006-07-25  Bruno Haible  <bruno@clisp.org>
5713
5714         * modules/version-etc (Depends-on): Add stdarg.
5715
5716 2006-07-25  Bruno Haible  <bruno@clisp.org>
5717
5718         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
5719         complex commands.
5720
5721 2006-07-25  Bruno Haible  <bruno@clisp.org>
5722
5723         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
5724         defined in <stdarg.h> or config.h.
5725
5726 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5727
5728         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
5729         (gl_STDIO_SAFER): Remove.
5730
5731 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5732
5733         * MODULES.html.sh (File stream based Input/Output):
5734         Add fopen-safer, tmpfile-safer; remove stdio-safer.
5735         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
5736         * modules/fopen-safer, modules/tmpfile-safer: New files.
5737         * modules/stdio-safer: Remove.
5738
5739 2006-07-24  Bruno Haible  <bruno@clisp.org>
5740
5741         * modules/tmpdir: New file.
5742         * MODULES.html.sh (File system functions): Add it.
5743
5744 2006-07-24  Bruno Haible  <bruno@clisp.org>
5745
5746         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
5747         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
5748
5749 2006-07-24  Bruno Haible  <bruno@clisp.org>
5750
5751         * modules/clean-temp: New file.
5752
5753 2006-07-24  Bruno Haible  <bruno@clisp.org>
5754
5755         * m4/tmpdir.m4: New file, from GNU gettext.
5756
5757 2006-07-24  Bruno Haible  <bruno@clisp.org>
5758
5759         * lib/tmpdir.h: New file, from GNU gettext.
5760         * lib/tmpdir.c: New file, from GNU gettext.
5761
5762 2006-07-24  Bruno Haible  <bruno@clisp.org>
5763
5764         * lib/clean-temp.h: New file, from GNU gettext.
5765         * lib/clean-temp.c: New file, from GNU gettext.
5766
5767 2006-07-23  Eric Blake  <ebb9@byu.net>
5768
5769         * modules/stdio-safer (Files): Add tmpfile-safer.c.
5770         (Depends-on): Add binary-io.
5771
5772 2006-07-23  Eric Blake  <ebb9@byu.net>
5773
5774         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
5775
5776 2006-07-23  Eric Blake  <ebb9@byu.net>
5777
5778         * lib/tmpfile-safer.c: New file.
5779         * lib/stdio-safer.h (fopen_safer): Add prototype.
5780         * lib/stdio--.h (tmpfile): Make safer.
5781
5782 2006-07-23  Bruno Haible  <bruno@clisp.org>
5783
5784         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
5785         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
5786         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
5787         gl_linked_remove_at): Use it.
5788
5789 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
5790         and Simon Josefsson <jas@extundo.com>
5791
5792         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
5793
5794         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
5795
5796 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
5797
5798         * modules/close-stream: New file.
5799         * modules/closeout (Description): Make it clear that it exits
5800         with a diagnostic on error.
5801         (Depends-on): Add close-stream.  Remove fpending, stdbool.
5802         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
5803
5804 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
5805
5806         * m4/close-stream.m4: New file.
5807
5808 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
5809
5810         * lib/close-stream.c, lib/close-stream.h: New files.
5811
5812 2006-07-22  Bruno Haible  <bruno@clisp.org>
5813
5814         Merge from GNU gettext 0.15.
5815
5816         2006-05-01  Bruno Haible  <bruno@clisp.org>
5817
5818                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
5819
5820         2006-07-22  Bruno Haible  <bruno@clisp.org>
5821
5822                 * modules/javaversion: New file.
5823                 * MODULES.html.sh (Java): Add javaversion.
5824
5825         2006-03-12  Bruno Haible  <bruno@clisp.org>
5826
5827                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
5828
5829         2005-12-04  Bruno Haible  <bruno@clisp.org>
5830
5831                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
5832                 (untested).
5833
5834         2006-06-21  Bruno Haible  <bruno@clisp.org>
5835
5836                 Avoid warnings from recent versions of mcs.
5837                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
5838                 -o, -L, -r any more. Use options documented since mcs-1.0
5839                 instead. Similarly for -g.
5840
5841         2005-12-04  Bruno Haible  <bruno@clisp.org>
5842
5843                 * build-aux/csharpcomp.sh.in: Suffix for resources is
5844                 .resources, not .resource.
5845
5846         2005-07-09  Bruno Haible  <bruno@clisp.org>
5847
5848                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
5849                 add a .dll suffix.
5850                 Reported by Mark Junker <mjscod@gmx.de>.
5851
5852         2006-07-22  Bruno Haible  <bruno@clisp.org>
5853
5854                 * modules/gettext: Upgrade to gettext-0.15.
5855                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
5856                 m4/visibility.m4.
5857                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
5858
5859 2006-07-22  Bruno Haible  <bruno@clisp.org>
5860
5861         Merge from GNU gettext 0.15.
5862
5863         2006-03-25  Bruno Haible  <bruno@clisp.org>
5864
5865                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
5866
5867         2006-07-21  Bruno Haible  <bruno@clisp.org>
5868
5869                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
5870                 "1.1".
5871
5872         2006-05-09  Bruno Haible  <bruno@clisp.org>
5873
5874                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
5875                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
5876                 for the conftestver execution.
5877
5878         2006-05-01  Bruno Haible  <bruno@clisp.org>
5879
5880                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
5881                 optional target-version argument. Verify that the compiler
5882                 groks source of the specified source-version, or add -source
5883                 option as necessary. Verify that the compiler produces
5884                 bytecode in the specified target-version, or add -target and
5885                 -source options as necessary. Make the result of the test
5886                 available as variable CONF_JAVAC. Also log error output in
5887                 config.log.
5888
5889         2006-03-11  Bruno Haible  <bruno@clisp.org>
5890
5891                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
5892
5893         2006-05-09  Bruno Haible  <bruno@clisp.org>
5894
5895                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
5896                 CLASSPATH_SEPARATOR to a semicolon.
5897
5898         2006-03-12  Bruno Haible  <bruno@clisp.org>
5899
5900                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
5901                 available as variable CONF_JAVA, for subsequent autoconf
5902                 tests. Also log error output in config.log.
5903
5904         2006-07-19  Bruno Haible  <bruno@clisp.org>
5905
5906                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
5907                 that getline works on glibc2 systems. Needed to avoid trouble
5908                 in relocatable.c.
5909                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
5910
5911         2005-12-04  Bruno Haible  <bruno@clisp.org>
5912
5913                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
5914                 launcher (untested).
5915
5916         2005-12-04  Bruno Haible  <bruno@clisp.org>
5917
5918                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
5919
5920         2006-07-22  Bruno Haible  <bruno@clisp.org>
5921
5922                 * gettext.m4: Update from GNU gettext-0.15.
5923                 * nls.m4: Likewise.
5924                 * po.m4: Likewise.
5925                 * inttypes-pri.m4: Likewise.
5926                 * inttypes-h.m4: Renamed from inttypes.m4.
5927                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
5928
5929 2006-07-22  Bruno Haible  <bruno@clisp.org>
5930
5931         Merge from GNU gettext 0.15.
5932
5933         2005-07-05  Bruno Haible  <bruno@clisp.org>
5934
5935                 * printf-args.c (printf_fetchargs): Work around broken
5936                 definition of wint_t on mingw.
5937
5938         2005-02-12  Bruno Haible  <bruno@clisp.org>
5939
5940                 * xallocsa.h: Add extern "C" for C++.
5941
5942         2006-05-17  Bruno Haible  <bruno@clisp.org>
5943
5944                 Cygwin portability.
5945                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
5946
5947         2006-04-30  Bruno Haible  <bruno@clisp.org>
5948
5949                 * progreloc.c: Include <mach-o/dyld.h> if available.
5950                 (find_executable): Use _NSGetExecutablePath when possible.
5951
5952         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
5953
5954                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
5955                 function.
5956
5957         2005-12-29  Bruno Haible  <bruno@clisp.org>
5958
5959                 * progreloc.c (set_program_name_and_installdir): Fix
5960                 compilation error.
5961
5962         2005-12-04  Bruno Haible  <bruno@clisp.org>
5963
5964                 Cygwin portability.
5965                 * progreloc.c: Include <windows.h> also on Cygwin.
5966                 (find_executable): Add support for Cygwin.
5967                 (set_program_name_and_installdir): Handle also platforms with
5968                 nonempty EXEEXT.
5969
5970         2006-07-11  Bruno Haible  <bruno@clisp.org>
5971
5972                 * javacomp.c: Fix a comment.
5973                 Reported by Jim Meyering.
5974
5975         2006-04-30  Bruno Haible  <bruno@clisp.org>
5976
5977                 * javacomp.h (compile_java_class): Add source_version,
5978                 target_version arguments.
5979                 * javacomp.c: Rewritten to choose only a compiler that
5980                 respects the specified source_version and target_version.
5981
5982         2006-06-27  Bruno Haible  <bruno@clisp.org>
5983
5984                 Assume correct S_ISDIR macro.
5985                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
5986
5987         2006-07-22  Bruno Haible  <bruno@clisp.org>
5988
5989                 * javaversion.h: New file, from GNU gettext.
5990                 * javaversion.c: New file, from GNU gettext.
5991                 * javaversion.java: New file, from GNU gettext.
5992                 * javaversion.class: New file, from GNU gettext.
5993
5994         2006-05-17  Bruno Haible  <bruno@clisp.org>
5995
5996                 Cygwin portability.
5997                 * javaexec.c (execute_java_class): Test for jview program
5998                 also on Cygwin.
5999
6000         2006-04-09  Bruno Haible  <bruno@clisp.org>
6001
6002                 * fatal-signal.c: Don't include string.h.
6003                 (at_fatal_signal): Use a copying loop instead of memcpy.
6004
6005         2005-12-04  Bruno Haible  <bruno@clisp.org>
6006
6007                 * csharpexec.c: Add support for 'clix' launcher (untested).
6008                 (execute_csharp_using_sscli): New function.
6009                 (execute_csharp_program): Call it.
6010
6011         2006-06-21  Bruno Haible  <bruno@clisp.org>
6012
6013                 Avoid warnings from recent versions of mcs.
6014                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
6015                 -o, -L, -r any more. Use options documented since mcs-1.0
6016                 instead. Similarly for -g.
6017
6018         2005-07-09  Bruno Haible  <bruno@clisp.org>
6019
6020                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
6021                 add a .dll suffix.
6022                 Reported by Mark Junker <mjscod@gmx.de>.
6023
6024         2006-06-17  Bruno Haible  <bruno@clisp.org>
6025
6026                 * config.charset: Update for NetBSD 3.0.
6027
6028         2006-05-17  Bruno Haible  <bruno@clisp.org>
6029
6030                 Cygwin portability.
6031                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
6032
6033         2006-05-16  Bruno Haible  <bruno@clisp.org>
6034
6035                 * localcharset.c [CYGWIN]: Include <windows.h>.
6036                 (get_charset_aliases): For Cygwin, return the same CPxxx
6037                 aliases list as under WIN32.
6038                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
6039                 the environment variables. Fall back to GetACP().
6040
6041         2006-04-05  Bruno Haible  <bruno@clisp.org>
6042
6043                 * config.charset: Update Juan Manuel Guerrero's address.
6044
6045         2005-02-12  Bruno Haible  <bruno@clisp.org>
6046
6047                 * allocsa.h: Add extern "C" for C++.
6048
6049         2005-02-10  Bruno Haible  <bruno@clisp.org>
6050
6051                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
6052                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
6053
6054         2006-07-22  Bruno Haible  <bruno@clisp.org>
6055
6056                 * gettext.h: Update to GNU gettext-0.15.
6057
6058 2006-07-22  Bruno Haible  <bruno@clisp.org>
6059
6060         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
6061         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
6062         lib-prefix.m4, longdouble.m4, ssize_t.m4.
6063
6064 2006-07-21  Eric Blake  <ebb9@byu.net>
6065
6066         * modules/stdlib-safer: New file.
6067         * MODULES.html.sh (File stream based Input/Output): Add
6068         stdlib-safer.
6069
6070 2006-07-21  Eric Blake  <ebb9@byu.net>
6071
6072         * lib/stdlib-safer.h: New file from coreutils, required by
6073         stdlib--.h.
6074
6075 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
6076
6077         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
6078
6079 2006-07-20  Bruno Haible  <bruno@clisp.org>
6080
6081         * gnulib-tool: Recognize new option --assume-autoconf.
6082         (autoconf_minversion): New variable.
6083         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
6084
6085 2006-07-20  Bruno Haible  <bruno@clisp.org>
6086
6087         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
6088
6089 2006-07-19  Derek R. Price  <derek@ximbiot.com>
6090
6091         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
6092         Reindent and repaginate.
6093
6094 2006-07-19  Derek Price  <derek@ximbiot.com>
6095
6096         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
6097         Correct grammar.
6098
6099 2006-07-17  Bruno Haible  <bruno@clisp.org>
6100
6101         * modules/list: New file.
6102         * modules/array-list: New file.
6103         * modules/carray-list, modules/carray-list-tests: New files.
6104         * modules/linked-list, modules/linked-list-tests: New files.
6105         * modules/avltree-list, modules/avltree-list-tests: New files.
6106         * modules/rbtree-list, modules/rbtree-list-tests: New files.
6107         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
6108         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
6109         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
6110         * modules/oset: New file.
6111         * modules/array-oset: New file.
6112         * modules/avltree-oset, modules/avltree-oset-tests: New files.
6113         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
6114         * tests/test-carray_list.c: New file.
6115         * tests/test-linked_list.c: New file.
6116         * tests/test-avltree_list.c: New file.
6117         * tests/test-rbtree_list.c: New file.
6118         * tests/test-linkedhash_list.c: New file.
6119         * tests/test-avltreehash_list.c: New file.
6120         * tests/test-rbtreehash_list.c: New file.
6121         * tests/test-avltree_oset.c: New file.
6122         * tests/test-rbtree_oset.c: New file.
6123         * MODULES.html.sh (Container data structures): New section.
6124
6125 2006-07-17  Bruno Haible  <bruno@clisp.org>
6126
6127         * m4/gl_list.m4: New file.
6128
6129 2006-07-17  Bruno Haible  <bruno@clisp.org>
6130
6131         * lib/gl_list.h: New file.
6132         * lib/gl_list.c: New file.
6133         * lib/gl_array_list.h: New file.
6134         * lib/gl_array_list.c: New file.
6135         * lib/gl_carray_list.h: New file.
6136         * lib/gl_carray_list.c: New file.
6137         * lib/gl_linked_list.h: New file.
6138         * lib/gl_linked_list.c: New file.
6139         * lib/gl_anylinked_list1.h: New file.
6140         * lib/gl_anylinked_list2.h: New file.
6141         * lib/gl_avltree_list.h: New file.
6142         * lib/gl_avltree_list.c: New file.
6143         * lib/gl_anyavltree_list1.h: New file.
6144         * lib/gl_anyavltree_list2.h: New file.
6145         * lib/gl_rbtree_list.h: New file.
6146         * lib/gl_rbtree_list.c: New file.
6147         * lib/gl_anyrbtree_list1.h: New file.
6148         * lib/gl_anyrbtree_list2.h: New file.
6149         * lib/gl_anytree_list1.h: New file.
6150         * lib/gl_anytree_list2.h: New file.
6151         * lib/gl_linkedhash_list.h: New file.
6152         * lib/gl_linkedhash_list.c: New file.
6153         * lib/gl_anyhash_list1.h: New file.
6154         * lib/gl_anyhash_list2.h: New file.
6155         * lib/gl_avltreehash_list.h: New file.
6156         * lib/gl_avltreehash_list.c: New file.
6157         * lib/gl_rbtreehash_list.h: New file.
6158         * lib/gl_rbtreehash_list.c: New file.
6159         * lib/gl_anytreehash_list1.h: New file.
6160         * lib/gl_anytreehash_list2.h: New file.
6161
6162         * lib/gl_oset.h: New file.
6163         * lib/gl_oset.c: New file.
6164         * lib/gl_array_oset.h: New file.
6165         * lib/gl_array_oset.c: New file.
6166         * lib/gl_avltree_oset.h: New file.
6167         * lib/gl_avltree_oset.c: New file.
6168         * lib/gl_rbtree_oset.h: New file.
6169         * lib/gl_rbtree_oset.c: New file.
6170         * lib/gl_anytree_oset.h: New file.
6171
6172 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6173
6174         * m4/mkancesdirs.m4: New file.
6175         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
6176         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
6177         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
6178         it.
6179
6180 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6181
6182         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
6183         * lib/mkancesdirs.h: New files.
6184         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
6185         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
6186         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
6187         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
6188         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
6189         callers changed.  Revamp internals significantly, by not
6190         attempting to create directories that are temporarily more
6191         permissive than the final results.  Do not attempt to use
6192         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
6193         This removes some race conditions, fixes some bugs, and simplifies
6194         things.  Use new dirchownmod function to do owner and mode changes.
6195         * lib/mkdir-p.h: Likewise.
6196         * lib/modechange.c (octal_to_mode): New function.
6197         (struct mode_change): New member mentioned.
6198         (make_node_op_equals): New arg mentioned.  All callers changed.
6199         (mode_compile): Keep track of which mode bits the user has explicitly
6200         mentioned.
6201         (mode_adjust): New arg DIR, so that we implement the X op correctly.
6202         New arg PMODE_BITS, to keep track of which mode bits the user
6203         mentioned; it treats S_ISUID and S_ISGID speciall.
6204         All callers changed.
6205         * lib/modechange.h: Likewise.
6206
6207 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6208
6209         * MODULES.html.sh: Add mkancestors.
6210         * modules/mkancesdirs: New module.
6211         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
6212         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
6213         The chdir-safer and afs files are now orphans; I'll remove them
6214         unless someone speaks up.
6215         Add lib/dirchownmod.c, lib/dirchownmod.h.
6216         (Depends-on): Remove alloca, chown, save-cwd, dirname.
6217         Add lchown, mkancesdirs.
6218         (Maintainer): Add self.
6219
6220 2006-07-15  Karl Berry  <karl@gnu.org>
6221
6222         * gnulib-tool: help message wording/arrangement.
6223
6224 2006-07-14  Simon Josefsson  <jas@extundo.com>
6225
6226         * doc/gnulib.texi (Libtool and Windows): New section.
6227
6228 2006-07-12  Simon Josefsson  <jas@extundo.com>
6229
6230         * modules/gendocs (License): Fix license, approved by Karl.
6231
6232 2006-07-12  Eric Blake  <ebb9@byu.net>
6233
6234         * MODULES.html.sh: Add gendocs.
6235
6236 2006-07-11  Eric Blake  <ebb9@byu.net>
6237
6238         * modules/fdl: New module, to install doc/fdl.texi.
6239         * MODULES.html.sh: Add new section for documentation modules.
6240         * gnulib-tool: Avoid space-tab.
6241         (--doc-base): New option, to manage files from doc.
6242
6243 2006-07-11  Eric Blake  <ebb9@byu.net>
6244
6245         * m4/absolute-header.m4: Fix comments to match recent change.
6246
6247 2006-07-11  Eric Blake  <ebb9@byu.net>
6248
6249         * gnulib-tool: List --doc-base before --tests-base.
6250
6251 2006-07-11  Derek R. Price  <derek@ximbiot.com>
6252
6253         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
6254
6255 2006-07-11  Bruno Haible  <bruno@clisp.org>
6256
6257         * README: Mention where to put documentation.
6258
6259 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6260
6261         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
6262
6263 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
6264
6265         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
6266         to stdint.m4.
6267
6268 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
6269
6270         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
6271         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
6272         "no/such/file/stdint.h" when there is no such file, so that
6273         the resulting C code can be parsed by dodgy compilers.
6274         Problems reported by Bob Proulx.
6275
6276 2006-07-10  Derek R. Price  <derek@ximbiot.com>
6277
6278         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
6279         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
6280         macros into the GNU _D_EXACT_NAMLEN.
6281         * lib/savedir.c:  Likewise.
6282         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
6283
6284 2006-07-10  Derek R. Price  <derek@ximbiot.com>
6285         and Paul Eggert  <eggert@cs.ucla.edu>
6286
6287         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
6288         * m4/savedir.m4:
6289         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
6290         macros into the GNU _D_EXACT_NAMLEN.
6291
6292 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6293
6294         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
6295         around the absolute name, to work around a problem with the HP-UX
6296         11.23 native C compiler, reported by Bob Proulx.
6297
6298 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6299
6300         * doc/maintain.texi, make-stds.texi: Sync from
6301         <http://savannah.gnu.org/projects/gnustandards>.
6302
6303 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6304
6305         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
6306
6307 2006-07-09  Jim Meyering  <jim@meyering.net>
6308
6309         * m4/glob.m4: Remove a doubled word in a comment.
6310
6311 2006-07-09  Jim Meyering  <jim@meyering.net>
6312
6313         * lib/argp-pv.c: Remove a doubled word in a comment.
6314         * lib/check-version.c (check_version): Likewise.
6315         * lib/javacomp.c (compile_java_class): Likewise.
6316
6317 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
6318
6319         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
6320         for the benefit of people using Autoconf 2.60.  If you want to
6321         support older Autoconf versions you can copy m4/onceonly_2_57.m4
6322         (or m4/onceonly.m4, if pre-2.57) manually.
6323
6324 2006-07-08  Jim Meyering  <jim@meyering.net>
6325
6326         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
6327         comment.
6328         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
6329         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
6330         comment.
6331
6332 2006-07-08  Jim Meyering  <jim@meyering.net>
6333
6334         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
6335
6336 2006-07-07  Simon Josefsson  <jas@extundo.com>
6337
6338         * tests/test-crc.c: Change expected crc value, the test vector
6339         were probably computed using the old broken crc.c?
6340
6341 2006-07-06  Simon Josefsson  <jas@extundo.com>
6342
6343         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
6344         now the canonical place for the M4 file).
6345
6346         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
6347         from the sys_socket dependency now.
6348
6349         * modules/inet_pton (Files): Ditto.
6350
6351         * modules/inet_ntop (Files): Ditto.
6352
6353 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
6354
6355         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
6356         not gl_PREREQ_GETUSERSHELL.
6357
6358 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6359
6360         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
6361         with only one argument, for Autoconf 2.60.
6362         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
6363         expand to nothing, so add a shell command to avoid syntax error.
6364         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6365
6366 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6367
6368         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
6369
6370 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6371
6372         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
6373         no longer needed.  Check for isblank decl.
6374         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
6375         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
6376         of existence.
6377
6378 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6379
6380         * lib/getloadavg.c: Use __VMS, not VMS.
6381         * lib/getopt.c: Likewise.
6382         * lib/getpagesize.h: Likewise.
6383         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
6384         and probably does not work.
6385
6386 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6387
6388         * lib/.cppi-disable: Add wcwidth.
6389         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
6390         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
6391         (ISGRAPH): Remove.  All uses changed to isgraph.
6392         (FOLD) [!defined _LIBC]: Remove special case.
6393         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
6394         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
6395         HAVE_ISBLANK.
6396         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
6397         case.
6398
6399 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
6400
6401         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
6402         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
6403         brackets.  Other minor changes to suppress some compiler
6404         warnings.
6405
6406 2006-07-06  Derek R. Price  <derek@ximbiot.com>
6407         and Paul Eggert  <eggert@cs.ucla.edu>
6408
6409         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
6410         of invoking obsolescent AC_HEADER_DIRENT macro.
6411         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
6412         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
6413         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6414         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
6415         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
6416         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
6417         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
6418         * m4/readdir.m4: Remove; no longer needed.
6419
6420 2006-07-06  Derek R. Price  <derek@ximbiot.com>
6421         and Paul Eggert  <eggert@cs.ucla.edu>
6422
6423         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
6424         Don't worry about this obsolete case any more.
6425         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
6426         directories.
6427         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
6428         worry about this obsolete case any more.
6429         * lib/fts.c: Likewise.
6430         * lib/getcwd.c: Likewise.
6431         * lib/glob.h: Likewise.
6432         * lib/savedir.c: Likewise.
6433
6434 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
6435
6436         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
6437         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
6438         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
6439         needed.
6440         All uses removed.
6441         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
6442         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
6443         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
6444         needed.
6445         * m4/getdate.m4 (gl_GETDATE): Likewise.
6446         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
6447         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
6448         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6449         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
6450         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
6451         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
6452         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
6453         needed.
6454
6455 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
6456
6457         * lib/memcasecmp.c: Include <limits.h>.
6458         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
6459         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
6460         Don't assume isdigit succeeds only on '0' through '9'.
6461
6462 2006-07-05  Eric Blake  <ebb9@byu.net>
6463
6464         * modules/getaddrinfo (Depends-on): Add snprintf.
6465
6466 2006-07-05  Eric Blake  <ebb9@byu.net>
6467
6468         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
6469         to avoid 'header present but could not be compiled' on cygwin.
6470
6471 2006-07-05  Eric Blake  <ebb9@byu.net>
6472
6473         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
6474         missing from netdb.h.
6475         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
6476
6477 2006-07-05  Derek R. Price  <derek@ximbiot.com>
6478
6479         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
6480         no longer needed.
6481         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
6482         * m4/getdate.m4 (gl_GETDATE): Likewise.
6483         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
6484         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
6485         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6486         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
6487         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
6488
6489 2006-07-05  Derek R. Price  <derek@ximbiot.com>
6490
6491         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
6492         All uses of is_space replaced by isspace.
6493         * lib/exit.h: Don't talk about STDC_HEADERS.
6494         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
6495         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
6496         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
6497         replaced by isprint etc.
6498         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
6499         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
6500         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
6501         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
6502         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
6503         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
6504
6505 2006-07-05  Bruno Haible  <bruno@clisp.org>
6506
6507         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
6508         the function exists, before testing against AIX.
6509         Reported by Martin Lambers <marlam@marlam.de>.
6510
6511 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
6512
6513         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
6514         From Mark D. Baushke.
6515
6516 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
6517
6518         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
6519         to the absolute name, not just one, to bypass Sun C 5.8's
6520         "warning: #include of /usr/include/... may be non-portable".
6521
6522 2006-07-04  Eric Blake  <ebb9@byu.net>
6523
6524         * modules/dirname-tests: New test module.
6525         * tests/test-dirname.c: New file, replacing dirname.c
6526         TEST_DIRNAME section that was recently deleted.
6527
6528 2006-07-04  Bruno Haible  <bruno@clisp.org>
6529
6530         Assume ANSI C header files and <ctype.h> functions.
6531         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
6532         (mbsnwidth): Use isprint, iscntrl instead.
6533
6534 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
6535
6536         Merge from coreutils.
6537         * MODULES.html.sh: Add xstrtold.
6538         * modules/xstrtold: New file.
6539         * modules/cycle-check (Files): Add lib/same-inode.h.
6540         * modules/dirname (Files): Add m4/double-slash-root.m4.
6541         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
6542         * modules/mkdir-p (Files): Add lib/same-inode.h.
6543         * modules/same (Files): Add lib/same-inode.h.
6544
6545 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
6546
6547         * m4/absolute-header.m4: Renamed from full-header-path.m4.
6548         This is to keep the terminology clean; POSIX talks about
6549         "absolute pathnames", not "full pathnames", but the GNU
6550         Coding Standards say to use "path" for something else;
6551         so use "absolute" to keep both sides happy.
6552         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
6553         Set gl_absolute_header, not gl_full_header_path.
6554         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
6555         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
6556         All uses changed.
6557
6558         Merge from coreutils.
6559
6560         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
6561
6562         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
6563         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
6564         want to require the building of c-strtod.o.
6565         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
6566         needs -lm directly.
6567         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
6568
6569         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
6570
6571         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
6572         --as-needed option if available.  Problem reported by Albert Chin in
6573         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
6574         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
6575         cc merely issues a bunch of annoying warnings for --as-needed
6576         (this problem was reported by Bob Proulx).  Also, try linking with
6577         -lm to detect a bug in binutils 2.16 (this problem was reported
6578         by Ralf Wildenhues).
6579
6580         2006-06-18  Jim Meyering  <jim@meyering.net>
6581
6582         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
6583         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
6584         macro.
6585         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
6586         also check for glibc-2.4's abort-inducing bug.
6587
6588         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
6589         Low-probability clean-up should be to use rmdir to get rid of
6590         the just-created directory, not unlink.
6591
6592         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
6593         configure fail, and request a bug report to inform us about it.
6594         Add a comment that, barring reports to the contrary, in 2007 we'll
6595         assume ftruncate is universally available.
6596
6597         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
6598
6599         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
6600
6601         2006-03-12  Jim Meyering  <jim@meyering.net>
6602
6603         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
6604         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
6605         * m4/same.m4 (gl_SAME): Likewise.
6606         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
6607
6608         2006-03-11  Eric Blake  <ebb9@byu.net>
6609
6610         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
6611         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
6612         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
6613         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
6614
6615 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
6616
6617         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
6618         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
6619         reported by Mark D. Baushke, one in
6620         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
6621
6622         Merge from coreutils.
6623
6624         * lib/.cppi-disable: Add stdint_.h.
6625         * lib/.cvsignore: Add stdint.h.
6626
6627         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
6628
6629         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
6630         both double and long double versions.
6631         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
6632         * lib/xstrtold.c: New file.
6633         * lib/xstrtod.h (xstrtold): New decl.
6634
6635         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
6636
6637         * lib/filemode.c (setst): Remove.
6638         (strmode): Rewrite to avoid setst.  This makes the code shorter,
6639         (arguably) clearer, and the generated code is a bit smaller on my
6640         Debian GNU/Linux stable x86 host.
6641
6642         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
6643
6644         * lib/filemode.c: Include "filemode.h" first, to test the interface.
6645         Assume that filemode.h includes sys/types.h and sys/stat.h.
6646         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
6647         (ftypelet): Reorder to put common cases first, for efficiency.
6648         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
6649         to do 'M'.
6650         (strmode): Renamed from mode_string, and now stores 12 bytes instead
6651         of 10, for compatibility with FreeBSD.  All callers changed.
6652         (filemodestring): Now stores 12 bytes instead of 10, and sets file
6653         types that can't be deduced solely from st_mode.  First arg is now a
6654         const pointer.
6655         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
6656         (strmode): Renamed from mode_string.
6657         (filemodestring): New decl.
6658         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
6659         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
6660         needed.
6661         (S_ISPORT, S_ISWHT): New macros, if not already defined.
6662
6663         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
6664
6665         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
6666         fsusage.h now does that.  Include fsusage.h first, to test interface.
6667         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
6668         at most one method (the old code could have generated decls that
6669         didn't conform to C89, not that this was ever exercised).
6670         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
6671
6672         2006-03-19  Jim Meyering  <jim@meyering.net>
6673
6674         Work even in a chroot where d_ino values for entries in "/"
6675         don't match the stat.st_ino values for the same names.
6676         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
6677         number, iterate through all entries again, using lstat instead.
6678         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
6679         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
6680
6681         * lib/getcwd.c (__getcwd): Clarify a comment.
6682         Use memcpy in place of a call to strcpy.
6683
6684         2006-03-12  Jim Meyering  <jim@meyering.net>
6685
6686         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
6687         matches that of the current directory (which we're about to chdir ".."
6688         out of), then save the dev-ino of the parent, instead.
6689
6690         * lib/same-inode.h (SAME_INODE): New file/macro.
6691         * lib/chdir-safer.c (SAME_INODE): Remove definition.
6692         Include "same-inode.h", instead.
6693         * lib/same.c: Likewise.
6694         * lib/cycle-check.h: Include "same-inode.h".
6695         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
6696         * lib/cycle-check.c (SAME_INODE): Remove definition.
6697         * lib/root-dev-ino.h: Include "same-inode.h".
6698
6699         2006-03-11  Eric Blake  <ebb9@byu.net>
6700
6701         * lib/same.c (same_name): s/base_name/last_component/
6702         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
6703         * lib/filenamecat.c (file_name_concat): Likewise.
6704
6705         2006-03-11  Eric Blake  <ebb9@byu.net>,
6706                     Paul Eggert  <eggert@cs.ucla.edu>
6707
6708         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
6709         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
6710         drive prefix.
6711         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
6712         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
6713         (last_component): New method.
6714         * lib/dirname.c (dir_len): Determine when drive letters need a
6715         subsequent slash.  Preserve // when it is special.
6716         (dir_name): Don't append dot when drive letter is absolute.
6717         [TEST_DIRNAME]: Move into a full-blown gnulib test.
6718         * lib/basename.c (base_name): New semantics - malloc the result.
6719         Preserve // when it is special.  Preserve relative files that look
6720         like drive letters.
6721         (base_len): Preserve // when it is special.
6722         (last_component): New method, similar to old base_name semantics.
6723         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
6724         base_name.  Strip redundant slashes from ///.
6725
6726 2006-07-03  Jim Meyering  <jim@meyering.net>
6727
6728         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
6729         macro is used before the first cycle_check call.
6730
6731 2006-07-03  Eric Blake  <ebb9@byu.net>
6732
6733         * modules/dirname (Depends-on): Add xstrndup.
6734
6735 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
6736
6737         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
6738         test cases, so that config.log is a bit easier to follow.
6739
6740 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
6741
6742         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
6743         both are 64 bits, since this seems to be the tradition, and this
6744         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
6745         we ever run into a host that prefers long long to long in this
6746         case, we'll need another configure-time test.  Problem reported by
6747         Jim Meyering.
6748
6749 2006-07-02  Eric Blake  <ebb9@byu.net>
6750
6751         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
6752
6753 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
6754
6755         * modules/inttypes (Depends-on): No longer depends on stdint.
6756         * modules/stdint (Description): Say more about assumptions.
6757         Say that the fast types might differ.  Say macros are used.
6758         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
6759         (Makefile.am): Revise list of substituted symbols to match
6760         new stdint.m4.
6761         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
6762         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
6763         * tests/test-stdint.c (verify_same_types)
6764         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
6765         the code conforms to C99/C89.
6766         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
6767         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
6768
6769 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
6770
6771         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
6772         but fix a bug, by requiring at least 64 bits.
6773         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
6774         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
6775         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
6776         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
6777
6778         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
6779         changes.  Make 2.59 a prerequisite.  Check and substitute for
6780         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
6781         inttypes.h.  Do not use special include files; just use the
6782         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
6783         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
6784         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
6785         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
6786         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
6787         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
6788         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
6789         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
6790         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
6791         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
6792         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
6793         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
6794         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
6795         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
6796         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
6797         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
6798         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
6799         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
6800         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
6801         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
6802         WINT_MAX.  Check for C99 conformance more strictly, by detecting
6803         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
6804         not check for things that C99 does not require, e.g., int8_t.  If
6805         a test isn't needed unless <stdint.h> isn't working, and is
6806         unlikely to be needed for any other reason, then don't do it
6807         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
6808         size_t, since we assume C89 freestanding at least.  Do not check
6809         for sig_atomic_t, wchar_t, or wint_t, since the code now does
6810         the right thing even if the types are not defined.  Instead use:
6811         (gl_STDINT_TYPE_PROPERTIES): New macro.
6812         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
6813         testing whether <sys/types.h> clashes, as Autoconf does this for
6814         us now.  All uses removed.
6815         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
6816         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
6817         (gl_CHECK_TYPE_SAME):
6818         Remove; no longer needed.
6819         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
6820         exists, since we'll return 0 anyway in that case.
6821         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
6822
6823 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
6824
6825         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
6826         possible collision with system files.
6827         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
6828         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
6829         WCHAR_MIN and WCHAR_MAX in this case.
6830         (<stddef.h>): Do not include; no longer needed.
6831         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
6832         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
6833         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
6834         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
6835         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
6836         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
6837         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
6838         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
6839         !defined(__c99))]: Include in this case too, since it's harmless
6840         now.
6841         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
6842         dangerous to do so.
6843         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
6844         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
6845         (_STDINT_MIN, _STDINT_MAX): New macros.
6846         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
6847         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
6848         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
6849         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
6850         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
6851         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
6852         macros, not typedefs; this simplifies things quite a bit.
6853         Use long int for all types narrower than int64_t.
6854         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
6855         Define in terms of long long int or int64_t or long int,
6856         not int64_t or int32_t.  This saves some compile-time testing.
6857         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
6858         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
6859         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
6860         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
6861         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
6862         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
6863         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
6864         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
6865         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
6866         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
6867         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
6868         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
6869         undef any previous version and define our own version, for
6870         simplicity and consistency with the new macros for types.
6871         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
6872         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
6873         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
6874         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
6875         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
6876         @WINT_T_SUFFIX@ to keep things simple here.
6877         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
6878         Simplify by assuming typical 8/16/32/64 host, since we're
6879         already doing that elsewhere anyway.
6880         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
6881         and assume long long int is 64 bits if available.  This
6882         speeds up 'configure'.
6883
6884 2006-07-01  Eric Blake  <ebb9@byu.net>
6885
6886         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
6887         Reported by Andreas Buening.
6888
6889 2006-07-01  Eric Blake  <ebb9@byu.net>
6890
6891         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
6892
6893 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
6894
6895         * lib/getaddrinfo.c: fixed typo
6896
6897 2006-06-29  Jim Meyering  <jim@meyering.net>
6898
6899         * modules/strftime (Maintainer): Add my name, since with the
6900         FPRINTFTIME changes strftime.c has forked from glibc.
6901
6902 2006-06-29  Eric Blake  <ebb9@byu.net>
6903
6904         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
6905
6906 2006-06-29  Eric Blake  <ebb9@byu.net>
6907
6908         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
6909
6910 2006-06-29  Eric Blake  <ebb9@byu.net>
6911
6912         * lib/stat_.h: New file.
6913
6914 2006-06-29  Eric Blake  <ebb9@byu.net>
6915
6916         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
6917         unused static function.
6918
6919 2006-06-29  Eric Blake  <ebb9@byu.net>
6920
6921         * doc/functions.texi (Function Portability): Document missing lstat
6922         on mingw.
6923
6924 2006-06-29  Eric Blake  <ebb9@byu.net>
6925
6926         * MODULES.html.sh: Add sys_stat.
6927         * modules/sys_stat: New module.
6928         * modules/mkstemp (Depends-on): Add sys_stat.
6929
6930 2006-06-29  Derek R. Price  <derek@ximbiot.com>
6931
6932         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
6933
6934 2006-06-29  Derek R. Price  <derek@ximbiot.com>
6935
6936         * m4/c-bs-a.m4: Removed.
6937
6938 2006-06-29  Derek R. Price  <derek@ximbiot.com>
6939
6940         * lib/strftime.c: Assume strftime() exists.
6941
6942 2006-06-29  Derek Price  <derek@ximbiot.com>
6943
6944         * modules/c-bs-a: Removed - \a is C89.
6945         * MODULES.html.sh: Remove c-bs-a.
6946
6947 2006-06-29  Bruno Haible  <bruno@clisp.org>
6948
6949         * modules/wcwidth (License): Change to LGPL.
6950
6951 2006-06-28  Simon Josefsson  <jas@extundo.com>
6952
6953         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
6954         on _WIN32.
6955
6956         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
6957         getnameinfo.
6958
6959 2006-06-28  Simon Josefsson  <jas@extundo.com>
6960
6961         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
6962
6963 2006-06-28  Simon Josefsson  <jas@extundo.com>
6964
6965         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
6966         functions there.  It will succeed on Windows XP, but on Windows
6967         2000 and (presumably) earlier, it will fail, and use the internal
6968         re-implementation.
6969         (use_win32_p): New function.
6970         (getaddrinfo): Use strtoul on servname, to support numeric ports.
6971         Support AI_NUMERICSERV to disable getservbyname.
6972         (getnameinfo): New function, only supports
6973         NI_NUMERICHOST|NI_NUMERICSERV for now.
6974
6975         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
6976         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
6977         getnameinfo.
6978
6979 2006-06-28  Eric Blake  <ebb9@byu.net>
6980
6981         * modules/wcwidth: New file.
6982         * modules/mbchar (Depends-on): Add wcwidth.
6983         * modules/mbswidth (Depends-on): Add wcwidth.
6984         * MODULES.html.sh: Add wcwidth.
6985
6986 2006-06-28  Eric Blake  <ebb9@byu.net>
6987
6988         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
6989         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
6990
6991 2006-06-28  Eric Blake  <ebb9@byu.net>
6992
6993         * lib/xvasprintf.h: Fix comments.
6994
6995 2006-06-28  Eric Blake  <ebb9@byu.net>
6996
6997         * lib/mbchar.h (wcwidth): Include wcwidth.h.
6998         * lib/mbswidth.c (wcwidth): Move from here...
6999         * lib/wcwidth.h: ...to this new file.
7000
7001 2006-06-28  Derek R. Price  <derek@ximbiot.com>
7002
7003         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
7004
7005         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
7006         it's obsolete.
7007         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
7008
7009 2006-06-28  Derek R. Price  <derek@ximbiot.com>
7010
7011         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
7012         Autoconf 2.60 says this stuff was obsolete.
7013
7014 2006-06-28  Bruno Haible  <bruno@clisp.org>
7015
7016         * modules/wcwidth (Files): Add m4/wchar_t.m4.
7017
7018 2006-06-28  Bruno Haible  <bruno@clisp.org>
7019
7020         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
7021         gt_TYPE_WCHAR_T.
7022
7023 2006-06-28  Bruno Haible  <bruno@clisp.org>
7024
7025         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
7026         declaration for wcwidth.
7027         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
7028
7029 2006-06-28  Bruno Haible  <bruno@clisp.org>
7030
7031         * lib/mkdtemp.c [MINGW]: Include <io.h>.
7032         (mkdir): Define using _mkdir.
7033
7034 2006-06-28  Bruno Haible  <bruno@clisp.org>
7035
7036         * lib/getaddrinfo.h: Fix POSIX URL.
7037         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
7038         _WIN32.
7039         (use_win32_p): Make static.
7040         (getaddrinfo): Reject service name if it is empty or does not consist
7041         solely of decimal digits, or if its value is > 65535.
7042         (getnameinfo): Remove useless casts.
7043
7044 2006-06-27  Simon Josefsson  <jas@extundo.com>
7045
7046         * modules/sys_select: New file, suggested by Bruno Haible, Paul
7047         Eggert and Martin Lambers.
7048
7049 2006-06-27  Simon Josefsson  <jas@extundo.com>
7050
7051         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
7052         Eggert and Martin Lambers.
7053
7054 2006-06-27  Bruno Haible  <bruno@clisp.org>
7055
7056         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
7057         result to 0, not to empty.
7058         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
7059
7060 2006-06-27  Bruno Haible  <bruno@clisp.org>
7061
7062         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
7063
7064 2006-06-26  Simon Josefsson  <jas@extundo.com>
7065
7066         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
7067         present.
7068
7069 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
7070
7071         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
7072         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
7073         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
7074
7075 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
7076
7077         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
7078
7079 2006-06-26  Bruno Haible  <bruno@clisp.org>
7080
7081         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
7082
7083 2006-06-26  Bruno Haible  <bruno@clisp.org>
7084
7085         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
7086
7087 2006-06-26  Bruno Haible  <bruno@clisp.org>
7088
7089         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
7090         SGI C compiler in pre-C99 mode.
7091         Suggested by Mark D. Baushke and Larry Jones.
7092
7093 2006-06-26  Bruno Haible  <bruno@clisp.org>
7094
7095         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
7096         WCHAR_MAX.
7097         Reported by Mark D. Baushke and Larry Jones.
7098
7099 2006-06-26  Bruno Haible  <bruno@clisp.org>
7100
7101         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
7102         in pre-C99 mode.
7103         Suggested by Mark D. Baushke and Larry Jones.
7104
7105 2006-06-23  Simon Josefsson  <jas@extundo.com>
7106             Bruno Haible  <bruno@clisp.org>
7107
7108         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
7109         Emit mostlyclean-local rule.
7110         (func_emit_tests_Makefile_am): Likewise.
7111         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
7112
7113 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
7114
7115         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
7116
7117 2006-06-23  Bruno Haible  <bruno@clisp.org>
7118
7119         * tests/test-stdint.c: Update to match ISO C 99 Technical
7120         Corrigendum 1.
7121
7122 2006-06-23  Bruno Haible  <bruno@clisp.org>
7123
7124         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
7125
7126 2006-06-23  Bruno Haible  <bruno@clisp.org>
7127
7128         * lib/stdint_.h: Treat IRIX like OpenBSD.
7129
7130 2006-06-23  Bruno Haible  <bruno@clisp.org>
7131
7132         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
7133         ISO C 99 Technical Corrigendum 1.
7134
7135 2006-06-22  Simon Josefsson  <jas@extundo.com>
7136
7137         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
7138         MinGW.
7139
7140 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
7141
7142         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
7143         needed.  Some compiler complained about some of them.  Problem reported
7144         by Larry Jones in
7145         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
7146
7147 2006-06-21  Simon Josefsson  <jas@extundo.com>
7148
7149         * tests/test-getaddrinfo.c: New file.
7150
7151         * modules/getaddrinfo-tests: New file.
7152
7153         * MODULES.html.sh: Add inet_pton.
7154
7155         * modules/inet_pton: New file.
7156
7157 2006-06-21  Simon Josefsson  <jas@extundo.com>
7158
7159         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
7160         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
7161         of using the (limited) gnulib implementation on Windows XP.
7162
7163         * m4/inet_pton.m4: New file.
7164
7165 2006-06-21  Simon Josefsson  <jas@extundo.com>
7166
7167         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
7168         variable.
7169
7170         * lib/socket_.h: Don't define WINVER.
7171
7172         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
7173         slightly modified to work in gnulib.
7174
7175 2006-06-21  Simon Josefsson  <jas@extundo.com>
7176
7177         * doc/gnulib.texi (Windows sockets): Add.
7178
7179 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
7180
7181         * lib/read-file.c (fread_file): Start with buffer allocation of
7182         0 bytes rather than 1 byte; this simplifies the code.
7183         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
7184         code to free buffer and save/restore errno.
7185         (internal_read_file): Remove unused local.
7186
7187 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
7188
7189         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
7190         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
7191         Problem reported by Denis Excoffier in
7192         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
7193
7194 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7195
7196         * modules/sys_socket, modules/socklen: Include sys/types since
7197         FreeBSD 4.x's sys/socket.h needs it.
7198
7199 2006-06-19  Simon Josefsson  <jas@extundo.com>
7200
7201         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
7202
7203 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
7204
7205         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
7206
7207 2006-06-19  Bruno Haible  <bruno@clisp.org>
7208
7209         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
7210         and FULL_PATH_INTTYPES_H in angle brackets.
7211         Reported by Mark D. Baushke <mdb@gnu.org>.
7212
7213 2006-06-17  Eric Blake  <ebb9@byu.net>
7214
7215         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
7216         errno.
7217
7218 2006-06-17  Bruno Haible  <bruno@clisp.org>
7219
7220         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
7221         <sys/inttypes.h>.
7222
7223 2006-06-17  Bruno Haible  <bruno@clisp.org>
7224
7225         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
7226         whether errno is declared. Assume <errno.h> declares errno.
7227
7228 2006-06-17  Bruno Haible  <bruno@clisp.org>
7229
7230         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
7231
7232 2006-06-17  Bruno Haible  <bruno@clisp.org>
7233
7234         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
7235         problem on Solaris 2.5.1.
7236
7237 2006-06-16  Eric Blake  <ebb9@byu.net>
7238
7239         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
7240         * lib/unicodeio.c [!defined errno]: Likewise.
7241         * lib/strtol.c [!defined errno]: Likewise.
7242         * lib/strtod.c [!defined errno]: Likewise.
7243
7244 2006-06-15  Eric Blake  <ebb9@byu.net>
7245
7246         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
7247
7248 2006-06-15  Eric Blake  <ebb9@byu.net>
7249
7250         * config/srclist.txt (ssize_t.m4): Lose sync.
7251
7252 2006-06-15  Bruno Haible  <bruno@clisp.org>
7253
7254         * modules/stdint (Files): Include m4/full-header-path.m4,
7255         m4/size_max.m4, m4/wchar_t.m4.
7256         (Makefile.am): Many more substitutions.
7257         * modules/stdint-tests: New file.
7258         * tests/test-stdint.c: New file.
7259
7260 2006-06-15  Bruno Haible  <bruno@clisp.org>
7261
7262         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
7263         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
7264         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
7265         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
7266         gl_CHECK_TYPE_SAME): New macros.
7267
7268 2006-06-15  Bruno Haible  <bruno@clisp.org>
7269
7270         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
7271
7272 2006-06-15  Bruno Haible  <bruno@clisp.org>
7273
7274         * lib/stdint_.h: Rewritten to be fully auto-configured.
7275         Fixes bug on HP-UX/IA64.
7276
7277 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
7278
7279         * lib/getdate.y (__attribute__): Don't define if already defined.
7280         Problem reported by Larry Jones.
7281         * lib/utimens.c (__attribute__): Likewise.
7282
7283 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
7284
7285         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
7286         reported by Andreas Schwab.
7287
7288 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7289             Bruno Haible  <bruno@clisp.org>
7290
7291         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
7292         check for the declaration of strnlen and a run test that exposes the
7293         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
7294         rpl_strndup.
7295
7296 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7297             Bruno Haible  <bruno@clisp.org>
7298
7299         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
7300
7301 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7302
7303         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
7304         compile test, for Tru64 4.0D.
7305
7306 2006-05-28  Karl Berry  <karl@gnu.org>
7307
7308         * config/srclist.txt (printf-args.c): lose sync.
7309
7310 2006-05-26  Martin Lambers  <marlam@marlam.de>
7311
7312         * lib/getpass.c: Updates the test for the native W32 API, and adds
7313         missing includes, thus fixing compilation warnings.
7314
7315 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
7316
7317         * lib/exclude.c (exclude_fnmatch): New function.
7318         (excluded_file_name): Call exclude_fnmatch.
7319         * lib/exclude.h (excluded_file_name): New prototype
7320
7321 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7322
7323         * lib/tempname.c (small_open, large_open): New macros.
7324         (__open, __open64) [!_LIBC]: Remove.
7325         (__gen_tempname): Use small_open and large_open instead of __open
7326         and __open64.  This fixes a portability bug on HP-UX 11.11i
7327         reported by Simon Wing-Tang in
7328         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
7329
7330 2006-05-24  Bruno Haible  <bruno@clisp.org>
7331
7332         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
7333         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
7334         Reported by Thorsten Maerz <torte@netztorte.de> via
7335         Aaron Stone <aaron@serendipity.cx>.
7336
7337 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7338
7339         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
7340         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
7341         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
7342         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
7343         not really conditional on the cache.
7344         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
7345
7346 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7347
7348         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
7349         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
7350         (my_usleep): Don't mishandle maximum value.
7351
7352 2006-05-19  Jim Meyering  <jim@meyering.net>
7353
7354         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
7355
7356 2006-05-17  Bruno Haible  <bruno@clisp.org>
7357
7358         Cygwin portability.
7359         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
7360
7361 2006-05-17  Bruno Haible  <bruno@clisp.org>
7362
7363         * lib/stdint_.h: Fix recognition of Cygwin.
7364
7365 2006-05-15  Bruno Haible  <bruno@clisp.org>
7366
7367         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
7368         on libtool patch by Ralf Wildenhues.
7369
7370 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
7371
7372         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
7373         test for C99 conformance; (bool) 0.5 is an integer constant
7374         expression, but (bool) -0.5 is not.  Problem reported by Fedor
7375         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
7376
7377 2006-05-11  Simon Josefsson  <jas@extundo.com>
7378
7379         * m4/xvasprintf.m4: Fix obvious typo.
7380
7381 2006-05-11  Jim Meyering  <jim@meyering.net>
7382
7383         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
7384         James Lemley.
7385
7386 2006-05-10  Simon Josefsson  <jas@extundo.com>
7387
7388         * lib/md4.c: Typo fix, update copyright years.
7389         (K1, K2): Don't use L because it turn computations into 64-bit on
7390         64-bit platforms.
7391
7392 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
7393
7394         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
7395         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
7396         unwanted sign propagation, e.g., on hosts with 64-bit int.
7397         There still are some problems with reeelly weird theoretical hosts
7398         (e.g., 33-bit int) but it's not worth worrying about now.
7399         * lib/sha1.c (rol): Likewise.
7400         (K1, K2, K3, K4): Remove unnecessary L suffix.
7401
7402 2006-05-10  Bruno Haible  <bruno@clisp.org>
7403
7404         * lib/des.c: Cast to avoid warnings.
7405
7406 2006-05-09  Bruno Haible  <bruno@clisp.org>
7407
7408         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
7409         (Depends-on): Depend also on xsize, stdarg.
7410         (configure.ac): Add gl_XVASPRINTF.
7411
7412 2006-05-09  Bruno Haible  <bruno@clisp.org>
7413
7414         * m4/xvasprintf.m4: New file.
7415
7416 2006-05-09  Bruno Haible  <bruno@clisp.org>
7417
7418         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
7419         (EOVERFLOW): Define fallback value.
7420         (xstrcat): New function.
7421         (xvasprintf): Recognize the special case of a string concatenation.
7422
7423 2006-05-08  Eric Blake  <ebb9@byu.net>
7424
7425         * gnulib-tool (func_version): Base copyright year on CVS date.
7426         (func_emit_copyright_notice): New function.
7427         (func_emit_lib_Makefile_am): Use it.
7428         (func_emit_tests_Makefile_am): Likewise.
7429         (func_import): Likewise.
7430
7431 2006-05-08  Bruno Haible  <bruno@clisp.org>
7432
7433         * modules/stdarg: New file.
7434         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
7435
7436 2006-05-08  Bruno Haible  <bruno@clisp.org>
7437
7438         * m4/stdarg.m4: New file, from GNU gettext.
7439
7440 2006-05-08  Bruno Haible  <bruno@clisp.org>
7441
7442         * config/srclist.txt (build-aux/config.rpath): different from latest
7443         release.
7444
7445 2006-05-08  Bruno Haible  <bruno@clisp.org>
7446
7447         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
7448
7449 2006-05-05  Jim Meyering  <jim@meyering.net>
7450
7451         * m4/warning.m4: New file, derived from bison's file by the same name.
7452
7453 2006-05-03  Bruno Haible  <bruno@clisp.org>
7454
7455         * lib/stdint_.h: Shorter URL.
7456         * lib/inttypes.h: Likewise.
7457
7458 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7459
7460         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
7461
7462 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7463
7464         * lib/verify.h: Document the internals better.  Most of this change
7465         was written by Bruno Haible.
7466
7467 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7468
7469         * doc/verify.texi: New file, partly based on a proposal by
7470         Bruno Haible.
7471
7472 2006-05-02  Bruno Haible  <bruno@clisp.org>
7473
7474         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
7475         test from here...
7476         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
7477
7478 2006-04-29  Bruno Haible  <bruno@clisp.org>
7479
7480         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
7481         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
7482
7483 2006-04-29  Bruno Haible  <bruno@clisp.org>
7484
7485         * gnulib-tool: Make --update option actually work.
7486
7487 2006-04-29  Bruno Haible  <bruno@clisp.org>
7488
7489         * doc/gcd.texi: New file.
7490         * doc/gnulib.texi: Include it.
7491
7492 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7493
7494         * lib/getdate.y (get_date): When adding relative date, start with the
7495         initial time, not with the result of the first mktime call.
7496
7497 2006-04-25  Bruno Haible  <bruno@clisp.org>
7498
7499         * gnulib-tool (func_import): Output the include directives in three
7500         blocks, sorted separately.
7501         Reported by Ben Pfaff <blp@cs.stanford.edu>.
7502
7503 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7504
7505         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
7506         to define main with arguments, for C++.  Reported by Eric Blake.
7507         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
7508         Prefer 'int main ()' to 'int main (void)', for C++.
7509         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7510         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
7511         for 'main', for C99 and C++.
7512
7513 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7514
7515         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
7516         Don't assume that exit status -1 is valid.
7517         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7518         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
7519         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
7520         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
7521         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
7522         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
7523         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
7524         functions can be used without declaring them, or that you can
7525         exit with status -1.
7526         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
7527
7528 2006-04-24  Karl Berry  <karl@gnu.org>
7529
7530         * config/srclist.txt (longdouble.m4): sync lost.
7531
7532 2006-04-24  Eric Blake  <ebb9@byu.net>
7533
7534         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
7535
7536 2006-04-24  Bruno Haible  <bruno@clisp.org>
7537
7538         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
7539         poll() implementation in AIX.
7540         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7541
7542 2006-04-24  Bruno Haible  <bruno@clisp.org>
7543
7544         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
7545         assigned exactly once.
7546
7547 2006-04-23  Claudio Fontana  <claudio@gnu.org>
7548             Bruno Haible  <bruno@clisp.org>
7549
7550         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
7551         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
7552         for AM_CPPFLAGS.
7553
7554 2006-04-23  Bruno Haible  <bruno@clisp.org>
7555
7556         * modules/copy-file: Depend on unistd.
7557         * modules/execute: Likewise.
7558         * modules/fatal-signal: Likewise.
7559         * modules/findprog: Likewise.
7560         * modules/mkdtemp : Likewise.
7561         * modules/pipe: Likewise.
7562         * modules/wait-process: Likewise.
7563
7564 2006-04-23  Bruno Haible  <bruno@clisp.org>
7565
7566         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
7567         condition was already detected.
7568         Reported by Ben Pfaff <blp@cs.stanford.edu>.
7569
7570 2006-04-23  Bruno Haible  <bruno@clisp.org>
7571
7572         * lib/copy-file.c: Include <unistd.h> unconditionally.
7573         * lib/execute.c: Likewise.
7574         * lib/fatal-signal.c: Likewise.
7575         * lib/findprog.c: Likewise.
7576         * lib/mkdtemp.c: Likewise.
7577         * lib/pipe.h: Likewise.
7578         * lib/pipe.c: Likewise.
7579         * lib/wait-process.h: Likewise.
7580
7581 2006-04-23  Bruno Haible  <bruno@clisp.org>
7582
7583         * gnulib-tool (func_usage): Fix --import description. Document
7584         --update.
7585         (func_import): Create temporary file in a temporary directory, if
7586         --dry-run is specified. Silence errors from 'grep' when there are no
7587         m4 files in $m4dir.
7588         (func_create_testdir): Silence errors from 'grep' when there are no
7589         m4 files in $m4dir.
7590         Reported by Karl Berry <karl@freefriends.org>.
7591
7592 2006-04-20  Bruno Haible  <bruno@clisp.org>
7593
7594         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
7595         one argument, so that the code will be portable to Autoconf 2.60.
7596         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
7597         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
7598         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
7599
7600 2006-04-19  Derek Price  <derek@ximbiot.com>
7601             Eric Blake  <ebb9@byu.net>
7602
7603         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
7604         rather than "/full/path.h".  Update comment to match.  Shorten &
7605         generalize m4_translit call via AS_TR_CPP.
7606
7607 2006-04-19  Derek Price  <derek@ximbiot.com>
7608             Eric Blake  <ebb9@byu.net>
7609
7610         * lib/inttypes.h: Correct grammar in comment.
7611
7612 2006-04-18  Derek Price  <derek@ximbiot.com>
7613             Paul Eggert  <eggert@cs.ucla.edu>
7614
7615         * modules/inttypes: New file.
7616         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
7617
7618 2006-04-18  Derek Price  <derek@ximbiot.com>
7619             Paul Eggert  <eggert@cs.ucla.edu>
7620
7621         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
7622         New files.
7623
7624 2006-04-18  Derek Price  <derek@ximbiot.com>
7625             Paul Eggert  <eggert@cs.ucla.edu>
7626
7627         * lib/inttypes.h: New file.
7628         * lib/strtoimax.c: Assume <inttypes.h>.
7629
7630 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7631
7632         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
7633         isn't mounted.  Problem reported by Kir Kolyshkin.
7634
7635 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7636
7637         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
7638         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
7639         Derek R. Price.
7640         * lib/regex.h (RE_DUP_MAX): Update comment to match current
7641         implementation.
7642
7643 2006-04-12  Eric Blake  <ebb9@byu.net>
7644
7645         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
7646         is now done automatically by the corresponding Autoconf macro.
7647
7648 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
7649
7650         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
7651         time_r.h.
7652
7653 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7654
7655         Merge regex changes from libc, removing some of our
7656         POSIX-conformance changes that were rejected and redoing them in a
7657         less-intrusive way.
7658
7659         * lib/regcomp.c (re_compile_internal, init_dfa):
7660         Length arg is now size_t, not Idx.  All uses changed.
7661         (peek_token): Forward decl now says internal_function.
7662         (__re_error_msgid, __re_error_msgid_idx):
7663         Now static rather than extern with attribute_hidden.
7664         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
7665         For some reason libc prefers K&R style defns for external functions.
7666         (regerror) [!defined _LIBC]: Likewise.
7667         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
7668         (seek_collating_symbol_entry, lookup_collation_sequence_value):
7669         (build_range_exp, build_collating_symbol):
7670         Use K&R-style defn.
7671         (re_compile_fastmap): Use '\0' to memset, not 0.
7672         (utf8_sb_map): Make the calculations more obvious.
7673         (init_dfa, parse_bracket_exp, build_charclass_op):
7674         Call calloc and cast result, as glibc does.
7675         (init_word_char, fetch_token, peek_token, peek_token_bracket):
7676         (build_range_exp, build_collating_symbol):
7677         Now internal functions.
7678
7679         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
7680
7681         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
7682         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
7683         Don't depend on VMS; depend on __VMS instead, for POSIX
7684         namespace cleanness.
7685         (regoff_t): Define to ssize_t, not long int.
7686
7687         Remove the REG_ macros named below.  Instead, make the old names
7688         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
7689         __USE_GNU_REGEX.
7690         (REG_BACKSLASH_ESCAPE_IN_LISTS):
7691         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
7692         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
7693         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
7694         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
7695         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
7696         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
7697         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
7698         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
7699         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
7700         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
7701         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
7702         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
7703         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
7704         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
7705         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
7706         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
7707         (REG_NREGS):
7708         Remove.  All uses replaced by the old RE_* names.
7709         (RE_BACKSLASH_ESCAPE_IN_LISTS):
7710         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
7711         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
7712         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
7713         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
7714         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
7715         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
7716         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
7717         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
7718         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
7719         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
7720         Don't bother having these macros be independent of each others'
7721         values, since they no longer exist in the POSIX name space.
7722
7723         Rename the following member names back to their old names,
7724         unless !__USE_GNU_REGEX.  All uses changed back.
7725         (buffer): Renamed from re_buffer.
7726         (allocated): Renamed from re_allocated.
7727         (used): Renamed from re_used.
7728         (syntax): Renamed from re_syntax.
7729         (fastmap): Renamed from re_fastmap.
7730         (translate): Renamed from re_translate.
7731         (can_be_null): Renamed from re_can_be_null.
7732         (regs_allocated): Renamed from re_regs_allocated.
7733         (fastmap_accurate): Renamed from re_fastmap_accurate.
7734         (no_sub): Renamed from re_no_sub.
7735         (not_bol): Renamed from re_not_bol.
7736         (not_eol): Renamed from re_not_eol.
7737         (newline_anchor): Renamed from re_newline_anchor.
7738         (num_regs): Renamed from rm_num_regs.
7739         (start): Renamed from rm_start.
7740         (end): Renamed from rm_end.
7741
7742         (free_state): Move up a bit.
7743
7744         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
7745         #define to be empty.
7746         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
7747         when that is what is intended.
7748         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
7749         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
7750         (MAX): New macro.
7751         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
7752         All uses changed back to re_malloc, etc.  It's now the caller's
7753         responsibility to check for overflow; all callers changed.
7754         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
7755         (re_x2nrealloc): Remove.
7756         (free_state): Remove decl.
7757
7758         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
7759         (re_set_registers, re_exec):
7760         Use K&R-style defn.
7761
7762         2006-01-31  Roland McGrath  <roland@redhat.com>
7763
7764         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
7765         Reported by Mike Frysinger <vapier@gentoo.org>.
7766
7767         2006-01-15  Andreas Jaeger  <aj@suse.de>
7768
7769         [BZ #1950]
7770         * lib/regex_internal.c (re_string_reconstruct): Adjust for
7771         build_wcs_upper_buffer change.
7772         (build_wcs_upper_buffer): Change return type.
7773
7774         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
7775
7776         * lib/regex_internal.h: Include <stdint.h> if available.
7777
7778         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
7779
7780         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
7781
7782         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
7783
7784         * lib/regcomp.c: Adjust for changed secondary hash function.
7785
7786         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
7787
7788         * lib/regex.h: Pretty printing.
7789         Clean up namespace a bit.
7790
7791         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
7792
7793         * lib/regexec.c (update_cur_sifted_state, check_arrival,
7794         check_arrival_add_next_nodes): Avoid using uninitialized variable.
7795
7796         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
7797                     Ulrich Drepper  <drepper@redhat.com>
7798
7799         [BZ #1302]
7800         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
7801         changed.
7802         (bitset_word_t): Renamed from bitset_word.  All uses changed.
7803
7804         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
7805
7806         [BZ #281]
7807         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
7808         * lib/regcomp.c: Remove unnecessary uses of
7809         unsigned RE_TRANSLATE_TYPE.
7810         * lib/regex_internal.h: Likewise.
7811         * lib/regex_internal.c: Likewise.
7812         * lib/regexec.c: Likewise.
7813         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
7814
7815         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
7816
7817         * lib/regexec.c (find_recover_state): Remove unnecessary
7818         initialization.
7819         (transit_state_bkref): Make DFA a const pointer.
7820         (get_subexp): Likewise.
7821         (check_arrival): Likewise.
7822         (update_cur_sifted_state): Likewise.
7823         (re_search_internal): Likewise.
7824         (prune_impossible_nodes): Likewise.
7825         (acquire_init_state_context): Likewise.
7826         (proceed_next_node): Likewise.
7827         (set_regs): Likewise.
7828         (free_fail_stack_return): Likewise.
7829         (check_arrival_expand_ecl): Mark DFA parameter as const.
7830         (check_arrival_expand_ecl_sub): Likewise.
7831         (check_subexp_limits): Likewise.
7832         (sub_epsilon_src_nodes):  Likewise.
7833         (add_epsilon_src_nodes):  Likewise.
7834         (merge_state_array): Likewise.
7835         (update_regs): Likewise.
7836         (build_trtable): Likewise.
7837         (sift_states_backward): Mark MCTX parameter as const.
7838         (build_sifted_states): Likewise.
7839         (update_cur_sifted_state): Likewise.
7840         (sift_states_mkref): Likewise.
7841         (check_arrival_expand_ecl): Mark eclosure as const.
7842         (check_dst_limits_calc_pos_1): Likewise.
7843         * lib/regex_internal.h (re_match_context_t): Make dfa a const
7844         pointer.
7845
7846         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
7847
7848         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
7849         (transit_state_sb): Likewise.
7850         (transit_state_mb): Likewise.
7851         (sift_states_iter_mb): Likewise.
7852         (check_arrival_add_next_nodes): Likewise.
7853         (check_node_accept_bytes): Change first parameter to pointer-to-const.
7854         [_LIBC] (re_search_2_stub): Use mempcpy.
7855
7856         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
7857         mbrtowc for very simple UTF-8 case.
7858
7859         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
7860         a pointer-to-const.
7861         (re_acquire_state_context): Likewise.
7862         * lib/regex_internal.h: Adjust prototypes.
7863
7864         * lib/regex.c: Prevent using C++ compilers.
7865
7866         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
7867         (re_acquire_state_context): Likewise.
7868
7869 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7870
7871         * modules/regex (Depends-on): Add ssize_t.
7872
7873 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7874
7875         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
7876         translation table.
7877
7878 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7879
7880         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
7881
7882 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
7883             Bruno Haible  <bruno@clisp.org>
7884
7885         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
7886         <sys/types.h> and <inttypes.h>.
7887
7888 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7889
7890         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
7891         `__error_t_defined', so argp.h will not typedef the former.
7892
7893 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
7894
7895         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
7896         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
7897         glibc names.  Even if glibc is changed to conform to POSIX, the
7898         traditional names will be available anyway, since regex depends on
7899         the extensions module.  Also, fix a longstanding typo in the
7900         implementation of Spencer ERE test #75 from grep 2.3.  Problems
7901         reported by Emanuele Giaquinta.  Also, change sense of cached
7902         variable, so that the message makes sense.
7903
7904 2006-03-24  Simon Josefsson  <jas@extundo.com>
7905
7906         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
7907         including some doc fixes.
7908         (base64_encode_alloc): Fix +1 bug on allocation failures.
7909
7910 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7911
7912         * lib/base64.c (base64_encode): Do not read past end of array with
7913         unsanitized input on systems with CHAR_BIT > 8.
7914
7915 2006-03-24  Eric Blake  <ebb9@byu.net>
7916
7917         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
7918
7919 2006-03-22  Karl Berry  <karl@gnu.org>
7920
7921         * config/srclist.txt (*setenv.[ch]): get from coreutils.
7922         * config/srclistvars.sh (COREUTILS): new var.
7923
7924 2006-03-17  Jim Meyering  <jim@meyering.net>
7925
7926         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
7927         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
7928
7929 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
7930
7931         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
7932         no longer needs it.  Instead, check that regoff_t is as least
7933         as wide as ptrdiff_t.
7934
7935         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
7936         so that our regex.h stays compatible with the installed regex.
7937         This is helpful for installers who configure --without-included-regex.
7938         Problem reported by Emanuele Giaquinta.
7939
7940 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
7941
7942         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
7943         Typedef to long int, not to off_, as POSIX will likely change
7944         in that direction.
7945
7946 2006-03-15  Eric Blake  <ebb9@byu.net>
7947
7948         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
7949
7950 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
7951
7952         * lib/argp-help.c (validate_uparams): Fix typo
7953         * lib/argp-parse.c (argp_default_options): Consistently begin help
7954         messages with a lowercase letter.
7955
7956 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
7957
7958         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
7959         overrun buffers and shouldn't be used (much as gets shouldn't be
7960         used).
7961         * lib/time_r.c (asctime_r, ctime_r): Likewise.
7962
7963 2006-03-08  Simon Josefsson  <jas@extundo.com>
7964
7965         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
7966         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7967
7968 2006-03-08  Simon Josefsson  <jas@extundo.com>
7969
7970         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
7971         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7972
7973 2006-03-08  Simon Josefsson  <jas@extundo.com>
7974
7975         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
7976         signal that configure disabled the device.
7977
7978 2006-03-08  Simon Josefsson  <jas@extundo.com>
7979
7980         * build-aux/maint.mk: Fix refresh-po, to handle no translated
7981         languages.
7982
7983 2006-03-07  Simon Josefsson  <jas@extundo.com>
7984
7985         * modules/getopt (Depends-on): Add unistd.
7986
7987         * modules/unistd: New file.
7988
7989 2006-03-07  Simon Josefsson  <jas@extundo.com>
7990
7991         * modules/gc-random: New file.
7992
7993 2006-03-07  Simon Josefsson  <jas@extundo.com>
7994
7995         * m4/unistd_h.m4: New file.
7996
7997 2006-03-07  Simon Josefsson  <jas@extundo.com>
7998
7999         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
8000         test to be side-effect free by storing the result in the cache
8001         variable gl_cv_lib_readline, and moving the assignment of
8002         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
8003         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8004
8005 2006-03-07  Simon Josefsson  <jas@extundo.com>
8006
8007         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
8008         error on missing devices (the functions will return an error).
8009
8010         * m4/gc.m4: Move random stuff to gc-random.m4
8011
8012 2006-03-07  Simon Josefsson  <jas@extundo.com>
8013
8014         * lib/unistd_.h: New file.
8015
8016 2006-03-07  Simon Josefsson  <jas@extundo.com>
8017
8018         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
8019
8020 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8021
8022         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
8023         Problem reported by Juan Manuel Guerrero.
8024
8025 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8026
8027         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
8028         the unistd module.
8029         * lib/getlogin_r.c: Likewise.
8030         * lib/getlogin_r.h: Likewise.
8031         * lib/glob.c: Likewise.
8032         * lib/pagealign_alloc.c: Likewise.
8033         * lib/unistd_.h: Remove; no longer needed.
8034
8035 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8036
8037         * MODULES.html.sh (Support for systems lacking POSIX:2001):
8038         Add unistd.
8039         * modules/c-stack (Depends-on): Add unistd.
8040         * modules/getlogin_r: Likewise.
8041         * modules/glob: Likewise.
8042         * modules/pagealign_alloc: Likewise.
8043         * modules/unistd (Files): Remove lib/unistd_.h.
8044         (EXTRA_DIST): Remove.
8045         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
8046         need unistd_.h.
8047         (MOSTLYCLEANFILES): Remove unistd.h-t.
8048
8049 2006-03-03  Simon Josefsson  <jas@extundo.com>
8050
8051         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
8052
8053 2006-03-03  Simon Josefsson  <jas@extundo.com>
8054
8055         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
8056         libidn and bison.
8057
8058 2006-03-03  Simon Josefsson  <jas@extundo.com>
8059
8060         * build-aux/maint.mk: Add indent target.
8061
8062 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
8063
8064         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
8065         our replacement poll.h in any case, to avoid a differing
8066         declaration from a system header.  Seen on AIX.
8067
8068 2006-03-01  Simon Josefsson  <jas@extundo.com>
8069
8070         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
8071         <kasal@ucw.cz>.
8072
8073 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
8074
8075         * modules/gettime (Depends-on): Add extensions module.
8076         * modules/nanosleep (Depends-on): Likewise.
8077         * modules/settime (Depends-on): Likewise.
8078
8079 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
8080
8081         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
8082         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
8083         pedantically.
8084         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8085         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
8086
8087         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
8088         not "==".  Reported by Ralf Wildenhues.
8089
8090 2006-03-01  Karl Berry  <karl@gnu.org>
8091
8092         * doc/Copyright/request-*: new files, synced from gnuorg.
8093
8094 2006-03-01  Karl Berry  <karl@gnu.org>
8095
8096         * config/srclist.txt (Copyright/*): new entries.
8097
8098 2006-02-28  Simon Josefsson  <jas@extundo.com>
8099
8100         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
8101
8102 2006-02-27  Simon Josefsson  <jas@extundo.com>
8103
8104         * lib/base64.h: Indent #define's.  From Jim Meyering
8105         <jim@meyering.net>.
8106
8107 2006-02-27  Jim Meyering  <jim@meyering.net>
8108
8109         Revert the change of 2006-02-24, so these files can continue
8110         to be sync'd from gettext.
8111         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
8112         of `config.h'.
8113
8114 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
8115
8116         * modules/intprops: New file.
8117         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
8118         Add intprops.
8119         * modules/getloadavg (Files): Remove lib/intprops.h.
8120         (Depends-on): Add intprops.
8121         * modules/human: Likewise.
8122         * modules/inttostr: Likewise.
8123         * modules/openat: Likewise.
8124         * modules/sig2str: Likewise.
8125         * modules/userspec: Likewise.
8126         * modules/utimecmp: Likewise.
8127         * modules/xnanosleep: Likewise.
8128         * modules/xstrtol: Likewise.
8129
8130 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
8131
8132         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
8133         * modules/lock-tests (TESTS): Use $(EXEEXT).
8134         * modules/tls-tests: Likewise.
8135         * modules/argp-tests: Likewise.
8136         (check_PROGRAMS): New var, replacing...
8137         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
8138
8139 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8140
8141         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
8142         `config.h'.
8143
8144 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8145
8146         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
8147
8148 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8149
8150         Sync from coreutils.
8151         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
8152         gl_CHDIR_SAFER.
8153
8154 2006-02-22  Jim Meyering  <jim@meyering.net>
8155
8156         Sync from coreutils.
8157         * m4/chdir-safer.m4: New file.
8158
8159 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
8160
8161         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
8162         AT_FDCWD exceeds INT_MAX.
8163         * lib/openat.h (AT_FDCWD): Likewise.
8164
8165 2006-02-17  Eric Blake  <address@hidden>
8166
8167         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
8168
8169 2006-02-16  Simon Josefsson  <jas@extundo.com>
8170
8171         * modules/getaddrinfo (Depends-on): Add sys_socket.
8172
8173 2006-02-15  Simon Josefsson  <jas@extundo.com>
8174
8175         * build-aux/maint.mk: Add dsyntax-check rule.
8176
8177 2006-02-15  Eric Blake  <ebb9@byu.net>
8178
8179         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
8180         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
8181         'present but cannot compile' warnings on cygwin.
8182         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
8183         use ws2tcpip.h if sys/socket.h works.
8184         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
8185         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
8186
8187 2006-02-14  Simon Josefsson  <jas@extundo.com>
8188
8189         * modules/maintainer-makefile (Files): Rename.
8190
8191         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
8192         and (the local) Makefile.cfg to maint-cfg.mk.
8193
8194         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
8195         to the latter.
8196
8197         * modules/maintainer-makefile: New module.
8198
8199         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
8200         severaly stripped to make it possible to build it up from scratch
8201         with reliable tests.
8202
8203         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
8204         fixes to permit overriding the default actions when configure and
8205         makefile are not available.
8206
8207 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
8208
8209         Sync from coreutils.
8210         * modules/lstat (Depends-on): Don't depend on xalloc.
8211         (License): Change from GPL to LGPL, since this is now simply a
8212         replacement for a libc function.
8213
8214 2006-02-14  Jim Meyering  <jim@meyering.net>
8215
8216         Sync from coreutils.
8217
8218         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
8219         failure on deficient systems, and simplify gnulib lgpl dependencies.
8220         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
8221         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
8222
8223         * lib/xalloc-die.c: Remove unused definition of N_.
8224
8225 2006-02-14  Jim Meyering  <jim@meyering.net>
8226
8227         Sync from coreutils.
8228         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
8229         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
8230         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
8231         double-quote uses of that variable, to accommodate the rare case in
8232         which getmntent is available in none of the libraries checked.  This
8233         happens at least on FreeBSD 5.0.
8234
8235 2006-02-13  Simon Josefsson  <jas@extundo.com>
8236
8237         * gnulib-tool (Usage): Fix --import, from
8238         karl@freefriends.org (Karl Berry).
8239
8240 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
8241
8242         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
8243
8244 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
8245
8246         * lib/argp-namefrob.h: Restore changes accidentally lost during the
8247         "autoupdate" on 2005-12-12.
8248
8249 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8250
8251         * modules/closeout (Depends-on): Remove atexit.
8252
8253 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8254
8255         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
8256         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
8257
8258 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
8259
8260         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
8261         __EXTENSIONS__ if this causes compilation to fail.  Problem
8262         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
8263         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
8264
8265 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8266
8267         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
8268         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
8269         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
8270         All uses changed.
8271
8272 2006-01-26  Simon Josefsson  <jas@extundo.com>
8273
8274         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
8275         prototype is visible on mingw32.
8276
8277         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
8278         for mingw32.
8279
8280         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
8281         mingw32).
8282
8283 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
8284
8285         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
8286         attempt to open for write; this always fails, at least on POSIX
8287         hosts.  This reinstates the 2006-01-09 change, which was
8288         inadvertently removed.
8289
8290 2006-01-26  Bruno Haible  <bruno@clisp.org>
8291
8292         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
8293         Reported by Paul Eggert.
8294
8295 2006-01-26  Bruno Haible  <bruno@clisp.org>
8296             Paul Eggert  <eggert@cs.ucla.edu>
8297
8298         * lib/stdbool_.h (_Bool)
8299         [(! (defined __cplusplus || defined __BEOS__)
8300           && !defined __GNUC__
8301           && !(defined __HP_cc || defined __xlc__
8302                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
8303                || defined __sgi))]:
8304         #define to signed char in these cases too; this simplifies
8305         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
8306         etc., separately) and makes it more conservative.
8307
8308 2006-01-25  Simon Josefsson  <jas@extundo.com>
8309
8310         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
8311         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
8312         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
8313
8314 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
8315
8316         * lib/argp-namefrob.h: Bugfix. Remove stray #
8317
8318 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8319
8320         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
8321         so that we test the test.
8322         Check for yet another HP-UX cc bug involving *bool |= bool.
8323
8324 2006-01-25  Karl Berry  <karl@gnu.org>
8325
8326         * config/srclist.txt (vasnprintf.c): sync lost.
8327
8328 2006-01-25  Jim Meyering  <jim@meyering.net>
8329
8330         Sync from the stable (b5) branch of coreutils:
8331
8332         * lib/fts.c (fts_children): Don't let close() clobber errno from
8333         failed fchdir().
8334
8335         * lib/fts.c (fts_stat): When following a symlink-to-directory,
8336         don't necessarily interpret stat-fails+lstat-succeeds as indicating
8337         a dangling symlink.  That can also happen at least for ELOOP.
8338         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
8339         FYI, this bug predates the inclusion of fts.c in coreutils.
8340
8341         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
8342         in their own block, so pre-c99 compilers don't object.
8343
8344         Avoid the double-free (first in fts_read, second in fts_close) that
8345         would occur when an `active' directory is made inaccessible (e.g.,
8346         via chmod a-x) during a traversal.
8347         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
8348         before returning.  Reproduce this failure by
8349         mkdir -p a/b; cd a; chmod a-x . b
8350         Reported by Stavros Passas.
8351
8352 2006-01-25  Jim Meyering  <jim@meyering.net>
8353
8354         * lib/fileblocks.c: Remove more useless parentheses.
8355         * lib/readutmp.h: Likewise.
8356
8357 2006-01-25  Bruno Haible  <bruno@clisp.org>
8358
8359         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
8360         warnings.
8361         Reported by Paul Eggert.
8362
8363 2006-01-25  Bruno Haible  <bruno@clisp.org>
8364
8365         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
8366         rid of a trap command. For Solaris sh.
8367         Reported by Mark D. Baushke <mdb@gnu.org>.
8368
8369 2006-01-24  Simon Josefsson  <jas@extundo.com>
8370
8371         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
8372         Bruno.
8373
8374 2006-01-24  Karl Berry  <karl@gnu.org>
8375
8376         * config/srclist.txt (argp-namefrob.h): sync lost.
8377
8378 2006-01-24  Jim Meyering  <jim@meyering.net>
8379
8380         * modules/openat (Files): Add lib/intprops.h.
8381         From Mark D. Baushke.
8382
8383 2006-01-24  Jim Meyering  <jim@meyering.net>
8384
8385         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
8386         Reported by Mark D. Baushke.
8387
8388 2006-01-24  Jim Meyering  <jim@meyering.net>
8389
8390         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
8391
8392 2006-01-24  Bruno Haible  <bruno@clisp.org>
8393
8394         * modules/strnlen (Maintainer): Change from glibc to all.
8395
8396 2006-01-24  Bruno Haible  <bruno@clisp.org>
8397
8398         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
8399         Patch by Paul Eggert.
8400
8401 2006-01-24  Bruno Haible  <bruno@clisp.org>
8402
8403         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
8404         already has it.
8405         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
8406         2005-11-26.
8407
8408         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
8409         'signed char' to avoid problems with the built-in _Bool type.
8410         Reported by Paul Eggert on 2005-11-26.
8411
8412 2006-01-24  Bruno Haible  <bruno@clisp.org>
8413
8414         * gnulib-tool (func_import): Avoid constructing complicated sed
8415         expressions inside backquote.
8416         Report and solution by Mark D. Baushke <mdb@gnu.org>.
8417
8418 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
8419
8420         These changes imported from libc.
8421         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
8422         test and two separate function calls.
8423         * lib/strndup.c (__strndup): Add libc_hidden_def.
8424
8425 2006-01-23  Simon Josefsson  <jas@extundo.com>
8426
8427         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
8428         Remove the test_*_SOURCES variable: automake infers it by default.
8429         * modules/tls-tests: Likewise.
8430
8431 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8432
8433         Work around porting bugs reported by Dieter in
8434         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
8435         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
8436         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
8437         Include "getopt.h" first, to check interface.
8438         (getenv): Declare only if defined HAVE_DECL_GETENV &&
8439         !HAVE_DECL_GETENV.
8440         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
8441         (__strndup): Revert to K&R-style function dfns, the glibc style.
8442         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
8443         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
8444         Include strnlen.h first, to get prototype properly.
8445         (strnlen): Renamed from __strnlen.
8446         Remove weak alias.
8447
8448 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8449
8450         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
8451
8452 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8453
8454         * config/srclist.txt: Adjust to reflect glibc reorganization.
8455         This affects only comments.
8456
8457 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
8458
8459          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
8460          Reported by Bruce Korb <bkorb@gnu.org>.
8461
8462 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
8463
8464         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
8465         to pacify gcc -Wswitch-default.
8466
8467 2006-01-22  Bruno Haible  <bruno@clisp.org>
8468
8469         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
8470         temporary buffer for sprintf, take into account the precision also
8471         for 'd', 'i', 'u', 'o', 'x', 'X'.
8472
8473 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
8474
8475         * modules/argp-tests: New module
8476         * tests/test-argp.c: New file
8477         * tests/test-argp-2.sh: New file
8478
8479 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
8480
8481         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
8482         (__argp_base_name): Removed
8483         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
8484         typo.
8485         (__argp_base_name): Provide macro definition or extern declaration
8486         depending on the configuration
8487
8488 2006-01-20  Simon Josefsson  <jas@extundo.com>
8489
8490         * modules/inet_ntop (Depends-on): Depend on sys_socket.
8491
8492 2006-01-20  Simon Josefsson  <jas@extundo.com>
8493
8494         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
8495
8496 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
8497
8498         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
8499         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
8500         Suggested by Bruno Haible.
8501
8502 2006-01-20  Karl Berry  <karl@gnu.org>
8503
8504         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
8505         until changes propagate, I guess.
8506
8507 2006-01-19  Simon Josefsson  <jas@extundo.com>
8508
8509         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
8510
8511 2006-01-19  Simon Josefsson  <jas@extundo.com>
8512
8513         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
8514
8515 2006-01-19  Simon Josefsson  <jas@extundo.com>
8516
8517         * gnulib-tool: Set check_PROGRAMS.
8518
8519         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
8520         modules/des-tests, modules/gc-arcfour-tests,
8521         modules/gc-arctwo-tests, modules/gc-des-tests,
8522         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
8523         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
8524         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
8525         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
8526         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
8527         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
8528         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
8529         test_*_SOURCES.
8530
8531 2006-01-18  Simon Josefsson  <jas@extundo.com>
8532
8533         * modules/socklen (Depends-on): Depend on sys_socket.
8534
8535 2006-01-18  Simon Josefsson  <jas@extundo.com>
8536
8537         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
8538         modules/des-tests, modules/gc-arcfour-tests,
8539         modules/gc-arctwo-tests, modules/gc-des-tests,
8540         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
8541         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
8542         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
8543         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
8544         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
8545         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
8546         $(EXEEXT) to automake TESTS variable, for mingw32.
8547
8548 2006-01-17  Simon Josefsson  <jas@extundo.com>
8549
8550         * modules/socklen (Include): Need sys/socket.h.
8551
8552 2006-01-17  Bruno Haible  <bruno@clisp.org>
8553
8554         * modules/ssize_t (Include): Add <sys/types.h>.
8555
8556 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
8557
8558         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
8559         it's not portable and it doesn't work with cross-compiles.
8560         Problem reported by Bruno Haible.  Fix missing-$ typo in
8561         'test "gl_cv_ignore_unused_libraries" ...' that prevented
8562         -zignore from being used with Sun's C compiler.
8563
8564 2006-01-12  Simon Josefsson  <jas@extundo.com>
8565
8566         * lib/base64.c: Fix warning, reported by Bruno Haible
8567         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
8568
8569 2006-01-12  Bruno Haible  <bruno@clisp.org>
8570
8571         * modules/ldd: New file.
8572         * build-aux/ldd.sh.in: New file.
8573         * MODULES.html.sh (Support for building libraries and executables): Add
8574         ldd.
8575
8576 2006-01-12  Bruno Haible  <bruno@clisp.org>
8577
8578         * m4/ldd.m4: New file.
8579
8580 2006-01-12  Bruno Haible  <bruno@clisp.org>
8581
8582         * gnulib-tool (func_import, func_create_testdir): Don't go into an
8583         endless loop while replacing $auxdir with build-aux.
8584
8585 2006-01-11  Simon Josefsson  <jas@extundo.com>
8586
8587         * lib/stdint_.h (SIZE_MAX): Add missing (.
8588
8589 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
8590
8591         Sync from coreutils.
8592         * lib/md5.c: Fix commentary typos.
8593         (alignof, UNALIGNED_P): No need for a GCC-specific version.
8594         * lib/md5.h (__attribute__): Remove; unused.
8595         * lib/sha1.c: Fix commentary to match md5 better.
8596         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
8597         so that we don't need to worry about alignment.  All uses changed.
8598         This merges the 2005-10-28 md5 change into sha1.
8599
8600 2006-01-11  Jim Meyering  <jim@meyering.net>
8601
8602         Sync from coreutils.
8603         * lib/md5.c (OP): Fix spacing.
8604
8605 2006-01-11  Bruno Haible  <bruno@clisp.org>
8606
8607         Ensure automatic ordering between gl_LOCK and gl_ARGP.
8608         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
8609         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
8610
8611 2006-01-11  Bruno Haible  <bruno@clisp.org>
8612
8613         Ensure automatic ordering between gl_LOCK and gl_ARGP.
8614         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
8615         the "early" section as well.
8616
8617 2006-01-11  Bruno Haible  <bruno@clisp.org>
8618
8619         Avoid "ar: no archive members specified" error on MacOS X.
8620         * gnulib-tool (func_modules_add_dummy): New function.
8621         (func_import, func_create_testdir): Invoke it.
8622
8623 2006-01-11  Bruno Haible  <bruno@clisp.org>
8624
8625         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
8626         with $auxdir in AC_CONFIG_FILES statements.
8627
8628 2006-01-11  Bruno Haible  <bruno@clisp.org>
8629
8630         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
8631         Initialize also noinst_HEADERS to empty.
8632
8633 2006-01-11  Bruno Haible  <bruno@clisp.org>
8634
8635         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
8636         variables.
8637         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
8638         autoreconf.
8639
8640 2006-01-11  Bruno Haible  <bruno@clisp.org>
8641
8642         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
8643         overridable by the user.
8644         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8645
8646 2006-01-10  Simon Josefsson  <jas@extundo.com>
8647
8648         * modules/sys_socket: New file.
8649
8650 2006-01-10  Simon Josefsson  <jas@extundo.com>
8651
8652         * m4/sys_socket_h.m4: New file.
8653
8654 2006-01-10  Simon Josefsson  <jas@extundo.com>
8655
8656         * lib/socket_.h: New file.
8657
8658 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8659
8660         * modules/readutmp (Maintainer): Add myself.
8661
8662 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8663
8664         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
8665         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
8666         People who are still concerned with buggy memcmp implementations
8667         can invoke gl_FUNC_MEMCMP themselves.
8668
8669 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8670
8671         * lib/regex_internal.h (BITSET_WORD_BITS):
8672         Work around a bug in 64-bit PGC (before version 6.1-2), where the
8673         preprocessor mishandles large unsigned values as if they were signed.
8674         Problem reported by Claudio Fontana in
8675         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
8676
8677 2006-01-10  Jim Meyering  <jim@meyering.net>
8678
8679         Avoid the double-free (first in fts_read, second in fts_close) that
8680         would occur when an `active' directory is made inaccessible (e.g.,
8681         via chmod a-x) during a traversal.
8682         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
8683         before returning.  Reproduce this failure by
8684         mkdir -p a/b; cd a; chmod a-x . b
8685         Reported by Stavros Passas.
8686
8687         Sync from coreutils.
8688         * lib/sha1.c: Tweak grammar in a comment.
8689
8690 2006-01-10  Jim Meyering  <jim@meyering.net>
8691
8692         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
8693         Patch by Joerg Sonnenberger.
8694
8695 2006-01-10  Bruno Haible  <bruno@clisp.org>
8696
8697         * modules/readutmp: Depend on module free.
8698         * modules/strtok_r: Depend on module restrict.
8699
8700 2006-01-10  Bruno Haible  <bruno@clisp.org>
8701
8702         * modules/gettext (configure.ac): Add an invocation of
8703         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
8704
8705 2006-01-10  Bruno Haible  <bruno@clisp.org>
8706
8707         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
8708         Reported by Werner Lemberg <wl@gnu.org>.
8709
8710 2006-01-10  Bruno Haible  <bruno@clisp.org>
8711
8712         * lib/localcharset.c: Update from GNU gettext.
8713
8714 2006-01-10  Bruno Haible  <bruno@clisp.org>
8715
8716         * lib/argp.h (__const): Remove macro. Use const instead.
8717         * lib/argp-fmtstream.h (__const): Likewise.
8718         * lib/glob_.h (__const): Remove macro.
8719         * lib/glob-libc.h: Use const instead of __const.
8720
8721 2006-01-10  Bruno Haible  <bruno@clisp.org>
8722
8723         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
8724         variable.
8725         Needed to avoid an automake error regarding the 'gettext' module.
8726
8727 2006-01-09  Simon Josefsson  <jas@extundo.com>
8728
8729         * modules/inet_ntop (Depends-on): Add restrict.
8730
8731 2006-01-09  Simon Josefsson  <jas@extundo.com>
8732
8733         * modules/gc-rijndael-tests (License): Put under LGPL.
8734
8735         * modules/gc-des-tests (License): Likewise.
8736
8737         * modules/gc-arcfour-tests (License): Likewise.
8738
8739         * modules/gc-arctwo-tests (License): Likewise.
8740
8741         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
8742
8743         * modules/gc-hmac-sha1-tests (Files): Likewise.
8744
8745         * modules/gc-hmac-md5-tests (License): Likewise.
8746
8747         * modules/gc-sha1-tests (License): Likewise.
8748
8749         * modules/gc-md5-tests (License): Likewise.
8750
8751         * modules/gc-md4-tests (License): Likewise.
8752
8753         * modules/gc-md2-tests (License): Likewise.
8754
8755         * modules/gc-tests (License): Likewise.
8756
8757         * modules/des-tests (License): Likewise.
8758
8759         * modules/md4-tests (License): Likewise.
8760
8761         * modules/md2-tests (License): Likewise.
8762
8763 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8764
8765         Sync from coreutils:
8766
8767         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
8768         * modules/lib-ignore: New file.
8769         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
8770         chdir-safer.m4, lchmod.m4.
8771         * modules/openat: Add mkdirat.c, openat-priv.h.
8772
8773 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8774
8775         Sync from coreutils.
8776         * m4/lib-ignore.m4: New file.
8777         * m4/lchmod.m4: New file.
8778
8779 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8780
8781         Sync from coreutils.
8782         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
8783         for write access: POSIX says that must fail.
8784         * lib/fts.c (diropen): Likewise.
8785         * lib/save-cwd.c (save_cwd): Likewise.
8786         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
8787         well, for minor improvements on hosts that lack O_DIRECTORY.
8788         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
8789         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
8790         Fall back on chown if open failed with EACCES.
8791
8792         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
8793         Report an error at compile-time if only a 1-second nominal clock
8794         resolution is found.
8795
8796         * lib/lchmod.h: New file.
8797         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
8798         (make_dir_parents): Use lchown rather than chown, and
8799         lchmod rather than chmod.
8800
8801         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
8802         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
8803         "proc" reported by n0dalus.
8804
8805         * lib/mountlist.c: Include <limits.h>.
8806         (dev_from_mount_options)
8807         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
8808         New function.  It no longer assumes "dev=" has the System V meaning
8809         on Linux (since it doesn't).  It also parses "dev=" more carefully.
8810         (read_file_system_list)
8811         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
8812         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
8813         dev= in that case.
8814
8815         * lib/posixtm.h (PDS_PRE_2000): New macro.
8816         * lib/posixtm.c (year): Arg is now syntax_bits rather than
8817         allow_century.  All usages changed.  Reject dates outside the range
8818         1969-1999 if PDS_PRE_2000 is used.
8819
8820 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8821
8822         Sync from coreutils.
8823         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
8824         (Time of day items): Mention the possibility of leap seconds.
8825         Problem reported by Dr. David Alan Gilbert.
8826
8827 2006-01-09  Jim Meyering  <jim@meyering.net>
8828
8829         Sync from coreutils.
8830
8831         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
8832
8833         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
8834
8835         * lib/modechange.c (mode_compile): Reject an invalid mode string
8836         that starts with an octal digit.  From Andreas Gruenbacher.
8837
8838         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
8839         and dup to open_safer and dup_safer, respectively.
8840         (openat_permissive): Fix typo in comment.
8841
8842         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
8843         "gettext.h"; either no longer needed or are guaranteed by openat.h.
8844         (_): Remove; no longer needed.
8845         (openat): Renamed from rpl_openat; no need for rpl_openat
8846         since openat.h renames openat for us.
8847         Replace most of the body with a call to openat_permissive,
8848         to avoid duplicate code.
8849         Port to (probably hypothetical) environments were mode_t is
8850         wider than int.
8851         (openat_permissive): Require mode arg, so that we can check
8852         types better.  Put it just after flags.  Change cwd failure
8853         indicator from pointer-to-bool to pointer-to-errno-value.
8854         All callers changed.
8855         Invoke openat_save_fail and/or openat_restore_fail if
8856         cwd_errno is null, so that openat can call us.
8857         (openat_permissive, fdopendir, fstatat, unlinkat):
8858         Simplify errno handling to avoid some duplicate code,
8859         as it's OK to set errno on success.
8860         * lib/openat.h: Revamp code so that function macros depend on
8861         __OPENAT_PREFIX only, not also on AT_FDCWD.
8862         (openat_ro): Remove.  Caller changed to use openat_permissive.
8863         (openat_permissive): Now a macro, if not a function.
8864         (openat_restore_fail, openat_save_fail): Now always functions,
8865         since mkdirat needs them even if __OPENAT_PREFIX is defined.
8866
8867         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
8868         and openat.c.
8869         * lib/mkdirat.c: Include openat-priv.h.
8870         Remove definitions of macros defined therein.
8871         * lib/openat.c: Likewise.
8872
8873         * lib/mkdirat.c (mkdirat): New file and function.
8874         * lib/openat.h (mkdirat): Declare.
8875
8876         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
8877
8878         * lib/openat.h (openat_permissive): Declare.
8879         (openat_ro): Define.
8880
8881         * lib/openat.c (EXPECTED_ERRNO): New macro.
8882         (openat_permissive): New function -- used in remove.c rewrite.
8883         (all functions): Set errno just before returning, only if there
8884         was an actual failure.
8885         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
8886
8887         Emulate openat-family functions using Linux's procfs, if possible.
8888         Idea and some code based on Ulrich Drepper's glibc changes.
8889
8890         * lib/openat.c: (BUILD_PROC_NAME): New macro.
8891         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
8892         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
8893         before falling back on save_cwd and restore_cwd.
8894         (fdopendir, fstatat, unlinkat): Likewise.
8895
8896         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
8897         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
8898
8899         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
8900         as second argument to va_arg.  Otherwise, some versions of gcc
8901         warn that `if this code is reached, the program will abort'.
8902
8903 2006-01-09  Jim Meyering  <jim@meyering.net>
8904
8905         Sync from coreutils.
8906         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
8907         Require openat-priv.h.
8908
8909 2006-01-09  Bruno Haible  <bruno@clisp.org>
8910
8911         * modules/strnlen (Include): Use strnlen.h.
8912
8913 2006-01-09  Bruno Haible  <bruno@clisp.org>
8914
8915         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
8916
8917 2006-01-09  Bruno Haible  <bruno@clisp.org>
8918
8919         * lib/sysexit_.h (EX_OK): New macro.
8920         Suggested by Martin Lambers <marlam@marlam.de>.
8921
8922 2006-01-09  Bruno Haible  <bruno@clisp.org>
8923
8924         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
8925         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
8926
8927 2006-01-09  Bruno Haible  <bruno@clisp.org>
8928
8929         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
8930         numbers.
8931
8932 2006-01-09  Bruno Haible  <bruno@clisp.org>
8933
8934         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
8935         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
8936         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
8937         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
8938
8939 2006-01-09  Bruno Haible  <bruno@clisp.org>
8940
8941         * build-aux/javacomp.sh.in: New file, moved from lib/.
8942         * modules/javacomp-script (Files): Update.
8943         (configure.ac): Add AC_CONFIG_FILES invocation.
8944         (EXTRA_DIST): Remove variable.
8945
8946         * build-aux/javaexec.sh.in: New file, moved from lib/.
8947         * modules/javaexec (Files): Update.
8948         (configure.ac): Add AC_CONFIG_FILES invocation.
8949         (EXTRA_DIST): Remove javaexec.sh.in.
8950
8951         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
8952         * modules/csharpcomp-script (Files): Update.
8953         (configure.ac): Add AC_CONFIG_FILES invocation.
8954         (EXTRA_DIST): Remove variable.
8955
8956         * build-aux/csharpexec.sh.in: New file, moved from lib/.
8957         * modules/csharpexec (Files): Update.
8958         (configure.ac): Add AC_CONFIG_FILES invocation.
8959         (EXTRA_DIST): Remove csharpexec.sh.in.
8960
8961 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
8962
8963         Sync from coreutils.
8964
8965         Add POSIX ACL support
8966         * lib/acl.h (copy_acl, set_acl): Add declarations.
8967         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
8968         systems other than Linux.
8969         (chmod_or_fchmod): New function: use fchmod when possible,
8970         and chmod otherwise.
8971         (file_has_acl): Add a POSIX ACL implementation, with a
8972         Linux-specific subcase.
8973         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
8974         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
8975         acls are unsupported.
8976         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
8977         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
8978         are unsupported.
8979
8980 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
8981
8982         Sync from coreutils.
8983         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
8984
8985 2006-01-07  Bruno Haible  <bruno@clisp.org>
8986
8987         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
8988         gl_EARLY.
8989
8990 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
8991
8992         * lib/strftime.c (tzname): Don't declare if it is already #defined.
8993         Problem reported for Mingw by Mark Junker.
8994
8995 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
8996
8997         * README: Gnulib normally doesn't generate a tarball.
8998
8999 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
9000
9001         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
9002         long int, not int, for nanosecond counts, so that people who are
9003         used to POSIX struct timespec won't be surprised.  Reported by Jim
9004         Meyering.
9005
9006 2005-12-28  Bruno Haible  <bruno@clisp.org>
9007
9008         * build-aux/config.rpath: Update from GNU gettext.
9009
9010 2005-12-16  Jim Meyering  <jim@meyering.net>
9011
9012         * modules/fprintftime: New module.
9013         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
9014
9015 2005-12-16  Jim Meyering  <jim@meyering.net>
9016
9017         * m4/fprintftime.m4: New file.
9018
9019 2005-12-16  Jim Meyering  <jim@meyering.net>
9020
9021         * lib/fprintftime.c, lib/fprintftime.h: New files.
9022
9023 2005-12-15  Simon Josefsson  <jas@extundo.com>
9024
9025         * modules/socklen (configure.ac): Fix M4 macro name, to align with
9026         new m4/socklen.m4.
9027
9028 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
9029
9030         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
9031         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
9032
9033 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
9034
9035         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
9036         * lib/argp-help.c (fill_in_uparams): Check if the constructed
9037         struct uparams is valid. Fall back to the default values if it is
9038         not.
9039
9040 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9041
9042         * modules/argp (Files): Add argp-pin.c
9043         (Depends-on): dirname
9044         (lib_SOURCES): Add argp-pin.c
9045
9046 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9047
9048         * m4/argp.m4:  Check if program_invocation_name and
9049         program_invocation_short_name are declared and define appropriate
9050         macros if they are not.
9051
9052 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9053
9054         * lib/argp-help.c (__argp_base_name): New function
9055         (__argp_short_program_name): Rewrite using __argp_base_name
9056         * lib/argp-namefrob.h: Define program_invocation_name and
9057         program_invocation_short_name if requested
9058         (__argp_base_name): Add prototype
9059         * lib/argp-parse.c (argp_def): Use gettext wrappers
9060         (argp_default_parser): Use __argp_base_name
9061         * lib/argp-pin.c: New file. Defines program_invocation_name and
9062         program_invocation_short_name on systems that lack them.
9063
9064 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
9065
9066         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
9067         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
9068         porting problem reported by Georg Schwarz in
9069         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
9070
9071 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
9072
9073         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
9074         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
9075         porting problem reported by Georg Schwarz in
9076         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
9077
9078 2005-12-05  Bruno Haible  <bruno@clisp.org>
9079
9080         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
9081         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
9082         Reported by Mark Junker <mjscod@gmx.de>.
9083
9084 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9085
9086         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
9087         Use implementation from Albert Chin, with some
9088         comments/corrections by Stepan Kasal and myself.
9089
9090 2005-12-02  Bruno Haible  <bruno@clisp.org>
9091
9092         * gnulib-tool (func_import): Accept GPLed build tool modules when
9093         --lgpl is given.
9094         * modules/csharpcomp-script: New file.
9095         * modules/csharpcomp: Depend on it.
9096         * modules/javacomp-script: New file.
9097         * modules/javacomp: Depend on it.
9098         Suggested by Simon Josefsson.
9099
9100 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
9101
9102         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
9103         statement, to work around an HP-UX 10.20 compiler bug reported by
9104         Peter O'Gorman.
9105
9106 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
9107
9108         * modules/savedir (Depends-on): Add openat.
9109
9110 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
9111
9112         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
9113         (uintmax_t) [defined uintmax_t]: Do not declare.
9114         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
9115         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
9116         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
9117         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
9118         sake of portability to weird hosts that C allows (though we don't
9119         know of any practical examples).
9120
9121         * lib/savedir.h (fdsavedir): New decl.
9122         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
9123         contains most of the former guts of savedir.
9124         (savedir): Use savedirstream.
9125         Include "openat.h".
9126
9127 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9128
9129         * modules/obstack (Files): Add m4/ulonglong.m4.
9130         Problem reported by Davide Angelocola.
9131
9132 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
9133
9134         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
9135         coreutils no longer futzes with rounding modes.
9136
9137 2005-11-14  Jim Meyering  <jim@meyering.net>
9138
9139         * lib/mkstemp-safer.c: Include <config.h>, required for possible
9140         replacement of mkstemp.
9141
9142 2005-11-10  Simon Josefsson  <jas@extundo.com>
9143
9144         * lib/readline.c: Remove EOL.
9145
9146 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9147
9148         * modules/gethrxtime (Depends-on): Add gettime.
9149
9150 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9151
9152         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
9153         or gettimeofday; no longer needed.
9154
9155 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9156
9157         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
9158         time business.
9159         (gethrxtime) [! (HAVE_NANOUPTIME
9160         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
9161         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
9162         our own approximation.
9163
9164 2005-11-08  Eric Blake  <ebb9@byu.net>
9165
9166         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
9167
9168 2005-11-08  Eric Blake  <ebb9@byu.net>
9169
9170         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
9171
9172 2005-11-04  Bruno Haible  <bruno@clisp.org>
9173
9174         * gnulib-tool: Implement --update mode.
9175
9176 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
9177
9178         Fix porting problem reported by Theodoros V. Kalamatianos.
9179         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
9180         Don't assume that futimes failing means we must fail.
9181
9182 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
9183
9184         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
9185         variables to suggest the intended function of the PATH_MAX check.
9186
9187 2005-10-30  Kean Johnston  <jkj@sco.com>
9188
9189         Trivial changes to support SCO systems.
9190         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
9191         as PATH_MAX.
9192         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
9193         where __ptr is null when no I/O is pending.
9194
9195 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
9196
9197         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
9198         leave errno alone.  Problem reported by Dmitry V. Levin.
9199
9200 2005-10-28  Simon Josefsson  <jas@extundo.com>
9201
9202         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
9203         Test more.
9204
9205         * tests/test-gc-md2.c, tests/test-md2.c: New files.
9206
9207         * modules/md2, modules/md2-tests: New files.
9208
9209 2005-10-28  Simon Josefsson  <jas@extundo.com>
9210
9211         * m4/inet_ntop.m4: More tests.
9212
9213         * m4/gc-md2.m4, md2.m4: New file.
9214
9215 2005-10-28  Simon Josefsson  <jas@extundo.com>
9216
9217         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
9218         "restrict" keywords, as per POSIX.  Protect the function
9219         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
9220         Don't use K&R prototypes.  Check the sprintf return values.
9221         Re-define EAFNOSUPPORT if not present.  Indent.
9222
9223         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
9224         suggested by Bruno Haible <bruno@clisp.org>.
9225
9226         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
9227
9228         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
9229
9230         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
9231         libgcrypt).
9232
9233         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
9234
9235         * lib/md2.h, lib/md2.c: New files.
9236
9237 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
9238
9239         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
9240         errno alone.  Problem reported by Frederic Jolliton.
9241
9242 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
9243
9244         * modules/verify (License): Change from GPL to LGPL.  This is a
9245         tiny module and there are apparently near-equivalents that are
9246         under the BSD license.
9247
9248 2005-10-24  Simon Josefsson  <jas@extundo.com>
9249
9250         * modules/sha1: Relicense to LGPL.
9251
9252 2005-10-24  Simon Josefsson  <jas@extundo.com>
9253
9254         * lib/md4.h: Shrink buffer size, now that we changed the type.
9255
9256 2005-10-23  Simon Josefsson  <jas@extundo.com>
9257
9258         * gnulib-tool (func_import): Fix --tests-base.
9259
9260 2005-10-22  Simon Josefsson  <jas@extundo.com>
9261
9262         * modules/arcfour (Depends-on): Need stdint.
9263
9264 2005-10-22  Simon Josefsson  <jas@extundo.com>
9265
9266         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
9267         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
9268
9269 2005-10-22  Simon Josefsson  <jas@extundo.com>
9270
9271         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
9272         suggested by Bruno Haible <bruno@clisp.org>.
9273
9274 2005-10-22  Simon Josefsson  <jas@extundo.com>
9275
9276         * lib/crc.h: Include stddef.h, for size_t.
9277
9278 2005-10-22  Simon Josefsson  <jas@extundo.com>
9279
9280         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
9281         arcfour_context struct (simplify test vector testing in GNU
9282         Shishi).
9283
9284 2005-10-21  Simon Josefsson  <jas@extundo.com>
9285
9286         * modules/des, modules/des-tests: New files.
9287
9288         * modules/gc-des, modules/gc-des-tests: New files.
9289
9290         * tests/test-des.c, tests/test-gc-des.c: New file.
9291
9292 2005-10-21  Simon Josefsson  <jas@extundo.com>
9293
9294         * modules/arctwo, modules/arctwo-tests: New files.
9295
9296         * tests/test-arctwo.c: New file.
9297
9298         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
9299
9300         * tests/test-gc-arctwo.c: New file.
9301
9302 2005-10-21  Simon Josefsson  <jas@extundo.com>
9303
9304         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
9305         Bruno Haible <bruno@clisp.org>.
9306
9307         * m4/gc-des.m4: New file.
9308
9309 2005-10-21  Simon Josefsson  <jas@extundo.com>
9310
9311         * m4/arctwo.m4: New file.
9312
9313         * m4/gc-arctwo.m4: New file.
9314
9315 2005-10-21  Simon Josefsson  <jas@extundo.com>
9316
9317         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
9318         block.
9319
9320 2005-10-21  Simon Josefsson  <jas@extundo.com>
9321
9322         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
9323         <bruno@clisp.org>.
9324
9325         * lib/hmac-sha1.c (hmac_sha1): Likewise.
9326
9327         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
9328         Bruno Haible <bruno@clisp.org>.
9329
9330         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
9331         <bruno@clisp.org>.
9332
9333 2005-10-21  Simon Josefsson  <jas@extundo.com>
9334
9335         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
9336
9337 2005-10-21  Simon Josefsson  <jas@extundo.com>
9338
9339         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
9340
9341 2005-10-21  Simon Josefsson  <jas@extundo.com>
9342
9343         * lib/des.h, lib/des.c: New files.
9344
9345         * lib/gc-gnulib.c: Support DES.c
9346
9347 2005-10-21  Simon Josefsson  <jas@extundo.com>
9348
9349         * lib/arctwo.h, lib/arctwo.c: New files.
9350
9351         * lib/gc-gnulib.c: Support ARCTWO.
9352
9353 2005-10-21  Simon Josefsson  <jas@extundo.com>
9354
9355         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
9356         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9357
9358 2005-10-21  Simon Josefsson  <jas@extundo.com>
9359
9360         * gnulib-tool (func_import, func_create_testdir): Define automake
9361         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
9362         Makefile.am snippet),
9363         suggested by Bruno Haible <bruno@clisp.org>.
9364
9365         * modules/gc (Makefile.am): Use it.
9366
9367 2005-10-21  Bruno Haible  <bruno@clisp.org>
9368
9369         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
9370         patch.
9371
9372 2005-10-19  Simon Josefsson  <jas@extundo.com>
9373
9374         * tests/test-gc-rijndael.c: New file.
9375
9376         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
9377
9378 2005-10-19  Simon Josefsson  <jas@extundo.com>
9379
9380         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
9381         interface too.
9382
9383 2005-10-19  Simon Josefsson  <jas@extundo.com>
9384
9385         * tests/test-gc-arcfour.c: New file.
9386
9387         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
9388
9389 2005-10-19  Simon Josefsson  <jas@extundo.com>
9390
9391         * modules/gc-md4, modules/gc-md4-tests: New file.
9392
9393         * tests/test-gc-md4.c: New file.
9394
9395 2005-10-19  Simon Josefsson  <jas@extundo.com>
9396
9397         * m4/gc-md4.m4: New file.
9398
9399 2005-10-19  Simon Josefsson  <jas@extundo.com>
9400
9401         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
9402         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
9403         <kasal@ucw.cz>.
9404
9405 2005-10-19  Simon Josefsson  <jas@extundo.com>
9406
9407         * m4/gc-arcfour.m4: New file.
9408
9409         * m4/gc-rijndael.m4: New file.
9410
9411 2005-10-19  Simon Josefsson  <jas@extundo.com>
9412
9413         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
9414
9415 2005-10-19  Simon Josefsson  <jas@extundo.com>
9416
9417         * lib/gc-gnulib.c: Support ARCFOUR.
9418
9419 2005-10-19  Simon Josefsson  <jas@extundo.com>
9420
9421         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
9422         support.
9423
9424         * lib/gc.h: Add ECB enum type.
9425
9426         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
9427
9428 2005-10-18  Simon Josefsson  <jas@extundo.com>
9429
9430         * tests/test-md5.c: New file.
9431
9432         * modules/md5-tests: New file.
9433
9434 2005-10-18  Simon Josefsson  <jas@extundo.com>
9435
9436         * tests/test-md4.c: New file.
9437
9438         * modules/md4, modules/md4-tests: New files.
9439
9440 2005-10-18  Simon Josefsson  <jas@extundo.com>
9441
9442         * m4/md4.m4: New file.
9443
9444 2005-10-18  Simon Josefsson  <jas@extundo.com>
9445
9446         * lib/md4.h, lib/md4.c: New files, based on md5.?.
9447
9448 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
9449
9450         * gnulib-tool (func_create_testdir): Omit the second check whether
9451         BUILT_SOURCES in nonempty.
9452
9453 2005-10-17  Simon Josefsson  <jas@extundo.com>
9454
9455         * tests/test-rijndael.c: New file.
9456
9457 2005-10-17  Simon Josefsson  <jas@extundo.com>
9458
9459         * modules/sha1: Depend on stdint instead of md5.
9460
9461         * modules/md5: Depend on stdint, remove uint32_t.
9462
9463 2005-10-17  Simon Josefsson  <jas@extundo.com>
9464
9465         * modules/gc-sha1-tests: New file.
9466
9467         * tests/test-gc-sha1.c: New file.
9468
9469 2005-10-17  Simon Josefsson  <jas@extundo.com>
9470
9471         * m4/md5.m4: Remove call to uint32_t.m4.
9472
9473 2005-10-17  Simon Josefsson  <jas@extundo.com>
9474
9475         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
9476
9477         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
9478         md5.h.
9479
9480         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
9481
9482         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
9483
9484 2005-10-17  Simon Josefsson  <jas@extundo.com>
9485
9486         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
9487
9488 2005-10-17  Simon Josefsson  <jas@extundo.com>
9489
9490         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
9491
9492 2005-10-17  Simon Josefsson  <jas@extundo.com>
9493
9494         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
9495
9496         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
9497
9498 2005-10-17  Bruno Haible  <bruno@clisp.org>
9499
9500         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
9501         that it can also be used in a test.
9502
9503 2005-10-16  Bruno Haible  <bruno@clisp.org>
9504
9505         * gnulib-tool (func_emit_tests_Makefile_am): Also define
9506         TESTS_ENVIRONMENT, so that individual tests can augment it.
9507
9508         * gnulib-tool (func_create_testdir): Use an intermediate target for
9509         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
9510         macros, like $(ALLOCA_H), which cannot be passed through the command
9511         line.
9512
9513 2005-10-15  Simon Josefsson  <jas@extundo.com>
9514
9515         * modules/rijndael-tests: New file.
9516
9517         * modules/rijndael: New file.
9518
9519 2005-10-15  Simon Josefsson  <jas@extundo.com>
9520
9521         * m4/rijndael.m4: New file.
9522
9523 2005-10-15  Simon Josefsson  <jas@extundo.com>
9524
9525         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
9526
9527         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
9528
9529 2005-10-14  Simon Josefsson  <jas@extundo.com>
9530
9531         * tests/test-arcfour.c: New file.
9532
9533         * modules/arcfour, modules/arcfour-tests: New files.
9534
9535 2005-10-14  Simon Josefsson  <jas@extundo.com>
9536
9537         * m4/arcfour.m4: New file.
9538
9539 2005-10-14  Simon Josefsson  <jas@extundo.com>
9540
9541         * lib/arcfour.h, lib/arcfour.c: New files.
9542
9543 2005-10-14  Roland McGrath  <roland@redhat.com>
9544
9545         Import from libc.  [BZ #1331]
9546         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
9547         macro argument.
9548         Reported by Matej Vela <vela@debian.org>.
9549
9550 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9551
9552         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
9553         include <wchar.h>; no longer needed.
9554
9555 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
9556
9557         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
9558
9559 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
9560         and  Ulrich Drepper  <drepper@redhat.com>
9561
9562         Import from libc.
9563         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
9564         instead of inline stream orientation test and two separate
9565         function calls.  Pay no attention to USE_IN_LIBIO.
9566
9567 2005-10-13  Simon Josefsson  <jas@extundo.com>
9568
9569         * modules/gc-hmac-md5-tests: New file.
9570
9571         * tests/test-gc-hmac-sha1.c: New file.
9572
9573         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
9574
9575         * modules/gc-hmac-md5-tests: New file.
9576
9577         * tests/test-gc-md5.c: New file.
9578
9579         * modules/gc-md5-tests: New file.
9580
9581 2005-10-13  Simon Josefsson  <jas@extundo.com>
9582
9583         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
9584         Move memory allocation outside of loop.
9585
9586 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
9587
9588         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
9589         intermediate directory is in a read-only file system.  Problem
9590         reported by Eric Blake.
9591
9592 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
9593
9594         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
9595
9596 2005-10-12  Simon Josefsson  <jas@extundo.com>
9597
9598         * tests/test-hmac-sha1.c: New file.
9599
9600         * modules/hmac-sha1-tests: New file.
9601
9602         * modules/hmac-sha1: New file.
9603
9604 2005-10-12  Simon Josefsson  <jas@extundo.com>
9605
9606         * modules/gc-sha1: New file.
9607
9608 2005-10-12  Simon Josefsson  <jas@extundo.com>
9609
9610         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
9611
9612         * tests/test-gc-pbkdf2-sha1.c: New file.
9613
9614 2005-10-12  Simon Josefsson  <jas@extundo.com>
9615
9616         * modules/gc-md5, modules/gc-hmac-md5: New files.
9617
9618         * modules/gc (Files): Remove md5, memxor and hmac files.
9619
9620 2005-10-12  Simon Josefsson  <jas@extundo.com>
9621
9622         * m4/gc-pbkdf2-sha1.m4: New file.
9623
9624         * m4/gc-hmac-sha1.m4: New file.
9625
9626         * m4/gc-sha1: New file.
9627
9628         * m4/hmac-sha1.m4: New file.
9629
9630 2005-10-12  Simon Josefsson  <jas@extundo.com>
9631
9632         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
9633
9634         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
9635
9636 2005-10-12  Simon Josefsson  <jas@extundo.com>
9637
9638         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
9639         suggested by Bruno Haible <bruno@clisp.org>.
9640
9641 2005-10-12  Simon Josefsson  <jas@extundo.com>
9642
9643         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
9644
9645 2005-10-12  Simon Josefsson  <jas@extundo.com>
9646
9647         * lib/gc-pbkdf2-sha1.c: New file.
9648
9649         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
9650
9651 2005-10-12  Simon Josefsson  <jas@extundo.com>
9652
9653         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
9654
9655         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
9656
9657 2005-10-12  Simon Josefsson  <jas@extundo.com>
9658
9659         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
9660         GC_USE_HMAC_MD5, respectively.
9661
9662         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
9663         (gc_md5): Fix typo.
9664
9665         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
9666
9667         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
9668
9669         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
9670
9671 2005-10-12  Bruno Haible  <bruno@clisp.org>
9672
9673         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
9674         Reported by Stepan Kasal <kasal@ucw.cz>.
9675
9676 2005-10-11  Simon Josefsson  <jas@extundo.com>
9677
9678         * tests/test-crc.c: New file.
9679
9680         * modules/crc, modules/crc-tests: New files.
9681
9682 2005-10-11  Simon Josefsson  <jas@extundo.com>
9683
9684         * m4/crc.m4: New file.
9685
9686 2005-10-11  Simon Josefsson  <jas@extundo.com>
9687
9688         * lib/gc.h: Add gc_hash and gc_hash_buffer.
9689
9690         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
9691
9692         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
9693
9694 2005-10-11  Simon Josefsson  <jas@extundo.com>
9695
9696         * lib/crc.h, lib/crc.c: New files.
9697
9698         * lib/gc.h (gc_hash_buffer): Add doc.
9699
9700 2005-10-11  Bruno Haible  <bruno@clisp.org>
9701
9702         * modules/c-strcasestr: New file.
9703         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
9704
9705 2005-10-11  Bruno Haible  <bruno@clisp.org>
9706
9707         * modules/c-strcase: New file.
9708         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
9709
9710 2005-10-11  Bruno Haible  <bruno@clisp.org>
9711
9712         * lib/strcasecmp.c: Include limits.h.
9713         (strcasecmp): Avoid integer overflow on exotic platforms.
9714         * lib/strncasecmp.c: Include limits.h.
9715         (strncasecmp): Avoid integer overflow on exotic platforms.
9716         Reported by Paul Eggert.
9717
9718 2005-10-11  Bruno Haible  <bruno@clisp.org>
9719
9720         * lib/c-strcasestr.h: New file, from GNU gettext.
9721         * lib/c-strcasestr.c: New file, from GNU gettext.
9722
9723 2005-10-11  Bruno Haible  <bruno@clisp.org>
9724
9725         * lib/c-strcase.h: New file, from GNU gettext.
9726         * lib/c-strcasecmp.c: New file, from GNU gettext.
9727         * lib/c-strncasecmp.c: New file, from GNU gettext.
9728
9729 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
9730
9731         * modules/mempcpy (License): GPL -> LGPL.
9732         * modules/strchrnul (License): Likewise.
9733         * modules/sysexits (License): Likewise.
9734
9735 2005-10-08  Simon Josefsson  <jas@extundo.com>
9736
9737         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
9738
9739 2005-10-07  Simon Josefsson  <jas@extundo.com>
9740
9741         * m4/memxor.m4: Remove gl_C_RESTRICT call.
9742
9743 2005-10-06  Simon Josefsson  <jas@extundo.com>
9744
9745         * tests/test-hmac-md5.c: New file.
9746
9747         * modules/hmac-md5-tests: New file.
9748
9749         * modules/hmac-md5: New file.
9750
9751 2005-10-06  Simon Josefsson  <jas@extundo.com>
9752
9753         * m4/hmac-md5.m4: New file.
9754
9755         * m4/memxor.m4: Require gl_C_RESTRICT.
9756
9757 2005-10-06  Simon Josefsson  <jas@extundo.com>
9758
9759         * lib/memxor.c (memxor): Avoid casts and warnings.
9760
9761 2005-10-06  Simon Josefsson  <jas@extundo.com>
9762
9763         * lib/hmac-md5.c: New file.
9764
9765         * lib/hmac.h: New file.
9766
9767 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
9768
9769         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
9770         promotes to int, not unsigned int, to catch the AIX 5.3
9771         compiler bug.
9772
9773 2005-10-05  Simon Josefsson  <jas@extundo.com>
9774
9775         * modules/memxor: New file.
9776
9777         * modules/iconv (Files): Move config.rpath to havelib, it is used
9778         there.
9779
9780         * modules/havelib (Files): Add config.rpath.
9781
9782 2005-10-05  Simon Josefsson  <jas@extundo.com>
9783
9784         * m4/memxor.m4: New file.
9785
9786 2005-10-05  Simon Josefsson  <jas@extundo.com>
9787
9788         * lib/memxor.c (memxor): Fix compiler error.
9789
9790         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
9791         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
9792
9793         * lib/memxor.h, lib/memxor.c: New files.
9794
9795         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
9796         we assume all systems have it, suggested by Jim Meyering
9797         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
9798         any systems lack sys/socket.h; mingw32 is known to lack it, but we
9799         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
9800         same reasons.
9801
9802 2005-10-05  Simon Josefsson  <jas@extundo.com>
9803
9804         * config/srclist.txt: Add glibc bug 1423 for md5.h.
9805
9806 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
9807
9808         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
9809         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
9810         needed, since the source code now assumes these .h files.
9811
9812 2005-10-05  Derek Price  <derek@ximbiot.com>
9813
9814         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
9815
9816 2005-10-05  Bruno Haible  <bruno@clisp.org>
9817
9818         * modules/stdint (License): Change to LGPL.
9819
9820 2005-10-04  Simon Josefsson  <jas@extundo.com>
9821
9822         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
9823         D. Baushke" <mdb@gnu.org>.
9824
9825 2005-10-04  Bruno Haible  <bruno@clisp.org>
9826
9827         * lib/verify.h (verify_true): Provide alternative definition for C++.
9828
9829 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
9830
9831         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
9832         (SSIZE_MAX): New macro, if not already defined.
9833         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
9834         than 2 GiB.
9835
9836 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9837
9838         Sync from coreutils.
9839         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
9840         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
9841         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
9842         ULLONG_MAX doesn't work with 2.7.2.1.
9843
9844 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9845
9846         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
9847         From Ben Pfaff.
9848
9849         * modules/exclude (Depends-on): Depend on verify.
9850         * modules/strtoimax (Depends-on): Likewise.
9851         * modules/utimecmp (Depends-on): Likewise.
9852
9853 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
9854
9855         * lib/exclude.c: Include verify.h.
9856         (verify): Remove.  All callers changed to use verify.h's version.
9857         * lib/strtoimax.c: Likewise.
9858         * lib/utimecmp.c: Likewis.e
9859
9860         Sync from coreutils.
9861         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
9862         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
9863         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
9864         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
9865         bother returning ENOSYS if settimeofday or stime fails; just let
9866         them return whatever errno they want to return.
9867         * lib/utimens.c: Include unistd.h, for dup2.
9868         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
9869         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
9870
9871 2005-10-02  Jim Meyering  <jim@meyering.net>
9872
9873         Sync from coreutils.
9874         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
9875         from glibc-2.2.5 that fails for read-only files.
9876
9877 2005-10-02  Jim Meyering  <jim@meyering.net>
9878
9879         Sync from coreutils.
9880         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
9881         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
9882         `#if HAVE_CONFIG_H'.
9883         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
9884         Remove AT_FDCWD test.
9885         Do not consume the fd unless successful.
9886         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
9887         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
9888         block, so that we don't even try to compile it if settimeofday is
9889         available.  This works around a compilation failure on OSF1 V5.1,
9890         due to stime requiring a `long int*' while tv_sec is `int'.
9891
9892 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
9893
9894         Sync from coreutils.
9895         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
9896         against `yes', rather than just testing for nonempty.
9897
9898 2005-10-01  Simon Josefsson  <jas@extundo.com>
9899
9900         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
9901         and Darwin.
9902
9903         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
9904         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
9905         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
9906         freeaddrinfo and gai_strerror are declared by the POSIX headers.
9907         Check if struct addrinfo is declared.
9908
9909 2005-10-01  Simon Josefsson  <jas@extundo.com>
9910
9911         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
9912         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
9913         AI_* and EAI_* definitions.  Protect function declarations.
9914
9915 2005-10-01  Jim Meyering  <jim@meyering.net>
9916
9917         Sync from coreutils.
9918
9919         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
9920         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
9921         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
9922         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
9923         in the inet and nsl libraries.  Required on Solaris 5.7.
9924
9925 2005-10-01  Jim Meyering  <jim@meyering.net>
9926
9927         Sync from coreutils.
9928         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
9929         in the inet and nsl libraries.  Required on Solaris 5.7.
9930
9931 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
9932
9933         * lib/getdelim.c (getdelim): Remove unused variables.
9934
9935 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
9936
9937         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
9938         so that the code works even with ancient cpp.  Portability problem
9939         with GCC 2.7.2.1 reported by Thomas M.Ott.
9940
9941 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
9942
9943         * modules/regex (Depends-on): Add strcase.
9944
9945         * modules/gethostname (Licence): Change from GPL to LGPL, since
9946         gethostname.c is a trivial implementation of a standard library
9947         function.
9948         * modules/poll (License): Change from GPL to LGPL, since it's
9949         derived from LGPL code.
9950
9951 2005-09-27  Jim Meyering  <jim@meyering.net>
9952
9953         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
9954         HAVE_CONFIG_H.
9955
9956         * lib/intprops.h (signed_type_or_expr__): Define.
9957         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
9958         for unsigned types.
9959
9960 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
9961
9962         * lib/verify.h (verify_expr): Remove, replacing with:
9963         (verify_true): New macro that returns true instead of void.
9964         (verify_type__): Remove.
9965         (verify): Use verify_true rather than verify_type__.
9966
9967 2005-09-26  Bruno Haible  <bruno@clisp.org>
9968
9969         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
9970         is necessary.
9971         (lib_SOURCES): Remove mbchar.c.
9972         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
9973         (Files): Add m4/mbrtowc.m4.
9974         * modules/mbiter: Likewise.
9975         * modules/mbuiter: Likewise.
9976
9977 2005-09-26  Bruno Haible  <bruno@clisp.org>
9978
9979         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
9980         compile mbchar.c if they are not both present.
9981         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
9982         * m4/mbiter.m4 (gl_MBITER): Likewise.
9983         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
9984         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
9985         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
9986
9987 2005-09-25  Jim Meyering  <jim@meyering.net>
9988
9989         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
9990         also uses socklen_t.
9991
9992 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
9993
9994         * lib/utimens.c (ENOSYS): Define if not already defined.
9995         (futimens): Support having a null PATH if the file descriptor
9996         is nonnegative.
9997
9998         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
9999         Remove.
10000         (__attribute): Define to empty unless GCC 3.1 or later.
10001         This works around a core dump on OpenBSD 3.4, which has GCC
10002         2.95.3, which dumps core when given __attribute__(()).  It also
10003         simplifies other tests, since we really don't want to bother with
10004         worrying about which ancient version of GCC supported what.
10005         Original problem reported by Yoann Vandoorselaere, with part of
10006         the fix suggested by Derek Price.
10007
10008 2005-09-24  Jim Meyering  <jim@meyering.net>
10009
10010         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
10011         so we can once again use a positive bitfield width of 1 -- now we
10012         don't have to explain why we were using a bitfield width of 2.
10013
10014 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10015
10016         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
10017         and similarly for the other external symbols.  Problem reported
10018         by James Gallager.
10019
10020         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
10021         bug reported by Jim Meyering.
10022
10023         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
10024         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
10025         not needed, since socklen is a prerequisite module.
10026
10027 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10028
10029         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
10030         Problem reported by Eric Blake.
10031         (getaddrinfo): Initialize se so that it's not garbage.
10032         Redo internal storage allocation so that it doesn't make unportable
10033         assumptions about alignment.
10034         Fix a memory leak.
10035
10036         * lib/utimens.c (futimens): Use futimesat if available.
10037         Prefer it to futimes since it doesn't have the futimes bug.
10038
10039         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
10040         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
10041         Instead, declare a function that returns a pointer to an array,
10042         and use verify_type__ to declare the size of the array.
10043         Problem and germ of a solution reported by Bruno Haible.
10044         (verify_type__): Use 2, not 1, for bitfield size, to avoid
10045         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
10046
10047 2005-09-23  Jim Meyering  <jim@meyering.net>
10048
10049         Sync from coreutils.
10050         Correct build failure (socklen_t not defined) on at least
10051         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
10052         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
10053
10054 2005-09-23  Jim Meyering  <jim@meyering.net>
10055
10056         * modules/getaddrinfo (Depends-on): Add socklen.
10057
10058 2005-09-23  Bruno Haible  <bruno@clisp.org>
10059
10060         * tests/test-verify.c: New file.
10061
10062 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10063
10064         Sync from coreutils.
10065
10066         * modules/argmatch (Depends-on): Add verify.
10067         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
10068         unistd-safer.
10069         * modules/save-cwd (Depends-on): Likewise.
10070
10071         * modules/openat (Files): Add lib/openat-die.c.
10072         (Depends-on): Remove error, exitfail.
10073         Add dirname.
10074
10075         * modules/verify: New file.
10076         * MODULES.html.sh (Diagnostics <assert.h>): New section,
10077         with "verify" module.
10078
10079 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10080
10081         Sync from coreutils.
10082
10083         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
10084         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
10085         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
10086         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
10087         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
10088         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
10089         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
10090         Don't bother checking for string.h, stdlib.h, unistd.h.
10091         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
10092         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
10093         module's job.
10094         * m4/jm-macros.m4 (gl_MACROS): Likewise.
10095         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
10096
10097         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
10098         (gl_GETDATE): Use it.
10099
10100         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
10101
10102 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10103
10104         Sync from coreutils.
10105
10106         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
10107         stat-time.h.
10108         * lib/argmatch.h: Include verify.h
10109         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
10110         (ARGMATCH_ASSERT): Remove; unused.
10111         * lib/canonicalize.c: Assume STDC_HEADERS.
10112         * lib/exclude.c: Include "strcase.h".
10113         * lib/regex_internal.h [!defined _LIBC]: Likewise.
10114         * lib/getusershell.c: Include stdio--.h rather than stdio.h
10115         and stdio-safer.h.
10116         (getusershell): Call fopen, not fopen_safer.
10117         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
10118         Do not include unistd-safer.h.
10119         (save_cwd): Don't call fd_safer; no longer needed
10120         now that we include fcntl--.h.
10121
10122         * lib/getdate.y (relative_time): New type.
10123         (RELATIVE_TIME_0): New constant.
10124         (parser_control): Use relative_time instead of doing it ourselves.
10125         (%union): Add new relative_time rel member.
10126         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
10127         Now typeless.
10128         (relunit, relunit_snumber): Now of type rel.
10129         (zone, rel, relunit, get_date): Adjust to above changes.
10130
10131         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
10132         Do not include unistd-safer.h.
10133         (getloadavg): Don't call fd_safer; no longer needed
10134         now that we include fcntl--.h.
10135
10136         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
10137         (make_dir_parents): Treat ENOSYS like EEXIST.
10138
10139         Improve quality of diagnostics on restore_cwd failure.
10140         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
10141         (make_dir_parents): Last arg is now int * (for errno), not bool *.
10142         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
10143         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
10144         each time through the loop.  Do not diagnose restore_cwd failure;
10145         that is the caller's job (and perhaps the caller does not care).
10146
10147         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
10148         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
10149         If the file already exists but is not a directory, don't bother
10150         to try to make its parents.
10151         Close potential file descriptor leak if we can't chdir("/") (!).
10152         Don't always return true if chdir($PWD) fails; return true only
10153         if the requested action was done successfully (except for the
10154         chdir($PWD)).
10155         Don't log final directory unless we actually made it.
10156         Refactor to avoid duplicate code to fix up permissions.
10157         Don't attempt to fix up parent permissions if chdir($PWD) fails.
10158
10159         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
10160         to make it a bit faster and (I hope) clearer.
10161         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
10162         Fix bug in formats like %2N.
10163
10164         * lib/verify.h: New file.
10165
10166 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10167
10168         Sync from coreutils.
10169         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
10170
10171 2005-09-22  Jim Meyering  <jim@meyering.net>
10172
10173         Sync from coreutils.
10174
10175         * m4/lstat.m4 (gl_FUNC_LSTAT):
10176         Use AC_LIBSOURCES to require lstat.c and lstat.h.
10177         Remove obsolete comment.
10178         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
10179         * m4/xstrtod.m4: Likewise.
10180
10181         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
10182
10183 2005-09-22  Jim Meyering  <jim@meyering.net>
10184
10185         Sync from coreutils.
10186
10187         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
10188
10189         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
10190         the .tm_year member, since otherwise gcc-4.0 would now warn about
10191         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
10192
10193         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
10194         order to avoid an unsuppressible warning from gcc on 64-bit systems.
10195
10196         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
10197         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
10198         when run in a time zone for which daylight savings time is in effect
10199         for the starting date.
10200
10201         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
10202         stop us from restricting permissions of just-created absolute-named
10203         directories.
10204         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
10205         to restore initial working directory.
10206         * lib/mkdir-p.c (make_dir_parents): New parameter:
10207         different_working_dir, to tell caller if/when we change the working
10208         directory and are unable to return to the initial one.
10209         * lib/mkdir-p.h (make_dir_parents): Update prototype.
10210         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
10211         `return false'.  This fixes a bug introduced on 2004-07-30.
10212
10213         * lib/openat.c (fdopendir): Be sure to close the supplied
10214         file descriptor before returning.  This makes our replacement
10215         implementation a little closer to Solaris's, where fdopendir
10216         ties the file descriptor to the returned DIR* pointer.
10217         * lib/openat.c (unlinkat): New function.
10218         * lib/openat.h (unlinkat): Add prototype.
10219         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
10220         (openat_restore_fail): Rename from openat_restore_die.
10221         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
10222
10223         Provide an alternative to exiting immediately upon save_cwd or
10224         restore_cwd failure.  Now, an application can arrange e.g.,
10225         to perform a longjump in that case.
10226         * lib/openat.c: Include dirname.h.
10227         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
10228         (rpl_openat, fdopendir, fstatat): Call openat_save_die
10229         and openat_restore_die rather than calling error directly.
10230         Don't include "error.h" or "exitfail.h"; they're no longer needed.
10231
10232         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
10233         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
10234         define.
10235
10236         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
10237         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
10238                             int utc, int nanoseconds);
10239         Background:
10240         date should not have to allocate a megabyte of virtual memory to
10241         handle a format argument like +%1048575T.  When implemented with
10242         strftime, it must allocate such a buffer, use strftime to fill it
10243         in, print it, then free it.
10244         With fprintftime, it simply prints everything and exits.
10245         With no need for memory allocation, that's one fewer way to fail.
10246         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
10247         optional field width, not before, so we accept %9:z, not %:9z.
10248         (my_strftime): Be sure to use L_('x') for literals.
10249
10250         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
10251         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
10252         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
10253         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
10254         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
10255         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
10256         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
10257         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
10258         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
10259         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
10260         * lib/xgethostname.c, lib/xreadlink.c:
10261         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
10262
10263         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
10264         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
10265         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
10266         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
10267         and don't include <sys/file.h>).
10268
10269 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
10270
10271         Sync from coreutils.
10272
10273         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
10274         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
10275         [!LDAV_DONE]: Avoid unused variable warning.
10276
10277 2005-09-21  Bruno Haible  <bruno@clisp.org>
10278
10279         * lib/unicodeio.h (unicode_to_mb): New declaration.
10280
10281 2005-09-20  Derek Price  <derek@ximbiot.com>
10282
10283         * lib/getaddrinfo.c: Don't include <netdb.h> included from
10284         getaddrinfo.h.
10285
10286 2005-09-20  Bruno Haible  <bruno@clisp.org>
10287
10288         * gnulib-tool: Remove trailing slashes from the values specified for
10289         --source-base, --m4-base, --tests-base, --aux-dir.
10290         Suggested by Simon Josefsson <jas@extundo.com>.
10291
10292 2005-09-20  Bruno Haible  <bruno@clisp.org>
10293
10294         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
10295         func_modules_to_filelist, func_import, func_create_testdir): Make all
10296         sorting results locale-independent, so that gnulib-cache.m4 doesn't
10297         change when gnulib-tool is invoked in a different locale.
10298
10299 2005-09-19  Simon Josefsson  <jas@extundo.com>
10300
10301         * m4/socklen.m4: Fix typo.
10302
10303 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10304
10305         Use a consistent style for including <config.h>.
10306         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
10307         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
10308         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
10309         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
10310         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
10311         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
10312         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
10313         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
10314         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
10315         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
10316         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
10317         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
10318         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
10319         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
10320         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
10321         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
10322         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
10323         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
10324         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
10325         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
10326         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
10327         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
10328         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
10329         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
10330         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
10331         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
10332         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
10333         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
10334         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
10335         lib/xstrtoumax.c, lib/yesno.c:
10336         Standardize inclusion of config.h.
10337         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
10338         lib/inttostr.h:  Removed inclusion of config.h from header files.
10339         * lib/inttostr.c:  Adjusted in-tree users.
10340         * lib/timespec.h: Remove superfluous warning to include config.h.
10341         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
10342         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
10343         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
10344         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
10345         config.h with HAVE_CONFIG_H.
10346
10347 2005-09-19  Jim Meyering  <jim@meyering.net>
10348
10349         * modules/pathmax (License): Change to LGPL.
10350
10351 2005-09-19  Derek Price  <derek@ximbiot.com>
10352
10353         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
10354
10355 2005-09-19  Bruno Haible  <bruno@clisp.org>
10356
10357         * gnulib-tool (import): Provide default for --tests-base.
10358
10359 2005-09-19  Bruno Haible  <bruno@clisp.org>
10360
10361         * doc/quote.texi: New file, extracted from gnulib.texi.
10362         * doc/ctime.texi: New file, extracted from gnulib.texi.
10363         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
10364         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
10365         * doc/gnulib.texi: Include them.
10366
10367 2005-09-18  Bruno Haible  <bruno@clisp.org>
10368
10369         Portability fix.
10370         * gnulib-tool (func_readlink): New function.
10371         (func_ln_if_changed): Use it.
10372
10373 2005-09-18  Bruno Haible  <bruno@clisp.org>
10374
10375         * gnulib-tool: Support --with-tests also with --import.
10376         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
10377         (func_import): Use variables $testsbase and $inctests. Emit a
10378         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
10379         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
10380         SUBDIRS += $testsdir.
10381         (func_create_testdir): Update.
10382
10383 2005-09-18  Bruno Haible  <bruno@clisp.org>
10384
10385         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
10386         instead of $dry_run.
10387         (func_cp_if_changed, func_mv_if_changed): Remove functions.
10388         (func_ln_if_changed): Don't handle dry-run here.
10389         (func_import): In dry-run mode, detect more precisely which actions
10390         would be performed, and don't use "...ing" verbs.
10391
10392 2005-09-18  Bruno Haible  <bruno@clisp.org>
10393
10394         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
10395         (func_import): Use join on two temporary files instead of three nested
10396         loops, in order to determine which files are new or old.
10397
10398 2005-09-18  Bruno Haible  <bruno@clisp.org>
10399
10400         * gnulib-tool (func_import): Comment out code that spits out the
10401         new files with --dry-run.
10402
10403 2005-09-18  Bruno Haible  <bruno@clisp.org>
10404
10405         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
10406
10407 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10408
10409         * lib/stat-time.h: New file.
10410         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
10411         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
10412         in a different way.
10413         (timespec_cmp): New function.
10414         * lib/utimecmp.c: Include stat-time.h.
10415         (SYSCALL_RESOLUTION): Depend on whether various struct stat
10416         members exist, not on the obsolescent ST_MTIM_NSEC.
10417         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
10418
10419 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10420
10421         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
10422
10423 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10424
10425         * MODULES.html.sh (File system functions): Add stat-time.
10426         * modules/stat-time: New file.
10427         * modules/timespec (Files): Remove m4/st_mtim.m4; this
10428         is now done in a different way, by the stat-time module.
10429         * modules/utimecmp (Depends-on): Add stat-time.
10430
10431 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10432
10433         * m4/st_mtim.m4: Remove.  Superseded by...
10434         * m4/stat-time.m4: New file.
10435         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
10436         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
10437
10438 2005-09-15  Derek Price  <derek@ximbiot.com>
10439
10440         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
10441
10442 2005-09-15  Derek Price  <derek@ximbiot.com>
10443
10444         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
10445         * lib/regex_internal.c: Ditto, using this...
10446         (__GNUC_PREREQ): ...new macro.
10447         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
10448         using...
10449         (__GNUC_PREREQ): ...this new macro.
10450
10451         * lib/strstr.h: Include string.h. Define strstr as a macro here.
10452
10453 2005-09-15  Derek Price  <derek@ximbiot.com>
10454             Paul Eggert  <eggert@cs.ucla.edu>
10455
10456         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
10457         changes, consolidating in...
10458         * lib/regex_internal.h: ...this file.
10459
10460 2005-09-13  Jim Meyering  <jim@meyering.net>
10461
10462         * lib/canon-host.c: Filter through gnu indent and reword comments
10463         slightly.
10464         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
10465
10466 2005-09-13  Derek Price  <derek@ximbiot.com>
10467
10468         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
10469         failure.
10470         Reported by Jim Meyering  <jim@meyering.net>.
10471
10472 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
10473
10474         * lib/base64.c: Typo.
10475         (base64_encode): Put b64str in initialized data section.
10476
10477 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
10478
10479         Merge glibc and coreutils changes into gnulib, plus a few
10480         extra fixes.
10481         * lib/md5.c: Use #error rather than a string.
10482         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
10483         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
10484         (__attribute__): Define to empty for non recent-GCC.
10485         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
10486         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
10487         Renamed from their non-__ counterparts, with new macros replacing
10488         them if not _LIBC.  Add __THROW attribute.
10489         (rol): Remove.
10490         (struct md5_ctx): Align buffer if using GCC.
10491         * lib/sha1.h (struct sha1_ctx): Likewise.
10492         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
10493         The old name was backwards.
10494         (NOTSWAP): Remove; not used.
10495         (rol): New macro, moved here from md5.h.
10496         (sha1_process_block): Remove a FIXME that doesn't make sense.
10497
10498 2005-09-12  Derek Price  <derek@ximbiot.com>
10499
10500         Return usable errors from canon-host.
10501         * lib/canon-host.h: New file.
10502         * lib/canon-host.c (canon_host): Wrap...
10503         (canon_host_r): ...this new function, which now relies exclusively on
10504         getaddrinfo.
10505         (ch_strerror): New function.
10506         (last_cherror): New global.
10507         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
10508         interface.
10509         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
10510         void *.
10511         (freeaddrinfo): Free ai->ai_canonname when set.
10512
10513 2005-09-12  Derek Price  <derek@ximbiot.com>
10514
10515         Make canon-host require getaddrinfo.
10516         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
10517         AC_LIBSOURCE canon-host.h.  Call...
10518         (gl_PREREQ_CANON_HOST): ...this new function, which requires
10519         gl_GETADDRINFO.
10520         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
10521
10522 2005-09-12  Derek Price  <derek@ximbiot.com>
10523
10524         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
10525         LGPL.
10526         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
10527
10528 2005-09-12  Derek Price  <derek@ximbiot.com>
10529
10530         * lib/gai_strerror.c: Include config.h when available.  Include
10531         getaddrinfo.h before other headers to test interface.
10532         Reported by Larry Jones <lawrence.jones@ugs.com>.
10533
10534 2005-09-12  Derek Price  <derek@ximbiot.com>
10535             Paul Eggert  <eggert@cs.ucla.edu>
10536
10537         * modules/glob (Files): Add glob-libc.h.
10538
10539 2005-09-12  Derek Price  <derek@ximbiot.com>
10540             Paul Eggert  <eggert@cs.ucla.edu>
10541
10542         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
10543         glob_.h, glob-libc.h.
10544         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
10545
10546 2005-09-12  Derek Price  <derek@ximbiot.com>
10547             Paul Eggert  <eggert@cs.ucla.edu>
10548
10549         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
10550         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
10551         protecting things that should be done only in gnulib contexts.
10552         * lib/glob_.h: New file, containing only the glob things needed for
10553         gnulib.
10554         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
10555         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
10556         (glob, globfree, glob_pattern_p): Now defined simply in terms of
10557         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
10558         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
10559         and to respect the namespace rules better.
10560
10561 2005-09-08  Simon Josefsson  <jas@extundo.com>
10562
10563         * modules/socklen: New file.
10564
10565 2005-09-08  Simon Josefsson  <jas@extundo.com>
10566
10567         * m4/socklen.m4: New file.
10568
10569 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10570
10571         * modules/utimens (Files): Add m4/utimbuf.m4, since
10572         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
10573         Reported by Sergey Poznyakoff.
10574
10575 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10576
10577         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
10578         definitions, since that's the preferred style in glibc.
10579         Fix a minor spacing issue, and update copyright notice to match
10580         glibc's.
10581
10582 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
10583
10584         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
10585
10586 2005-09-06  Simon Josefsson  <jas@extundo.com>
10587
10588         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
10589         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
10590
10591 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10592
10593         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
10594         warning.
10595
10596 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10597
10598         * config/srclist.txt: Add glibc bug 1302.
10599
10600 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
10601
10602         Change bitset word type from unsigned int to unsigned long int,
10603         as this has better performance on typical 64-bit hosts.
10604         Port bitset code to hosts with unusual word sizes.
10605         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
10606         (build_collating_symbol):
10607         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
10608         argument is a bitset.  This is merely a style issue, but it makes
10609         it clearer that an entire array is expected.
10610         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
10611         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
10612         Port to the case where bitset_word is not the same as unsigned int.
10613         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
10614         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
10615         Likewise.
10616         * lib/regexec.c (check_dst_limits_calc_pos_1,
10617         check_subexp_matching_top):
10618         (build_trtable, group_nodes_into_DFAstates):
10619         Likewise.
10620         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
10621         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
10622         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
10623         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
10624         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
10625         * lib/regcomp.c (optimize_subexps, lower_subexp):
10626         Work even if bitset_word has holes in its bitwise representation.
10627         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
10628         * lib/regexec.c (check_dst_limits_calc_pos_1,
10629         check_subexp_matching_top):
10630         Likewise.
10631         * lib/regex_internal.c (re_string_reconstruct):
10632         Don't assume UCHAR_MAX == 255.
10633         * lib/regex_internal.h (bitset_set_all): Likewise.
10634         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
10635         All uses changed.
10636         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
10637         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
10638         All uses changed.
10639         (BITSET_WORD_MAX): New macro.
10640         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
10641         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
10642         (bitset_empty, bitset_copy):
10643         Prefer sizeof (bitset) to multiplying it out ourselves.
10644         (bitset_not_merge): Remove; unused.
10645         (bitset_contain): Return bool, not unsigned int with one bit on.
10646         All callers changed.
10647         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
10648         alignment than re_node_set; do this by defining a new internal
10649         type struct dests_alloc and using it to allocate memory.
10650
10651 2005-09-05  Bruno Haible  <bruno@clisp.org>
10652
10653         * gnulib-tool (func_import): Fix comparison in handling of symbolic
10654         links.
10655
10656 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
10657
10658         * modules/size_max (Makefile.am): Add size_max.h
10659
10660 2005-09-04  Derek Price  <derek@ximbiot.com>
10661
10662         * gnulib-tool (func_import): Fix reversed $symbolic logic.
10663
10664 2005-09-03  Simon Josefsson  <jas@extundo.com>
10665
10666         * gnulib-tool: Fix typo.
10667
10668 2005-09-03  Simon Josefsson  <jas@extundo.com>
10669
10670         * config/srclist.txt: Add glibc bug 1293.
10671
10672 2005-09-03  Derek Price  <derek@ximbiot.com>
10673
10674         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
10675         From Larry Jones <lawrence.jones@ugs.com>.
10676
10677 2005-09-02  Simon Josefsson  <jas@extundo.com>
10678
10679         * modules/socklen: New file.
10680
10681 2005-09-02  Simon Josefsson  <jas@extundo.com>
10682
10683         * modules/havelib: New module.
10684
10685         * modules/gettext, modules/iconv, modules/lock, modules/readline:
10686         Use havelib.
10687
10688 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
10689
10690         Check for arithmetic overflow when calculating sizes, to prevent
10691         some buffer-overflow issues.  These patches are conservative, in the
10692         sense that when I couldn't determine whether an overflow was possible,
10693         I inserted a run-time check.
10694         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
10695         macros.
10696         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
10697         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
10698         (re_xnrealloc, re_x2nrealloc): New inline functions.
10699         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
10700         parse_bracket_exp):
10701         (build_equiv_class, build_charclass): Check for arithmetic overflow
10702         in size expression calculations.
10703         * lib/regex_internal.c (re_string_realloc_buffers):
10704         (build_wcs_upper_buffer, re_node_set_add_intersect):
10705         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
10706         (re_dfa_add_node, register_state): Likewise.
10707         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
10708         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
10709         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
10710         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
10711
10712 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
10713
10714         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
10715         m4/ulonglong.m4.  Problem reported by Martin Lambers.
10716
10717 2005-09-02  Bruno Haible  <bruno@clisp.org>
10718
10719         Support for lib vs. lib64 distinction on biarch platforms.
10720         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
10721         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
10722         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
10723
10724 2005-09-02  Bruno Haible  <bruno@clisp.org>
10725
10726         * gnulib-tool (import): In the other first-use case, provide defaults
10727         as well.
10728
10729 2005-09-02  Bruno Haible  <bruno@clisp.org>
10730
10731         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
10732         patches not yet found in the latest gettext release.
10733
10734 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10735
10736         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
10737         to avoid a collision with bits/local_lim.h in glibc.
10738         All uses changed.  Problem reported by Dmitry V. Levin in
10739         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
10740
10741         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
10742         bugs in int versus size_t comparisons.
10743         (re_string_context_at): Fix bug where the code assumed that
10744         Idx is signed.
10745
10746         Use bool where appropriate.
10747         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
10748         All callers changed.
10749         (calc_eclosure_iter): Likewise, for ROOT arg.
10750         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
10751         (build_charclass_op): Likewise, for NON_MATCH arg.
10752         * lib/regex_internal.c (re_string_allocate, re_string_construct):
10753         (re_string_construct_common): Likewise, for ICASE arg.
10754         * lib/regexec.c (re_search_2_stub, re_search_stub):
10755         Likewise, for RET_LEN arg.
10756         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
10757         (set_regs): Likewise, for FL_BACKTRACK arg.
10758         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
10759         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
10760         (calc_eclosure_iter, parse_bracket_exp):
10761         Use bool for internal variables that are booleans.
10762         * lib/regexec.c (re_search_internal, check_matching,
10763         proceed_next_node):
10764         (set_regs, build_sifted_states, sift_states_bkref):
10765         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
10766         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
10767         (find_collation_sequence_value):
10768         Likewise.
10769         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
10770         (re_node_set_compare):
10771         Return bool, not int. All callers changed.
10772         * lib/regexec.c (check_halt_node_context, check_dst_limits):
10773         (build_trtable, check_node_accept): Likewise.
10774         * lib/regex_internal.h: Include stdbool.h.
10775
10776         Fix bugs uncovered when converting to bool.
10777         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
10778         failure instead of charging ahead blindly.
10779         * lib/regex_internal.c (register_state): Likewise.
10780         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
10781         for freeing internal storage.
10782         (group_nodes_into_DFA_states): Use unsigned int, not int, for
10783         bitset pieces used as boolean, to avoid undefined behavior
10784         on hosts that do int overflow checking.
10785
10786 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10787
10788         * config/srclist.txt: Add glibc bugs 1285-1287.
10789
10790 2005-09-01  Jim Meyering  <jim@meyering.net>
10791
10792         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
10793         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
10794         Require gl_STAT_MACROS, too.
10795
10796 2005-09-01  Bruno Haible  <bruno@clisp.org>
10797
10798         * gnulib-tool (import): In the first-use case, provide defaults.
10799
10800 2005-09-01  Bruno Haible  <bruno@clisp.org>
10801
10802         * gnulib-tool (func_import): Remove the .tmp files.
10803
10804 2005-09-01  Bruno Haible  <bruno@clisp.org>
10805
10806         * gnulib-tool (func_import): Fix handling of symbolic links.
10807
10808 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10809
10810         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
10811         old glibc regex code mishandles strings longer than 2**31 bytes.
10812         This patch fixes this when the regex code is used in gnulib
10813         (i.e., outside glibc).
10814
10815         This patch should not affect the use of the regex code inside
10816         glibc.  No doubt this problem also needs to be handled for glibc
10817         as well, but the result will be an incompatible change to the
10818         glibc ABI, and the old ABI will have to be supported too.  That
10819         can be the the subject for another patch.
10820
10821         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
10822         governing whether the rest of this patch is active.  By default,
10823         the macro is disabled and the patch has no effect.
10824         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
10825         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
10826         (struct re_pattern_buffer, re_search, re_search_2, re_match):
10827         (re_match_2, re_set_registers): Use the new types.
10828         * lib/regex_internal.h (Idx, re_hashval_t): New types.
10829         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
10830         New macros.
10831         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
10832         (re_string_context_at, bin_tree_t, re_dfastate_t):
10833         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
10834         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
10835         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
10836         (re_string_char_size_at, re_string_wchar_at):
10837         (re_string_elem_size_at):
10838         Use the new types and macros to port to 64-bit hosts.
10839         Use unsigned types for internal values, so that the code
10840         mostly works even for arrays larger than SSIZE_MAX.
10841         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
10842         (search_duplicated_node, calc_eclosure_iter, fetch_number):
10843         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
10844         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
10845         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
10846         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
10847         (calc_inveclosure, parse_dup_op, build_range_exp):
10848         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
10849         (fetch_number, create_token_tree, mark_opt_subexp):
10850         Likewise.
10851         * lib/regex_internal.c (re_string_construct_common,
10852         create_ci_newstate):
10853         (create_cd_newstate, re_string_allocate, re_string_construct):
10854         (re_string_realloc_buffers, build_wcs_upper_buffer):
10855         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
10856         (re_string_reconstruct, re_string_peek_byte_case):
10857         (re_string_fetch_byte_case, re_string_context_at):
10858         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
10859         (re_node_set_init_copy, re_node_set_add_intersect):
10860         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
10861         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
10862         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
10863         (re_acquire_state, re_acquire_state_context, register_state):
10864         Likewise.
10865         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
10866         search_cur_bkref_entry):
10867         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
10868         (re_search_internal, re_search_2_stub, re_search_stub)
10869         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
10870         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
10871         (update_cur_sifted_state, check_dst_limits):
10872         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
10873         (check_subexp_limits, sift_states_bkref, merge_state_array):
10874         (check_subexp_matching_top, get_subexp, get_subexp_sub):
10875         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
10876         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
10877         (expand_bkref_cache, check_node_accept_bytes):
10878         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
10879         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
10880         (acquire_init_state_context, check_halt_node_context):
10881         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
10882         (sift_states_backward, clean_state_log_if_needed):
10883         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
10884         (find_recover_state, transit_state_sb, transit_state_mb):
10885         (transit_state_bkref, build_trtable, match_ctx_clean):
10886         Likewise.
10887         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
10888         to work around an assumption that REG_MISSING is negative.
10889
10890         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
10891         (seek_collating_symbol_entry) [defined _LIBC]:
10892         (lookup_collation_sequence_value) [defined _LIBC]:
10893         (build_range_exp, build_collating_symbol) [defined _LIBC]:
10894         Use prototypes rather than old-style function definitions.
10895         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
10896         (transit_state_sb) [0]:
10897         (find_collation_sequence_value) [defined _LIBC]: Likewise.
10898
10899         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
10900         rm_eo.
10901
10902         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
10903         (optimize_subexps, lower_subexp):
10904         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
10905         since the signed shift might overflow.  Use 1u<<31 instead.
10906         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
10907         Likewise.
10908         * lib/regexec.c (check_dst_limits_calc_pos_1,
10909         check_subexp_matching_top): Likewise.
10910
10911         * lib/regcomp.c (optimize_subexps, lower_subexp):
10912         Use CHAR_BIT rather than 8, for clarity.
10913         * lib/regexec.c (check_dst_limits_calc_pos_1):
10914         (check_subexp_matching_top): Likewise.
10915         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
10916         have to worry about portability issues when shifting it left.
10917         Remove no-longer-needed test for table_size > 0.
10918         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
10919         in a word, as the resulting behavior is undefined.
10920         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
10921         in one case, a <= should have been an <, and in another case the
10922         whole test was missing.
10923         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
10924         the standard name CHAR_BIT.
10925         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
10926         this is not true on one's complement and signed-magnitude hosts.
10927
10928         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
10929         next_last_offset.
10930         (struct re_dfa_t): Remove unused member states_alloc.
10931         * lib/regcomp.c (init_dfa): Don't initialize unused members.
10932
10933 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10934
10935         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
10936         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
10937         and large-file glibc and in 32-bit large-file Solaris.
10938
10939 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10940
10941         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
10942         lengths fit in regoff_t; this isn't true if regoff_t is the same
10943         width as size_t.
10944         * lib/regex.c (re_search_internal): 5th arg is LAST_START
10945         (= START + RANGE) instead of RANGE.  This avoids overflow
10946         problems when regoff_t is the same width as size_t.
10947         All callers changed.
10948         (re_search_2_stub): Check for overflow when adding the
10949         sizes of the two strings.
10950         (re_search_stub): Check for overflow when adding START
10951         to RANGE; if it occurs, substitute the extreme value.
10952
10953 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10954
10955         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
10956
10957 2005-08-31  Jim Meyering  <jim@meyering.net>
10958
10959         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
10960         a pointer-to-const.
10961         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
10962         (register_state): Likewise.
10963         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
10964         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
10965         (group_nodes_into_DFAstates): Likewise.
10966
10967 2005-08-31  Jim Meyering  <jim@meyering.net>
10968
10969         * check-module: Add a FIXME comment.
10970
10971 2005-08-31  Eric Blake  <ebb9@byu.net>
10972
10973         * modules/unistd-safer (Files): Add unistd--.h.
10974         * modules/stdio-safer (Files): Add stdio--.h.
10975
10976 2005-08-31  Derek Price  <derek@ximbiot.com>
10977
10978         * lib/getdelim.c (getdelim): Return EOF on EOF.
10979         Reported by Larry Jones <lawrence.jones@ugs.com>.
10980
10981 2005-08-31  Bruno Haible  <bruno@clisp.org>
10982
10983         Avoid unnecessary diffs in the generated lib/Makefile.am.
10984         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
10985         the generated files.
10986         (func_import): Don't set cmd.
10987
10988 2005-08-31  Bruno Haible  <bruno@clisp.org>
10989
10990         * lib/strstr.c: Include <stddef.h>, for NULL.
10991         * lib/strcasestr.c: Likewise.
10992         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
10993
10994 2005-08-31  Bruno Haible  <bruno@clisp.org>
10995
10996         * gnulib-tool: New option --macro-prefix.
10997         (func_import): Use macro_prefix.
10998         (import): Handle option --macro-prefix.
10999
11000 2005-08-31  Bruno Haible  <bruno@clisp.org>
11001
11002         * gnulib-tool (import): Rename most ac_* variables to cached_*.
11003         Also use new variables cached_lgpl, cached_libtool.
11004
11005 2005-08-31  Bruno Haible  <bruno@clisp.org>
11006
11007         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
11008         always instantiating them.
11009
11010 2005-08-31  Bruno Haible  <bruno@clisp.org>
11011
11012         * gnulib-tool (func_import): Read the previous cached settings
11013         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
11014         earlier added by gnulib but are now dropped. Warn when a gnulib file
11015         overwrites a non-gnulib file.
11016
11017 2005-08-31  Bruno Haible  <bruno@clisp.org>
11018
11019         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
11020         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
11021         projects that don't keep autogenerated files in CVS. Put into
11022         actioncmd only the specified modules, not the transitive closure.
11023
11024 2005-08-31  Bruno Haible  <bruno@clisp.org>
11025
11026         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
11027         Create directories that shall be filled.
11028         (import): Don't look for gl_* macros in configure.ac. Recurse across
11029         all directories containing a gnulib-cache.m4 files, if meaningful.
11030
11031 2005-08-31  Bruno Haible  <bruno@clisp.org>
11032
11033         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
11034         (import): Set seen_libtool when we see gl_LIBTOOL.
11035
11036 2005-08-31  Bruno Haible  <bruno@clisp.org>
11037
11038         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
11039         declaration macro definitions from generated gnulib.m4.
11040
11041 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
11042
11043         * lib/iconvme.h: Add prototype for iconv_alloc.
11044
11045 2005-08-29  Simon Josefsson  <jas@extundo.com>
11046
11047         * lib/iconvme.c: Fix errno.
11048
11049 2005-08-29  Bruno Haible  <bruno@clisp.org>
11050
11051         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
11052         that it works when the directory contains spaces.
11053
11054 2005-08-29  Bruno Haible  <bruno@clisp.org>
11055
11056         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
11057
11058 2005-08-29  Bruno Haible  <bruno@clisp.org>
11059
11060         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
11061         Emit more advice.
11062
11063 2005-08-29  Bruno Haible  <bruno@clisp.org>
11064         and Stepan Kasal  <kasal@ucw.cz>
11065
11066         * check-module: If more parameters are given, check each of them
11067         separately; add more exceptions, as noted by Jim Meyering.
11068         (check_module): New procedure.
11069         (%exempt_header): Now contains all exceptions.
11070
11071 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
11072
11073         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
11074
11075 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
11076
11077         * lib/iconvme.c: Split iconv_string into iconv_alloc.
11078
11079 2005-08-28  Bruno Haible  <bruno@clisp.org>
11080
11081         * m4/gnulib-tool.m4: New file.
11082
11083 2005-08-27  Jim Meyering  <jim@meyering.net>
11084
11085         * modules/unistd-safer (Files): Add pipe-safer.c.
11086         * modules/fcntl-safer (Files): Add creat-safer.c.
11087
11088 2005-08-27  Jim Meyering  <jim@meyering.net>
11089
11090         * m4/stdlib-safer.m4: New file.  From coreutils.
11091         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
11092         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
11093         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
11094         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
11095         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
11096
11097 2005-08-27  Jim Meyering  <jim@meyering.net>
11098
11099         * lib/fopen-safer.c: Merge minor changes from coreutils.
11100         * lib/dup-safer.c: Likewise.
11101         * lib/fd-safer.c: Likewise.
11102
11103         Merge from coreutils.
11104         * lib/stdio--.h: New file.
11105         * lib/stdlib--.h: New file.
11106         * lib/mkstemp-safer.c: New file.
11107
11108         GNU tar needs these.
11109         * lib/pipe-safer.c: New file.
11110         * lib/creat-safer.c: New file.
11111         * lib/fcntl--.h (creat): Define to creat_safer.
11112         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
11113         * lib/unistd--.h (pipe): Define to pipe_safer.
11114         * lib/unistd-safer.h: Declare pipe_safer.
11115
11116 2005-08-26  Simon Josefsson  <jas@extundo.com>
11117
11118         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
11119         Haible <bruno@clisp.org>.
11120
11121 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
11122
11123         * lib/regex_internal.h: Remove all references to
11124         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
11125         or better.
11126         (bitset_not, bitset_merge, bitset_not_merge):
11127         (bitset_mask, re_string_allocate, re_string_construct):
11128         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
11129         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
11130         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
11131         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
11132         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
11133         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
11134         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
11135         (re_acquire_state_context):
11136         Remove unnecessary forward decls.
11137         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
11138         Put __attribute at function definition,
11139         now that the function decl has been removed.
11140         * lib/regex_internal.c (re_string_peek_byte_case):
11141         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
11142         Likewise.
11143
11144 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
11145
11146         * m4/regex.m4: Add AC_PREREQ(2.50).
11147         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
11148
11149 2005-08-25  Simon Josefsson  <jas@extundo.com>
11150
11151         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
11152         __fsetlocking.
11153
11154 2005-08-25  Simon Josefsson  <jas@extundo.com>
11155
11156         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
11157         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
11158         GLIBC specific code.
11159
11160 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11161
11162         Make regex safe for g++.  This fixes one real bug (an "err"
11163         that should have been "*err").  g++ problem reported by
11164         Sam Steingold.
11165         * lib/regex_internal.h (re_calloc): New macro, consistent with
11166         re_malloc etc.  All callers of calloc changed to use re_calloc.
11167         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
11168         not int.  All callers changed.
11169         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
11170         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
11171         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
11172         (find_recover_state): Change "err" to "*err"; this fixes what
11173         appears to be a real bug.
11174         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
11175         versus int.
11176
11177 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11178
11179         * modules/regex (Depends-on): Add malloc, since the code
11180         assumes that !malloc(0) means failure.
11181
11182 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11183
11184         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
11185
11186         alloca modernization/simplification for regex.
11187         * lib/regex.c: Remove portability cruft for alloca.  This no longer
11188         needs to be at the start of the file, and can be moved into
11189         regex_internal.h and simplified.
11190         * lib/regex_internal.h: Include <alloca.h>.
11191         (__libc_use_alloca) [!defined _LIBC]: New macro.
11192         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
11193         now works outside glibc.
11194
11195 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11196
11197         * config/srclist.txt: Add glibc bugs 1241, 1245.
11198
11199 2005-08-25  Jim Meyering  <jim@meyering.net>
11200
11201         * lib/open-safer.c: Include <config.h>.
11202         Otherwise, we'd lose LARGEFILE support in any file using
11203         e.g. "fcntl--.h"
11204
11205 2005-08-25  Bruno Haible  <bruno@clisp.org>
11206
11207         * m4/minmax.m4: Require autoconf 2.52.
11208         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
11209         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
11210         alternatives of translit over the alphabet.
11211         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
11212
11213 2005-08-24  Simon Josefsson  <jas@extundo.com>
11214
11215         * tests/test-getpass.c: New file.
11216
11217 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11218
11219         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
11220         for GNU regex features.
11221
11222 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11223
11224         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
11225         * lib/regex.h (regerror): Likewise.
11226
11227         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
11228         requires this.  (The code never needed it.)
11229
11230         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
11231         All uses of recently-renamed identifiers changed to use the new,
11232         POSIX-compliant names.  The code will build and run just fine
11233         without these changes, but it's better to eat our own dog food
11234         and use the standard-conforming names.
11235
11236         * lib/regex.h: Fix a multitude of POSIX name space violations.
11237         These changes have an effect only for programs that define
11238         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
11239         do not change anything for programs compiled in the normal way.
11240         Also, there is no effect on the ABI.
11241
11242         (_REGEX_SOURCE): New macro.
11243         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
11244         defined and _GNU_SOURCE is not; this fixes a name space violation.
11245
11246         Rename the following macros to obey POSIX requirements.
11247         The old names are still visible as macros if _REGEX_SOURCE is defined.
11248         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
11249         RE_BACKSLASH_ESCAPE_IN_LISTS.
11250         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
11251         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
11252         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
11253         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
11254         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
11255         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
11256         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
11257         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
11258         (REG_INTERVALS): renamed from RE_INTERVALS.
11259         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
11260         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
11261         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
11262         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
11263         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
11264         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
11265         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
11266         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
11267         RE_UNMATCHED_RIGHT_PAREN_ORD.
11268         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
11269         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
11270         (REG_DEBUG): renamed from RE_DEBUG.
11271         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
11272         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
11273         unusual, since we can't clash with the POSIX REG_ICASE.
11274         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
11275         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
11276         (REG_NO_SUB): renamed from RE_NO_SUB.
11277         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
11278         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
11279         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
11280         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
11281         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
11282         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
11283         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
11284         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
11285         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
11286         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
11287         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
11288         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
11289         RE_SYNTAX_POSIX_MINIMAL_BASIC.
11290         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
11291         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
11292         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
11293         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
11294         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
11295         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
11296         (REG_FIXED): Renamed from REGS_FIXED.
11297         (REG_NREGS): Renamed from RE_NREGS.
11298
11299         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
11300         of other REG_* macros, since POSIX says the user is allowed to
11301         #undef these macros selectively.
11302
11303         (reg_errcode_t): Update comment stating what other tables need
11304         to be consistent.
11305
11306         Rename the following enum values to obey POSIX requirements.
11307         The old names are still visible as macros.
11308         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
11309         is not defined, since GNU is supposed to be a superset of POSIX as
11310         much as possible, and since we want reg_errcode_t to be a signed
11311         type for implementation consistency.
11312         (_REG_NOERROR): Renamed from REG_NOERROR.
11313         (_REG_NOMATCH): Renamed from REG_NOMATCH.
11314         (_REG_BADPAT): Renamed from REG_BADPAT.
11315         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
11316         (_REG_ECTYPE): Renamed from REG_ECTYPE.
11317         (_REG_EESCAPE): Renamed from REG_EESCAPE.
11318         (_REG_ESUBREG): Renamed from REG_ESUBREG.
11319         (_REG_EBRACK): Renamed from REG_EBRACK.
11320         (_REG_EPAREN): Renamed from REG_EPAREN.
11321         (_REG_EBRACE): Renamed from REG_EBRACE.
11322         (_REG_BADBR): Renamed from REG_BADBR.
11323         (_REG_ERANGE): Renamed from REG_ERANGE.
11324         (_REG_ESPACE): Renamed from REG_ESPACE.
11325         (_REG_BADRPT): Renamed from REG_BADRPT.
11326         (_REG_EEND): Renamed from REG_EEND.
11327         (_REG_ESIZE): Renamed from REG_ESIZE.
11328         (_REG_ERPAREN): Renamed from REG_ERPAREN.
11329         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
11330         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
11331         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
11332         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
11333
11334         (_REG_RE_NAME, _REG_RM_NAME): New macros.
11335         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
11336         changed.  But support the old name if the new one is not defined
11337         and if _REGEX_SOURCE.
11338
11339         Change the following member names in struct re_pattern_buffer.
11340         The old names are still supported if !_REGEX_SOURCE.
11341         The new names are always supported, regardless of _REGEX_SOURCE.
11342         (re_buffer): Renamed from buffer.
11343         (re_allocated): Renamed from allocated.
11344         (re_used): Renamed from used.
11345         (re_syntax): Renamed from syntax.
11346         (re_fastmap): Renamed from fastmap.
11347         (re_translate): Renamed from translate.
11348         (re_can_be_null): Renamed from can_be_null.
11349         (re_regs_allocated): Renamed from regs_allocated.
11350         (re_fastmap_accurate): Renamed from fastmap_accurate.
11351         (re_no_sub): Renamed from no_sub.
11352         (re_not_bol): Renamed from not_bol.
11353         (re_not_eol): Renamed from not_eol.
11354         (re_newline_anchor): Renamed from newline_anchor.
11355
11356         Change the following member names in struct re_registers.
11357         The old names are still supported if !_REGEX_SOURCE.
11358         The new names are always supported, regardless of _REGEX_SOURCE.
11359         (rm_num_regs): Renamed from num_regs.
11360         (rm_start): Renamed from start.
11361         (rm_end): Renamed from end.
11362
11363         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
11364         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
11365         Prepend __ to parameter names.
11366
11367         Undo yesterday's changes.
11368
11369 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11370
11371         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
11372         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
11373         lib/regex.c.
11374
11375 2005-08-24  Jim Meyering  <jim@meyering.net>
11376
11377         Sync from coreutils.
11378         * m4/fcntl-safer.m4: New file.
11379
11380         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
11381         and object files for this module.
11382
11383 2005-08-24  Jim Meyering  <jim@meyering.net>
11384
11385         Sync from coreutils.
11386         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
11387
11388 2005-08-24  Jim Meyering  <jim@meyering.net>
11389
11390         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
11391         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
11392
11393 2005-08-24  Jim Meyering  <jim@meyering.net>
11394
11395         * modules/fcntl-safer: New module.
11396         * modules/fts (Depends-on): Add fcntl-safer.
11397         * MODULES.html.sh (File descriptor based Input/Output):
11398         Add fcntl-safer.
11399
11400 2005-08-24  Bruno Haible  <bruno@clisp.org>
11401
11402         Support for unit test modules.
11403         * modules/README: Mention tests modules.
11404         * modules/TEMPLATE-TESTS: New file.
11405         * gnulib-tool: New options --extract-tests-module, --with-tests and
11406         --tests-base (unused for the moment).
11407         (testsbase, inctests): New variables.
11408         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
11409         (func_verify_module): Exclude TEMPLATE-TESTS.
11410         (func_verify_nontests_module, func_verify_tests_module): New functions.
11411         (func_get_dependencies): Add implicit dependency for tests modules.
11412         (func_get_tests_module): New function.
11413         (func_modules_transitive_closure): When --with-tests was specified,
11414         include the unit tests as well, unless explicitly avoided.
11415         (func_emit_lib_Makefile_am): Ignore the tests modules here.
11416         (func_emit_tests_Makefile_am): New function.
11417         (func_create_testdir): When --with-tests was specified, emit a
11418         tests/ directory.
11419         * MODULES.html.sh (Future developments): Update.
11420
11421 2005-08-24  Bruno Haible  <bruno@clisp.org>
11422
11423         * modules/tls-tests: New file.
11424         * tests/test-tls.c: New file, from GNU gettext.
11425
11426 2005-08-24  Bruno Haible  <bruno@clisp.org>
11427
11428         * modules/lock-tests: New file.
11429         * tests/test-lock.c: New file, from GNU gettext.
11430
11431 2005-08-24  Bruno Haible  <bruno@clisp.org>
11432
11433         * lib/lock.h: Add multiple inclusion guard.
11434         * lib/tls.h: Add multiple inclusion guard.
11435
11436 2005-08-24  Bruno Haible  <bruno@clisp.org>
11437
11438         * gnulib-tool: Add support for the --aux-dir option to
11439         --create-testdir, --create-megatestdir, --test, --megatest.
11440         (func_create_testdir, func_create_megatestdir): Optionally emit a
11441         AC_CONFIG_AUX_DIR directive.
11442         (create-testdir, create-megatestdir, test, megatest): Provide a
11443         default value for $auxdir.
11444
11445 2005-08-24  Bruno Haible  <bruno@clisp.org>
11446
11447         * gnulib-tool (import): Use compound statement instead of subshell
11448         where possible.
11449
11450 2005-08-24  Bruno Haible  <bruno@clisp.org>
11451
11452         * gnulib-tool (import): Change --aux-dir default to "build-aux".
11453
11454 2005-08-24  Bruno Haible  <bruno@clisp.org>
11455
11456         * gnulib-tool (func_version): Update.
11457
11458 2005-08-24  Bruno Haible  <bruno@clisp.org>
11459
11460         * gnulib-tool (func_import, func_create_testdir,
11461         func_create_megatestdir): Quote all autoconf macro arguments.
11462
11463 2005-08-24  Bruno Haible  <bruno@clisp.org>
11464
11465         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
11466         option --force, because --force causes the aclocal.m4 of each
11467         subdirectory to be newer than the corresponding config.h.in.
11468
11469 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11470
11471         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
11472         All contents moved to gl_REGEX.
11473         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
11474         assume that it does.
11475
11476 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11477
11478         * lib/regex.h (REG_NOSYS)
11479         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
11480         Define, since POSIX requires it as of 2001.
11481         (_REG_ENOSYS)
11482         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
11483         New private symbol, used to keep the enum signed in all cases.
11484         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
11485         Youngman in
11486         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
11487
11488         * lib/regex_internal.c (re_string_skip_chars, register_state):
11489         (calc_state_hash):
11490         Remove forward decls; no longer needed now that we use prototypes.
11491         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
11492         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
11493         (clean_state_log_if_needed): Likewise.
11494
11495 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11496
11497         * config/srclist.txt: Add glibc bugs 1231-1233.
11498
11499 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11500
11501         Fix problems reported by Sam Steingold in
11502         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
11503         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
11504         assumed that reg_errcode_t is a signed type, which is not
11505         necessarily true if _XOPEN_SOURCE is not defined.
11506         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
11507         since some compilers warn about it otherwise.
11508
11509 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11510
11511         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
11512         (init_word_char, create_initial_state, duplicate_node_closure):
11513         (fetch_token, peek_token_bracket, build_range_exp):
11514         (build_collating_symbol): Remove forward decls; no longer needed
11515         now that we use prototypes.
11516
11517         * lib/regcomp.c:
11518         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
11519         (re_compile_fastmap_iter, regcomp, regerror, regfree):
11520         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
11521         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
11522         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
11523         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
11524         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
11525         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
11526         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
11527         (build_range_exp, build_collating_symbol, parse_bracket_exp):
11528         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
11529         (build_charclass, build_charclass_op, fetch_number, create_tree):
11530         (create_token_tree, mark_opt_subexp, duplicate_tree):
11531         Use prototypes rather than old-style definitions.
11532
11533         * lib/regex_internal.c:
11534         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
11535         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
11536         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
11537         (re_string_reconstruct, re_string_peek_byte_case):
11538         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
11539         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
11540         (re_node_set_init_copy, re_node_set_add_intersect):
11541         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
11542         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
11543         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
11544         (re_acquire_state, re_acquire_state_context, register_state):
11545         (create_ci_newstate, create_cd_newstate, free_state):
11546         Likewise.
11547         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
11548         re_search_2):
11549         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
11550         (re_search_internal, prune_impossible_nodes):
11551         (acquire_init_state_context, check_matching, static):
11552         (check_halt_node_context, check_halt_state_context, proceed_next_node):
11553         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
11554         (update_regs, sift_states_backward, build_sifted_states):
11555         (clean_state_log_if_needed, merge_state_array):
11556         (update_cur_sifted_state, add_epsilon_src_nodes):
11557         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
11558         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
11559         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
11560         (find_recover_state, check_subexp_matching_top, transit_state_mb):
11561         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
11562         (check_arrival, check_arrival_add_next_nodes):
11563         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
11564         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
11565         (check_node_accept_bytes, check_node_accept, extend_buffers):
11566         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
11567         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
11568         (sift_ctx_init):
11569         Likewise.
11570
11571         * lib/regex_internal.h:
11572         (re_string_allocate, re_string_construct, re_string_reconstruct):
11573         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
11574         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
11575         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
11576         (re_string_context_at, re_string_peek_byte_case):
11577         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
11578         is defined, since we now use prototypes always.
11579
11580         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
11581         C89 or better.  All uses removed.
11582
11583 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
11584
11585         * config/srclist.txt: Add glibc bugs 1220-1227.
11586
11587 2005-08-20  Jim Meyering  <jim@meyering.net>
11588
11589         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
11590         of unused local, dfa.
11591
11592 2005-08-20  Bruno Haible  <bruno@clisp.org>
11593
11594         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
11595
11596 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
11597
11598         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
11599         (re_node_set_insert_last, re_dfa_add_node):
11600         Rename local variables to avoid GCC shadowing warnings.
11601
11602 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
11603
11604         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
11605         [defined lint]: Suppress bogus uninitialized-variable warnings.
11606
11607         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
11608         and let the caller return REG_ESPACE if out of space.  This
11609         removes an uninitialied-variable warning with GCC 4.0.1, and also
11610         avoids taking the address of a local variable.  All callers
11611         changed.
11612
11613 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
11614
11615         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
11616         $LIBCSRC/posix/regexec.c.
11617         Add glibc bug 1217 for regcomp.c.
11618
11619 2005-08-19  Jim Meyering  <jim@meyering.net>
11620
11621         * lib/regexec.c (proceed_next_node): Redo local variables to
11622         avoid GCC shadowing warnings.
11623
11624 2005-08-18  Bruno Haible  <bruno@clisp.org>
11625
11626         * lib/strstr.c (strstr): Fix return value in multibyte case.
11627         * lib/strcasestr.c (strcasestr): Likewise.
11628
11629 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11630
11631         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
11632
11633 2005-08-17  Jim Meyering  <jim@meyering.net>
11634
11635         Make the %s format (seconds since the epoch) work for a negative
11636         number and when used with a zero-padded field width, e.g. %015s.
11637
11638         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
11639         label so that it precedes the code to set `digits'.  Otherwise,
11640         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
11641         print `00-22'.  Now, it prints `-0022', as it should.
11642
11643 2005-08-17  Bruno Haible  <bruno@clisp.org>
11644
11645         * modules/strstr (Files): Add m4/mbrtowc.m4.
11646         (Depends-on): Add mbuiter.
11647
11648 2005-08-17  Bruno Haible  <bruno@clisp.org>
11649
11650         * modules/strcasestr: New file.
11651         * MODULES.html.sh (String handling, based on ANSI C 89): Add
11652         strcasestr.
11653
11654 2005-08-17  Bruno Haible  <bruno@clisp.org>
11655
11656         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
11657
11658 2005-08-17  Bruno Haible  <bruno@clisp.org>
11659
11660         * modules/mbuiter: New file.
11661         * MODULES.html.sh (Extended multibyte and wide character utilities):
11662         Add mbuiter.
11663
11664 2005-08-17  Bruno Haible  <bruno@clisp.org>
11665
11666         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
11667         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
11668
11669 2005-08-17  Bruno Haible  <bruno@clisp.org>
11670
11671         * m4/strcasestr.m4: New file.
11672
11673 2005-08-17  Bruno Haible  <bruno@clisp.org>
11674
11675         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
11676         * lib/strstr.c: Completely rewritten, with multibyte locale support.
11677
11678 2005-08-17  Bruno Haible  <bruno@clisp.org>
11679
11680         * lib/strcasestr.h: New file.
11681         * lib/strcasestr.c: New file.
11682
11683 2005-08-17  Bruno Haible  <bruno@clisp.org>
11684
11685         * lib/strcasecmp.c: Use mbuiter.h.
11686
11687 2005-08-17  Bruno Haible  <bruno@clisp.org>
11688
11689         * lib/mbuiter.h: New file.
11690
11691 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
11692
11693         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
11694         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
11695         and gl_GETOPT are both invoked via different paths (as happens
11696         with GNU tar CVS because it uses both argp and getopt), the former
11697         wins.
11698
11699 2005-08-16  Bruno Haible  <bruno@clisp.org>
11700
11701         * modules/tls: New file.
11702         * MODULES.html.sh (Multithreading): Add tls.
11703
11704 2005-08-16  Bruno Haible  <bruno@clisp.org>
11705
11706         * modules/strnlen1: New file.
11707         * MODULES.html.sh (String handling): Add strnlen1.
11708
11709 2005-08-16  Bruno Haible  <bruno@clisp.org>
11710
11711         * modules/strcase (Files): Add m4/mbrtowc.m4.
11712         (Depends-on): Add strnlen1, mbchar.
11713
11714 2005-08-16  Bruno Haible  <bruno@clisp.org>
11715
11716         * modules/mbiter: New file.
11717         * MODULES.html.sh (Extended multibyte and wide character utilities):
11718         Add mbiter.
11719
11720 2005-08-16  Bruno Haible  <bruno@clisp.org>
11721
11722         * modules/mbfile: New file.
11723         * MODULES.html.sh (Extended multibyte and wide character utilities):
11724         Add mbfile.
11725
11726 2005-08-16  Bruno Haible  <bruno@clisp.org>
11727
11728         * modules/mbchar: New file.
11729         * MODULES.html.sh (Extended multibyte and wide character utilities):
11730         New section.
11731
11732 2005-08-16  Bruno Haible  <bruno@clisp.org>
11733
11734         * m4/tls.m4: New file, from GNU gettext.
11735
11736 2005-08-16  Bruno Haible  <bruno@clisp.org>
11737
11738         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
11739         always.
11740         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
11741
11742 2005-08-16  Bruno Haible  <bruno@clisp.org>
11743
11744         * m4/mbiter.m4: New file.
11745
11746 2005-08-16  Bruno Haible  <bruno@clisp.org>
11747
11748         * m4/mbfile.m4: New file.
11749
11750 2005-08-16  Bruno Haible  <bruno@clisp.org>
11751
11752         * m4/mbchar.m4: New file.
11753
11754 2005-08-16  Bruno Haible  <bruno@clisp.org>
11755
11756         * lib/tls.h: New file, from GNU gettext.
11757         * lib/tls.c: New file, from GNU gettext.
11758
11759 2005-08-16  Bruno Haible  <bruno@clisp.org>
11760
11761         * lib/strnlen1.h: New file.
11762         * lib/strnlen1.c: New file.
11763
11764 2005-08-16  Bruno Haible  <bruno@clisp.org>
11765
11766         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
11767         (mbi_init): Update.
11768         (mbi_avail, mbi_advance): Let the iteration end before the terminating
11769         NUL byte, not after it.
11770
11771 2005-08-16  Bruno Haible  <bruno@clisp.org>
11772
11773         * lib/strcase.h (strcasecmp): Add note in comments.
11774         * lib/strncasecmp.c: Use code from strcasecmp.c.
11775         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
11776         (strcasecmp): Work correctly in multibyte locales.
11777
11778 2005-08-16  Bruno Haible  <bruno@clisp.org>
11779
11780         * lib/mbiter.h: New file.
11781
11782 2005-08-16  Bruno Haible  <bruno@clisp.org>
11783
11784         * lib/mbfile.h: New file.
11785
11786 2005-08-16  Bruno Haible  <bruno@clisp.org>
11787
11788         * lib/mbchar.h: New file.
11789         * lib/mbchar.c: New file.
11790
11791 2005-08-16  Bruno Haible  <bruno@clisp.org>
11792
11793         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
11794         the valid ones. Makes the comparison operations transitive:
11795         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
11796         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
11797
11798 2005-08-15  Simon Josefsson  <jas@extundo.com>
11799
11800         * modules/ssize_t (License): Change to 'unlimited'.
11801
11802         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
11803
11804 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
11805
11806         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
11807         Add comments for each pending glibc patch.
11808
11809 2005-08-15  Bruno Haible  <bruno@clisp.org>
11810
11811         * lib/regex.h (__restrict_arr): Don't define to __restrict if
11812         __cplusplus is defined.
11813
11814 2005-08-14  Jim Meyering  <jim@meyering.net>
11815
11816         Sync from coreutils.
11817
11818         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
11819         Use the hash-table-based cycle-detection code not just when
11820         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
11821         Reported by James Youngman in
11822         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
11823         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
11824         FTS_TIGHT_CYCLE_CHECK.
11825         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
11826         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
11827         once again.
11828         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
11829         * lib/fts.c (fd_safer): Remove decl.
11830         Include fcntl--.h rather than unistd-safer.h
11831         (fts_safe_changedir): Don't call fd_safer; no longer needed
11832         now that we include fcntl--.h.
11833
11834 2005-08-12  Simon Josefsson  <jas@extundo.com>
11835
11836         * modules/getndelim2: Use ssize_t module.
11837         * modules/getnline: Likewise.
11838         * modules/safe-read: Likewise.
11839         * modules/xreadlink: Likewise.
11840
11841         * modules/ssize_t: New file.
11842
11843 2005-08-12  Simon Josefsson  <jas@extundo.com>
11844
11845         * m4/readline.m4: Look for termcap, curses or ncurses if required.
11846
11847 2005-08-12  Simon Josefsson  <jas@extundo.com>
11848
11849         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
11850         ssize_t.
11851
11852 2005-08-12  Simon Josefsson  <jas@extundo.com>
11853
11854         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
11855         readline, getdelim and check_version.
11856         (Support for systems lacking ISO C 99: Sizes of integer types):
11857         Add size_max.
11858
11859 2005-08-12  Bruno Haible  <bruno@clisp.org>
11860
11861         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
11862
11863 2005-08-11  Simon Josefsson  <jas@extundo.com>
11864
11865         * modules/readline: New file.
11866
11867         * modules/strnlen (Files): Add strnlen.h.
11868
11869 2005-08-11  Simon Josefsson  <jas@extundo.com>
11870
11871         * m4/readline.m4: New file.
11872
11873 2005-08-11  Simon Josefsson  <jas@extundo.com>
11874
11875         * lib/readline.h, readline.c: New file.
11876
11877 2005-08-11  Simon Josefsson  <jas@extundo.com>
11878
11879         * doc/gnulib.texi (Initial import, Finishing touches): Mention
11880         gl_AVOID.
11881
11882 2005-08-11  Bruno Haible  <bruno@clisp.org>
11883
11884         * lib/strnlen.h (strnlen): Change parameter name to match comment.
11885
11886 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
11887
11888         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
11889
11890 2005-08-10  Simon Josefsson  <jas@extundo.com>
11891
11892         * tests/test-iconvme.c: New file.
11893
11894 2005-08-10  Simon Josefsson  <jas@extundo.com>
11895
11896         * m4/strnlen.m4: New file.
11897
11898         * m4/strndup.m4: Don't check for strnlen declaration, done in
11899         strnlen.m4.
11900
11901 2005-08-10  Simon Josefsson  <jas@extundo.com>
11902
11903         * lib/strndup.c: Use strnlen.h.
11904
11905         * lib/strnlen.h: New file.
11906
11907 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
11908
11909         * README: Typos.
11910
11911 2005-08-02  Simon Josefsson  <jas@extundo.com>
11912
11913         * modules/readline: New file.
11914
11915 2005-08-02  Simon Josefsson  <jas@extundo.com>
11916
11917         * modules/getdelim: New file.
11918
11919         * modules/getline: Rewrite, don't use getndelim2.
11920
11921 2005-08-02  Simon Josefsson  <jas@extundo.com>
11922
11923         * m4/getline.m4: Separate out getdelim stuff into separate module.
11924
11925         * m4/getdelim.m4: New file.
11926
11927 2005-08-02  Simon Josefsson  <jas@extundo.com>
11928
11929         * lib/getline.h, getline.c: Rewrite.
11930
11931         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
11932
11933 2005-07-31  Bruno Haible  <bruno@clisp.org>
11934
11935         * lib/lock.h (gl_lock_initializer): New macro.
11936         (gl_lock_define_initialized): Use it.
11937         (gl_rwlock_initializer): New macro.
11938         (gl_rwlock_define_initialized): Use it.
11939         (gl_recursive_lock_initializer): New macro.
11940         (gl_recursive_lock_define_initialized): Use it.
11941
11942 2005-07-30  Karl Berry  <karl@gnu.org>
11943
11944         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
11945         Report from Ben Pfaff, regarding getopt.
11946
11947 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
11948
11949         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
11950         normal way.
11951         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
11952         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
11953         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
11954         (gl_GETOPT): Use the new macros.  Most of the implementation
11955         is moved to the new macros.  This is for programs like Emacs
11956         that don't want all the functionality of gl_GETOPT.
11957
11958 2005-07-26  Bruno Haible  <bruno@clisp.org>
11959
11960         * m4/lock.m4: Update from GNU gettext.
11961
11962 2005-07-26  Bruno Haible  <bruno@clisp.org>
11963
11964         * lib/lock.h: Update from GNU gettext.
11965         * lib/lock.c: Update from GNU gettext.
11966
11967 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11968
11969         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
11970         obsolescent AC_TRY_RUN.  Include the default includes files, for
11971         'exit'.
11972
11973 2005-07-24  Bruno Haible  <bruno@clisp.org>
11974
11975         * modules/visibility: New file.
11976         * MODULES.html.sh (Misc): Add visibility.
11977
11978 2005-07-24  Bruno Haible  <bruno@clisp.org>
11979
11980         * m4/visibility.m4: New file.
11981
11982 2005-07-24  Bruno Haible  <bruno@clisp.org>
11983
11984         * doc/visibility.texi: New file.
11985
11986 2005-07-22  Bruno Haible  <bruno@clisp.org>
11987
11988         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
11989         $(ALLOCA_H), redundant through BUILT_SOURCES.
11990         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
11991         redundant through BUILT_SOURCES.
11992         * modules/byteswap (Makefile.am): Remove explicit dependency on
11993         $(BYTESWAP_H), redundant through BUILT_SOURCES.
11994         * modules/fnmatch (Makefile.am): Remove explicit dependency on
11995         $(FNMATCH_H), redundant through BUILT_SOURCES.
11996         * modules/getopt (Makefile.am): Remove explicit dependency on
11997         $(GETOPT_H), redundant through BUILT_SOURCES.
11998         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
11999         redundant through BUILT_SOURCES.
12000         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
12001         redundant through BUILT_SOURCES.
12002         * modules/stdbool (Makefile.am): Remove explicit dependency on
12003         $(STDBOOL_H), redundant through BUILT_SOURCES.
12004         * modules/stdint (Makefile.am): Remove explicit dependency on
12005         $(STDINT_H), redundant through BUILT_SOURCES.
12006         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
12007         Remove explicit dependency on $(SYSEXITS_H).
12008         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
12009
12010 2005-07-18  Simon Josefsson  <jas@extundo.com>
12011
12012         * lib/check-version.c (check_version): Accept identical versions too.
12013
12014 2005-07-18  Bruno Haible  <bruno@clisp.org>
12015
12016         * modules/lock: New file.
12017         * MODULES.html.sh (Multithreading): New section.
12018
12019 2005-07-18  Bruno Haible  <bruno@clisp.org>
12020
12021         * m4/lock.m4: New file, from GNU gettext.
12022
12023 2005-07-18  Bruno Haible  <bruno@clisp.org>
12024
12025         * lib/lock.h: New file, from GNU gettext.
12026         * lib/lock.c: New file, from GNU gettext.
12027
12028 2005-07-18  Bruno Haible  <bruno@clisp.org>
12029
12030         * lib/lock.h (gl_once_t): New type.
12031         (gl_once_define, gl_once): New macros.
12032         * lib/lock.c (fresh_once): New variable.
12033         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
12034         functions.
12035
12036 2005-07-16  Simon Josefsson  <jas@extundo.com>
12037
12038         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
12039         workaround, suggested by Bruno.
12040
12041 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12042
12043         * modules/xalloc (Depends-on): Add xalloc-die.
12044         * modules/xvasprintf (Depends-on): Add xalloc-die.
12045
12046 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12047
12048         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
12049         with a minor change.
12050
12051 2005-07-15  Bruno Haible  <bruno@clisp.org>
12052
12053         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
12054         When using lib/poll.c, define poll as rpl_poll.
12055
12056 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
12057
12058         * modules/argp (Depends-on): Remove unlocked-io.
12059
12060 2005-07-14  Derek Price  <derek@ximbiot.com>
12061
12062         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
12063         for glob symlink bug.
12064
12065 2005-07-14  Bruno Haible  <bruno@clisp.org>
12066
12067         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
12068         Instead, test for *_unlocked function declarations directly.
12069
12070 2005-07-11  Simon Josefsson  <jas@extundo.com>
12071
12072         * modules/size_max: New file.
12073
12074         * modules/xsize: Depend on size_max module for size_max.m4.
12075
12076 2005-07-11  Simon Josefsson  <jas@extundo.com>
12077
12078         * lib/size_max.h: New file.
12079
12080 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
12081
12082         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
12083         copyright symbol and the year.
12084         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
12085         (version_etc_va): Use parameterized copyright notice.
12086         Reword to conform to the current GNU coding standards.
12087
12088 2005-07-11  Karl Berry  <karl@gnu.org>
12089
12090         * doc/gnulib.texi (Quoting): new node.
12091         (Initial import): more info, from Patrice.
12092
12093 2005-07-11  Bruno Haible  <bruno@clisp.org>
12094
12095         * gnulib-tool (func_usage): Document option --avoid.
12096         (Command line options): Handle --avoid.
12097         (func_acceptable): New function.
12098         (func_modules_transitive_closure): Use it.
12099
12100 2005-07-11  Bruno Haible  <bruno@clisp.org>
12101
12102         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
12103         Reported by Jim Meyering.
12104
12105 2005-07-10  Bruno Haible  <bruno@clisp.org>
12106
12107         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
12108         Needed when size_t is smaller than 'unsigned int'.
12109         Reported by Paul Eggert.
12110
12111 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
12112
12113         * modules/argp (Depends-on): Add unlocked-io
12114
12115 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
12116
12117         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
12118         block of defines.
12119
12120 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12121
12122         * config/srclist.txt: Comment out regcomp.c, since we have a porting
12123         fix now.
12124
12125 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
12126         and Paul Eggert  <eggert@cs.ucla.edu>
12127
12128         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
12129         in wint_t, not wchar_t.  Remove now-unnecessary cast.
12130
12131 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12132
12133         * modules/regex (Files): Add lib/regex_internal.c,
12134         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
12135         (Depends-on): Add extensions.
12136         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
12137
12138 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12139
12140         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
12141         pathconf.
12142         * m4/same.m4 (gl_SAME): Likewise.
12143         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
12144
12145         * m4/regex.m4: Adjust to new libc regex implementation.
12146         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
12147         all the .c and .h parts of (the new) regex.
12148         Quote the m4 stuff better.
12149         Check for RE_ICASE bug of old gnulib.
12150         Check for REG_STARTEND of recent libc.
12151         Rename local variables from jm_* to gl_*.
12152         Quote operand of "test -f".
12153         Say "recent enough" version of libc, not "version 2".
12154         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
12155         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
12156         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
12157         Remove check for btowc, isascii.
12158         Require AM_LANGINFO_CODESET.
12159
12160 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12161
12162         * lib/regex.c, regex.h: Sync from libc.
12163         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
12164         * lib/regexec.c:
12165         New files, synced from libc, except that regex_internal.h
12166         currently has a small porting fix.
12167
12168 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12169
12170         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
12171         regex_internal.c, regexec.c.
12172         Add regex_internal.h too, but as a comment, since the libc version
12173         is currently broken in gnulib mode.
12174
12175 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12176
12177         Support programs like Emacs that use gnulib but not gettext.
12178         * MODULES.html.sh (Internationalization functions): Add gettext-h.
12179         * modules/gettext-h: New file.
12180         * modules/gettext (Files): Remove lib/gettext.h.
12181         (Depends-on): Add gettext-h.
12182         (Makefile.am): Remove lib_SOURCES.
12183         * modules/argmatch, modules/c-stack, modules/closeout:
12184         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
12185         * modules/execute, modules/file-type, modules/getaddrinfo:
12186         * modules/getopt, modules/human, modules/javacomp:
12187         * modules/javaexec, modules/mkdir-p, modules/obstack:
12188         * modules/openat, modules/pagealign_alloc, modules/pipe:
12189         * modules/quotearg, modules/regex, modules/rpmatch:
12190         * modules/unicodeio, modules/userspec, modules/version-etc:
12191         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
12192         * modules/xsetenv:
12193         Depend on gettext-h, not gettext.
12194
12195 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
12196
12197         * gnulib-tool (func_import): Add support for 'public domain' license.
12198         * modules/alloca, modules/atexit, modules/memmove:
12199         Now public domain, not GPL.
12200         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
12201         * modules/realloc, modules/strerror, modules/strtod:
12202         Now LGPL, not GPL.
12203
12204 2005-07-05  Bruno Haible  <bruno@clisp.org>
12205
12206         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
12207         autoconf CVS. Needed for mingw.
12208
12209 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
12210
12211         Remove the dependency of the strftime module on the tzset module.
12212         * modules/strftime (Depends-on): Remove dependency on tzset.
12213
12214 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
12215
12216         Remove the dependency of the strftime module on the tzset module.
12217         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
12218         gl_FUNC_TZSET_CLOBBER.
12219
12220 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
12221
12222         Remove the dependency of the strftime module on the tzset module.
12223         * lib/strftime.c (my_strftime)
12224         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
12225         Copy the input structure, to work around some of the bug with
12226         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
12227         Solaris releases, you should also use the tzset module, but we won't
12228         require it as a dependency any more since we don't want LGPLed code
12229         to depend on GPLed code.
12230
12231 2005-07-02  Jim Meyering  <jim@meyering.net>
12232
12233         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
12234         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
12235         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
12236         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
12237
12238 2005-07-02  Jim Meyering  <jim@meyering.net>
12239
12240         * lib/backupfile.c (backup_args): Change a `0' to NULL.
12241
12242 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
12243
12244         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
12245         declares only 'struct timespec;' (!).
12246
12247 2005-07-01  Jim Meyering  <jim@meyering.net>
12248
12249         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
12250         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
12251         * lib/save-cwd.c, tempname.c:
12252         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
12253         and don't include <sys/file.h>).
12254
12255 2005-06-29  Jim Meyering  <jim@meyering.net>
12256
12257         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
12258         type name.  Use the variable name instead.
12259         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
12260         Likewise.
12261
12262 2005-06-28  Simon Josefsson  <jas@extundo.com>
12263
12264         * modules/check-version (Files): Add check-version.m4.
12265
12266 2005-06-28  Simon Josefsson  <jas@extundo.com>
12267
12268         * m4/check-version.m4: New file, suggested by Jim Meyering
12269         <jim@meyering.net>.
12270
12271 2005-06-28  Simon Josefsson  <jas@extundo.com>
12272
12273         * lib/check-version.h, lib/check-version.c: New files.
12274
12275 2005-06-28  Simon Josefsson  <jas@extundo.com>
12276
12277         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
12278         collision with global variable.  Better indentation.  Don't
12279         increment buffer pointer beyond buffer end.  Based on comments
12280         from Paul Eggert <eggert@cs.ucla.edu>.
12281
12282         * lib/base64.h: Indent.
12283
12284 2005-06-28  Simon Josefsson  <jas@extundo.com>
12285
12286         * doc/gnulib.texi (Library version handling): New section.
12287
12288 2005-06-28  Jim Meyering  <jim@meyering.net>
12289
12290         * check-module (find_included_lib_files): Hard-code another
12291         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
12292         but modules/fts-lgpl (correctly) does not list those files.
12293
12294         * modules/canonicalize (Files): Add lib/pathmax.h.
12295
12296 2005-06-25  Simon Josefsson  <jas@extundo.com>
12297
12298         * modules/check-version: New file.
12299
12300 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
12301
12302         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
12303         initializer of struct addrinfo, as an indication that we don't
12304         care how many members the structure has.
12305
12306 2005-06-24  Derek Price  <derek@ximbiot.com>
12307         and Bruno Haible  <bruno@clisp.org>
12308
12309         Remove stat module & update lstat.
12310         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
12311         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
12312         * m4/stat.m4: Remove this file.
12313
12314 2005-06-24  Derek Price  <derek@ximbiot.com>
12315         and Bruno Haible  <bruno@clisp.org>
12316
12317         Remove stat module & update lstat.
12318         * lib/stat.c: Remove this file...
12319         (slash_aware_lstat): ...moving this content and its support...
12320         * lib/lstat.c (rpl_lstat): ...into here.
12321         * lib/lstat.h: New file.
12322
12323 2005-06-24  Derek Price  <derek@ximbiot.com>
12324         and Bruno Haible  <bruno@clisp.org>
12325
12326         Remove stat module & update lstat.
12327         * config/srclist.txt (libc sources): Remove stat.
12328
12329 2005-06-24  Derek Price  <derek@ximbiot.com>
12330         and Bruno Haible  <bruno@clisp.org>
12331
12332         Remove stat module & update lstat.
12333         * MODULES.html.sh (stat): Remove.
12334         * MODULES.html: Regenerated.
12335         * modules/lstat (Description): Correct function name.
12336         (Files): Add "lstat.h".
12337         (Depends-on): Remove stat, add xalloc, stat-macros.
12338         * modules/stat: Remove this file.
12339         (Include): Add "lstat.h", remove <sys/stat.h>.
12340
12341 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
12342
12343         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
12344         (ranged_convert): Don't save conversion in a temporary struct.
12345         This causes a warning with GCC 4.0.0, and anyway in the typical
12346         case it's not worth the extra 100 bytes or so of code.
12347         (ranged_convert, __mktime_internal): When calling a function via a
12348         pointer P, use P () rather than (*P) (), as we now assume C89 or
12349         better.
12350
12351 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
12352
12353         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
12354         "who -r" failed to give output.  Problem reported by Tim Waugh.
12355
12356         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
12357         (xcalloc): Use it to avoid needless tests.
12358         Problem reported by Jim Meyering.
12359
12360 2005-06-20  Derek Price  <derek@ximbiot.com>
12361
12362         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
12363         unnecessary for Autoconfs > 2.59c.
12364
12365 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12366
12367         * lib/argp.h (__option_is_short): Check upper limit of
12368         __key. Isprint() requires its argument to have the value
12369         of an unsigned char or EOF.
12370
12371 2005-06-16  Jim Meyering  <jim@meyering.net>
12372
12373         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
12374         when either N or S is zero.
12375
12376 2005-06-16  Derek Price  <derek@ximbiot.com>
12377
12378         * m4/bison.m4: Declare YACC & YFLAGS precious.
12379
12380 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
12381
12382         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
12383         multibyte string or pattern, fall back on unibyte matching.
12384         Problem reported by James Youngman.
12385
12386 2005-06-08  Bruno Haible  <bruno@clisp.org>
12387
12388         * modules/csharpcomp: New file.
12389         * MODULES.html.sh (C#): Add csharpcomp.
12390
12391 2005-06-08  Bruno Haible  <bruno@clisp.org>
12392
12393         * m4/csharpcomp.m4: New file, from GNU gettext.
12394
12395 2005-06-08  Bruno Haible  <bruno@clisp.org>
12396
12397         * lib/csharpcomp.h: New file, from GNU gettext.
12398         * lib/csharpcomp.c: New file, from GNU gettext.
12399         * lib/csharpcomp.sh.in: New file, from GNU gettext.
12400
12401 2005-06-08  Bruno Haible  <bruno@clisp.org>
12402
12403         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
12404         warning on mingw.
12405
12406 2005-06-07  Derek Price  <derek@ximbiot.com>
12407
12408         Sync from CVS.
12409         * lib/glob_.h: Indent nested #ifdef.
12410
12411 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12412
12413         Sync from coreutils.
12414         Use "file name" when talking about file names, instead of "filename"
12415         or "path", as per the GNU coding standards.
12416         * lib/mkdir-p.c: Renamed from makepath.c.
12417         (make_dir_parents): Renamed from make_path.  All callers changed.
12418         * lib/mkdir-p.h: Likewise.  All includers changed.
12419         * lib/filenamecat.c: Renamed from path-concat.c.
12420         (file_name_concat): Renamed from path_concat.  All callers changed.
12421         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
12422         * lib/filenamecat.h: Likewise.  All includers changed.
12423         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
12424         in comments or local variable names.
12425         * lib/basename.c: Likewise.
12426         * lib/canonicalize.c, canonicalize.h: Likewise.
12427         * lib/dirname.c, dirname.h: Likewise.
12428         * lib/euidaccess.c: Likewise.
12429         * lib/exclude.c: Likewise
12430         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
12431         * lib/fsusage.c, fsuage.h: Likewise.
12432         * lib/fts.c, fts_.h: Likewise.
12433         * lib/getcwd.c: Likewise.
12434         * lib/getloadavg.c: Likewise.
12435         * lib/mkstemp.c: Likewise.
12436         * lib/mountlist.c, mountlist.h: Likewise.
12437         * lib/openat.c, openat.h: Likewise.
12438         * lib/readlink-stub.c: Likewise.
12439         * lib/readutmp.c, readutmp.h: Likewise.
12440         * lib/rename.c: Likewise.
12441         * lib/rmdir.c: Likewise.
12442         * lib/same.c: Likewise.
12443         * lib/savedir.c: Likewise.
12444         * lib/stripslash.c: Likewise.
12445         * lib/tempname.c: Likewise.
12446         * lib/xreadlink.c: Likewise.
12447         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
12448         All uses changed.
12449         * lib/exclude.h: Likewise.
12450
12451         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
12452         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
12453         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
12454         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
12455         * lib/pathmax.h: Include <limits.h> unconditionally, since other
12456         files have been getting away with it for years (MORE/BSD 4.3
12457         is extinct now).
12458         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
12459         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
12460
12461         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
12462         Define to 256, not 255, as per modern POSIX.
12463
12464 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12465
12466         Sync from coreutils.
12467         Use "file name" when talking about file names, instead of "filename"
12468         or "path", as per the GNU coding standards.
12469         * MODULES.html.sh: mkdir-p renamed from makepath.
12470         filenamecat renamed from path-concat.
12471         * modules/filenamecat: Renamed from modules/path-concat.
12472         (Files): filenamecat.h and filenamecat.c renamed from
12473         path-concat.h and path-concat.c.
12474         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
12475         (Include): filenamecat.h, not path-concat.h.
12476         * modules/mkdir-p: Renamed from modules/makepath.
12477         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
12478         makepath.c.
12479         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
12480         (Include): mkdir-p.h, not makepath.h.
12481
12482 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12483
12484         Sync from coreutils.
12485         * m4/mkdir-p.m4: Renamed from makepath.m4.
12486         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
12487         Rename files from makepath.c to mkdir-p.c, and from
12488         makepath.h to mkdir-p.h.
12489         * m4/filenamecat.m4: Renamed from path-concat.m4.
12490         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
12491         Rename files from path-concat.c to filenamecat.c,
12492         and from path-concat.h to filenamecat.h.
12493         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
12494         "file name" in local variables or comments.
12495         * m4/rename.m4: Likewise.
12496
12497 2005-06-01  Bruno Haible  <bruno@clisp.org>
12498
12499         * modules/csharpexec: New file.
12500         * MODULES.html.sh (C#): New section.
12501
12502 2005-06-01  Bruno Haible  <bruno@clisp.org>
12503
12504         * m4/csharp.m4: New file, from GNU gettext.
12505         * m4/csharpexec.m4: New file, from GNU gettext.
12506
12507 2005-06-01  Bruno Haible  <bruno@clisp.org>
12508
12509         * lib/csharpexec.h: New file, from GNU gettext.
12510         * lib/csharpexec.c: New file, from GNU gettext.
12511         * lib/csharpexec.sh.in: New file, from GNU gettext.
12512
12513 2005-05-31  Derek Price  <derek@ximbiot.com>
12514             Paul Eggert  <eggert@cs.ucla.edu>
12515
12516         Sync from cvs.
12517         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
12518
12519 2005-05-31  Derek Price  <derek@ximbiot.com>
12520             Paul Eggert  <eggert@cs.ucla.edu>
12521
12522         Sync from cvs.
12523         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
12524
12525 2005-05-29  Derek Price  <derek@ximbiot.com>
12526
12527         * config/srclist.txt (glob_.h, glob.c): Add these files.
12528
12529 2005-05-29  Derek Price  <derek@ximbiot.com>
12530
12531         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
12532         * modules/glob: New file.
12533         * modules/getlogin_r: Add link to POSIX spec in description.
12534
12535 2005-05-29  Derek Price  <derek@ximbiot.com>
12536             Paul Eggert  <eggert@cs.ucla.edu>
12537
12538         * m4/glob.m4: New file.
12539
12540 2005-05-29  Derek Price  <derek@ximbiot.com>
12541             Paul Eggert  <eggert@cs.ucla.edu>
12542
12543         * lib/glob_.h, lib/glob.c: New files.
12544
12545 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12546
12547         * modules/fts (Files): Remove m4/inttypes-pri.m4.
12548         * modules/fts-lgpl (Depends-on): Remove gettext.
12549
12550 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12551
12552         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
12553         and don't require gt_INTTYPES_PRI.
12554
12555 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12556
12557         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
12558
12559         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
12560         the configuration hassle isn't worth it.
12561         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
12562         (LONGEST_MODIFIER, PRIuMAX): Remove.
12563
12564 2005-05-27  Bruno Haible  <bruno@clisp.org>
12565
12566         * lib/getlogin_r.h: Remove second include of <stddef.h>.
12567
12568 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
12569
12570         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
12571         _POSIX_PTHREAD_SEMANTICS for Solaris.
12572
12573 2005-05-25  Derek Price  <derek@ximbiot.com>
12574
12575         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
12576
12577 2005-05-25  Derek Price  <derek@ximbiot.com>
12578             Paul Eggert  <eggert@cs.ucla.edu>
12579
12580         * modules/getlogin_r, m4/getlogin_r.m4: New files.
12581         * lib/getlogin_r.c, getlogin_r.h: New files.
12582
12583 2005-05-25  Bruno Haible  <bruno@clisp.org>
12584             Derek Price  <derek@ximbiot.com>
12585
12586         * lib/getlogin_r.h: Simplify API documentation.
12587
12588 2005-05-23  Derek Price  <derek@ximbiot.com>
12589
12590         * modules/minmax (Files): Add m4/minmax.m4.
12591         (configure.ac): Add gl_MINMAX.
12592
12593 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
12594
12595         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
12596         so that unistd-safer.h (GPL'ed code) need not be included.
12597
12598 2005-05-22  Bruno Haible  <bruno@clisp.org>
12599
12600         * m4/minmax.m4: New file.
12601         Based on a patch by Derek Price <derek@ximbiot.com>.
12602
12603 2005-05-22  Bruno Haible  <bruno@clisp.org>
12604
12605         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
12606         (INT64_MIN): Fix definition.
12607         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
12608
12609         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
12610         NEED_SIGNED_INT_TYPES.
12611
12612         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
12613         HAVE_SYSTEM_INTTYPES.
12614
12615 2005-05-22  Bruno Haible  <bruno@clisp.org>
12616
12617         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
12618         Also include <sys/param.h> if it defines MIN, MAX.
12619         Based on a patch by Derek Price <derek@ximbiot.com>.
12620
12621 2005-05-21  Jim Meyering  <jim@meyering.net>
12622
12623         * modules/fts (Files): Add m4/inttypes-pri.m4.
12624         (Depends-on): Add lstat and remove gettext.  Alphabetize.
12625
12626 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12627
12628         New fts module.
12629         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
12630         (setup_dir, free_dir): New functions.
12631         (enter_dir, leave_dir): Define trivial
12632         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
12633         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
12634         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
12635         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
12636         Move to fts-cycle.c.
12637         (fts_open): Use setup_dir.
12638         (fts_close): Use free_dir.
12639         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
12640         This adds a label and some gotos, but the alternatives were messier.
12641         Check for memory allocation failure when entering a dir.
12642         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
12643         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
12644         (FTS): New member fts_cycle, that is a union that contains the
12645         old active_dir_ht and cycle_state.  All uses changed to mention
12646         fts_cycle.ht and fts_cycle.state.
12647         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
12648         fts.c, with the following changes:
12649         (setup_dir, free_dir): New functions.
12650         (enter_dir): Now returns bool.  Return true if successful, false
12651         if memory exhausted.  All callers changed.
12652         Do not bother partly cleaning up on
12653         memory allocation failure; that is free_dir's job.
12654         However, free ad if hash_insert fails, to avoid memory leak.
12655         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
12656         fts->fts_options to see which union member to use.
12657
12658 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12659
12660         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
12661         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
12662
12663 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
12664
12665         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
12666
12667 2005-05-20  Jim Meyering  <jim@meyering.net>
12668
12669         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
12670         Now a macro, to pacify GCC.
12671
12672 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
12673
12674         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
12675         of -1.
12676
12677 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
12678
12679         * lib/chown.c (rpl_chown): Return -1 on failure.
12680
12681 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
12682
12683         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
12684         Don't check for stddef.h.
12685         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
12686         don't use its results.
12687         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
12688         since we include them unconditionally.  Don't require
12689         AM_STDBOOL_H, since stdbool is a prerequisite.
12690         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
12691         since we assume C89 or better.
12692         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
12693         as we don't use their results.
12694         Don't check for fchdir, memmove, memset, strrchr, as we use
12695         them unconditionally.
12696         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
12697         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
12698
12699 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
12700
12701         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
12702         Include <stddef.h> unconditionally, since we assume C89 now.
12703         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
12704         * lib/fts.c: Include fts_.h first, to check interface.
12705         Do not include intprops.h; no longer needed.
12706         Include cycle-check.h and hash.h, since fts_.h no longer does.
12707         Remove unnecessary casts of closedir to void.
12708         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
12709         decide whether to decrement nlinks.
12710         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
12711         (FTS): Use struct hash_table * instead of Hash_table, so that
12712         we no longer need to include hash.h here.
12713
12714 2005-05-18  Jim Meyering  <jim@meyering.net>
12715
12716         * modules/dirfd (License): Change to LGPL.  Most of the code
12717         is already in the public domain.
12718
12719 2005-05-18  Jim Meyering  <jim@meyering.net>
12720
12721         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
12722         Reported by Yoann Vandoorselaere.
12723
12724 2005-05-17  Jim Meyering  <jim@meyering.net>
12725
12726         * m4/fts.m4: New file, from coreutils.
12727
12728 2005-05-17  Jim Meyering  <jim@meyering.net>
12729
12730         * lib/fts.c, lib/fts_.h: New files, from coreutils.
12731
12732 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
12733
12734         Sync from coreutils.
12735         * m4/unlinkdir.m4: New file.
12736
12737 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
12738
12739         Sync from coreutils.
12740         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
12741         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
12742         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
12743         White space changes only.
12744         * lib/makepath.c (make_path): Port to hosts where leading "//" is
12745         special.
12746         * lib/yesno.c: Include getline.h, not ctype.h.
12747         (yesno): Don't remove leading white space; POSIX doesn't allow it.
12748         Use getline to remove arbitrary restriction on response length.
12749
12750 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
12751
12752         * config/srclist-update: Spell out "Street" in FSF postal
12753         mail address; this is the style the FSF seems to prefer.
12754
12755         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
12756         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
12757         this updates FSF postal mail address.
12758
12759         Sync from coreutils.
12760         * modules/unlinkdir: New file.
12761         * modules/yesno (Depends-on): Add getline.
12762         * MODULES.html.sh (File system functions): Add unlinkdir.
12763
12764 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
12765
12766         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
12767         lib/strsep.h:
12768         Change the initial comment to refer to GPL, not LGPL.
12769         gnulib-tool will change it to LGPL as needed.
12770
12771         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
12772         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
12773         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
12774         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
12775         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
12776         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
12777         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
12778         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
12779         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
12780         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
12781         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
12782         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
12783         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
12784         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
12785         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
12786         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
12787         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
12788         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
12789         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
12790         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
12791         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
12792         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
12793         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
12794         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
12795         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
12796         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
12797         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
12798         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
12799         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
12800         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
12801         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
12802         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
12803         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
12804         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
12805         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
12806         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
12807         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
12808         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
12809         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
12810         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
12811         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
12812         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
12813         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
12814         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
12815         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
12816         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
12817         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
12818         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
12819         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
12820         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
12821         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
12822         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
12823         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
12824         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
12825         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
12826         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
12827         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
12828         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
12829         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
12830         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
12831         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
12832         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
12833         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
12834         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
12835         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
12836         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
12837         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
12838         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
12839         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
12840         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
12841         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
12842         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
12843         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
12844         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
12845         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
12846         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
12847         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
12848         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
12849         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
12850         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
12851         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
12852         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
12853         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
12854         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
12855         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
12856         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
12857         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
12858         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
12859         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
12860         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
12861         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
12862         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
12863         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
12864         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
12865         lib/yesno.c, lib/yesno.h:
12866         Update FSF postal mail address.
12867
12868 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
12869
12870         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
12871         tests/test-memmem.c, tests/test-stpncpy.c:
12872         Update FSF postal mail address.
12873
12874 2005-05-13  Bruno Haible  <bruno@clisp.org>
12875
12876         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
12877         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
12878         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
12879         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
12880         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
12881         Add support for 64-bit integers in the MSVC compiler.
12882
12883 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12884
12885         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
12886
12887 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
12888
12889         * gnulib-tool (func_import): Sort and uniquify recommended includes.
12890
12891 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
12892
12893         * doc/getdate.texi (General date syntax): Don't say that date
12894         date --iso-8601=ns generates acceptable dates; it doesn't yet.
12895         Problem reported by Nic Ferrier.
12896
12897 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12898
12899         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
12900         specified in ai_socktype. Fix invalid ai_protocol
12901         check. ai_protocol is usually set to 0 or depending on
12902         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
12903         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
12904         ai_socktype / ai_protocol in the returned addrinfo structure.
12905
12906 2005-05-10  Simon Josefsson  <jas@extundo.com>
12907
12908         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
12909         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12910
12911 2005-05-10  Karl Berry  <karl@gnu.org>
12912
12913         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
12914         (from http://www.gnu.org/licenses).
12915         * doc/COPYING.LIB: also rename to COPYING.LESSER.
12916         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
12917         fdl.texi suffices.
12918
12919 2005-05-10  Karl Berry  <karl@gnu.org>
12920
12921         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
12922         (COPYING.DOC): remove.
12923
12924         * config/srclist-update: new FSF address.
12925
12926 2005-05-10  Derek Price  <derek@ximbiot.com>
12927
12928         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
12929         possible.
12930
12931 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12932             Bruno Haible  <bruno@clisp.org>
12933
12934         * modules/inet_ntop: New file.
12935         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12936         inet_ntop.
12937
12938 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12939             Bruno Haible  <bruno@clisp.org>
12940
12941         * m4/inet_ntop.m4: New file.
12942
12943 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
12944             Bruno Haible  <bruno@clisp.org>
12945
12946         * lib/inet_ntop.h: New file.
12947         * lib/inet_ntop.c: New file, from glibc with modifications.
12948
12949 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
12950
12951         * modules/time_r (License): Change to LGPL.
12952         * modules/extensions (License): Change to LGPL.  Actually,
12953         the license is more permissive than that, but currently gnulib-tool
12954         doesn't know how to handle more-permissive licenses.
12955
12956         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
12957         Problem reported by Dave Love.
12958
12959 2005-05-08  Jim Meyering  <jim@meyering.net>
12960
12961         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
12962         blank.
12963
12964 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
12965
12966         * modules/argmatch (Depends-on): Add stdbool.
12967         * modules/backupfile (Depends-on): Likewise.
12968         * modules/chdir-long (Depends-on): Likewise.
12969         * modules/closeout (Depends-on): Likewise.
12970         * modules/cycle-check (Depends-on): Likewise.
12971         * modules/dirname (Depends-on): Likewise.
12972         * modules/fnmatch (Depends-on): Likewise.
12973         * modules/fsusage (Depends-on): Likewise.
12974         * modules/fwriteerror (Depends-on): Likewise.
12975         * modules/getcwd (Depends-on): Likewise.
12976         * modules/getloadavg (Depends-on): Likewise.
12977         * modules/hard-locale (Depends-on): Likewise.
12978         * modules/makepath (Depends-on): Likewise.
12979         * modules/mountlist (Depends-on): Likewise.
12980         * modules/nanosleep (Depends-on): Likewise.
12981         * modules/posixtm (Depends-on): Likewise.
12982         * modules/quotearg (Depends-on): Likewise.
12983         * modules/readtokens (Depends-on): Likewise.
12984         * modules/readtokens0 (Depends-on): Likewise.
12985         * modules/readutmp (Depends-on): Likewise.
12986         * modules/save-cwd (Depends-on): Likewise.
12987         * modules/strftime (Depends-on): Likewise.
12988         * modules/userspec (Depends-on): Likewise.
12989         * modules/utimecmp (Depends-on): Likewise.
12990         * modules/xgetcwd (Depends-on): Likewise.
12991         * modules/xnanosleep (Depends-on): Likewise.
12992         * modules/xstrtod (Depends-on): Likewise.
12993         * modules/yesno (Depends-on): Likewise.
12994
12995 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
12996
12997         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
12998         needless checks.
12999
13000 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13001
13002         Merge from coreutils.  Among other things,
13003         add bulletproofing for cases where stdin, stdout, or stderr are closed.
13004         * lib/fd-safer.c: New file.
13005         * lib/fcntl-safer.h, open-safer.c: Remove.
13006         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
13007         * lib/dup-safer.c: Include unistd-safer.h first.
13008         Don't include errno.h.
13009         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
13010         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
13011         * lib/file-type.c: Rely on file-type.h change.
13012         * lib/getloadavg.c: Include unistd-safer.h.
13013         (getloadavg): Use safer open.
13014         * lib/getusershell.c: Include "stdio-safer.h".
13015         (getusershell): Use safer fopen.
13016         * lib/long-options.c (long_options): Use NULL rather than 0.
13017         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
13018         'free'.
13019         * lib/modechange.c: Likewise.
13020         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
13021         (MODE_DONE): New constant.
13022         (struct mode_change): Remove 'next' member.
13023         (make_node_op_equals): New function; like the old one of the
13024         same name, except it allocates an array.
13025         (mode_compile, mode_create_from_ref): Use it.
13026         (mode_compile): Allocate result as an array, not a linked list.
13027         Parse octal string ourself, so that we catch mistakes like "+0".
13028         (mode_adjust): Arg is an array, not a linked list.
13029         * lib/modechange.c: Include stat-macros.h, xalloc.h.
13030         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
13031         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
13032         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
13033         Remove.  This is now stat-macros.h's job.
13034         (talloc): Remove.  All callers replaced by xalloc, so that
13035         our invokers don't have to worry about reporting memory failures.
13036         (make_node_op_equals): Remove.
13037         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
13038         New constants.
13039         (struct mode_change): Moved here from modechange.h.
13040         (mode_append_entry): Remove.
13041         (mode_compile): Remove MASKED_OPS arg, since it encouraged
13042         apps to have incorrect behavior.  Use simpler algorithm for head
13043         and tail.  Don't futz with umask; that's now the job of mode_adjust.
13044         Detect more invalid usages rather than having somewhat-random behavior.
13045         Don't insert an "a=" action, as that leads to incorrect behavior.
13046         (mode_compile, mode_create_from_ref): Return NULL on error instead
13047         of an enum, since now there's only one way to have an error.  All
13048         callers changed.
13049         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
13050         at the correct time.  Simplify calculation of "+u" and its ilk.
13051         Don't mishandle "+X".
13052         (mode_free): Remove "register" and localize decls.
13053         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
13054         (struct mode_change): Move to modechange.c; callers don't
13055         need to see this stuff.
13056         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
13057         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
13058         (mode_change, mode_adjust): Reflect the new signatures noted above.
13059         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
13060         that might redefine system include files.
13061         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
13062         (my_usleep): Use NULL rather than (void *) 0.
13063         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
13064         Use siginterrupt to specify that system calls should be interrupted.
13065         (rpl_nanosleep): Move initialization of suspended closer to call of
13066         my_usleep.
13067         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
13068         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
13069         (desirable_utmp_entry): New function.
13070         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
13071         using x2nrealloc, to simplify logic.
13072         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
13073         size calculation.  Do not assume utmp file is a regular file.
13074         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
13075         (READ_UTMP_CHECK_PIDS): New constant.
13076         * lib/save-cwd.c: Include unistd-safer.h.
13077         (save_cwd): Use fd_safer.
13078         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
13079         [!_LIBC] Include "stat-macros.h" instead.
13080         * lib/unistd-safer.h (fd_safer): New decl.
13081
13082 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13083
13084         * modules/getloadavg (Depends-on): Add unistd-safer.
13085         * modules/getusershell (Depends-on): Add stdio-safer.
13086         * modules/lstat (Depends-on): Remove xalloc.
13087         * modules/mkstemp (Depends-on): Add stat-macros.
13088         * modules/modechange (Depends-on): Remove xstrtol.
13089         Add stat-macros, xalloc.
13090         * modules/save-cwd (Depends-on): Add unistd-safer.
13091         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
13092         * modules/unistd-safer (Files): Add lib/fd-safer.c
13093         (Makefile.am): Remove lib_SOURCES.
13094
13095         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
13096         Remove fcntl-safer; unistd-safer supersedes it.
13097
13098 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13099
13100         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
13101         AC_HEADER_STAT.
13102         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
13103         (gl_PREREQ_CHOWN): Remove.
13104         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
13105         it.  Don't require AC_HEADER_STAT.
13106         (gl_PREREQ_LSTAT): Remove.
13107         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
13108         Don't require AC_HEADER_STAT.
13109         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
13110         (gl_PREREQ_RMDIR): Remove.
13111         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
13112         mention stat-macros.h or AC_HEADER_STAT, since we'll make
13113         the stat-macros module a prerequisite.
13114         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
13115         * m4/filemode.m4 (gl_FILEMODE): Likewise.
13116         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
13117         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
13118         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
13119         variable names.
13120         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
13121         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
13122         variable prefixes.
13123         * m4/fcntl-safer.m4: Remove.
13124         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
13125         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
13126         Invoke gl_PREREQ_FD_SAFER.
13127         (gl_PREREQ_FD_SAFER): New macro.
13128         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
13129         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
13130         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
13131         Remove duplicate call to AC_LIBOBJ(readutmp).
13132         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
13133
13134         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
13135         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
13136
13137 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13138
13139         * MODULES.html.sh (Misc): Add byteswap.
13140
13141 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13142
13143         * modules/getcwd (Depends-on): Add extensions.
13144         * modules/openat (Depends-on): Likewise.
13145
13146 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13147
13148         * modules/byteswap: New file.
13149
13150 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13151
13152         * m4/byteswap.m4: New file.
13153
13154 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13155
13156         * lib/byteswap_.h: New file.
13157
13158 2005-04-25  Karl Berry  <karl@gnu.org>
13159
13160         * m4/gettext.m4: Update from GNU gettext 0.14.4.
13161
13162 2005-04-25  Albert Chin  <china@thewrittenword.com>
13163
13164         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
13165         Toolkit C bug.
13166
13167 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
13168
13169         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
13170         (func_ln_if_changed) Remove forcibly for no error message
13171         in case file does not exist.
13172
13173 2005-04-19  Simon Josefsson  <jas@extundo.com>
13174
13175         * gnulib-tool (Options): Make --symlink mean --symbolic.
13176
13177 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
13178
13179         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
13180
13181 2005-04-16  Simon Josefsson  <jas@extundo.com>
13182
13183         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
13184
13185 2005-04-15  Simon Josefsson  <jas@extundo.com>
13186
13187         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
13188
13189 2005-04-15  Simon Josefsson  <jas@extundo.com>
13190
13191         * gnulib-tool: Rename --symlink to --symbolic.
13192
13193 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
13194
13195         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
13196         symbolic links to files instead of copying/moving.  Add --aux-dir,
13197         specifying directory relative --dir where auxiliary build tools
13198         are placed.
13199
13200 2005-04-14  Bruno Haible  <bruno@clisp.org>
13201
13202         * modules/allocsa (License): Change to LGPL.
13203         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
13204
13205 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
13206
13207         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
13208         that "UTC +1 second" continues to work.  Problem reported
13209         by Dmitry V. Levin.
13210         (relunit_snumber): New rule.
13211         (relunit): Use it.
13212
13213 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
13214
13215         * lib/getdate.y (universal_time_zone_table): New constant.
13216         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
13217         universal_time_zone_table.
13218         (lookup_zone): Prefer universal_time_zone_table to
13219         local_time_zone_table, so that "GMT" time stamps are allowed in
13220         London during the summer.  Problem reported by Ian Abbott.
13221
13222 2005-04-12  Jim Meyering  <jim@meyering.net>
13223
13224         * lib/human.c (humblock): Set *options even when returning due to
13225         xstrtoumax conversion failure.  Thanks to a used-uninitialized
13226         warning from gcc-4.
13227
13228 2005-04-09  Jim Meyering  <jim@meyering.net>
13229
13230         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
13231         -Wuninitialized: initialize tm0.tm_year.
13232
13233 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
13234
13235         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
13236         count, since there's no maximum.  All uses changed.
13237         Add member dsts_seen.
13238         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
13239         not being INT_MAX.
13240         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
13241         Use pc_rels_seen to decide whther a date is absolute.
13242
13243         * lib/getdate.y (number): Don't overwrite year.
13244         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
13245         check.
13246
13247 2005-04-02  Simon Josefsson  <jas@extundo.com>
13248
13249         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
13250         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
13251
13252 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
13253
13254         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
13255         where no absolute path name can be longer than PATH_MAX.
13256
13257 2005-03-27  Jim Meyering  <jim@meyering.net>
13258
13259         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
13260
13261 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
13262
13263         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
13264         "one's complement" -> "ones' complement" in comment, as per Knuth.
13265         "value of type" -> "type or expression" in comment.
13266         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
13267
13268 2005-03-26  Jim Meyering  <jim@meyering.net>
13269
13270         Comment nits.
13271         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
13272         Correct typos: s/or/of/.
13273
13274 2005-03-26  Jim Meyering  <jim@meyering.net>
13275
13276         * modules/check-include-files: Move to ../ and rename to...
13277         * check-module: ...this.
13278
13279 2005-03-25  Jim Meyering  <jim@meyering.net>
13280
13281         * modules/xvasprintf (Files): Add xalloc.h.
13282
13283 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
13284
13285         * modules/gettext (Files): config/config.rpath ->
13286         build-aux/config.rpath
13287         * modules/iconv (Files): Likewise.
13288         Problem reported by Oskar Liljeblad.
13289
13290 2005-03-23  Jim Meyering  <jim@meyering.net>
13291
13292         * modules/check-include-files: New script to check for
13293         missing dependencies, multiple includes, etc.
13294
13295         * modules/c-strtold (Depends-on): Add xalloc.
13296         * modules/c-strtod (Depends-on): Add xalloc.
13297         * modules/hash (Depends-on): Add xalloc.
13298         (Files): Remove lib/xalloc.h.
13299
13300         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
13301         * modules/userspec (Files): Add lib/inttostr.h.
13302
13303 2005-03-23  Jim Meyering  <jim@meyering.net>
13304
13305         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
13306
13307 2005-03-22  Jim Meyering  <jim@meyering.net>
13308
13309         * modules/stat-macros: New module.
13310         * modules/canonicalize, modules/euidaccess, modules/file-type,
13311         * modules/filemode, modules/lchown, modules/makepath,
13312         * modules/rmdir, modules/stat: Depend on new stat-macros module
13313         rather than listing lib/stat-macros.h manually.
13314         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
13315
13316 2005-03-22  Jim Meyering  <jim@meyering.net>
13317
13318         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
13319
13320 2005-03-22  Bruno Haible  <bruno@clisp.org>
13321
13322         * config/srclist.txt: Replace target directory 'config' with
13323         'build-aux'.
13324         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
13325         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
13326         ../build-aux/.
13327
13328 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
13329
13330         * modules/chdir-long (Depends-on): Add mempcpy.
13331
13332         * modules/acl, modules/backupfile, modules/c-strtod,
13333         modules/c-strtold, modules/canon-host, modules/canonicalize,
13334         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
13335         modules/exclude, modules/exitfail, modules/file-type,
13336         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
13337         modules/getdate, modules/getline, modules/getpagesize,
13338         modules/getpass, modules/getugroups, modules/group-member,
13339         modules/hard-locale, modules/hash, modules/human, modules/idcache,
13340         modules/inttostr, modules/long-options, modules/makepath,
13341         modules/md5, modules/memcasecmp, modules/memcoll,
13342         modules/modechange, modules/mountlist, modules/path-concat,
13343         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
13344         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
13345         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
13346         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
13347         modules/strftime, modules/strndup, modules/strverscmp,
13348         modules/timespec, modules/unlocked-io, modules/userspec,
13349         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
13350         modules/yesno:
13351         Remove lib_SOURCES line from Makefile.am section, as this is now
13352         done automatically by the corresponding Autoconf macro.
13353
13354 2005-03-21  Jim Meyering  <jim@meyering.net>
13355
13356         Changes imported from coreutils.
13357
13358         * lib/cycle-check.c: Don't include xalloc.h.
13359
13360         * lib/path-concat.c: Don't include assert.h.
13361         (path_concat): Remove assertion that would have triggered
13362         for ABASE starting with more than one slash.
13363         Reported by Andreas Schwab.
13364
13365         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
13366         properly when ABASE is an absolute file name.
13367         Correct the description of this function.
13368         Include <assert.h>.
13369         Add an assertion and a test driver.
13370         This fixes a bug introduced on 2004-07-02.
13371         Andreas Schwab reported the resulting failure of cp --parents:
13372         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
13373
13374 2005-03-21  Jim Meyering  <jim@meyering.net>
13375
13376         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
13377         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
13378
13379 2005-03-21  Jim Meyering  <jim@meyering.net>
13380         and  Paul Eggert  <eggert@cs.ucla.edu>
13381
13382         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
13383         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
13384         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
13385         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
13386         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
13387         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
13388         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
13389         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
13390         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
13391         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
13392         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
13393         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
13394         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
13395         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
13396         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
13397         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
13398         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
13399         for these modules.
13400
13401 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
13402
13403         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
13404         (which shouldn't happen), generate nothing instead of returning 0
13405         immediately, so that nstrftime (NULL, ...) doesn't return 0.
13406
13407 2005-03-16  Bruno Haible  <bruno@clisp.org>
13408
13409         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
13410         HAVE_LONGLONG_64BIT.
13411
13412 2005-03-16  Bruno Haible  <bruno@clisp.org>
13413
13414         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
13415         HAVE_LONGLONG_64BIT.
13416
13417 2005-03-16  Bruno Haible  <bruno@clisp.org>
13418
13419         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
13420         HAVE_LONGLONG_64BIT.
13421
13422 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
13423
13424         * lib/strftime.c (my_strftime): Prepend space to format so that we can
13425         reliably distinguish strftime failure from empty output on POSIX
13426         hosts.
13427
13428 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
13429
13430         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
13431         (iconv_string): Don't guess a size-zero buffer, as that might cause
13432         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
13433         result would be 'too large', where 'too large' is (heuristically)
13434         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
13435         overflow concerns.  This will prevent some unwanted malloc failures
13436         when the inputs are very large.
13437
13438 2005-03-15  Karl Berry  <karl@gnu.org>
13439
13440         * config/srclist.txt (config.rpath): from gettext.
13441         * config/config.rpath: update.
13442
13443 2005-03-15  Bruno Haible  <bruno@clisp.org>
13444
13445         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
13446         to 'negate'.
13447
13448         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
13449         variable.
13450
13451         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
13452         results.
13453
13454 2005-03-14  Simon Josefsson  <jas@extundo.com>
13455
13456         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
13457         <fx@gnu.org>.
13458
13459 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
13460
13461         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
13462         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
13463         intprops.h.
13464         * lib/strtol.c: Likewise.
13465
13466 2005-03-14  Jim Meyering  <jim@meyering.net>
13467
13468         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
13469         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
13470         to be nonzero so that we (and caller) can detect the difference
13471         between a valid zero-length expansion and an error return, even
13472         when the underlying strftime fails before writing anything into
13473         that location.
13474
13475 2005-03-14  Bruno Haible  <bruno@clisp.org>
13476
13477         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
13478         Update from GNU gettext 0.14.3.
13479
13480 2005-03-10  Jim Meyering  <jim@meyering.net>
13481
13482         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
13483
13484 2005-03-10  Jim Meyering  <jim@meyering.net>
13485
13486         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
13487         so that this module works on systems without fchdir.
13488
13489 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
13490
13491         Factor int-properties macros into a single file, except for
13492         glibc-related files.
13493         * lib/intprops.h: New file.
13494         * lib/getloadavg.c: Include it instead of limits.h.
13495         (INT_STRLEN_BOUND): Remove.
13496         * lib/human.c: Include intprops.h.
13497         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
13498         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
13499         302/1000.
13500         * lib/inttostr.h: Include intprops.h instead of limits.h.
13501         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
13502         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
13503         for consistency with intprops.h.
13504         (time_t_is_integer, twos_complement_arithmetic): Use them.
13505         * lib/sig2str.h: Include <signal.h>, intprops.h.
13506         (INT_STRLEN_BOUND): Remove.
13507         * lib/strftime.c (TYPE_SIGNED): Remove.
13508         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
13509         * lib/strtol.c: Adjust comments to match intprops.h.
13510         * lib/userspec.c: Include intprops.h.
13511         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
13512         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
13513         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
13514         instead of rolling our own expressions.
13515         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
13516
13517         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
13518         instead of int.
13519         (my_strftime): Do not mishandle years close to INT_MAX, by doing
13520         the right thing even if adding 1900 would overflow.  Similarly
13521         for tm_mon + 1 and tm_yday + 1.
13522         Make %Y always equivalent to %C%y, and similarly for %G and %g.
13523         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
13524         (DO_SIGNED_NUMBER): New macro.
13525         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
13526
13527 2005-03-07  Bruno Haible  <bruno@clisp.org>
13528
13529         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
13530
13531 2005-03-07  Bruno Haible  <bruno@clisp.org>
13532
13533         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
13534
13535 2005-03-04  Derek R. Price  <derek@ximbiot.com>
13536
13537         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
13538         (func_import): Only replace files via --import when they have actually
13539         changed.
13540
13541 2005-03-03  Derek R. Price  <derek@ximbiot.com>
13542
13543         * m4/mmap-anon.m4: New file.
13544         * m4/pagealign_alloc.m4: New file.
13545
13546 2005-03-03  Derek R. Price  <derek@ximbiot.com>
13547             Bruno Haible  <bruno@clisp.org>
13548
13549         * modules/pagealign_alloc: New file.
13550         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
13551
13552 2005-03-03  Derek R. Price  <derek@ximbiot.com>
13553             Bruno Haible  <bruno@clisp.org>
13554
13555         * lib/pagealign_alloc.h: New file.
13556         * lib/pagealign_alloc.c: New file.
13557
13558 2005-03-03  Bruno Haible  <bruno@clisp.org>
13559
13560         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
13561         Use an all-permissive copyright notice, recommended by RMS.
13562
13563 2005-03-02  Bruno Haible  <bruno@clisp.org>
13564
13565         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
13566         of AIX, the replacement has to be done only after <string.h> is
13567         included, therefore not in config.h. stpncpy.h does the replacement,
13568         and stpncpy.c uses it.
13569
13570 2005-03-02  Bruno Haible  <bruno@clisp.org>
13571
13572         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
13573         stpncpy.c uses it.
13574
13575 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
13576
13577         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
13578         The workaround isn't strictly needed for POSIX conformance, and
13579         it's too much of a pain to configure and maintain.  We'll ask
13580         people to fix their kernels instead.
13581         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
13582         (NANOSLEEP_BUG_WORKAROUND): Remove.
13583         (xnanosleep): Remove the workaround.
13584
13585 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
13586
13587         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
13588         Reported by Derek Price.
13589         (Include): Add "timespec.h".
13590
13591         * modules/xnanosleep (Depends-on): Remove gethrxtime.
13592
13593 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
13594
13595         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
13596         to detect nanosleep bug.
13597
13598 2005-03-01  Bruno Haible  <bruno@clisp.org>
13599
13600         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
13601
13602 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
13603
13604         * modules/gethrxtime: New file.
13605         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
13606         (Depends-on): Add gethrxtime.
13607         (configure.ac): Add gl_XNANOSLEEP.
13608         (Makefile.am): Remove lib_SOURCES line.
13609
13610 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
13611
13612         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
13613         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
13614
13615 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
13616
13617         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
13618         * lib/timespec.h (gettime): Return void, since it always
13619         succeeds now.  All uses changed.
13620         * lib/gettime.c (gettime) Likewise.
13621         [HAVE_NANOTIME]: Prefer nanotime.
13622         Assume gettimeofday succeeds, as POSIX requires.
13623         Assime time () succeeds, since other code already does.
13624         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
13625         (timespec_subtract): Remove.
13626         (NANOSLEEP_BUG_WORKAROUND): New constant.
13627         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
13628         things considerably.  Use it only on GNU/Linux hosts, since the
13629         workaround shouldn't be needed elsewhere.
13630
13631 2005-02-24  Bruno Haible  <bruno@clisp.org>
13632
13633         * modules/gettext (Files): Add m4/glibc2.m4.
13634
13635 2005-02-24  Bruno Haible  <bruno@clisp.org>
13636
13637         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
13638         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
13639         * m4/progtest.m4:
13640         Update from GNU gettext 0.14.2.
13641         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
13642
13643 2005-02-24  Bruno Haible  <bruno@clisp.org>
13644
13645         * lib/localcharset.c: Update from GNU gettext 0.14.2.
13646         * lib/config.charset: Update from GNU gettext 0.14.2.
13647
13648 2005-02-24  Bruno Haible  <bruno@clisp.org>
13649
13650         * lib/gettext.h: Update from GNU gettext 0.14.2.
13651
13652 2005-02-23  Simon Josefsson  <jas@extundo.com>
13653
13654         * m4/iconvme.m4: New file.
13655
13656 2005-02-23  Jim Meyering  <jim@meyering.net>
13657
13658         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
13659         change.
13660         Thanks to Bruno Haible for catching it.
13661
13662 2005-02-22  Simon Josefsson  <jas@extundo.com>
13663
13664         * modules/iconvme: New file.
13665
13666         * MODULES.html.sh: Add iconvme.
13667
13668 2005-02-22  Simon Josefsson  <jas@extundo.com>
13669
13670         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
13671
13672 2005-02-22  Simon Josefsson  <jas@extundo.com>
13673
13674         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
13675
13676 2005-02-22  Jim Meyering  <jim@meyering.net>
13677
13678         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
13679         s/ifndef/ifdef/.
13680
13681 2005-02-20  Neil Conway  <neilc@samurai.com>
13682
13683         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
13684         returned by OSX/Darwin if the specified buffer is not large
13685         enough for the hostname.
13686
13687 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13688
13689         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
13690         pass it to _help, otherwise the latter coredumps trying to
13691         dereference state.root_argp.
13692
13693 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
13694
13695         * modules/chdir-long (Depends-on): Add memrchr.
13696         * modules/memrchr (Files): Add lib/memrchr.h.
13697         (Include): "memrchr.h".
13698
13699 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
13700
13701         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
13702
13703 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
13704
13705         * lib/memrchr.h: New file.
13706         * lib/chdir-long.c: Include it.
13707         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
13708         Don't bother including stddef.h.
13709
13710 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
13711
13712         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
13713         inclusion.
13714         Include <sys/types.h>, for dev_t.
13715         (ME_DUMMY, ME_REMOTE): Move from here....
13716         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
13717         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
13718         Dmitry V. Levin.
13719         Include mountlist.h first, to test the interface.
13720
13721 2005-01-29  Bruno Haible  <bruno@clisp.org>
13722
13723         * lib/progname.c (program_name): Initialize.
13724         Needed when linking statically on MacOS X.
13725
13726 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
13727
13728         Sync from coreutils.
13729         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
13730         (Depends-on): Add c-strtod.
13731         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
13732
13733 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
13734
13735         Sync from coreutils.
13736         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
13737
13738         Remove files that are specific to coreutils.
13739         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
13740
13741 2005-01-28  Bruno Haible  <bruno@clisp.org>
13742
13743         * modules/javacomp: New file.
13744         * MODULES.html.sh (Java): Add javacomp.
13745
13746 2005-01-28  Bruno Haible  <bruno@clisp.org>
13747
13748         * m4/javacomp.m4: New file, from GNU gettext.
13749
13750 2005-01-28  Bruno Haible  <bruno@clisp.org>
13751
13752         * lib/javacomp.sh.in: New file, from GNU gettext.
13753         * lib/javacomp.h: New file, from GNU gettext.
13754         * lib/javacomp.c: New file, from GNU gettext.
13755
13756 2005-01-26  Simon Josefsson  <jas@extundo.com>
13757
13758         * lib/gai_strerror.c: Use GPL in header.
13759
13760 2005-01-26  Bruno Haible  <bruno@clisp.org>
13761
13762         * modules/javaexec: New file.
13763         * MODULES.html.sh (Java): Add javaexec.
13764
13765 2005-01-26  Bruno Haible  <bruno@clisp.org>
13766
13767         * m4/javaexec.m4: New file, from GNU gettext.
13768
13769 2005-01-26  Bruno Haible  <bruno@clisp.org>
13770
13771         * lib/javaexec.sh.in: New file, from GNU gettext.
13772         * lib/javaexec.h: New file, from GNU gettext.
13773         * lib/javaexec.c: New file, from GNU gettext.
13774
13775 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13776
13777         * modules/lchown (Depends-on): Remove lchown.h
13778
13779 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13780
13781         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
13782         must be defined if the header file was not found, in order
13783         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
13784
13785 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13786
13787         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
13788         initializers for struct pentry_state.
13789         (__argp_error): Check return value of __asprintf
13790         (__argp_failure): Translate error message
13791
13792         * lib/argp-parse.c: Removed braces around the expansion of N_()
13793
13794 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
13795
13796         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
13797         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
13798         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
13799         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
13800         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
13801         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
13802         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
13803         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
13804         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
13805         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
13806         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
13807         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
13808         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
13809         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
13810         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
13811         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
13812         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
13813         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
13814         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
13815         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
13816         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
13817         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
13818         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
13819         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
13820         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
13821         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
13822         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
13823         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
13824         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
13825         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
13826         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
13827         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
13828         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
13829         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
13830         xstrtol.m4, xstrtoumax.m4, yesno.m4:
13831         Use an all-permissive copyright notice, recommended by RMS.
13832
13833 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
13834
13835         * modules/chdir-long (Depends-on): Remove mempcpy.
13836
13837 2005-01-21  Jim Meyering  <jim@meyering.net>
13838
13839         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
13840         same value as for Solaris 9.
13841
13842         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
13843         component length.  This included changing the parameter to be
13844         of type `char *' rather than `char const *'.
13845         * lib/chdir-long.h (chdir_long): Update prototype.
13846
13847         * lib/openat.c (fdopendir, fstatat): New functions.
13848         * lib/openat.h: Include headers required for use of DIR and struct
13849         stat.
13850         [AT_SYMLINK_NOFOLLOW]: Define.
13851         (fdopendir, fstatat): Add prototypes.
13852
13853 2005-01-21  Bruno Haible  <bruno@clisp.org>
13854
13855         * modules/classpath: New file.
13856         * MODULES.html.sh (Java): Add classpath.
13857
13858 2005-01-21  Bruno Haible  <bruno@clisp.org>
13859
13860         * lib/classpath.h: New file, from GNU gettext.
13861         * lib/classpath.c: New file, from GNU gettext.
13862
13863 2005-01-20  Simon Josefsson  <jas@extundo.com>
13864
13865         * modules/version-etc-fsf: New file.
13866
13867 2005-01-20  Simon Josefsson  <jas@extundo.com>
13868
13869         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
13870         * lib/version-etc.c: Remove version_etc_copyright.
13871         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
13872         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
13873
13874 2005-01-20  Simon Josefsson  <jas@extundo.com>
13875
13876         * lib/base64.h (isbase64): Add.
13877
13878         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
13879         using a unsigned prototype, don't inline.
13880         (base64_decode): Use it.
13881
13882 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
13883
13884         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
13885         it.
13886
13887 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
13888
13889         * lib/save-cwd.c (save_cwd): Remove code to support the case
13890         where fchdir is missing or flaky.
13891
13892 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
13893
13894         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
13895
13896 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
13897
13898         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
13899         AC_LIBSOURCES now does this.
13900         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
13901         with new ullong_max module.
13902
13903 2005-01-19  Bruno Haible  <bruno@clisp.org>
13904
13905         * modules/sh-quote: New file.
13906         * MODULES.html.sh (Executing programs): Add sh-quote.
13907
13908 2005-01-19  Bruno Haible  <bruno@clisp.org>
13909
13910         * lib/sh-quote.h: New file, from GNU gettext.
13911         * lib/sh-quote.c: New file, from GNU gettext.
13912
13913 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
13914
13915         Merge from coreutils.
13916         * m4/ullong_max.m4: New file.
13917         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
13918         (gl_MACROS): Assume localeconv exists.
13919
13920 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
13921
13922         Merge changes from coreutils, as described below in several
13923         changelogs dated today.
13924
13925         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
13926         (O_DIRECTORY): Remove; not needed here, since "." must be
13927         a directory.  All uses removed.
13928         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
13929         universal on Suns, and we also need to test for IRIX.
13930         Revamp code to use 'if' rather than '#if'.
13931         Avoid unnecessary comparison of cwd->desc to 0.
13932
13933         * lib/utimens.c (futimens): Robustify the previous patch, by checking
13934         for known valid error numbers rather than observed invalid ones.
13935
13936 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
13937
13938         * modules/ullong_max: New file.
13939
13940         * modules/chdir-long, modules/openat: New files.
13941         * modules/save-cwd (Depends-on): Depend on chdir-long.
13942         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
13943
13944 2005-01-18  Jim Meyering  <jim@meyering.net>
13945
13946         Merge from coreutils.
13947         * m4/chdir-long.m4, m4/openat.m4: New files.
13948         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
13949         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
13950         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
13951         is sane and DOES follow symlinks.  Besides, testing 20 different
13952         systems found no broken chown implementations.
13953         Prompted by a change in rsync's copy of this macro.
13954         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
13955
13956         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
13957
13958         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
13959         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
13960         NULL-means-set-to-current-time semantics.
13961         Remove temporary file immediately, rather than waiting
13962         for configure's at-exit trap code to do it.
13963
13964 2005-01-18  Jim Meyering  <jim@meyering.net>
13965
13966         * lib/version-etc.c (version_etc_copyright): Update copyright date.
13967
13968         * lib/utimens.c (futimens): Account for the fact that futimes
13969         can also fail with errno == ENOSYS or errno == ENOENT.
13970         Patch from Dmitry V. Levin.
13971
13972         Change the name of the robust chdir function from chdir to chdir_long.
13973         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
13974         (restore_cwd): Use chdir_long, not chdir.
13975         * lib/chdir-long.c: Renamed from chdir.c.
13976         * lib/chdir-long.h: Renamed from chdir.h.
13977         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
13978         Hurd.
13979
13980 2005-01-18  Bruno Haible  <bruno@clisp.org>
13981
13982         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
13983         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
13984         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
13985         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
13986         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
13987         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
13988         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
13989         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
13990         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
13991         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
13992         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
13993         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
13994         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
13995         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
13996         Use an all-permissive copyright notice, recommended by RMS.
13997
13998 2005-01-18  Bob Proulx  <bob@proulx.com>
13999
14000         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
14001         simplify offsetof() macro construct to avoid compile failure with
14002         native HP-UX 11.0 ANSI C compiler.
14003
14004 2005-01-17  Bruno Haible  <bruno@clisp.org>
14005
14006         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
14007         redundant because stpncpy.m4 takes care of it.
14008
14009 2005-01-17  Bruno Haible  <bruno@clisp.org>
14010
14011         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
14012
14013 2005-01-17  Bruno Haible  <bruno@clisp.org>
14014
14015         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
14016         used.
14017
14018 2005-01-17  Bruno Haible  <bruno@clisp.org>
14019
14020         * lib/fwriteerror.h (fwriteerror): Change specification to include
14021         fclose.
14022         * lib/fwriteerror.c: Include <stdbool.h>.
14023         (fwriteerror): At the end, close the file stream. Record whether
14024         stdout was already closed.
14025
14026 2005-01-17  Bruno Haible  <bruno@clisp.org>
14027
14028         * lib/execute.c (environ): Declare if needed.
14029         * lib/pipe.c (environ): Likewise.
14030         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
14031
14032 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14033
14034         * modules/argp: Depend on vsnprintf
14035
14036 2005-01-10  Jim Meyering  <jim@meyering.net>
14037
14038         * modules/closeout (Depends-on): Add atexit.
14039
14040 2005-01-06  Bruno Haible  <bruno@clisp.org>
14041
14042         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
14043
14044 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
14045
14046         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
14047         definitions to be after all include files, to avoid collisions.
14048         Problem reported by Bob Proulx.
14049
14050 2005-01-04  Jim Meyering  <jim@meyering.net>
14051
14052         Changes imported from coreutils.
14053         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
14054         as the mkstemp template, use a temporary directory and an
14055         8.3-friendly template to avoid trouble on systems like DJGPP.
14056         Reported by Juan M. Guerrero via Stepan Kasal.
14057         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
14058         close. Remove the temporary directory right away, rather than waiting
14059         for configure's at-exit trap code to do it.
14060         Suggestion from Stepan Kasal.
14061
14062 2005-01-01  Simon Josefsson  <jas@extundo.com>
14063
14064         * gnulib-tool: Print #include directives when --import'ing.
14065
14066 2004-12-28  Simon Josefsson  <jas@extundo.com>
14067
14068         * tests/test-base64.c: Include required header files.  Remove
14069         unused variables.
14070
14071 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14072
14073         * modules/error (Depends-on): Remove gettext.
14074
14075 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14076
14077         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
14078         not needed.  This removes a dependency on the gettext module.
14079         [defined _LIBC]: Do not include <libintl.h>; not needed.
14080
14081 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
14082
14083         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
14084         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
14085
14086 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
14087
14088         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
14089         HAVE_DECL_STRTOLD.
14090
14091 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14092
14093         * modules/getdate (Depends-on): Remove alloca-opt.
14094
14095 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14096
14097         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
14098
14099 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14100
14101         * lib/argp-parse.c: Include <stddef.h>.
14102         (alignof, alignto): New macros.
14103         (parser_init): Don't assume that void * is aligned sufficiently
14104         for struct option.
14105
14106         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
14107         need to extend the stack.
14108         (YYINITDEPTH): New macro, so that the initial stack isn't overly
14109         large.
14110
14111 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14112
14113         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
14114
14115 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
14116
14117         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
14118         (2004-10-24) change.  Apparently this was a false alarm.
14119
14120         * modules/getdate: Depend on alloca-opt, not alloca.
14121
14122 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
14123
14124         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
14125         Remove now-obsolete comment about AIX.
14126         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
14127         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
14128         (YYMAXDEPTH): New macro.
14129
14130 2004-12-18  Simon Josefsson  <jas@extundo.com>
14131
14132         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
14133
14134 2004-12-18  Bruno Haible  <bruno@clisp.org>
14135
14136         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
14137
14138 2004-12-18  Bruno Haible  <bruno@clisp.org>
14139
14140         * lib/fatal-signal.c (fatal_signals): Make non-const.
14141         (init_fatal_signals): New function.
14142         (uninstall_handlers, install_handlers): Ignore signals that were set to
14143         SIG_IGN.
14144         (at_fatal_signal): Call init_fatal_signals.
14145         (init_fatal_signal_set): Likewise. Ignore signals that were set to
14146         SIG_IGN.
14147         Reported by Paul Eggert.
14148
14149 2004-12-18  Bruno Haible  <bruno@clisp.org>
14150
14151         * doc/alloca.texi: New file.
14152         * doc/alloca-opt.texi: New file.
14153
14154 2004-12-17  Jim Meyering  <jim@meyering.net>
14155
14156         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
14157         Otherwise, install-sh could exit with improper exit status when
14158         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
14159
14160 2004-12-16  Simon Josefsson  <jas@extundo.com>
14161
14162         * tests/test-base64.c: Add license.
14163
14164 2004-12-15  Stepan Kasal  <address@hidden>
14165
14166         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
14167
14168 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
14169
14170         * modules/getcwd (Files): Add m4/d-ino.m4.
14171         Suggested by Mark D. Baushke.
14172
14173 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
14174
14175         * lib/getdate.y (textint): New member "negative".
14176         (time_zone_hhmm): New function.
14177         Expect 14 shift-reduce conflicts, not 13.
14178         (o_colon_minutes): New rule.
14179         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
14180         (yylex): Set the "negative" member of signed numbers.
14181
14182 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
14183
14184         * doc/getdate.texi (Time of day items, Time zone items):
14185         Describe new formats +00:00, UTC+00:00.
14186
14187 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
14188
14189         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
14190         spurious "-l"s.  Problem reported by Stepan Kasal.
14191
14192 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
14193
14194         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
14195         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
14196
14197 2004-12-04  Simon Josefsson  <jas@extundo.com>
14198
14199         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
14200         Vandoorselaere <yoann@prelude-ids.org>.
14201
14202 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
14203
14204         Changes imported from coreutils.
14205         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
14206         exist.
14207         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
14208
14209 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
14210
14211         Changes imported from coreutils.
14212         * lib/hard-locale.c: Assume <locale.h> exists.
14213         Include "strdup.h".
14214         (GLIBC_VERSION): New macro.
14215         (hard_locale): Assume setlocale exists.
14216         Rewrite to avoid #ifdef.
14217         Use strdup rather than malloc + strcpy.
14218         * lib/human.c: Assume <locale.h> exists.
14219         (human_readable): Assume localeconv exists.
14220
14221 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
14222
14223         * modules/hard-locale (Depends-on): Add strdup.
14224
14225 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
14226
14227         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
14228         convert T2, not T.  (Imported from libc.)
14229
14230 2004-11-30  Simon Josefsson  <jas@extundo.com>
14231
14232         * modules/restrict (License): Change to LGPL.
14233
14234 2004-11-30  Simon Josefsson  <jas@extundo.com>
14235
14236         * m4/restrict.m4: Add copyright and copying conditions.
14237
14238 2004-11-30  Simon Josefsson  <jas@extundo.com>
14239
14240         * m4/base64.m4: New file.
14241
14242 2004-11-30  Simon Josefsson  <jas@extundo.com>
14243
14244         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
14245         base64.
14246
14247         * tests/test-base64.c: New file.
14248
14249         * modules/base64: New file.
14250
14251 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
14252
14253         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
14254         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
14255
14256         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
14257
14258 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
14259
14260         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
14261         (__getcwd.c): Don't restore errno; glibc doesn't.
14262         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
14263         first, falling back to our code only if its results look suspicious.
14264         Ensure that the resulting buffer is only as large as necessary.
14265
14266         * lib/readutmp.c: Include readutmp.h first.
14267         Include <errno.h>, since readutmp.h no longer does that.
14268         * lib/readutmp.h: Don't include <errno.h>,
14269         <sys/param.h>, <time.h>; not needed to establish interface.
14270         (errno): Remove decl.
14271         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
14272         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
14273         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
14274
14275 2004-11-28  Simon Josefsson  <jas@extundo.com>
14276
14277         * lib/base64.h, base64.c: New file.
14278
14279 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
14280
14281         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
14282
14283 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
14284
14285         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
14286         (Depends-on): Remove pathmax, same.  Add mempcpy.
14287         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
14288         (Makefile.am): Append getcwd.h to lib_SOURCES.
14289         (Include): Add getcwd.h.
14290         (Maintainer): Change from Jim Meyering to "all, glibc",
14291         since getdate now uses intended-for-glibc code.
14292         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
14293         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
14294
14295 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
14296
14297         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
14298         HP's ANSI C compiler.
14299         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
14300         Declaring int functions causes warnings on some modern systems and
14301         shouldn't be needed to compile on ancient ones.
14302         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
14303         defined.
14304
14305         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
14306         with the following changes.
14307         (__set_errno): Parenthesize properly.
14308         Include <stdbool.h>.
14309         (MIN, MAX, MATCHING_INO): New macros.
14310         (__getcwd): Define with prototype, not K&R form.
14311         Use heuristics to allocate default buffer on stack if possible.
14312         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
14313         behavior, and to avoid the PATH_MAX limit when computing
14314         ../../../../...
14315         Use MATCHING_INO to compare inode number to file.
14316         Check for arithmetic overflow in size calculations.
14317         Fix bug in reallocation of dot array that caused getcwd to fail
14318         on directories nested deeper than 75.
14319         Be more careful about saving errno on error.
14320         Do not use realloc; use only free+malloc, as this is a bit
14321         more flexible and avoids a needless copy operation.
14322         Do not inspect st_dev and st_ino for symbolic links; POSIX
14323         doesn't specify the latter.
14324         Check for closedir errors.
14325         Avoid needless casts.
14326         Use "#ifdef weak_alias" around weak_alias, to be like other
14327         glibc code.
14328         The following changes to getcwd.c have effect only when used in
14329         gnulib; they have no effect inside glibc proper.
14330         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
14331         as alloca isn't used.
14332         (alloca, __alloca): Likewise.
14333         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
14334         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
14335         unconditionally, as gnulib assumes C89 or better.
14336         Do not include <sys/param.h>.
14337         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
14338         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
14339         better.
14340         (NULL) [!defined NULL]: Remove; we assume C89 or better.
14341         Include <dirent.h> in a way that is compatible with modern Autoconf.
14342         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
14343         New macros, if not already defined.
14344         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
14345         Use "_LIBC", not "defined _LIBC", for consistency.
14346         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
14347         a mempcpy module.
14348         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
14349         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
14350         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
14351         credit only to Jim Meyering and adjust the copyright dates.
14352         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
14353         <stdlib.h>, <unistd.h>, "pathmax.h".
14354         Instead, include "xgetcwd.h" (first) and "getcwd.h".
14355         (INITIAL_BUFFER_SIZE): Remove.
14356         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
14357
14358 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
14359
14360         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
14361         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
14362         Use the _ONCE methods, for efficiency.
14363         Check for fcntl.h.  In test program, include <errno.h>
14364         and <fcntl.h> if available.  Remove old K&R cruft from
14365         test program.  Check for common errors in GNU/Linux,
14366         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
14367         don't do AC_LIBOBJ, as that's getcwd.m4's job.
14368         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
14369         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
14370         name accordingly.
14371         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
14372         accommodate new getcwd.c.
14373         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
14374         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
14375         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
14376         that's all we need now.
14377
14378 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14379
14380         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
14381         argp-parse.c depends on getopt internals, that means we should
14382         always use our getopt, to be on the safe side.
14383         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
14384         order not to spoil the result of an eventual previous invocation
14385         of gl_GETOPT_SUBSTITUTE.
14386
14387 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14388
14389         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
14390         redefinition warnings. To avoid them, include the defines
14391         in `#if !defined __need_getopt ... #endif'. The only place
14392         where __getopt_argv_const is used is in definitions
14393         of getopt_long and getopt_long_only below, which are as well
14394         protected by `#ifndef __need_getopt'.
14395         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
14396         __need_getopt after including <stdio.h> and <unistd.h> These
14397         headers might have defined it.
14398
14399 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
14400
14401         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
14402
14403 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
14404
14405         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
14406         (futimens): New function, which uses futimes if available.
14407         (futimens, utimens): Support timespec==NULL, with same semantics
14408         as utime and utimens.
14409         * lib/utimens.h (futimens): New decl.
14410
14411 2004-11-23  Jim Meyering  <jim@meyering.net>
14412
14413         * lib/getopt_.h: Remove trailing blanks.
14414
14415 2004-11-23  Jim Meyering  <jim@meyering.net>
14416
14417         * lib/__fpending.c: Add comment.
14418
14419 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
14420
14421         * modules/canonicalize (Depends-on): Add xreadlink.
14422         Problem reported by James Youngman.
14423
14424 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
14425
14426         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
14427         New macros.
14428         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
14429         optopt): Use them instead of invoking ## directly; otherwise, the
14430         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
14431
14432 2004-11-19  Bruno Haible  <bruno@clisp.org>
14433
14434         * lib/strtok_r.c: Move comments from here...
14435         * lib/strtok_r.h: ... to here.
14436
14437 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
14438
14439         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
14440         implementations that mishandle size_t overflow.
14441
14442 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
14443
14444         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
14445         might fail.  Problem reported by Yoann Vandoorselaere.
14446         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
14447         implementations that mishandle size_t overflow.
14448
14449 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14450
14451         * modules/canon-host (Depends-on): Add strdup.
14452
14453 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14454
14455         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
14456
14457 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14458
14459         * lib/canon-host.c: Include "strdup.h".
14460         (canon_host): Use getaddrinfo if available, so that IPv6 works.
14461         Use strdup instead of malloc/strcpy to duplicate strings.
14462
14463         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
14464         (human_space_before_unit): New constant.
14465         * lib/human.c (human_readable): Support it.
14466
14467         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
14468         (xgetcwd): Set errno correctly when failing.
14469         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
14470         the failure is actually due to a PATH_MAX problem.
14471
14472         Further getopt changes to make it more likely that glibc will
14473         buy the changes back.
14474         * lib/getopt.c (POSIXLY_CORRECT): New constant.
14475         (getopt): Use it, so to preserve glibc semantic
14476         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
14477         when compiling for libc.
14478         * lib/getopt_.h (__getopt_argv_const): Bring it back.
14479         (getopt_long, getopt_long_only): Use it.
14480
14481         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
14482         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
14483         (getopt): Argv is now char * const *, as per standard.
14484         (_getopt_internal_r, _getopt_internal): Argv is now char **,
14485         not char *__getopt_argv_const *.
14486         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
14487         _getopt_long_only_r): Likewise.
14488         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
14489         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
14490         _getopt_long_r, _getopt_long_only_r): Likewise.
14491         * lib/getopt_.h (__getopt_argv_const): Remove.
14492         (getopt): Argv is now char * const *, as per standard.
14493
14494         * lib/getdate.y (tORDINAL): New token.
14495         (day, relunit): Allow it for relative times.
14496         (relative_time_table): Use tORDINAL for ordinals.
14497
14498 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
14499
14500         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
14501         Document that "second" isn't allowed as an ordinal number.
14502
14503 2004-11-16  Jim Meyering  <jim@meyering.net>
14504
14505         * modules/closeout (Depends-on): Add fpending.
14506
14507 2004-11-15  Jim Meyering  <jim@meyering.net>
14508
14509         * lib/closeout.c: Include "__fpending.h" once again.
14510         Include <stdbool.h>.
14511         (close_stdout): Don't fail just because stdout was closed initially,
14512         since some programs don't write to stdout in the normal course of
14513         operation (other than --version and --help), and we don't want this
14514         function to make e.g. `touch file >&-' fail.
14515         But do fail if it was closed and someone has tried to write to it.
14516         E.g., `printf foo >&-' must fail.
14517
14518 2004-11-13  Jim Meyering  <jim@meyering.net>
14519
14520         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
14521
14522 2004-11-12  Simon Josefsson  <jas@extundo.com>
14523
14524         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
14525         small doc fix is still pending.
14526
14527 2004-11-11  Simon Josefsson  <jas@extundo.com>
14528
14529         * modules/strtok_r: New file.
14530
14531         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14532         strtok_r.
14533
14534 2004-11-11  Simon Josefsson  <jas@extundo.com>
14535
14536         * m4/strtok_r.m4: New file.
14537
14538         * m4/getopt.m4: Replace opterr.
14539
14540 2004-11-11  Simon Josefsson  <jas@extundo.com>
14541
14542         * lib/strtok_r.h, strtok_r.c: New file.
14543
14544 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
14545
14546         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
14547         of replacing opterr, getopt, etc.  This should handle the
14548         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
14549
14550 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
14551
14552         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
14553         we can stop lying to compilers about the constness of argv when we
14554         are compiled outside glibc.
14555         (getopt, getopt_long, getopt_long_only): Use it.
14556         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
14557         _getopt_internal, getopt): Likewise.
14558         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
14559         _getopt_long_only_r): Likewise.
14560         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
14561         _getopt_long_r, _getopt_long_only_r): Likewise.
14562
14563         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
14564         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
14565         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
14566         the other external symbols.
14567         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
14568         declaration, since the above renaming now works around collisions.
14569
14570 2004-11-11  Jim Meyering  <jim@meyering.net>
14571
14572         * lib/linebreak.c: Remove trailing blanks.
14573         * lib/alloca_.h: Likewise.
14574         * lib/acosl.c: Likewise.
14575         * lib/euidaccess.c: Likewise.
14576         * lib/allocsa.h: Likewise.
14577
14578 2004-11-10  Simon Josefsson  <jas@extundo.com>
14579
14580         * m4/getaddrinfo.m4: New file.
14581
14582 2004-11-10  Simon Josefsson  <jas@extundo.com>
14583
14584         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
14585
14586 2004-11-10  Simon Josefsson  <jas@extundo.com>
14587
14588         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14589         getaddrinfo.
14590
14591         * modules/getaddrinfo: New file.
14592
14593 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
14594
14595         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
14596
14597 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
14598
14599         * lib/mktime.c (SHR): New macro, which is a portable
14600         substitute for >> that should work even on Crays.
14601         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
14602         Problem reported by Mark D. Baushke in
14603         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
14604         * lib/getdate.y (SHR): Likewise.
14605         (tm_diff): Use it.
14606         * lib/strftime.c (SHR): Likewise.
14607         (tm_diff): Use it.
14608         * lib/quotearg.c (struct quoting_options): Use unsigned int for
14609         quote_these_too, so that right shifts are well defined.  All uses
14610         changed.
14611
14612 2004-11-10  Jim Meyering  <jim@meyering.net>
14613
14614         Ensure that no close failure goes unreported.
14615         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
14616         return early when it seems there's nothing to flush.
14617         Don't include __fpending.h.
14618
14619 2004-11-10  Jim Meyering  <jim@meyering.net>
14620
14621         * modules/closeout (Depends-on): Remove fpending.
14622
14623 2004-11-10  Jim Meyering  <jim@meyering.net>
14624
14625         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
14626
14627 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
14628
14629         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
14630         gl_FUNC_STRFTIME.
14631         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
14632         and AC_REQUIRE when possible, to avoid duplicate checks.
14633         Check for <wchar.h>.
14634
14635 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
14636
14637         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
14638
14639 2004-11-09  Bruno Haible  <bruno@clisp.org>
14640
14641         * m4/sockpfaf.m4: New file.
14642
14643 2004-11-05  Bruno Haible  <bruno@clisp.org>
14644
14645         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
14646         Reported by Mark D. Baushke <mdb@cvshome.org>.
14647
14648 2004-11-04  Bruno Haible  <bruno@clisp.org>
14649
14650         2004-09-11  Bruno Haible  <bruno@clisp.org>
14651                 * allocsa.valgrind: New file.
14652         2004-02-06  Bruno Haible  <bruno@clisp.org>
14653                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
14654                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
14655                 Reported by Christopher Seip <chris.seip@hp.com>.
14656
14657 2004-11-04  Bruno Haible  <bruno@clisp.org>
14658
14659         * modules/allocsa (Files): Add lib/allocsa.valgrind.
14660         (Makefile.am): Distribute it.
14661
14662 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
14663
14664         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
14665         with errno == ERANGE if the buffer is too small.
14666         Problem reported by Mark D. Baushke.
14667
14668 2004-11-03  Albert Chin  <china@thewrittenword.com>
14669             Paul Eggert  <eggert@cs.ucla.edu>
14670
14671         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
14672         equivalent, substitute $ac_type for equivalent type rather than
14673         blindly using uint32_t *always* which won't work if uint32_t is not
14674         available.  Define _UINT32_T to work around typedef of uint32_t if
14675         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
14676         2.5.1.
14677
14678 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
14679
14680         * m4/jm-macros.m4: Sync from coreutils.
14681         (gl_MACROS): Check for mbrlen, for pathchk.
14682         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
14683
14684 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
14685
14686         * lib/xreadlink.c (MAXSIZE): New macro.
14687         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
14688         size does not exceed MAXSIZE.  Avoid cast.
14689         As suggested by Mark D. Baushke in
14690         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
14691         if readlink fails with buffer size just under MAXSIZE, try again
14692         with MAXSIZE.
14693
14694 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
14695
14696         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
14697
14698 2004-11-02  Derek R. Price  <derek@ximbiot.com>
14699         and  Paul Eggert  <eggert@cs.ucla.edu>
14700
14701         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
14702         (get_date): Overparenthesize to avoid GCC warning.
14703
14704 2004-11-02  Bruno Haible  <bruno@clisp.org>
14705
14706         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
14707         returns void.
14708
14709 2004-11-02  Bruno Haible  <bruno@clisp.org>
14710
14711         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
14712         function returns void.
14713
14714 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
14715
14716         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
14717         fflush_unlocked, flockfile, funlockfile, funlockfile,
14718         fputs_unlocked, putc_unlocked.
14719
14720 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
14721
14722         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
14723         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
14724         already declared.
14725
14726 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
14727
14728         * modules/getdate (Files): Add doc/getdate.texi.
14729         (Depends-on): Add setenv, xalloc.
14730
14731 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
14732
14733         * lib/getdate.y: Add support for TZ="foo" within a date string.
14734         Fix some bugs near time_t boundaries.  Reject dates with
14735         out-of-range components, e.g., "Sept 31".
14736         Include <stdlib.h>, "setenv.h", "xalloc.h".
14737         (ISDIGIT_LOCALE): Remove; unused.
14738         Note that the TZ and time functions used here are not reentrant.
14739         (mktime_ok, get_tz): New functions.
14740         (TZBUFSIZE): New constant.
14741         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
14742         This requires that we sometimes generate our own TZ="XXX..." setting.
14743
14744 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
14745
14746         * doc/getdate.texi: New file, from coreutils with modifications for
14747         the new TZ parsing.
14748
14749 2004-10-27  Derek R. Price  <derek@ximbiot.com>
14750
14751         * lib/mktime.c (not_equal_tm): Remove redundant check.
14752
14753 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
14754
14755         * modules/regex (lib_SOURCES): Add regex.c.
14756         Reported by James Youngman in
14757         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
14758
14759 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
14760
14761         * lib/getdate.y: Use Bison 1.875 features, and some minor
14762         code cleanups.  This change does not affect semantics.
14763         Don't include <stdlib.h>; no longer needed.
14764         Don't include unlocked-io.h; only the "#if TEST" code uses
14765         stdio, and performance isn't crucial there.
14766         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
14767         Bison 1.875 features as described below.
14768         All uses of "PC." replaced by "pc->".
14769         (YYSTYPE): Add a forward declaration.
14770         (yylex, yyerror): Use full prototypes in forward decls.
14771         Use "%pure-parser" rather than obsolescent "%pure_parser".
14772         Use %parse-param and %lex-param instead of obsolescent
14773         YYPARSE_PARAM and YYLEX_PARAM.
14774         (meridian_table, month_and_day_table, time_units_table,
14775         relative_time_table, time_zone_table, military_table,
14776         lookup_zone, lookup_word, get_date):
14777         Use NULL instead of 0 where appropriate.
14778         (to_hour): Avoid abort (), to avoid a dependency on
14779         stdlib.h.
14780         (yyerror, yylex): Now accepts parser_control * arg.
14781         (main) [TEST]: Use '\0' rather than 0 for char.
14782
14783 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
14784
14785         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
14786
14787 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
14788
14789         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
14790         It's now the caller's responsibility to handle the case where
14791         !HAVE_GETPAGESIZE && !defined getpagesize.
14792
14793         * lib/mktime.c (leapyear): Arg is long int, not int.
14794
14795 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
14796
14797         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
14798
14799 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
14800
14801         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
14802         missing.  Problem reported by James Youngman.
14803
14804 2004-10-16  Simon Josefsson  <jas@extundo.com>
14805
14806         * gnulib-tool: Fix comments.  Fix parse problem.
14807         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
14808
14809 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
14810
14811         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
14812         implementation of getopt_long.  Problem reported by Alexander Taler in:
14813         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
14814
14815 2004-10-15  Bruno Haible  <bruno@clisp.org>
14816
14817         * gnulib-tool: Untabify. Initialize supplied_libname.
14818         (func_usage): More homogenous output.
14819         (func_modules_transitive_closure, func_modules_to_filelist,
14820         func_emit_lib_Makefile_am): New functions.
14821         (func_import): New function, extracted from big case statement. Use
14822         func_get_license, func_modules_transitive_closure,
14823         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
14824         opt_lgpl. Don't use test -a, as it's not portable.
14825         (func_create_testdir): Use func_modules_transitive_closure,
14826         func_modules_to_filelist, func_emit_lib_Makefile_am.
14827
14828 2004-10-15  Bruno Haible  <bruno@clisp.org>
14829
14830         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
14831
14832 2004-10-15  Bruno Haible  <bruno@clisp.org>
14833
14834         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
14835         the portions belonging to each module.
14836         Suggested by Derek Robert Price <derek@ximbiot.com>.
14837
14838 2004-10-12  Simon Josefsson  <jas@extundo.com>
14839
14840         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
14841         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
14842         to real functions.
14843
14844 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14845
14846         * modules/vsnprintf: New file.
14847
14848 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14849
14850         * m4/vsnprintf.m4: New file.
14851
14852 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14853
14854         * lib/vsnprintf.h: New file.
14855         * lib/vsnprintf.c: New file.
14856
14857 2004-10-11  Bruno Haible  <bruno@clisp.org>
14858
14859         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
14860         vsnprintf.
14861
14862 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
14863
14864         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
14865
14866 2004-10-07  Bruno Haible  <bruno@clisp.org>
14867
14868         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
14869         fits into the provided buffer.
14870
14871 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
14872
14873         * lib/diacrit.c, diacrit.h: Add GPL notice.
14874
14875         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
14876         notice.
14877         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
14878         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
14879         This avoids a potential constant-folding bug.
14880
14881 2004-10-05  Bruno Haible  <bruno@clisp.org>
14882
14883         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
14884         for the declaration of strsep.
14885
14886 2004-10-05  Bruno Haible  <bruno@clisp.org>
14887
14888         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
14889
14890 2004-10-04  Simon Josefsson  <jas@extundo.com>
14891
14892         * modules/memmem: New file.
14893         * tests/test-memmem.c: New file.
14894         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
14895
14896 2004-10-04  Simon Josefsson  <jas@extundo.com>
14897
14898         * m4/memmem.m4: New file.
14899
14900 2004-10-04  Simon Josefsson  <jas@extundo.com>
14901
14902         * lib/memmem.h: New file.
14903         * lib/memmem.c: New file, taken from glibc.
14904
14905 2004-10-04  Simon Josefsson  <jas@extundo.com>
14906
14907         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
14908         '#ifdef USE_UNLOCKED_IO'.
14909
14910 2004-10-04  Simon Josefsson  <jas@extundo.com>
14911
14912         * config/srclist.txt: Add memmem from glibc.
14913
14914 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14915
14916         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
14917
14918         * modules/argmatch, modules/argp, modules/closeout, modules/error,
14919         modules/exclude, modules/getdate, modules/getline,
14920         modules/getndelim2, modules/getpass, modules/getpass-gnu,
14921         modules/getusershell, modules/linebuffer, modules/md5,
14922         modules/mountlist, modules/posixtm, modules/readtokens,
14923         modules/readutmp, modules/regex, modules/sha1,
14924         modules/version-etc, modules/yesno:
14925         Remove dependency on unlocked-io.
14926
14927 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14928
14929         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
14930
14931         * m4/unlocked-io.m4: Add copyright notice.
14932         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
14933
14934 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14935
14936         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
14937         * lib/xmalloc.c (xmemdup): Likewise.
14938         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
14939         XFREE): Remove these long-obsolescent macros.
14940         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
14941         * lib/xstrdup.c: Remove.
14942
14943         * lib/regex.c (re_comp): Cast gettext return value to char *,
14944         Problem reported by Martin Neitzel via Mark D. Baushke.
14945
14946 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14947
14948         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
14949         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
14950         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
14951         regex.c, sha1.c, version-etc.c, yesno.c:
14952         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
14953         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
14954         the includer's responsibility.
14955
14956         Sync from coreutils.
14957
14958         * lib/modechange.c (mode_compile): Don't decrement a pointer that
14959         points to the start of a string, as the C Standard says the
14960         resulting behavior is undefined.
14961
14962         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
14963         simple -> simple_backups, numbered_existing ->
14964         numbered_existing_backups, numbered -> numbered_backups
14965         to avoid shadowing problems.  All uses changed.
14966         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
14967         * lib/backupfile.c (check_extension, numbered_backup):
14968         Rename locals to avoid shadowing 'basename'.
14969         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
14970         once.
14971
14972         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
14973         * lib/.cvsignore: Add getopt.h.
14974
14975 2004-10-04  Bruno Haible  <bruno@clisp.org>
14976
14977         * modules/README: New file.
14978         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
14979         not a module.
14980
14981 2004-10-02  Jim Meyering  <jim@meyering.net>
14982
14983         * lib/dirfd.h, getpagesize.h: Add copyright notice.
14984
14985 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14986
14987         * modules/strsep: New file.
14988
14989 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14990
14991         * m4/strsep.m4: New file.
14992
14993 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
14994
14995         * lib/strsep.h: New file.
14996         * lib/strsep.c: New file.
14997
14998 2004-10-01  Simon Josefsson  <jas@extundo.com>
14999
15000         * lib/snprintf.c (snprintf): Handle size==0.
15001
15002 2004-10-01  Simon Josefsson  <jas@extundo.com>
15003             Bruno Haible  <bruno@clisp.org>
15004
15005         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
15006         (snprintf): Declare 'args'.
15007
15008 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
15009
15010         * lib/snprintf.c: Remove comments as to why each header is needed.
15011
15012 2004-10-01  Bruno Haible  <bruno@clisp.org>
15013
15014         * MODULES.html.sh: Add strsep.
15015
15016 2004-09-30  Simon Josefsson  <jas@extundo.com>
15017
15018         * modules/snprintf: New file.
15019
15020 2004-09-30  Simon Josefsson  <jas@extundo.com>
15021
15022         * m4/snprintf.m4: New file.
15023
15024 2004-09-30  Simon Josefsson  <jas@extundo.com>
15025
15026         * lib/snprintf.h, lib/snprintf.c: New files.
15027
15028 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15029
15030         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
15031         (hol_entry_help): Never translate an empty string.
15032         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
15033         * lib/argp.h (OPTION_NO_TRANS): New option.
15034
15035 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15036
15037         * modules/argp (Maintainer): Replace Simon Josefsson
15038         by Sergey Poznyakoff.
15039
15040 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15041
15042         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
15043         changes merged back into glibc.
15044
15045 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15046
15047         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
15048
15049 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
15050
15051         * lib/xvasprintf.c: Include xalloc.h.
15052         (xvasprintf): Use xalloc_die, not xmalloc_die.
15053
15054 2004-09-29  Bruno Haible  <bruno@clisp.org>
15055
15056         * modules/alloca-opt: New file, derived from modules/alloca.
15057         * modules/allocsa: Depend on alloca-opt instead of alloca.
15058         * modules/setenv: Likewise.
15059         * modules/vasnprintf: Likewise.
15060         * MODULES.html.sh: Add alloca-opt.
15061
15062 2004-09-28  Simon Josefsson  <jas@extundo.com>
15063
15064         * gnulib-tool: New parameter --lgpl, to asseert that modules are
15065         LGPL, and to replace license template from GPL to LGPL.
15066
15067 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
15068
15069         * modules/dummy: Change license to LGPL.
15070
15071 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
15072
15073         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
15074
15075 2004-09-24  Simon Josefsson  <jas@extundo.com>
15076
15077         * modules/minmax (License): Change from GPL to LGPL.
15078
15079 2004-09-23  Simon Josefsson  <jas@extundo.com>
15080
15081         * gnulib-tool (--import): Typo.
15082
15083 2004-09-23  Simon Josefsson  <jas@extundo.com>
15084
15085         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
15086
15087 2004-09-22  Bruno Haible  <bruno@clisp.org>
15088
15089         * modules/*: Add 'License' field.
15090         * gnulib-tool: Accept --extract-license option.
15091         (func_get_license): New function.
15092
15093 2004-09-21  Bruno Haible  <bruno@clisp.org>
15094
15095         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
15096         Reported by Simon Josefsson.
15097
15098 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15099
15100         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
15101         gl_AC_TYPE_LONG_LONG.
15102
15103 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15104
15105         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
15106
15107 2004-09-18  Simon Josefsson  <jas@extundo.com>
15108         and  Paul Eggert  <eggert@cs.ucla.edu>
15109
15110         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
15111         calls with autoreconf.  Define GL_LIB.
15112
15113 2004-09-14  Karl Berry  <karl@gnu.org>
15114
15115         * config/srclist.txt: unsync setenv.c, sigh.
15116
15117 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15118
15119         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
15120         Problem reported by Bruno Haible in:
15121         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
15122
15123 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15124
15125         * config/srclist.txt: Comment out argp-pvh.c.
15126
15127 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
15128
15129         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
15130         in case some system header has #define'd it.  Problem reported by
15131         Soeren D. Schulze in
15132         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
15133
15134 2004-09-09  Karl Berry  <karl@gnu.org>
15135
15136         * regex.[ch]: delete from the root.  These were supposed to be
15137                 synced with emacs cvs, but this has not happened for about
15138                 a year, and anyway nothing else uses emacs regex.[ch].
15139                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
15140                 lib/regex[.ch] is untouched.
15141
15142 2004-09-09  Bruno Haible  <bruno@clisp.org>
15143
15144         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
15145
15146 2004-09-09  Bruno Haible  <bruno@clisp.org>
15147
15148         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
15149         modifications.
15150         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
15151
15152 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
15153
15154         * modules/xvasprintf: New file.
15155         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
15156
15157 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
15158
15159         * lib/xvasprintf.h: New file.
15160         * lib/xvasprintf.c: New file.
15161         * lib/xasprintf.c: New file.
15162
15163 2004-09-08  Bruno Haible  <bruno@clisp.org>
15164
15165         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
15166
15167 2004-09-08  Bruno Haible  <bruno@clisp.org>
15168
15169         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
15170         length is > INT_MAX.
15171         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
15172         more.
15173
15174 2004-09-08  Bruno Haible  <bruno@clisp.org>
15175
15176         * lib/stdint_.h: New file, taken from GNU clisp.
15177
15178 2004-09-08  Bruno Haible  <bruno@clisp.org>
15179             Oskar Liljeblad  <oskar@osk.mine.nu>
15180
15181         * modules/stdint: New file.
15182         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
15183
15184 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15185
15186         Import from coreutils.
15187         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
15188         strings on unbounded length.  alloca's performance benefits aren't
15189         that important here.
15190         (V_STRDUP): Remove.
15191         (parse_with_separator): New function, with most of the internals
15192         of the old parse_user_spec.  Allow user to omit both user and group,
15193         for compatibility with FreeBSD.
15194         Clone only the user name, not the entire spec.
15195         Do not set *uid, *gid unless entirely successful.
15196         Avoid memory leak in some failing cases.
15197         Fix regression for USER.GROUP reported by Dmitry V. Levin in
15198         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
15199         (parse_user_spec): Rewrite to use parse_with_separator.
15200
15201 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15202
15203         * modules/userspec: Don't depend on alloca.
15204
15205 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15206
15207         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
15208
15209 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
15210
15211         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
15212         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
15213         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
15214
15215 2004-08-16  Simon Josefsson  <jas@extundo.com>
15216
15217         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
15218         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
15219         Add --dry-run for --import.
15220         Let user provided command line parameters override configure.ac
15221         settings.
15222
15223 2004-08-12  Simon Josefsson  <jas@extundo.com>
15224
15225         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
15226         as discussed with Paul Eggert in threads rooted at
15227         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
15228         and
15229         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
15230         Before, the test was empty, and relied on ELIDE_CODE in source
15231         code.)
15232         (gl_PREREQ_GETOPT): New macro.
15233         (gl_GETOPT): Use them.
15234
15235 2004-08-12  Simon Josefsson  <jas@extundo.com>
15236
15237         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
15238         * lib/getopt_.h: Renamed from getopt.h.
15239
15240 2004-08-12  Simon Josefsson  <jas@extundo.com>
15241
15242         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
15243         Change default library name from libfoo to libgnu.
15244         Now, if you have a configure.ac that says:
15245                 gl_SOURCE_BASE(gl)
15246                 gl_M4_BASE(gl/m4)
15247                 gl_MODULES(error getopt etcetera)
15248                 gl_INIT
15249         you can import all you need by running:
15250                 ../gnulib/gnulib-tool --import
15251
15252         * modules/getopt (Files): Rename getopt.h to getopt_.h.
15253         (Makefile.am): Rewrite, use logic from argz.
15254         (Include): Use <getopt.h> instead of "getopt.h".
15255
15256 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15257
15258         * modules/argp (Files): Add m4/unlocked-io.m4.
15259         (Depends-on): Add extensions.
15260
15261 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15262
15263         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
15264         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
15265         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
15266         Check for program_invocation_name, program_invocation_short_name,
15267         flockfile, funlockfile, features.h, _getopt_long_only_r.
15268
15269 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15270
15271         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
15272         its complicated substitute.
15273         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
15274         and program_invocation_name.
15275         (__argp_basename) [!_LIBC]: Remove; the only use was
15276         replaced by its body.
15277         (__argp_short_program_name): Change condition from
15278         !defined __argp_short_program_name to
15279         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
15280         to match argp-namefrob.h.
15281         (__argp_failure): Don't assume strerror_r returns char *.
15282         * lib/argp-parse.c (N_): Define unconditionally.
15283         (argp_default_options): Fill out initializers with 0 to avoid
15284         gcc warnings.
15285
15286 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15287
15288         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
15289         getopt1.c.
15290
15291 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15292
15293         Merge from coreutils.
15294
15295         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
15296
15297         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
15298         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
15299
15300 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15301
15302         Merge from coreutils.
15303
15304         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
15305         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
15306         for Reliant Unix 5.43.
15307
15308         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
15309         (union fooround): Use uintmax_t, not long int.
15310         The rest is a merge from libc:
15311         [defined _LIBC]: Include <shlib-compat.h>.
15312         (_obstack) [defined _LIBC]: Remove after 2.3.4.
15313
15314         * lib/settime.c (settime): Recode to avoid warning with
15315         Sun Forte C 6U2.
15316
15317         * lib/strverscmp.c: Convert to UTF-8.
15318
15319 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15320
15321         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
15322         m4/uintmax_t.m4.
15323
15324 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15325
15326         * modules/xalloc-die: New file.
15327         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
15328
15329         * modules/md5 (Files): Add m4/uint32_t.m4.
15330         * modules/sha1: Renamed from modules/sha.
15331         (Files):
15332         Rename lib/sha.h to lib/sha1.h.
15333         Rename lib/sha.c to lib/sha1.c.
15334         Rename m4/sha.m4 to m4/sha1.m4.
15335         (lib_SOURCES): Likewise.
15336         (configure.ac): Rename gl_SHA to gl_SHA1.
15337         (Include): sha.h -> sha1.h.
15338
15339 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15340
15341         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
15342         * m4/sha1.m4: Renamed from sha.m4.
15343         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
15344
15345 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15346
15347         * lib/obstack.h (obstack_empty_p):
15348         Don't assume that chunk->contents is suitably aligned.
15349         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
15350         Likewise. Problem reported by Benno in
15351         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
15352
15353         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
15354         readable.  This could be improved further but it'd take some work.
15355
15356 2004-08-08  Simon Josefsson  <jas@extundo.com>
15357
15358         * modules/xgethostname (Depends-on): Remove exit and error (not
15359         used).
15360
15361         * modules/getpass-gnu: Add getpass.h.
15362         (Depends-on): Add stdbool.
15363         * modules/getpass: Add getpass.h.
15364
15365 2004-08-08  Simon Josefsson  <jas@extundo.com>
15366
15367         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
15368         Check getpass declaration.
15369
15370 2004-08-08  Simon Josefsson  <jas@extundo.com>
15371
15372         * lib/xgethostname.c: Don't include error.h (not used).
15373
15374         * lib/getpass.h: Add.
15375         * lib/getpass.c: Include getpass.h first.
15376
15377 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
15378
15379         * lib/xalloc-die.c: New file.
15380         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
15381         All uses removed.
15382         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
15383         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
15384         xalloc-die.c.
15385         (_, N_, xalloc_die): Move to xalloc-die.c.
15386         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
15387         so that we needn't mess with xalloc_msg_memory_exhausted.
15388
15389         * lib/sha1.h: Renamed from sha.h.
15390         (SHA1_H): Renamed from _SHA_H.
15391         (sha1_ctx): Renamed from sha_ctx.
15392         (sha1_init_ctx): Renamed from sha_init_ctx.
15393         (sha1_process_block): Renamed from sha_process_block.
15394         (sha1_process_bytes): Renamed from sha_process_bytes.
15395         (sha1_finish_ctx): Renamed from sha_finish_ctx.
15396         (sha1_read_ctx): Renamed from sha_read_ctx.
15397         (sha1_stream): Renamed from sha_stream.
15398         (sha1_buffer): Renamed from sha_buffer.
15399         * lib/sha1.c: Likewise; renamed from sha.c.
15400         Do not include <sys/types.h>.
15401         Include <stddef.h> rather than <stdlib.h>.
15402
15403 2004-08-08  Bruno Haible  <bruno@clisp.org>
15404
15405         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
15406         FILESYSTEM_PREFIX_LEN.
15407         * lib/progreloc.c: Likewise.
15408         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
15409
15410 2004-08-06  Simon Josefsson  <jas@extundo.com>
15411
15412         * modules/progname (Depends-on): Don't depend on stdbool.
15413
15414 2004-08-06  Simon Josefsson  <jas@extundo.com>
15415
15416         * modules/getsubopt: New file.
15417         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15418         getsubopt.
15419
15420 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
15421
15422         More merge from coreutils.
15423
15424         * m4/utimens.m4, m4/utimecmp.m4: New files.
15425         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
15426         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
15427         prereq.m4, sha.m4: Import changes from coreutils.
15428
15429 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
15430
15431         More merge from coreutils.
15432         * modules/raise, modules/readtokens0, modules/utimens:
15433         * modules/utimecmp, module/xnanosleep: New files.
15434         * modules/strftime: Add lib/strftime.h.
15435         Change include from <time.h> to "strftime.h".
15436         * modules/yesno: Add lib/yesno.h.
15437         * modules/backupfile: Remove lib/addext.c.
15438         * modules/euidaccess: Add stat-macros.h.
15439         * modules/canonicalize, modules/euidaccess,
15440         modules/filemode, modules/lchown, modules/makepath,
15441         modules/rmdir, modules/stat: Likewise.
15442
15443 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
15444
15445         Merge from tar.
15446         * lib/argp-help.c (make_hol, hol_append): Don't assume that
15447         SIZE_MAX is a valid preprocessor constant.
15448         (__argp_basename): Change from "#ifndef _LIBC"
15449         to "#ifndef __argp_short_program_name", so that
15450         we don't compile these functions for tar.
15451
15452         More merges from coreutils.
15453         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
15454         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
15455         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
15456         * lib/addext.c: Remove; no longer needed.
15457         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
15458         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
15459         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
15460         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
15461         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
15462         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
15463         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
15464         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
15465         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
15466         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
15467         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
15468         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
15469         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
15470         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
15471         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
15472         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
15473         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
15474         Import changes from coreutils.
15475
15476 2004-08-05  Simon Josefsson  <jas@extundo.com>
15477
15478         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
15479
15480 2004-08-05  Simon Josefsson  <jas@extundo.com>
15481
15482         * m4/getsubopt.m4: New file.
15483
15484 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15485
15486         Merge from coreutils.
15487
15488         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
15489         * m4/getcwd-path-max.m4: New files.
15490
15491         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
15492         FILESYSTEM_PREFIX_LEN ->
15493         FILE_SYSTEM_PREFIX_LEN.
15494         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
15495         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
15496         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
15497         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
15498
15499         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
15500         prerequisite modules now handle the DOS stuff.
15501         Don't check for unistd.h.
15502
15503 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15504
15505         Merge from coreutils.
15506
15507         * lib/.gdb-history: Remove; this doesn't belong here.
15508
15509         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
15510         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
15511         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
15512         * lib/getcwd.c: New files.
15513
15514         * lib/dirname.h: Include <stdbool.h>.
15515         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
15516         for consistency with POSIX terminology.  All uses changed.
15517         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
15518         (strip_trailing_slashes): Use bool for booleans.
15519         * lib/stripslash.c (strip_trailing_slashes): Likewise.
15520
15521         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
15522         sometimes returns a positive errno value even when it succeeds.
15523         (print_errno_message) [!LIBC]: Fall back on strerror if
15524         __strerror_r fails.
15525
15526         * lib/path-concat.c (mempcpy): Don't define if a system header defines
15527         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
15528         (longest_relative_suffix): New function.
15529         (path_concat): Use it.  Assume first argument is not NULL.
15530         Port to DOS.  Omit redundant separators.
15531         Report an error instead of returning NULL.
15532         Use mempcpy instead of memcpy.
15533         (xpath_concat): Remove: not declared or used.
15534
15535         * lib/same.h: Include <stdbool.h>
15536         (same_name): Return bool, not int.
15537         * lib/same.c (same_name): Likewise.
15538         (errno): Don't declare; we assume C89 or better now.
15539
15540         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
15541         if not already defined.
15542
15543         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
15544         * lib/dup-safer.c (errno): Likewise.
15545
15546 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15547
15548         Merge from coreutils.
15549         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
15550         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
15551         * modules/path-concat: Don't depend on strdup.
15552
15553 2004-08-03  Simon Josefsson  <jas@extundo.com>
15554
15555         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
15556         * lib/progname.h: Don't include stdbool.h.
15557
15558 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
15559
15560         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
15561         * MODULES.html.sh (func_all_modules): Remove fatal.
15562
15563 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
15564
15565         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
15566
15567 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
15568
15569         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
15570         working.
15571
15572 2004-08-02  Simon Josefsson  <jas@extundo.com>
15573
15574         * lib/getsubopt.h: New file, with comments from Bruno Haible.
15575         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
15576         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
15577
15578 2004-08-01  Simon Josefsson  <jas@extundo.com>
15579
15580         * lib/xgetdomainname.c: Include stdlib.h, for free().
15581
15582 2004-07-19  Bruno Haible  <bruno@clisp.org>
15583
15584         * MODULES.html.sh (func_all_modules): Add dummy.
15585
15586 2004-07-16  Simon Josefsson  <jas@extundo.com>
15587
15588         * modules/dummy: New file.
15589
15590 2004-07-16  Simon Josefsson  <jas@extundo.com>
15591
15592         * lib/dummy.c: New file.
15593
15594 2004-07-16  Bruno Haible  <bruno@clisp.org>
15595
15596         * lib/backupfile.h: Add extern "C" for C++.
15597         * lib/closeout.h: Likewise.
15598         * lib/copy-file.h: Likewise.
15599         * lib/findprog.h: Likewise.
15600         * lib/full-write.h: Likewise.
15601         * lib/pathname.h: Likewise.
15602         * lib/progname.h: Likewise.
15603         * lib/stpcpy.h: Likewise.
15604         * lib/stpncpy.h: Likewise.
15605         * lib/strcase.h: Likewise.
15606         * lib/strstr.h: Likewise.
15607         * lib/xalloc.h: Likewise.
15608
15609         * lib/mbswidth.h: Add extern "C" for C++.
15610         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
15611
15612 2004-07-13  Robert Millan  <robertmh@gnu.org>
15613
15614         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
15615
15616 2004-07-09  Simon Josefsson  <jas@extundo.com>
15617
15618         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
15619         failed without this.)
15620
15621 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15622
15623         * modules/chown (Files): Add lib/fchown-stub.c, since
15624         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
15625
15626 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15627
15628         * lib/fchown-stub.c: New file.
15629
15630 2004-06-24  Jim Meyering  <jim@meyering.net>
15631
15632         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
15633
15634 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15635
15636         * modules/argz: Omit "#include".
15637
15638         * MODULES.html.sh (func_all_modules): Add calloc, to match
15639         2004-06-01 addition of calloc module.
15640
15641 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15642
15643         * m4/argz.m4: New file, which is autoupdated from libtool.
15644
15645 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15646
15647         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
15648         libtool.
15649
15650 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15651
15652         * config/srclist-update: Don't insist on "USA." before the
15653         close-comment, as libtool omits the period and puts the */ on a
15654         separate line.
15655         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
15656         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
15657
15658 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
15659
15660         * modules/argz: New file.
15661         * MODULES.html.sh (func_all_modules): Add argz.
15662
15663 2004-06-12  Jim Meyering  <jim@meyering.net>
15664         and  Paul Eggert  <eggert@cs.ucla.edu>
15665
15666         * modules/hash (Files): Add lib/xalloc.h.
15667         * modules/pipe (Depends-on): Add wait-process.
15668         * modules/stat (Depends-on): Add xalloc.
15669         * modules/userspec (Files): Add lib/userspec.h.
15670         * modules/xstrto
15671
15672         Upgrade from gettext-0.13.
15673         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
15674         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
15675         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
15676
15677 2004-06-10  Jim Meyering  <jim@meyering.net>
15678
15679         * lib/calloc.c: New file.
15680
15681 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
15682
15683         * lib/getdate.y (yylex): Allow space between sign and number.
15684         Problem reported by Dan Jacobson.
15685
15686 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
15687
15688         Merge from coreutils CVS.
15689
15690         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
15691         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
15692         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
15693         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
15694         xstrtol.m4: Fix copyright date and/or serial number.
15695
15696         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
15697         See if we need an fchown replacement.
15698         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
15699         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
15700         and use the replacement function if we detect either defect.
15701
15702         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
15703         gl_UTIMECMP.
15704
15705 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
15706         and  Jim Meyering  <jim@meyering.net>
15707
15708         Merge from coreutils CVS.
15709
15710         * lib/stat-macros.h: New file, with contents from file-type.h
15711         and coreutils' system.h.
15712         * lib/file-type.c: Include "stat-macros.h".
15713         * lib/file-type.h (file_type): Move all macro definitions to new file,
15714         stat-macros.h.
15715
15716         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
15717         Wrap old code with this conditional.
15718         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
15719         function that does not dereference symlinks.
15720         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
15721
15722         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
15723         dependency problems.
15724         (xreadlink): Accept new arg SIZE, for efficiency.
15725         All decls and uses changed.
15726         * lib/xreadlink.h: Include <stddef.h>, for size_t.
15727
15728         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
15729         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
15730
15731         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
15732         sysexits.h.
15733
15734 2004-06-01  Jim Meyering  <jim@meyering.net>
15735
15736         * m4/calloc.m4: New file.
15737
15738 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
15739
15740         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
15741         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
15742         Also, fix a typo in a diagnostic.
15743
15744 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
15745
15746         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
15747         or AC_FUNC_REALLOC.
15748
15749 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
15750
15751         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
15752         macros to be defined.
15753         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
15754         the allocator returns NULL because the requested size is zero.
15755
15756 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
15757
15758         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
15759         var.  Add comment explaining why libc still defines it.  This
15760         merges the following patch from glibc:
15761         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
15762
15763 2004-05-20  Andreas Schwab  <schwab@suse.de>
15764
15765         * m4/free.m4: Replace free if it not known to work, not the other
15766         way round.
15767
15768 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
15769
15770         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
15771         present in glibc since revision 1.1 of this file.
15772         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
15773         obstack_alignment_mask, obstack_alloc, obstack_base,
15774         obstack_blank, obstack_blank_fast, obstack_chunk_size,
15775         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
15776         obstack_grow0, obstack_init, obstack_int_grow,
15777         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
15778         obstack_next_free, obstack_object_size, obstack_ptr_grow,
15779         obstack_ptr_grow_fast, obstack_room): Remove declarations of
15780         nonexistent functions.
15781
15782 2004-05-18  Karl Berry  <karl@gnu.org>
15783
15784         * config/srclist.txt: break link for vasnprintf.c.
15785
15786 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
15787
15788         Port obstack to the AS/400, where pointers are 16 bytes wide and
15789         you cannot cast an integer to a valid pointer.  This patch is
15790         currently waiting to be integrated into glibc; see
15791         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
15792
15793         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
15794         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
15795         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
15796         (struct obstack): temp member is now a union of a pointer and
15797         an integer, instead of an integer.  All integer uses changed.
15798         This does not affect the physical layout of struct obstack,
15799         except on hosts (like the AS/400) where the size or alignment of
15800         void * is greater than that of ptrdiff_t.
15801         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
15802         __STDC__)]: Store temporary in pointer member of union, not
15803         integer member.
15804         * lib/obstack.c: Include <stddef.h>, for offsetof.
15805         (struct fooalign): Remove; it doesn't need a name.
15806         (union fooround): Change double to long double, and add void *.
15807         (DEFAULT_ALIGNMENT): Use offsetof to compute.
15808         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
15809         not a macro.  Hence the values are always int; so remove all
15810         casts-to-int in uses.
15811
15812 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
15813
15814         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
15815         we can get this patch merged into glibc.
15816
15817 2004-05-17  Derek R. Price  <derek@ximbiot.com>
15818             Paul Eggert  <eggert@cs.ucla.edu>
15819
15820         * m4/argp: Depend on alloca.
15821
15822 2004-05-17  Derek R. Price  <derek@ximbiot.com>
15823             Paul Eggert  <eggert@cs.ucla.edu>
15824
15825         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
15826         freecoding.
15827
15828 2004-05-17  Bruno Haible  <bruno@clisp.org>
15829
15830         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
15831         precision that consists of a '.' followed by an empty digit string.
15832         Patch by Tor Lillqvist <tml@iki.fi>.
15833
15834 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15835
15836         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
15837         for backward compatibility with older code.  We need our own
15838         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
15839         it under some other name, and our alloca.h will define it.
15840
15841 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
15842             Derek Price  <derek@ximbiot.com>
15843
15844         * lib/alloca.c: Include <alloca.h>, to get our interface.
15845         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
15846         include <alloca.h> first.  Use C89 prototype for alloca; this
15847         requires including <stddef.h> for size_t.  Use extern "C" if C++.
15848         Use #elif for simplicity, since we can assume C89 now.
15849         Don't try to source the system alloca.h since it will not be found
15850         and to prevent recursively including its replacement.
15851         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
15852         * lib/regex.c: Likewise.
15853
15854 2004-05-16  Derek Price  <derek@ximbiot.com>
15855             Paul Eggert  <eggert@cs.ucla.edu>
15856
15857         getline cleanup.  This changes the getndelim2 API: both order of
15858         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
15859         no delimiter).
15860
15861         * lib/getline.c: Don't include stddef.h or stdio.h, since our
15862         interface does that.
15863         (getline): Always use getdelim, so that we don't have two
15864         copies of this code.
15865         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
15866         if available.
15867         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
15868         (GETNDELIM2_MAXIMUM): New macro.
15869         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
15870         instead of the old practice of delim2==0.  All callers changed.
15871         Return -1 on overflow, instead of returning junk.
15872         Do not set *linesize unless allocation succeeds.
15873         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
15874         that we include sys/types.h.
15875         * lib/getnline.h: Likewise.
15876         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
15877         (getndelim2): Reorder arguments.
15878         * lib/getnline.c (getnline, getndelim):
15879         Don't discard the NMAX argument.
15880         (getnline): Invoke getndelim, to avoid code duplication.
15881         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
15882         of (size_t) -1 by callers of the getnline family.
15883
15884 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15885
15886         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
15887         Check for gettimeofday.
15888         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
15889         Check for settimeofday, stime.
15890
15891 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
15892
15893         * lib/nanosleep.c (suspended): Change its type from int to
15894         sig_atomic_t volatile.
15895         (first_call): Make it private to rpl_nanosleep, and have it
15896         be zero initially as that's a bit faster.
15897         (my_usleep): Round up fractional times instead of truncating them,
15898         as this is the usual meaning for 'sleep'.
15899
15900         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
15901         doesn't work.
15902         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
15903         (ENOSYS): Define if not defined.
15904         (settime): Fall back on stime if it exists and settimeofday fails.
15905         But don't bother with fallbacks if a method fails with errno == EPERM.
15906
15907 2004-05-11  Jim Meyering  <jim@meyering.net>
15908
15909         Prior to this change, the save_cwd caller required read access to the
15910         current directory on most systems (ones with the fchdir function).
15911
15912         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
15913         fails, try write-only, and finally, resort to using xgetcwd.
15914
15915 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
15916
15917         * lib/obstack.c, obstack.h: Import changes from libc.
15918
15919 2004-04-28  Bruno Haible  <bruno@clisp.org>
15920
15921         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
15922         also implicitly appends .exe to executables.
15923         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
15924         accepts Windows pathnames.
15925         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
15926         Treat Cygwin like Windows, since it now accepts Windows pathnames.
15927         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
15928         Treat Cygwin like Windows, since it now accepts Windows pathnames.
15929         Reported by Derek Robert Price <derek@ximbiot.com>.
15930
15931 2004-04-21  Karl Berry  <karl@gnu.org>
15932
15933         * config/srclist.txt (localcharset.c): break sync.
15934
15935 2004-04-20  Paul Eggert  <eggert@twinsun.com>
15936
15937         * m4/host-os.m4: Add a copyright notice.
15938
15939 2004-04-20  Jim Meyering  <jim@meyering.net>
15940
15941         Change UTILS_ to gl_ in AC_DEFINE'd names.
15942         Change utils_- and jm_-prefixed variables, too.
15943         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
15944         UTILS_FUNC_MKDIR_TRAILING_SLASH.
15945         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
15946
15947         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
15948         Don't emit trailing blanks.
15949         Also rename jm_-prefixed variables to have gl_ prefix.
15950
15951         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
15952         Also rename jm_-prefixed variables to have gl_ prefix.
15953
15954         * m4/jm-macros.m4: Reflect the renamings.
15955         * m4/prereq.m4: Likewise.
15956
15957 2004-04-20  Jim Meyering  <jim@meyering.net>
15958
15959         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
15960         memory.
15961
15962 2004-04-20  Jim Meyering  <jim@meyering.net>
15963             Bruno Haible  <bruno@clisp.org>
15964
15965         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
15966         memory when realloc fails.
15967
15968 2004-04-19  Jim Meyering  <jim@meyering.net>
15969
15970         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
15971         now that readutmp.c may call `free (0)'.
15972
15973 2004-04-19  Bruno Haible  <bruno@clisp.org>
15974
15975         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
15976         * m4/inttypes_h.m4: Likewise.
15977         * m4/stdint_h.m4: Likewise.
15978         * m4/intmax_t.m4: Likewise.
15979         * m4/uintmax_t.m4: Likewise.
15980
15981 2004-04-18  Jim Meyering  <jim@meyering.net>
15982
15983         * m4/prereq.m4: Don't forbid jm_ prefix.
15984
15985         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
15986         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
15987         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
15988         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
15989         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
15990         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
15991         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
15992         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
15993         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
15994         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
15995         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
15996         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
15997         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
15998         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
15999         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
16000         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
16001         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
16002         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
16003         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
16004
16005 2004-04-18  Jim Meyering  <jim@meyering.net>
16006
16007         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
16008         failure, don't leak memory and do call END_UTMP_ENT.
16009
16010 2004-04-16  Jim Meyering  <jim@meyering.net>
16011
16012         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
16013         coreutils' stat program.
16014         (gl_PREREQ): Don't require jm_PREREQ_STAT.
16015
16016 2004-04-11  Paul Eggert  <eggert@twinsun.com>
16017
16018         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
16019         C89.
16020         (CHAR_BIT): Remove, since we assume C89.
16021         Include <stdint.h> if available, as per current Autoconf CVS advice.
16022
16023 2004-03-31  Jim Meyering  <jim@meyering.net>
16024
16025         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
16026         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
16027         * m4/xalloc.m4: Likewise.
16028
16029 2004-03-30  Paul Eggert  <eggert@twinsun.com>
16030
16031         Merge from coreutils.
16032
16033         * m4/inttostr.m4: New file.
16034         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
16035         Require AM_STDBOOL_H and gl_TIMESPEC instead.
16036         Require gl_CLOCK_TIME.
16037         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
16038
16039 2004-03-30  Paul Eggert  <eggert@twinsun.com>
16040
16041         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
16042         not bool, to be more consistent with Unix conventions.
16043         Suggested by Bruno Haible.
16044
16045         Merge from coreutils.
16046
16047         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
16048         * lib/umaxtostr.c: New files.
16049
16050         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
16051         the usual <time.h> dance.
16052         (get_date): Change signature to support fractional time stamps.
16053         All callers changed.
16054         * lib/getdate.y: Include "getdate.h" first, as we can now
16055         assume C89 and don't need to worry about 'const'.
16056         Similarly, include "unlocked-io.h" near start, not in middle.
16057         Include <limits.h>.
16058         (textint.value): Use long int rather than int.
16059         (textint.digits): Use size_t rather than int.
16060         (BILLION, LOG10_BILLION): New constants.
16061         (parser_control): New member rel_ns.  Members day_ordinal,
16062         time_zone, month, day, hour, minutes, rel_year, rel_month,
16063         rel_day, rel_hour, rel_minutes, rel_seconds
16064         are now long int, not int.  Member seconds is now struct timespec,
16065         not int.  New member timespec_seen.  Members dates_seen, days_seen,
16066         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
16067         not int.
16068         (%union.intval): Now long int, not int.
16069         New member timespec.
16070         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
16071         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
16072         (spec): Now is a timespec or an item list.
16073         (timespec, items): New nonterminals.
16074         (time, rel, relunit, number, get_date):
16075         Add support for fractional seconds.
16076         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
16077         (gmtime, localtime, mktime): Remove decls; not needed with C89.
16078         (to_hour): First arg is now long int, not int.
16079         (to_year): Returns long int, not int.
16080         Don't treat year -70 like 70.
16081         (tm_diff): Returns long int, not int.
16082         (lookup_word): Use bool instead of int when appropriate.
16083         (yylex): Use size_t for count, not int.
16084         Detect overflow when parsing large integer constants.
16085         Add support for fractions.
16086         (get_date): Make pointers 'const' if possible.
16087         Use more-portable code to detect integer overflow.
16088         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
16089         Don't use ctime; it's not reliable if the year has >4 digits.
16090
16091         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
16092         This is for compatibility with BSD.
16093
16094         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
16095         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
16096         From coreutils' system.h.
16097
16098         * lib/userspec.c: Don't include "posixver.h".
16099         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
16100         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
16101         compatible extension.  Simplify code by removing a boolean int
16102         that was always nonzero if a string was nonnull.
16103
16104 2004-03-30  Jim Meyering  <jim@meyering.net>
16105
16106         Merge from coreutils.
16107
16108         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
16109         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
16110         on some systems one must include <grp.h> before it.
16111         Reported by Christian Krackowizer.
16112
16113 2004-03-30  Jim Meyering  <jim@meyering.net>
16114
16115         Merge from coreutils.
16116
16117         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
16118
16119         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
16120         an empty input stream.
16121
16122         * lib/readtokens.c: Include <stdbool.h>.
16123         (readtoken): Use `size_t' rather than int/long.
16124         All callers adjusted.
16125         Use `bool' rather than `int' where appropriate.
16126         Use memset rather than an explicit loop.
16127         Use x2nrealloc rather than xrealloc.
16128         Allow the use of `\0' as a delimiter.
16129         (readtokens): Likewise.
16130         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
16131
16132 2004-03-30  Jim Meyering  <jim@meyering.net>
16133
16134         * m4/realloc.m4: Remove file, since now it does no more than
16135         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
16136         the `configure.ac' section of module/realloc.
16137         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
16138
16139 2004-03-30  Bruno Haible  <bruno@clisp.org>
16140
16141         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
16142         nonnull.
16143
16144 2004-03-29  Paul Eggert  <eggert@twinsun.com>
16145
16146         Merge changes to getloadavg.c from coreutils and Emacs.
16147
16148         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
16149         Define to an expression, not to the empty string.
16150         Include cloexec.h and xalloc.h.
16151         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
16152         Use set_cloexec_flag rather than rolling our own.
16153         * lib/cloexec.c, lib/cloexec.h: New files.
16154
16155 2004-03-29  Paul Eggert  <eggert@twinsun.com>
16156
16157         * m4/cloexec.m4: New file.
16158
16159 2004-03-18  Paul Eggert  <eggert@twinsun.com>
16160
16161         * lib/getopt.h: Sync with libc CVS.
16162
16163 2004-03-18  Paul Eggert  <eggert@twinsun.com>
16164             Bruno Haible  <bruno@clisp.org>
16165
16166         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
16167         mbswidth.
16168
16169 2004-03-18  Paul Eggert  <eggert@twinsun.com>
16170             Bruno Haible  <bruno@clisp.org>
16171
16172         * lib/mbswidth.h: Include <wchar.h> only if
16173         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
16174         <wchar.h>.
16175         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
16176
16177 2004-03-09  Paul Eggert  <eggert@twinsun.com>
16178
16179         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
16180         Sync with libc CVS.
16181         * lib/getopt_int.h: New file, also synced from libc.
16182
16183 2004-03-09  Paul Eggert  <eggert@twinsun.com>
16184
16185         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
16186         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
16187         Bring back getopt.c, getopt.h, getopt1.c.
16188
16189 2004-03-07  Paul Eggert  <eggert@twinsun.com>
16190
16191         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
16192         All uses changed.  Check for sa_sigaction member; this fixes
16193         a bug first reported by Jason Andrade in
16194         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
16195
16196 2004-03-07  Paul Eggert  <eggert@twinsun.com>
16197
16198         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
16199         '#if' expressions.  Unlike the code it replaces, it does not
16200         depend on (defined _SC_PAGESIZE).  However, it does depend on
16201         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
16202         first reported by Jason Andrade in
16203         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
16204
16205 2004-02-25  Simon Josefsson  <jas@extundo.com>
16206
16207         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
16208
16209 2004-02-25  Simon Josefsson  <jas@extundo.com>
16210
16211         * lib/strdup.h: New file.
16212         * lib/strdup.c: Include it.
16213         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
16214         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
16215
16216 2004-02-23  Karl Berry  <karl@gnu.org>
16217
16218         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
16219         (from fencepost.gnu.org:/gd/gnuorg).
16220
16221 2004-02-23  Karl Berry  <karl@gnu.org>
16222
16223         * config/srclistvars.sh (GNUORG) [karl]: redefine.
16224         * config/srclist.txt: add maintain/standards documents.
16225
16226 2004-02-18  Bruno Haible  <bruno@clisp.org>
16227
16228         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
16229         Reported by Derek Robert Price <derek@ximbiot.com>.
16230
16231 2004-02-16  Karl Berry  <karl@gnu.org>
16232
16233         * config/mkinstalldirs, install-sh: update from automake.
16234
16235 2004-02-06  Karl Berry  <karl@gnu.org>
16236
16237         * m4/po.m4: update from gettext 0.14.1.
16238
16239 2004-02-06  Karl Berry  <karl@gnu.org>
16240
16241         * lib/config.charset: update from gettext 0.14.1.
16242
16243 2004-02-05  Paul Eggert  <eggert@twinsun.com>
16244
16245         Add comments and code, prompted by suggestions from Bruno Haible
16246         for sh-quote.
16247         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
16248         describing the enum quoting_style values.
16249         * lib/quotearg.c (quotearg_alloc): New function.
16250         (quotearg_buffer_restyled): Treat lone { and } as special.
16251         Treat = as special.  Work around bug with older shells
16252         that "see" a '\' that is really the 2nd byte of a multibyte char.
16253         Quote empty string with shell_quoting_style.
16254
16255 2004-02-03  Bruno Haible  <bruno@clisp.org>
16256
16257         * m4/pipe.m4: New file, from GNU gettext.
16258
16259 2004-02-03  Bruno Haible  <bruno@clisp.org>
16260
16261         * lib/pipe.h: New file, from GNU gettext.
16262         * lib/pipe.c: New file, from GNU gettext.
16263
16264 2004-01-27  Bruno Haible  <bruno@clisp.org>
16265
16266         * m4/execute.m4: New file, from GNU gettext.
16267
16268 2004-01-27  Bruno Haible  <bruno@clisp.org>
16269
16270         * lib/execute.h: New file, from GNU gettext.
16271         * lib/execute.c: New file, from GNU gettext.
16272         * lib/w32spawn.h: New file, from GNU gettext.
16273
16274 2004-01-24  Paul Eggert  <eggert@twinsun.com>
16275
16276         Merge from diffutils.
16277
16278         * lib/file-type.c (file_type): Add typed memory objects.
16279         * lib/file-type.h (S_TYPEISTMO): New macro.
16280
16281         * lib/c-stack.h (c_stack_action): Remove argv argument.
16282         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
16283         (die): Don't calculate message unless segv_action returns.
16284         (get_stack_location, min_address_from_argv, max_address_from_argv,
16285         volatile stack_base, volatile_stack_size): Remove.
16286         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
16287         that every segmentation violation is a stack overflow.  (Ouch!)
16288         See Debian bug 136249 (still outstanding) for more info about why
16289         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
16290
16291 2004-01-24  Paul Eggert  <eggert@twinsun.com>
16292
16293         Exit-status fix from coreutils.
16294
16295         Use exit_failure consistently in place of EXIT_FAILURE,
16296         so that program exit statuses are consistent on failure.
16297
16298         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
16299         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
16300         * lib/argmatch.h: Comment fix to match the above.
16301         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
16302         Now a macro referring to exit_failure, instead of a separate
16303         variable.  Include "exitfail.h" to get it.
16304         * lib/xstrtol.h: Include "exitfail.h".
16305         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
16306
16307         * lib/long-options.c (parse_long_options): Use prototype
16308         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
16309         for clarity.
16310
16311 2004-01-21  Jim Meyering  <jim@meyering.net>
16312
16313         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
16314         so as not to conflict with a different-sized __mktime_internal
16315         function in GNU libc.
16316         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
16317         Problem building statically-linked `ls' reported by Michael Brunnbauer.
16318
16319 2004-01-20  Karl Berry  <karl@gnu.org>
16320
16321         * config/config.guess: update from config.
16322
16323         * config/srclistvars.sh: GNUWWWLICENSES for karl.
16324
16325 2004-01-20  Bruno Haible  <bruno@clisp.org>
16326
16327         Safer stack allocation.
16328         * lib/setenv.c: Include allocsa.h.
16329         (alloca): Remove fallback definition.
16330         (freea): Remove macro.
16331         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
16332         instead of freea.
16333
16334 2004-01-20  Bruno Haible  <bruno@clisp.org>
16335
16336         * m4/eealloc.m4: New file, from GNU gettext.
16337
16338 2004-01-20  Bruno Haible  <bruno@clisp.org>
16339
16340         * m4/allocsa.m4: New file, from GNU gettext.
16341
16342 2004-01-20  Bruno Haible  <bruno@clisp.org>
16343
16344         * lib/xallocsa.h: New file, from GNU gettext.
16345         * lib/xallocsa.c: New file, from GNU gettext.
16346
16347 2004-01-20  Bruno Haible  <bruno@clisp.org>
16348
16349         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
16350
16351 2004-01-20  Bruno Haible  <bruno@clisp.org>
16352
16353         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
16354         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
16355         specially.
16356
16357 2004-01-20  Bruno Haible  <bruno@clisp.org>
16358
16359         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
16360         patch.
16361
16362 2004-01-20  Bruno Haible  <bruno@clisp.org>
16363
16364         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
16365
16366 2004-01-20  Bruno Haible  <bruno@clisp.org>
16367
16368         * lib/eealloc.h: New file.
16369
16370 2004-01-20  Bruno Haible  <bruno@clisp.org>
16371
16372         * lib/binary-io.h: Avoid warnings on Cygwin.
16373
16374 2004-01-20  Bruno Haible  <bruno@clisp.org>
16375
16376         * lib/allocsa.h: New file, from GNU gettext.
16377         * lib/allocsa.c: New file, from GNU gettext.
16378
16379 2004-01-18  Karl Berry  <karl@gnu.org>
16380
16381         * doc/gpl.texi, doc/lgpl.texi: new files.
16382
16383 2004-01-18  Karl Berry  <karl@gnu.org>
16384
16385         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
16386         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
16387
16388 2004-01-15  Paul Eggert  <eggert@twinsun.com>
16389
16390         Merge from coreutils.
16391
16392         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
16393         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
16394         (gl_DEFAULT_POSIX2_VERSION): Move
16395         the documentation from 'configure' into 'config.hin',
16396         so that 'configure --help' isn't burdened by it and
16397         we don't have to worry about its formatting there.
16398         Reword the documentation so that it's more succinct
16399         and can be run together into a single paragraph.
16400         * m4/same.m4 (gl_SAME): Check for pathconf.
16401
16402 2004-01-15  Paul Eggert  <eggert@twinsun.com>
16403
16404         Merge from coreutils.
16405
16406         * lib/posixver.c: Include posixver.h.
16407
16408         * lib/same.c: Include <stdbool.h>, <limits.h>.
16409         (_POSIX_NAME_MAX): Define if not defined.
16410         (MIN): New macro.
16411         (same_name): If file names are silently truncated, report
16412         that the file names are the same if they are the same after
16413         the silent truncation.
16414
16415         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
16416         conversion function.
16417         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
16418         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
16419         longer needed.
16420
16421 2004-01-15  Jim Meyering  <jim@meyering.net>
16422
16423         Merge from coreutils.
16424
16425         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
16426         if no library is required.
16427         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
16428         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
16429         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
16430         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
16431         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
16432         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
16433         value, $ac_cv_search_crypt, if it's "none required".
16434         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
16435         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
16436         not gl_FUNC_GETLOADAVG.
16437         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
16438         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
16439
16440 2004-01-15  Jim Meyering  <jim@meyering.net>
16441
16442         Merge from coreutils.
16443
16444         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
16445         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
16446         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
16447
16448         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
16449         optional configure-time default.
16450
16451         * lib/version-etc.c (version_etc_copyright): Update copyright date.
16452
16453         * lib/xreadlink.c (xreadlink): Correct outdated comment.
16454
16455 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
16456
16457         Merge from coreutils.
16458
16459         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
16460         value, $ac_cv_search_nanosleep, if it's "none required".
16461
16462 2004-01-14  Paul Eggert  <eggert@twinsun.com>
16463
16464         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
16465         with like-named macro in fnmatch.c.
16466         (EXT): Use an internal constant instead.
16467
16468         Merge fnmatch patches from glibc.
16469         * lib/fnmatch.c (mbsinit): Remove define.
16470         Add libc_hidden_ver (__fnmatch, fnmatch).
16471         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
16472         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
16473
16474 2004-01-14  Karl Berry  <karl@gnu.org>
16475
16476         * config/install-sh: update from automake.
16477
16478 2004-01-13  Karl Berry  <karl@gnu.org>
16479
16480         * config/install-sh: update from automake.
16481
16482 2004-01-09  Karl Berry  <karl@gnu.org>
16483
16484         * config/install-sh: update from automake.
16485
16486 2004-01-05  Karl Berry  <karl@gnu.org>
16487
16488         * config/config.{sub,guess}: update from config.
16489
16490 2003-12-31  Karl Berry  <karl@gnu.org>
16491
16492         * config/depcomp: update from automake.
16493
16494 2003-12-14  Karl Berry  <karl@gnu.org>
16495
16496         * lib/config.charset: update from gettext-runtime.
16497
16498 2003-12-03  Paul Eggert  <eggert@twinsun.com>
16499
16500         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
16501         Bug reported by Alfred M. Szmidt.
16502
16503 2003-12-03  Bruno Haible  <bruno@clisp.org>
16504
16505         * m4/gettext.m4: Upgrade from gettext-0.13.
16506         * m4/po.m4: Upgrade from gettext-0.13.
16507         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
16508         * m4/intmax.m4: New file, from gettext-0.13.
16509         * m4/printf-posix.m4: New file, from gettext-0.13.
16510
16511 2003-11-29  Karl Berry  <karl@gnu.org>
16512
16513         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
16514
16515 2003-11-25  Paul Eggert  <eggert@twinsun.com>
16516             Bruno Haible  <bruno@clisp.org>
16517
16518         * lib/printf-parse.h: Don't include sys/types.h.
16519         (ARG_NONE): New macro.
16520         (char_directive): Change type of *arg_index fields to size_t.
16521         * lib/printf-parse.c: Don't include sys/types.h.
16522         (SSIZE_MAX): Remove macro.
16523         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
16524         Remove unnecessary overflow check.
16525         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
16526         fields.
16527
16528 2003-11-25  Bruno Haible  <bruno@clisp.org>
16529
16530         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
16531
16532 2003-11-25  Bruno Haible  <bruno@clisp.org>
16533
16534         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
16535         gt_TYPE_SSIZE_T.
16536
16537 2003-11-24  Paul Eggert  <eggert@twinsun.com>
16538
16539         * modules/alloca: Remove dependency on xalloc.
16540
16541 2003-11-24  Paul Eggert  <eggert@twinsun.com>
16542
16543         * lib/alloca.c: Remove dependency on xalloc module.
16544         (xalloc_die): Remove.
16545         (memory_full) [!defined emacs]: New macro.
16546         [!defined emacs]: Don't include xalloc.h.
16547         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
16548         address arithmetic overflows.  Change datatypes a bit to avoid
16549         unnecessary casts.
16550
16551 2003-11-22  Jim Meyering  <jim@meyering.net>
16552
16553         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
16554         s/size/size_t/.
16555
16556 2003-11-21  Karl Berry  <karl@gnu.org>
16557
16558         * config/config.{sub,guess}: update from config.
16559
16560 2003-11-18  Karl Berry  <karl@gnu.org>
16561
16562         * config/config.{sub,guess}: update from config.
16563
16564         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
16565
16566 2003-11-17  Paul Eggert  <eggert@twinsun.com>
16567
16568         * README: Mention that S+T cannot overflow if S is the size of
16569         an existing object and T is sufficiently small.
16570
16571 2003-11-17  Jim Meyering  <jim@meyering.net>
16572
16573         On systems without utime and without a utimes function capable of
16574         dealing with a NULL struct utimbuf* argument, this utime replacement
16575         could -- in unusual circumstances -- leak a file descriptor.
16576         * lib/utime.c: Include <unistd.h> and <errno.h>.
16577         (utime_null): Be sure to close `fd' and to preserve errno.
16578         Reported by Geoff Collyer via Arnold Robbins.
16579
16580 2003-11-17  Bruno Haible  <bruno@clisp.org>
16581
16582         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
16583         (Depends-on): Add xsize.
16584
16585 2003-11-17  Bruno Haible  <bruno@clisp.org>
16586
16587         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
16588
16589 2003-11-17  Bruno Haible  <bruno@clisp.org>
16590
16591         * lib/vasnprintf.c (alloca): Remove fallback definition.
16592         (freea): Remove definition.
16593         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
16594         Reported by Paul Eggert.
16595
16596 2003-11-16  Paul Eggert  <eggert@twinsun.com>
16597             Bruno Haible  <bruno@clisp.org>
16598
16599         Protect against address arithmetic overflow.
16600         * lib/printf-args.h: Include stddef.h.
16601         (arguments): Change type of field 'count' to size_t.
16602         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
16603         'unsigned int' where appropriate.
16604         * lib/printf-parse.h: Include sys/types.h.
16605         (char_directive): Change type of *arg_index fields to ssize_t.
16606         (char_directives): Change type of fields 'count', max_*_length to
16607         size_t.
16608         * lib/printf-parse.c: Include sys/types.h and xsize.h.
16609         (SSIZE_MAX): Define fallback value.
16610         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
16611         instead of 'int' where appropriate. Check a_allocated, d_allocated
16612         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
16613         * lib/vasnprintf.c: Include xsize.h.
16614         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
16615         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
16616         overflow. Avoid wraparound when converting a width or precision from
16617         decimal to binary.
16618
16619 2003-11-16  Bruno Haible  <bruno@clisp.org>
16620
16621         Update from GNU gettext.
16622         * lib/printf-parse.c: Generalize to it can be compiled for wide
16623         strings.
16624         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
16625         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
16626         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
16627         SNPRINTF): New macros.
16628         Don't include <alloca.h> if the file is used inside libintl.
16629         (local_wcslen): New function, for Solaris 2.5.1.
16630         (VASNPRINTF): Use it instead of wcslen.
16631
16632 2003-11-16  Bruno Haible  <bruno@clisp.org>
16633
16634         * lib/xsize.h (xmax): New function.
16635         (xsum, xsum3, xsum4): Declare as "pure" functions.
16636
16637 2003-11-12  Paul Eggert  <eggert@twinsun.com>
16638
16639         * modules/xalloc (Files): Undo latest change, since xalloc.h
16640         no longer needs SIZE_MAX or PTRDIFF_MAX.
16641
16642 2003-11-12  Paul Eggert  <eggert@twinsun.com>
16643
16644         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
16645         gl_PTRDIFF_MAX.
16646
16647 2003-11-12  Paul Eggert  <eggert@twinsun.com>
16648
16649         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
16650         "return", to pacify some unknown compiler.  Problem reported
16651         by Joerg Schilling.
16652
16653 2003-11-12  Paul Eggert  <eggert@twinsun.com>
16654
16655         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
16656         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
16657         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
16658         heuristic is just as accurate as far as we know, and it removes a
16659         dependency on size_max.m4 and ptrdiff_max.m4.
16660
16661 2003-11-11  Bruno Haible  <bruno@clisp.org>
16662
16663         * modules/xsize (Files): Add m4/size_max.m4.
16664         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
16665
16666 2003-11-11  Bruno Haible  <bruno@clisp.org>
16667
16668         * m4/size_max.m4: New file.
16669         * m4/ptrdiff_max.m4: New file.
16670         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
16671         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
16672         (gl_XALLOC): Invoke it.
16673
16674 2003-11-11  Bruno Haible  <bruno@clisp.org>
16675
16676         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
16677         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
16678         defined.
16679
16680 2003-11-10  Paul Eggert  <eggert@twinsun.com>
16681
16682         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
16683         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
16684         rejected some allocations of exactly SIZE_MAX - 2 bytes.
16685         From Bruno Haible.
16686         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
16687         not (size_t) -1, since it's defined here.
16688
16689 2003-11-09  Karl Berry  <karl@gnu.org>
16690
16691         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
16692
16693 2003-11-06  Paul Eggert  <eggert@twinsun.com>
16694
16695         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
16696         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
16697         Reject sizes of exactly SIZE_MAX bytes.
16698         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
16699         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
16700
16701 2003-11-05  Bruno Haible  <bruno@clisp.org>
16702
16703         * lib/xsize.h: Include limits.h, to avoid a possible collision with
16704         SIZE_MAX defined in <limits.h> on Solaris.
16705
16706 2003-11-04  Jim Meyering  <jim@meyering.net>
16707
16708         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
16709         variable names, rather than @VAR@.
16710         * modules/poll: Likewise.
16711
16712 2003-11-04  Bruno Haible  <bruno@clisp.org>
16713
16714         * modules/xsize: New file.
16715         * modules/linebreak: Depend on xsize.
16716         * MODULES.html.sh (func_all_modules): Add xsize.
16717
16718 2003-11-04  Bruno Haible  <bruno@clisp.org>
16719
16720         * m4/xsize.m4: New file.
16721
16722 2003-11-04  Bruno Haible  <bruno@clisp.org>
16723
16724         * lib/xsize.h: New file.
16725         * lib/linebreak.c: Include xsize.h.
16726         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
16727         argument for overflow.
16728         Suggested by Paul Eggert.
16729
16730 2003-11-03  Karl Berry  <karl@gnu.org>
16731
16732         * config/config.{guess,sub}: update from config.
16733
16734 2003-11-03  Jim Meyering  <jim@meyering.net>
16735
16736         * modules/userspec (lib_SOURCES): Add userspec.h.
16737         (Include): Add "userspec.h".
16738         Improve description.
16739
16740 2003-11-03  Jim Meyering  <jim@meyering.net>
16741
16742         * lib/userspec.c: Include "userspec.h".
16743         * lib/userspec.h: New file.
16744
16745 2003-11-03  Bruno Haible  <bruno@clisp.org>
16746
16747         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
16748
16749 2003-11-03  Bruno Haible  <bruno@clisp.org>
16750
16751         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
16752         available, to avoid (extremely rare) race condition.
16753         Suggested by Paul Eggert.
16754
16755 2003-11-02  Karl Berry  <karl@gnu.org>
16756
16757         * config/srclist.txt (vasprintf.c): sync broken, sigh.
16758
16759 2003-10-31  Paul Eggert  <eggert@twinsun.com>
16760
16761         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
16762         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
16763         (read_filesystem_list): Set and use me_type_malloced.
16764         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
16765         whatever the type happens to be), for brevity and consistency.
16766         Check for size calculation overflow on Alphas running OSF/1.
16767
16768 2003-10-31  Jim Meyering  <jim@meyering.net>
16769
16770         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
16771
16772         * lib/linebuffer.c: Include <string.h> for declaration of memset.
16773
16774 2003-10-30  Paul Eggert  <eggert@twinsun.com>
16775             Bruno Haible  <bruno@clisp.org>
16776
16777         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
16778         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
16779
16780 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
16781
16782         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
16783         netbsd*-gnu*.  Suggested by Robert Millan.
16784
16785 2003-10-29  Paul Eggert  <eggert@twinsun.com>
16786
16787         * modules/group-member: Depend on stdbool.
16788
16789 2003-10-29  Paul Eggert  <eggert@twinsun.com>
16790
16791         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
16792
16793 2003-10-29  Paul Eggert  <eggert@twinsun.com>
16794
16795         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
16796         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
16797         after the 'gnu' in these cases.  This fixes some bugs in the
16798         previous change, and is based on suggestions by Robert Millan.
16799
16800 2003-10-29  Paul Eggert  <eggert@twinsun.com>
16801
16802         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
16803         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
16804         no longer needed.
16805         * lib/quotearg.c (quotearg_n_options): Use it.
16806         * lib/group-member.c: Include <stdbool.h>.
16807         (free_group_info): Arg is now const *; don't free arg.
16808         (get_group_info): Now returns bool and accepts struct group_info *,
16809         rather than returning a malloc'ed struct group_info *.
16810         All uses changed.  Check for overflow in internal size calculation.
16811
16812         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
16813         rather than xmalloc/xrealloc.
16814         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
16815         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
16816         conformance bug: the old code used a pointer after freeing the
16817         storage that it addressed.
16818         * lib/hash.c (hash_initialize): Simplify the code by using
16819         xalloc_oversized rather than doing it by hand.
16820         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
16821         the buffer preserved.  Use free and xmalloc instead.
16822         * lib/quotearg.c (quotearg_n_options): Likewise.
16823         Use a simpler test for size overflow.  Don't use xalloc_oversized
16824         because unsigned int might be wider than size_t (!); this suggests
16825         that we should switch from unsigned int to size_t for slot numbers.
16826
16827 2003-10-28  Paul Eggert  <eggert@twinsun.com>
16828
16829         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
16830         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
16831         NetBSD kernels.  Requested by Richard Stallman.
16832
16833 2003-10-27  Paul Eggert  <eggert@twinsun.com>
16834
16835         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
16836         to allocate the returned structure.  Do not allocate a subarray,
16837         as x2nrealloc will do that.
16838         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
16839         instead of xnrealloc.
16840         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
16841
16842 2003-10-27  Bruno Haible  <bruno@clisp.org>
16843
16844         * lib/stdbool_.h: Better support for BeOS.
16845
16846 2003-10-26  Paul Eggert  <eggert@twinsun.com>
16847
16848         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
16849         now uses inline.
16850
16851 2003-10-26  Paul Eggert  <eggert@twinsun.com>
16852
16853         * lib/xalloc.h (xalloc_oversized): New static inline function, for
16854         callers that want to do their own size-overflow checking.  Include
16855         <stdbool.h>, since xalloc_oversized returns bool.
16856         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
16857         to use xalloc_oversized.
16858
16859         Add two functions x2realloc, x2nrealloc, for programs that grow
16860         arrays dynamically by doubling their sizes.
16861         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
16862         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
16863         New functions.
16864
16865         Port to C99 semantics for 'inline' of external functions.
16866         Bug reported by Bruno Haible.
16867         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
16868         with the old contents of xnmalloc.
16869         (xnmalloc, xmalloc): Use it.
16870         (xnrealloc_inline): New static inline function,
16871         with the old contents of xnrealloc.
16872         (xnrealloc, xrealloc): Use it.
16873
16874         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
16875         that.
16876
16877 2003-10-26  Karl Berry  <karl@gnu.org>
16878
16879         * config/srclist.txt (COPYING.DOC): no longer available from
16880         /gd/gnuorg; don't know where the ultimate source is.
16881
16882 2003-10-25  Paul Eggert  <eggert@twinsun.com>
16883
16884         Fix several address-calculation bugs in the hash modules,
16885         plus some minor code cleanup.
16886
16887         * lib/hash.h: Include <stdbool.h>, for bool.
16888         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
16889         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
16890         hash_get_n_entries, hash_get_max_bucket_length,
16891         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
16892         hash_rehash): Use size_t rather than unsigned.
16893         * lib/hash.c (struct hash_table, hash_get_n_buckets,
16894         hash_get_n_buckets_used, hash_get_n_entries,
16895         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
16896         hash_get_entries, hash_do_for_each, hash_string, is_prime,
16897         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
16898         Likewise.
16899         (SIZE_MAX): Define if not defined.
16900         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
16901         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
16902         hash_print):
16903         Use const * when possible.
16904         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
16905         (check_tuning): Fix bug: if tuning parameters were very close to
16906         0 or 1, rounding errors could have caused subscript violations.
16907         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
16908         (hash_initialize): Add 'fail:' label
16909         to free table and return NULL, and use it to simplify code.
16910         Use calloc rather than clearing the storage ourself.
16911         (hash_initialize, hash_rehash): Check for arithmetic overflow in
16912         buffer size calculations.
16913         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
16914         Include <stddef.h>, for size_t.
16915         * lib/hash-pjw.c (hash_pjw): Likewise.
16916         Switch to method described by Bruno Haible.
16917         Include <limits.h>, for CHAR_BIT.
16918         (SIZE_BITS): New macro.
16919
16920 2003-10-23  Paul Eggert  <eggert@twinsun.com>
16921
16922         * m4/getline.m4 (AM_FUNC_GETLINE):
16923         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
16924         hosts.  Problem reported by Derek Robert Price in
16925         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
16926         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
16927         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
16928
16929 2003-10-21  Paul Eggert  <eggert@twinsun.com>
16930
16931         * lib/getndelim2.c (getndelim2): When size calculation overflows,
16932         ceiling the allocation at NMAX bytes rather than silently
16933         discarding input bytes before NMAX is reached.  This makes
16934         a difference only if NMAX exceeds SIZE_MAX / 2.
16935
16936         * lib/obstack.c: Merge from glibc.
16937         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
16938         Add libc_hidden_def (_obstack_newchunk).
16939         (_obstack_free) [! defined _LIBC]: Remove.
16940         [defined _LIBC]: Make a strong alias from obstack_free, rather than
16941         a clone of the function body.
16942         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
16943         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
16944
16945         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
16946         glibc.
16947         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
16948         arg to memcpy.
16949
16950         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
16951         (obstack_ptr_grow_fast, obstack_int_grow_fast):
16952         Don't use lvalue casts, as GCC plans to remove support for them
16953         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
16954         was also present in the non-GCC version, indicating that this
16955         code had always been buggy and had never been widely used.
16956         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
16957         Use the fast variant of each macro, rather than copying the
16958         definiens of the fast variant; that way, we'll be more likely to
16959         catch future bugs in the fast variants.
16960
16961 2003-10-20  Bruno Haible  <bruno@clisp.org>
16962
16963         * modules/wait-process: New file.
16964         * MODULES.html.sh (func_all_modules): Add wait-process.
16965
16966 2003-10-20  Bruno Haible  <bruno@clisp.org>
16967
16968         * m4/wait-process.m4: New file.
16969
16970 2003-10-20  Bruno Haible  <bruno@clisp.org>
16971
16972         * lib/wait-process.h: New file, from GNU gettext.
16973         * lib/wait-process.c: New file, from GNU gettext.
16974
16975 2003-10-19  Jim Meyering  <jim@meyering.net>
16976
16977         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
16978         HPUX 10.20.
16979
16980 2003-10-18  Karl Berry  <karl@gnu.org>
16981
16982         * config/config.guess: update from config.
16983
16984 2003-10-16  Paul Eggert  <eggert@twinsun.com>
16985
16986         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
16987         (getgroups): First arg is int, not size_t.
16988         Don't let 'free' mangle errno.
16989
16990 2003-10-16  Paul Eggert  <eggert@twinsun.com>
16991
16992         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
16993
16994 2003-10-16  Karl Berry  <karl@gnu.org>
16995
16996         * config/config.{guess,sub}: update from config.
16997
16998 2003-10-16  Jim Meyering  <jim@meyering.net>
16999
17000         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
17001         memcpy.
17002
17003 2003-10-15  Paul Eggert  <eggert@twinsun.com>
17004
17005         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
17006         (SIZE_MAX): Remove.
17007         (new_exclude, add_exclude_file): Initial size no longer needs to
17008         be a power of 2.
17009         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
17010         our own address arithmetic overflow checking.
17011
17012         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
17013         (fnmatch): Do not alloca more than 2000 wide characters;
17014         instead, use malloc for large buffers.
17015         Check for address arithmetic overflow, and return -1
17016         with errno set to ENOMEM in that case.
17017         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
17018         (NEW_PATTERN): Do not alloca more than 8000 bytes;
17019         instead, return -1.  Check for address arithmetic overflow.
17020
17021 2003-10-14  Paul Eggert  <eggert@twinsun.com>
17022
17023         Handle invalid suffixes and overflow independently, so that
17024         callers can treat them independently as needed.  Fix some bugs in
17025         suffix handling, e.g., "100k@" was not diagnosed as an invalid
17026         suffix for a human-readable blocksize.  The major caller-visible
17027         change is the addition of a new
17028         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
17029         that both overflow and suffix chars were found.
17030
17031         * lib/human.c (humblock): Don't check separately for invalid suffix
17032         char; that is xstrtoumax's job (now that its bug is fixed).
17033         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
17034         INTMAX_MAX]: New macros.
17035         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
17036         TYPE_MAXIMUM): New macros.
17037         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
17038         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
17039         if overflow occurs, as it's what __strtol does and it's more useful
17040         in practice.
17041         (__xstrtol): If __strtol reports some error other than ERANGE,
17042         reflect it to the caller as LONGINT_INVALID.  If it reports
17043         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
17044         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
17045         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
17046         value.
17047         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
17048         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
17049         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
17050         [defined UINTMAX_MAX]: New macros.
17051
17052 2003-10-14  Bruno Haible  <bruno@clisp.org>
17053
17054         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
17055
17056 2003-10-14  Bruno Haible  <bruno@clisp.org>
17057
17058         * m4/sig_atomic_t: New file, from GNU gettext.
17059         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
17060
17061 2003-10-14  Bruno Haible  <bruno@clisp.org>
17062
17063         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
17064         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
17065         Also use volatile where needed.
17066
17067 2003-10-12  Paul Eggert  <eggert@twinsun.com>
17068
17069         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
17070         Change maintainer from Bruno Haible to 'all'.
17071
17072 2003-10-12  Paul Eggert  <eggert@twinsun.com>
17073
17074         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
17075
17076 2003-10-12  Paul Eggert  <eggert@twinsun.com>
17077
17078         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
17079         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
17080         and define in terms of the other primitives.
17081         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
17082         (SIZE_MAX): Define if not already defined.
17083         (array_size_overflow): New function.
17084         (xalloc_die): Abort instead of exiting if 'error' returns.
17085         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
17086         (xmalloc, xrealloc): Use them.
17087         (xcalloc): Check for address arithmetic overflow.
17088         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
17089         a bit faster than strcpy.
17090
17091 2003-10-10  Simon Josefsson  <jas@extundo.com>
17092
17093         * modules/argp (Depends-on): Add restrict and strcase.
17094
17095 2003-10-10  Simon Josefsson  <jas@extundo.com>
17096
17097         * m4/argp.m4: Add AC_C_INLINE.
17098
17099 2003-10-08  Paul Eggert  <eggert@twinsun.com>
17100
17101         Merge getpass from libc, plus a few fixes.
17102
17103         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
17104         Include <stdbool.h>.
17105         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
17106         __fsetlocking to empty.
17107         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
17108         do include <bits/libc-lock.h>.
17109         Do not include <fcntl.h>; not needed.
17110         [_LIBC]: Include <wchar.h>.
17111         (NOTCANCEL_MODE): New macro.
17112         (flockfile, funlockfile) [_LIBC]: New macros.
17113         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
17114         [!_LIBC]: New macros.
17115         (call_fclose): New function.
17116         (getpass): Use it.  Save tty stream separately; this simplifies the
17117         code and makes it more reliable if stdin happens to equal stdout.
17118         Invoke __fsetlocking on tty.
17119         Handle thread cancellation if needed.
17120         Namespace cleanup (use __tcgetattr, __getline).
17121         Use bool for Booleans.
17122         [USE_IN_LIBIO]: Handle wide streams.
17123         [!_LIBC]: Unconditionally do the fseek, since we don't know what
17124         stream might go where.
17125
17126         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
17127         doesn't have to include <stdio.h> before us.
17128         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
17129         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
17130         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
17131         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
17132         if not declared, so that we can use getpass.c code from libc without
17133         rewriting it.
17134         (flockfile, ftrylockfile, funlockfile): New macros.
17135
17136 2003-10-08  Paul Eggert  <eggert@twinsun.com>
17137
17138         * modules/getpass: Depend on stdbool.
17139
17140 2003-10-08  Paul Eggert  <eggert@twinsun.com>
17141
17142         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
17143
17144 2003-10-07  Karl Berry  <karl@gnu.org>
17145
17146         * config/config.{guess,sub}: update from config.
17147
17148 2003-10-06  Jim Meyering  <jim@meyering.net>
17149             Bruno Haible  <bruno@clisp.org>
17150
17151         This lets translators provide better translations for the
17152         "Written by ..." part of --version output.
17153         * lib/version-etc.h: Include stdarg.h.
17154         (version_etc_copyright): Declare as readonly.
17155         (version_etc): Make this function variadic with a NULL-terminated list
17156         of author name strings.
17157         (version_etc_va): New declaration.
17158         * lib/version-etc.c: Include stdarg.h, stdlib.h.
17159         (version_etc_copyright): Declare as readonly.
17160         (version_etc_va): New function. Provide a different translatable string
17161         for each possible number of authors < 10. Abbreviate when there are 10
17162         authors or more.
17163         (version_etc): Make this function variadic. Call version_etc_va.
17164         Suggestion from Gary V. Vaughan.
17165
17166         * lib/long-options.h (parse_long_options): Change prototype: the
17167         authors string is moved to the end and becomes variadic.
17168         * lib/long-options.c: Include stdarg.h.
17169         (parse_long_options): Make this function variadic, too.
17170         Call version_etc_va, not version_etc.
17171
17172 2003-10-06  Bruno Haible  <bruno@clisp.org>
17173
17174         * modules/version-etc-2: Remove file.
17175         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
17176
17177 2003-10-06  Bruno Haible  <bruno@clisp.org>
17178
17179         * modules/fatal-signal: New file.
17180         * MODULES.html.sh (func_all_modules): Add fatal-signal.
17181
17182 2003-10-06  Bruno Haible  <bruno@clisp.org>
17183
17184         * m4/fatal-signal.m4: New file.
17185         * m4/signalblocking.m4: New file, from GNU gettext.
17186
17187 2003-10-06  Bruno Haible  <bruno@clisp.org>
17188
17189         * lib/version-etc-2.h: Remove file.
17190         * lib/version-etc-2.c: Remove file.
17191
17192 2003-10-06  Bruno Haible  <bruno@clisp.org>
17193
17194         * lib/fatal-signal.h: New file, from GNU gettext.
17195         * lib/fatal-signal.c: New file, from GNU gettext.
17196
17197 2003-10-05  Paul Eggert  <eggert@twinsun.com>
17198
17199         * README: Rework advice for preventing empty .o files.
17200         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
17201         not <sys/types.h>.
17202
17203 2003-10-04  Karl Berry  <karl@gnu.org>
17204
17205         * lib/argp*: update from libc.
17206
17207 2003-10-04  Karl Berry  <karl@gnu.org>
17208
17209         * config/config.{guess,sub}: update from config.
17210
17211 2003-10-02  Bruno Haible  <bruno@clisp.org>
17212
17213         * modules/lchown (Include): Add lchown.h.
17214         * modules/time_r (Include): Use "..." syntax.
17215         * modules/xgetdomainname (Include): Add xgetdomainname.h.
17216
17217 2003-10-01  Simon Josefsson  <jas@extundo.com>
17218
17219         * MODULES.html.sh (func_all_modules): Move gethostname from section
17220         'based on' to section 'lacking' POSIX:2001.
17221
17222 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
17223
17224         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
17225         to output mode on the same stream.
17226
17227 2003-09-29  Paul Eggert  <eggert@twinsun.com>
17228
17229         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
17230         Fix arg typo in previous patch.
17231
17232 2003-09-28  Jim Meyering  <jim@meyering.net>
17233
17234         * lib/error.c: Correct cpp indentation.
17235
17236 2003-09-27  Paul Eggert  <eggert@twinsun.com>
17237
17238         * modules/free: New file.
17239
17240 2003-09-27  Paul Eggert  <eggert@twinsun.com>
17241
17242         * m4/free.m4: New file.
17243
17244 2003-09-27  Paul Eggert  <eggert@twinsun.com>
17245
17246         * lib/minmax.h (MIN, MAX)
17247         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
17248         Omit the special code that used __typeof__, since we worry that
17249         it could be more trouble than it's worth.  See:
17250         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
17251         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
17252
17253         * lib/free.c: New file.
17254
17255 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
17256
17257         Trivial fixes to Makefile.am parts of module listings.
17258         * modules/strstr: Append strstr.h to lib_SOURCES.
17259         * modules/strcase: Likewise, for strcase.h.
17260
17261 2003-09-27  Karl Berry  <karl@gnu.org>
17262
17263         * config/mkinstalldirs: update from automake.
17264
17265 2003-09-26  Paul Eggert  <eggert@twinsun.com>
17266
17267         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
17268         (error_tail): Do not loop, reallocating temporary buffer, since
17269         the output cannot contain more wide characters than the input
17270         contains bytes, the size must be big enough already.  This avoids
17271         one potential size overflow calculation.  Check for size overflow
17272         when calculating temporary buffer size.  Free temporary buffer
17273         when done, if it was allocated with malloc; this plugs a memory
17274         leak.  Remove casts from void * to pointers, that are no longer
17275         needed now that we're assuming C89 or better.
17276
17277         Merge error changes from glibc.
17278
17279         * lib/error.c, error.h: Update copyright notice header to match glibc.
17280         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
17281         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
17282         Disable cancellation while printing error.
17283         * lib/error.h: Prepend __ to parameter names.
17284
17285 2003-09-26  Jim Meyering  <jim@meyering.net>
17286
17287         * lib/error.c (error_tail): Move some declarations
17288         into inner scope where the local variables are used.
17289
17290 2003-09-26  Bruno Haible  <bruno@clisp.org>
17291
17292         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
17293         stpncpy().
17294         Don't define stpncpy through config.h; it's now done through stpncpy.h.
17295
17296 2003-09-26  Bruno Haible  <bruno@clisp.org>
17297
17298         * lib/stpncpy.h (gnu_stpncpy): New declaration.
17299         (stpncpy): Define as alias for gnu_stpncpy.
17300         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
17301
17302 2003-09-25  Simon Josefsson  <jas@extundo.com>
17303
17304         * lib/xgetdomainname.h: New file.
17305         * lib/xgetdomainname.c: New file.
17306
17307 2003-09-25  Simon Josefsson  <jas@extundo.com>
17308             Bruno Haible  <bruno@clisp.org>
17309
17310         * modules/getdomainname: New file.
17311         * modules/xgetdomainname: New file.
17312         * MODULES.html.sh (func_all_modules): Add getdomainname,
17313         xgetdomainname.
17314
17315 2003-09-25  Simon Josefsson  <jas@extundo.com>
17316             Bruno Haible  <bruno@clisp.org>
17317
17318         * m4/getdomainname.m4: New file.
17319
17320 2003-09-25  Simon Josefsson  <jas@extundo.com>
17321             Bruno Haible  <bruno@clisp.org>
17322
17323         * lib/getdomainname.h: New file.
17324         * lib/getdomainname.c: New file.
17325
17326 2003-09-25  Karl Berry  <karl@gnu.org>
17327
17328         * lib/argp-fmtstream.c, argp-help.c: update from libc.
17329
17330 2003-09-25  Karl Berry  <karl@gnu.org>
17331
17332         * config/install-sh: update from automake.
17333
17334 2003-09-25  Bruno Haible  <bruno@clisp.org>
17335
17336         * modules/version-etc-2: New file, from modules/version-etc with
17337         modifications.
17338         * MODULES.html.sh (func_all_modules): Add version-etc-2.
17339
17340 2003-09-25  Bruno Haible  <bruno@clisp.org>
17341
17342         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
17343         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
17344
17345 2003-09-24  Simon Josefsson  <jas@extundo.com>
17346
17347         * modules/xgethostname: Add xgethostname.h.
17348
17349 2003-09-24  Paul Eggert  <eggert@twinsun.com>
17350
17351         * lib/linebuffer.c (freebuffer): Don't free the argument, just
17352         the buffer associated with the argument.  Bug reported by
17353         Simon Josefsson.
17354
17355 2003-09-24  Paul Eggert  <eggert@twinsun.com>
17356
17357         * README: Document assumptions that 'int' is at least 32 bits
17358         wide, that integer arithmetic is 2's complement without overflow,
17359         that there are no holes in integer values, that adding sizes of
17360         two nonoverlapping objects can't overflow, and that all-bits-zero
17361         yields scalar zero.  Fix spelling and capitalization typos.
17362
17363 2003-09-19  Karl Berry  <karl@gnu.org>
17364
17365         * lib/argp.h: update from libc.
17366
17367 2003-09-17  Paul Eggert  <eggert@twinsun.com>
17368
17369         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
17370         to avoid spurious warnings like "AC_RUN_IFELSE was called before
17371         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
17372
17373 2003-09-17  Paul Eggert  <eggert@twinsun.com>
17374
17375         * gnulib-tool: Use "test -h", not "test -L", for portability
17376         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
17377         (tags_regexp): Remove, since \| doesn't conform to POSIX.
17378         (sed_extract_prog): Issue s commands one-by-one, rather than
17379         using \| in one s command.
17380
17381 2003-09-16  Paul Eggert  <eggert@twinsun.com>
17382
17383         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
17384         input error, instead of returning NULL the next time we are called
17385         (and therefore losing track of errno).
17386
17387 2003-09-16  Bruno Haible  <bruno@clisp.org>
17388
17389         * gnulib-tool (func_create_testdir): Warn about duplicated
17390         dependencies.
17391
17392 2003-09-15  Paul Eggert  <eggert@twinsun.com>
17393
17394         * modules/argmatch, modules/fatal, modules/obstack,
17395         modules/xalloc, modules/xgethostname: Sort dependencies by
17396         importance, not alphabetically.
17397
17398 2003-09-15  Paul Eggert  <eggert@twinsun.com>
17399
17400         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
17401         fails, so that the caller gets the proper errno.
17402
17403         * lib/readutmp.c (read_utmp): Likewise.
17404         Check for fstat error.  Close stream and free storage
17405         when failing.
17406
17407 2003-09-14  Karl Berry  <karl@gnu.org>
17408
17409         * config/srclist.txt (strdup.c): disable for c89 changes.
17410
17411 2003-09-14  Jim Meyering  <jim@meyering.net>
17412
17413         * lib/getloadavg.c: Correct cpp indentation.
17414         * lib/strdup.c: Likewise.
17415         * lib/vasnprintf.c: Likewise.
17416
17417 2003-09-14  Bruno Haible  <bruno@clisp.org>
17418
17419         * modules/fwriteerror: New file.
17420         * MODULES.html.sh (func_all_modules): Add fwriteerror.
17421
17422 2003-09-14  Bruno Haible  <bruno@clisp.org>
17423
17424         * lib/fwriteerror.h: New file.
17425         * lib/fwriteerror.c: New file.
17426
17427 2003-09-12  Paul Eggert  <eggert@twinsun.com>
17428
17429         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
17430         modules/xgethostname, modules/xalloc: Depend on exit.
17431
17432 2003-09-12  Paul Eggert  <eggert@twinsun.com>
17433
17434         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
17435
17436         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
17437         and AC_MINIX, too, so that their extensions are available.
17438
17439         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
17440         This macro has been superseded by gl_BACKUPFILE.
17441
17442         More patches to assume C89 or better.
17443
17444         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
17445
17446         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
17447         unconditionally.
17448         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
17449         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
17450         Include <string.h>, <stdlib.h> unconditionally.
17451         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
17452         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
17453         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
17454         headers or for string.h.
17455         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
17456         or strtoul.
17457
17458         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
17459         headers.
17460         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
17461         * m4/userspec.m4 (gl_USERSPEC): Likewise.
17462         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
17463         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
17464         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
17465         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
17466         memcpy, memset.
17467         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
17468         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
17469         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
17470         strtol.
17471         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
17472         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
17473         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
17474         strtoul.
17475
17476 2003-09-12  Paul Eggert  <eggert@twinsun.com>
17477
17478         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
17479         * lib/obstack.c [!defined _LIBC]: Likewise.
17480         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
17481         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
17482         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
17483
17484         More changes to assume C89 or better.
17485
17486         * lib/error.c (error_tail): Assume vprintf.
17487
17488         * lib/argmatch.c (getenv): Remove decl.
17489         * lib/progreloc.c (get_full_program_name): Define via prototype.
17490         * lib/setenv.c (clearenv): Likewise.
17491         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
17492         needed.
17493         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
17494         (malloc, memcpy): Remove decls.
17495         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
17496         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
17497         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
17498         (memcpy): Remove macro.
17499         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
17500         (__P): Remove.  All uses removed.
17501         (PTR): Remove.  All uses changed to void *.
17502         (CHAR_BIT, NULL): Remove.
17503         (spaces, zeros, memset_space, memset_zero)
17504         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
17505         Remove.
17506         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
17507         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
17508         Define with prototype.
17509         Remove now-unnecessary prototype decl.
17510         (extra_args_spec): Assume ANSI C.  All uses changed.
17511         (extra_args_spec_iso): Remove.
17512         (my_strftime, emacs_strftimeu): Define via prototype.
17513         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
17514         unconditionally.
17515         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
17516         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
17517         (strtoul, strtol): Remove decls.
17518         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
17519         LONG_MAX): Remove.
17520         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
17521         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
17522         (LOCALE_PARAM_PROTO): New macro.
17523         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
17524         (INTERNAL (strtol), strtol): Define with a prototype.
17525         (PARAMS): Remove.  All uses removed.
17526         * lib/tempname.c: Include <string.h> unconditionally.
17527         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
17528         * lib/xgethostname.c (main): Define with a prototype.
17529         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
17530         Include <stdlib.h> unconditionally.
17531         (calloc, malloc, realloc, free): Remove decls.
17532         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
17533         Include <stdlib.h> unconditionally.  Sort include file names.
17534         (strtod): Remove.
17535         (xstrtod): Define with a prototype.
17536         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
17537         (strtol, strtoul): Remove decls.
17538
17539 2003-09-11  Paul Eggert  <eggert@twinsun.com>
17540
17541         More patches to assume C89 or better.
17542         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
17543         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
17544         string.h, memchr, STDC_HEADERS.
17545
17546 2003-09-11  Paul Eggert  <eggert@twinsun.com>
17547
17548         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
17549         Include <stdlib.h>, <string.h> unconditionally.
17550         Remove now-unnecessary cast to char *.
17551         * lib/strnlen.c: Include <string.h> unconditionally.
17552         * lib/yesno.c (yesno): Define with a prototype.
17553
17554 2003-09-11  Bruno Haible  <bruno@clisp.org>
17555
17556         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
17557
17558 2003-09-10  Jim Meyering  <jim@meyering.net>
17559
17560         * lib/error.c: Correct indentation of cpp directives.
17561
17562 2003-09-10  Bruno Haible  <bruno@clisp.org>
17563
17564         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
17565         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
17566         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
17567         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
17568         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
17569         <stdlib.h> and <string.h> checks.
17570         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
17571         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
17572
17573 2003-09-10  Bruno Haible  <bruno@clisp.org>
17574
17575         * lib/strcspn.c: Include <string.h> unconditionally.
17576         * lib/strpbrk.c: Include <string.h> unconditionally.
17577         * lib/strstr.c: Include <string.h> unconditionally.
17578         * lib/unicodeio.c: Include <string.h> unconditionally.
17579         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
17580         * lib/unsetenv.c: Likewise.
17581         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
17582         * lib/yesno.c: Include <stdlib.h> unconditionally.
17583         (rpmatch): Add prototype.
17584
17585 2003-09-09  Paul Eggert  <eggert@twinsun.com>
17586
17587         More patches to assume C89 or better.
17588         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
17589         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
17590         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
17591         or for string.h.
17592         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
17593         stdlib.h.
17594         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
17595         C headers.
17596         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
17597         string.h.
17598         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
17599         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
17600         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
17601         or for string.h.
17602         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
17603         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
17604         C headers.
17605         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
17606         memcpy.
17607         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
17608         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
17609         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
17610         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
17611         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
17612         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
17613         string.h, free.
17614         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
17615         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
17616         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
17617         C headers, or for string.h.
17618         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
17619         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
17620         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
17621         headers, memory.h, stdlib.h, string.h, strings.h.
17622         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
17623         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
17624         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
17625         strchr.
17626         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
17627         headers, memory.h, string.h.
17628         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
17629         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
17630         free.
17631         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
17632         headers.
17633         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
17634         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
17635         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
17636         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
17637         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
17638
17639 2003-09-09  Paul Eggert  <eggert@twinsun.com>
17640
17641         More K&R removal.
17642
17643         * lib/acosl.c (main): Use a prototype.
17644         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
17645         tanl.c: Likewise.
17646
17647         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
17648
17649         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
17650         (getopt, etopt_long, getopt_long_only, _getopt_internal)
17651         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
17652         with a prototype.
17653         * lib/getopt.c (const): Remove macro.
17654         Include <string.h> unconditionally.
17655         (my_index): Remove; all uses changed to strchr.
17656         (strlen): Remove decl.
17657         (exchange): Remove forward decl; no longer needed.
17658         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
17659         Define with prototype.
17660         * lib/getopt1.c (const): Remove macro.
17661         (getopt_long, getopt_long_only, main): Define with prototype.
17662
17663         * lib/getugroups.c: Include <string.h> unconditionally.
17664
17665         * lib/getusershell.c: Include <stdlib.h> unconditionally.
17666         (getusershell, setusershell, endusershell, readname, main):
17667         Define with prototypes.
17668
17669         * lib/group-member.c: Include group-member.h first.
17670         Include <stdlib.h> unconditionally.
17671
17672         * lib/hard-locale.c: Include hard-locale.h first.
17673         Include <stdlib.h>, <string.h> unconditionally.
17674
17675         * lib/hash.c (free, malloc): Remove decls.
17676         Include <stdlib.h> unconditionally.
17677
17678         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
17679         (getenv): Do not declare.
17680
17681         * lib/idcache.c: Include <string.h> unconditionally.
17682
17683         * lib/long-options.c: Include long-options.h first, to test interface.
17684         Include <stdlib.h> unconditionally.
17685
17686         * lib/makepath.c: Include makepath.h first, to test interface.
17687         Include <stdlib.h> and <string.h> unconditionally.
17688
17689         * lib/linebuffer.c: Include <stdlib.h>.
17690         (free): Remove decl.
17691
17692         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
17693         stddef.h. rpl_malloc returns void *, not char *.
17694         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
17695         prototype.
17696
17697         * lib/md5.h: Include <limits.h> unconditionally.
17698         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
17699         (__P): Remove; all uses removed.
17700         * lib/md5.c: Include "md5.h" first.
17701         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
17702         md5_buffer, md5_process_bytes, md5_process_block):
17703         Define with prototypes.
17704         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
17705         * lib/sha.c: Include "sha.h" first.
17706         Include <stdlib.h>, <string.h> unconditionally.
17707
17708         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
17709         * lib/memcmp.c (__ptr_t): Likewise.
17710         * lib/memrchr.c (__ptr_t): Likewise.
17711         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
17712         Include <string.h> unconditionally.
17713         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
17714         * lib/memchr.c: Include <stdlib.h> unconditionally.
17715         * lib/memchr.c (LONG_MAX): Remove.
17716         * lib/memrchr.c (LONG_MAX): Likewise.
17717         * lib/memchr.c (__memchr): Define via a prototype.
17718         * lib/memrchr.c (__memrchr): Likewise.
17719         * lib/memcmp.c (__P): Remove, and remove all uses.
17720         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
17721         Remove forward decls; no longer needed.
17722         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
17723         Use types required by C89 in prototype.
17724
17725         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
17726         * lib/savedir.c: Likewise.
17727         * lib/mkdir.c (free): Remove decl.
17728         * lib/rmdir.c (rmdir): Define with a prototype.
17729         * lib/savedir.c: Include savedir.h first, to test interface.
17730
17731         * lib/mktime.c (STDC_HEADERS): Remove.
17732         Include <stdlib.h>, <string.h> unconditionally.
17733
17734         * lib/modechange.c: Include <stdlib.h> unconditionally.
17735         (malloc): Remove decl.
17736
17737         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
17738         (free): Remove decl.
17739
17740         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
17741         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
17742         (This type really should be intptr_t, but that's a C99ism.)
17743         (_obstack_memcpy): Remove: all uses changed to memcpy.
17744         Include <string.h> unconditionally.
17745         (struct obstack): Assume __STDC__ for types of members
17746         chunkfun, freefun, extra_arg.
17747         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
17748         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
17749         obstack_begin, obstack_specify_allocation,
17750         obstack_specify_allocation_with_arg, obstack_chunkfun,
17751         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
17752         Remove unprototyped decls and the macros that use them.
17753         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
17754         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
17755         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
17756         (defined __STDC__ && __STDC__)]:
17757         Remove nonprototyped code.
17758         Include <stdlib.h> unconditionally.
17759         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
17760         _obstack_allocated_p, _obstack_free, obstack_free,
17761         _obstack_memory_used, print_and_abort):
17762         Define using prototypes.
17763         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
17764         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
17765         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
17766         obstack_next_free, obstack_object_size, obstack_room) [0]:
17767         Remove unused, unprototyped code.
17768
17769         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
17770
17771         * lib/physmem.c (physmem_total, physmem_available, main): Define
17772         with prototypes.
17773
17774         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
17775         (main): Define with a prototype.
17776
17777         * lib/posixver.c (getenv): Remove decl.
17778
17779         * lib/putenv.c (malloc): Returns void *, not char *.
17780         Include <string.h> unconditionally.
17781         (strchr, memcpy, NULL): Do not define.
17782
17783         * lib/readtokens.c: Include readtokens.h first, to test interface.
17784         Include <stdlib.h>, <string.h> unconditionally.
17785         (init_tokenbuffer): Define with a prototype.
17786
17787         * lib/regex.c (PARAMS): Remove.  All uses removed.
17788         All uses of _RE_ARGS removed, too.
17789         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
17790         unconditionally.
17791         (bzero): Assume memset exists.
17792         (memcmp, memcpy, NULL): Remove.
17793         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
17794         char, or assignments to local vars of type signed char.
17795         (init_syntax_once, PREFIX(extract_number_and_incr),
17796         PREFIX(print_partial_compiled_pattern),
17797         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
17798         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
17799         PREFIX(regex_grow_registers), PREFIX(regex_compile),
17800         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
17801         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
17802         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
17803         wcs_compile_range, byte_compile_range, truncate_wchar,
17804         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
17805         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
17806         count_mbs_length, wcs_re_match_2_internal,
17807         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
17808         PREFIX(alt_match_null_string_p),
17809         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
17810         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
17811         regfree, PREFIX(extract_number)): Define with prototype.  Remove
17812         now-unnecessary declaration, if any.
17813         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
17814         regcomp, regexec):
17815         Remove now-unnecessary casts among pointer types.
17816         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
17817
17818         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
17819         (free): Remove decl.
17820
17821         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
17822
17823         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
17824         (free): Remove decl.
17825
17826         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
17827         * lib/xgetcwd.c: Likewise.
17828
17829         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
17830         (free): Remove decl.
17831
17832         * lib/strchrnul.c (strchrnul): Define with a prototype.
17833         Fix bug: c_in was not converted to char before searching.
17834
17835         The following changes are not K&R related:
17836
17837         * lib/group-member.h: Include <sys/types.h>, so that this file is
17838         self-contained.
17839         * lib/makepath.h: Likewise.
17840
17841         * lib/getusershell.c (readname, default_index, line_size, readname):
17842         Use size_t, not int, for sizes.
17843         (readname): If the size overflows, report an error instead of
17844         looping forever.
17845
17846 2003-09-09  Paul Eggert  <eggert@twinsun.com>
17847
17848         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
17849         libc.
17850
17851 2003-09-09  Paul Eggert  <eggert@twinsun.com>
17852
17853         * README: New section: portability guidelines.
17854
17855 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
17856
17857         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
17858         C89 spec.
17859
17860 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
17861
17862         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
17863
17864 2003-09-08  Paul Eggert  <eggert@twinsun.com>
17865
17866         Assume C89 or better; remove K&R cruft.
17867         A few of these changes were first proposed by Derek Robert Price
17868         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
17869
17870         * lib/addext.c: Include <string.h> unconditionally.
17871         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
17872         Don't declare getenv or malloc.
17873
17874         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
17875         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
17876         (NULL): Remove.
17877         (find_stack_direction, alloca): Use prototypes.
17878
17879         * lib/atexit.c (atexit): Define using a prototype.
17880
17881         * lib/basename.c, dirname.c, stripslash.c:
17882         Include <string.h> unconditionally.
17883
17884         * lib/bcopy.c: Include <stddef.h>.
17885         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
17886
17887         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
17888
17889         * lib/error.h (error, error_at_line, error_print_progname)
17890         [! (defined (__STDC__) && __STDC__)]: Remove decls.
17891         * lib/error.c: Include error.h first, to check interface.
17892         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
17893         (VA_START): Remove; all uses changeed to va_start.
17894         (exit, strerror): Remove decls.
17895         (error_print_progname): Prototype uncondionally.
17896         Don't include <errno.h>; no longer needed.
17897         (private_strerror): Remove.
17898         (error_tail): Always define.
17899         (error, error_at_line): Assume C89 or better; always use prototypes.
17900         * lib/fatal.c: Include "fatal.h" first, to test interface.
17901         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
17902         (VA_START): Remove; all uses changed to va_start.
17903         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
17904         this case.
17905         (exit): Remove decl.
17906         (fatal): Prototype unconditionally.  Assume va_start works.
17907         Abort at end, to pacify gcc.
17908
17909         * lib/euidaccess.c (main): Define with a prototype.
17910
17911         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
17912
17913         * lib/exitfail.c: Include <stdlib.h> unconditionally.
17914
17915         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
17916         prototypes.
17917         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
17918         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
17919         (getenv): Remove decl.
17920         (fnmatch): Define using a prototype.
17921         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
17922         (FCT): Define using a prototype.
17923
17924         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
17925
17926         * lib/gethostname.c: Include <stddef.h>.
17927         (gethostname): Define with prototype.  Length is size_t, not int.
17928
17929 2003-09-08  Paul Eggert  <eggert@twinsun.com>
17930
17931         Assume C89 or better; remove K&R cruft.
17932         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
17933         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
17934         string.h, getenv, malloc.
17935         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
17936         headers.
17937         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
17938         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
17939         do not check for strerror.
17940         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
17941         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
17942         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
17943         do not check for doprnt or vprintf.
17944         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
17945         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
17946
17947 2003-09-08  Paul Eggert  <eggert@twinsun.com>
17948
17949         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
17950         getversion.c should have been removed then, but was accidentally
17951         preserved.
17952
17953         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
17954         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
17955
17956 2003-09-08  Karl Berry  <karl@gnu.org>
17957
17958         * config/config.sub, config.guess, srclistvars.sh: update from savannah
17959                 config, forget about prep.
17960
17961         * config/depcomp, missing: update from automake.
17962
17963 2003-09-07  Paul Eggert  <eggert@twinsun.com>
17964
17965         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
17966         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
17967
17968 2003-09-07  Paul Eggert  <eggert@twinsun.com>
17969
17970         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
17971         copy_tm_result.  Bug reported by Simon Josefsson in
17972         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
17973
17974 2003-09-06  Paul Eggert  <eggert@twinsun.com>
17975
17976         * m4/time_r.m4: New file.
17977         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
17978         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
17979         is. Check for timegm declaration.
17980         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
17981         Do not check for gmtime_r.
17982         Replace mktime if __mktime_internal does not exist and if mktime
17983         hasn't been replaced already.
17984
17985 2003-09-06  Paul Eggert  <eggert@twinsun.com>
17986
17987         * lib/time_r.c, lib/time_r.h: New files.
17988
17989         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
17990         __localtime_r.
17991         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
17992         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
17993
17994         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
17995         __gmtime_r.
17996         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
17997         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
17998         Include <time_r.h>.
17999
18000         * lib/timegm.c: Switch to glibc implementation, with the following
18001         changes:
18002         [defined HAVE_CONFIG_H]: Include <config.h>.
18003         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
18004         (__mktime_internal) [!defined _LIBC]: New decl.
18005         (__gmtime_r) [!defined _LIBC]: New macro and function.
18006         (timegm): Use a prototype, since gnulib assumes C89.
18007         Do not bother declaring tmp to be const, as it's not really usefu.
18008         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
18009         (timegm): Declare only if HAVE_DECL_TIMEGM.
18010
18011 2003-09-06  Paul Eggert  <eggert@twinsun.com>
18012
18013         * MODULES.html.sh (func_all_modules): Add time_r.
18014         * modules/time_r: New file.
18015         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
18016         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
18017
18018 2003-09-03  Paul Eggert  <eggert@twinsun.com>
18019
18020         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
18021         Bug reported by Lute Kamstra in
18022         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
18023
18024         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
18025         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
18026         course with correspondingly smaller numbers for tomorrow and
18027         yesterday.  From Tadayoshi Funaba.  Originally installed into
18028         sh-utils on 1999-08-07, but the patch got lost (I guess during the
18029         coreutils merge?).
18030
18031 2003-08-31  Simon Josefsson  <jas@extundo.com>
18032
18033         * modules/timegm: New file.
18034         * MODULES.html.sh (func_all_modules): Add timegm.
18035
18036 2003-08-31  Simon Josefsson  <jas@extundo.com>
18037
18038         * m4/timegm.m4: New file.
18039
18040 2003-08-31  Simon Josefsson  <jas@extundo.com>
18041
18042         * lib/timegm.h: New file.
18043         * lib/timegm.c: New file.  Based on
18044         wget-1.8.2/src/http.c:mktime_from_utc.
18045
18046 2003-08-31  Karl Berry  <karl@gnu.org>
18047
18048         * lib/argp.h: update from libc.
18049
18050 2003-08-28  Bruno Haible  <bruno@clisp.org>
18051
18052         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
18053         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
18054         followed by '#define fnmatch fnmatch_posix' gives an error.
18055
18056 2003-08-28  Bruno Haible  <bruno@clisp.org>
18057
18058         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
18059         warning on QNX, which defines O_BINARY to 000000.
18060
18061 2003-08-27  Jim Meyering  <jim@meyering.net>
18062
18063         * m4/mkstemp.m4: Require that the system mkstemp be able to create
18064         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
18065         would fail after 32.  Reported by Danny Levinson.  Details here:
18066         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
18067
18068 2003-08-24  Bruno Haible  <bruno@clisp.org>
18069
18070         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
18071         MSVC7 <stdio.h> is included later.
18072
18073 2003-08-22  Simon Josefsson  <jas@extundo.com>
18074
18075         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
18076
18077 2003-08-20  Karl Berry  <karl@gnu.org>
18078
18079         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
18080
18081 2003-08-20  Bruno Haible  <bruno@clisp.org>
18082
18083         * modules/progname: New file.
18084         * MODULES.html.sh (func_all_modules): Add progname.
18085
18086 2003-08-20  Bruno Haible  <bruno@clisp.org>
18087
18088         * lib/progname.h: New file, from GNU gettext.
18089         * lib/progname.c: New file, from GNU gettext.
18090         * lib/progreloc.c: New file, from GNU gettext.
18091
18092 2003-08-19  Jim Meyering  <jim@meyering.net>
18093
18094         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
18095         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
18096
18097 2003-08-19  Bruno Haible  <bruno@clisp.org>
18098
18099         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
18100         more.
18101
18102 2003-08-19  Bruno Haible  <bruno@clisp.org>
18103
18104         * lib/xstrdup.c: Assume <string.h> exists.
18105
18106 2003-08-18  Paul Eggert  <eggert@twinsun.com>
18107
18108         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
18109         in makefile rules.
18110
18111 2003-08-18  Jim Meyering  <jim@meyering.net>
18112
18113         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
18114         * m4/lib-ld.m4: Likewise.
18115
18116 2003-08-18  Jim Meyering  <jim@meyering.net>
18117
18118         * lib/setenv.h: Indent nested cpp directive.
18119         * lib/vasnprintf.c: Remove trailing blanks.
18120
18121 2003-08-17  Simon Josefsson  <jas@extundo.com>
18122
18123         * modules/xstrndup: New file.
18124         * MODULES.html.sh (func_all_modules): Add xstrndup.
18125
18126 2003-08-17  Simon Josefsson  <jas@extundo.com>
18127
18128         * modules/argp: Fix autoconf macro name. Add more dependencies.
18129
18130 2003-08-17  Simon Josefsson  <jas@extundo.com>
18131
18132         * m4/xstrndup.m4: New file.
18133
18134 2003-08-17  Simon Josefsson  <jas@extundo.com>
18135
18136         * m4/argp.m4: New file.
18137
18138 2003-08-17  Simon Josefsson  <jas@extundo.com>
18139             Bruno Haible  <bruno@clisp.org>
18140
18141         * lib/xstrndup.h: New file.
18142         * lib/xstrndup.c: New file.
18143
18144 2003-08-17  Bruno Haible  <bruno@clisp.org>
18145
18146         * modules/strndup (Files, Include): Add lib/strndup.h.
18147
18148 2003-08-17  Bruno Haible  <bruno@clisp.org>
18149
18150         * modules/euidaccess (Files): Add lib/euidaccess.h.
18151
18152 2003-08-17  Bruno Haible  <bruno@clisp.org>
18153
18154         * lib/strndup.h: New file.
18155
18156 2003-08-17  Bruno Haible  <bruno@clisp.org>
18157
18158         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
18159         like AC_GNU_SOURCE.
18160         * modules/extensions (configure.ac): Comment out the invocation of
18161         gl_USE_SYSTEM_EXTENSIONS.
18162
18163 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18164
18165         Merges from coreutils, etc.
18166         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
18167         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
18168         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
18169         fixing a typo.
18170         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
18171         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
18172
18173 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18174
18175         Document merge from coreutils.
18176         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
18177         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
18178         * modules/utime: Add m4/utimes-null.m4.
18179
18180 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18181
18182         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
18183         space, undoing this 2003-08-12 change:
18184         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
18185
18186 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18187
18188         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
18189         strtoul.c from libc, undoing this 2003-08-12 change:
18190         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
18191
18192 2003-08-16  Jim Meyering  <jim@meyering.net>
18193
18194         Merges from coreutils.
18195         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
18196         prefix.  Adjust cache variables similarly.  Create 500 rather than
18197         just 300 files, to exercise bug on Darwin6.5, too.
18198         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
18199         $missing_dir.
18200         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
18201         AM_SYS_POSIX_TERMIOS.
18202         Reported by mkc@mathdogs.com.
18203         Also change use of $am_cv_sys_posix_termios
18204         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
18205         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
18206         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
18207         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
18208         in /proc/mounts until it finds one with matching device number.  This
18209         is unnecessary when the FILE argument *is* a mount point.  No stat call
18210         is necessary in that case.  So, disable the statvfs-testing code on
18211         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
18212         as RedHat bug# 84846.
18213         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
18214         to 1MB, so as not to render systems with no stack size limit (e.g.,
18215         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
18216         Include <unistd.h>.  On some systems,
18217         it is required for the definition of _SC_PAGESIZE.
18218
18219 2003-08-16  Jim Meyering  <jim@meyering.net>
18220
18221         Merge from coreutils.
18222         * lib/xstrtoimax.c: #else #if -> #elif.
18223         * lib/xstrtoumax.c: Likewise.
18224
18225 2003-08-16  Jim Meyering  <jim@meyering.net>
18226
18227         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
18228         * m4/utimes.m4: Removed.
18229         * m4/utimes-null.m4: Renamed from utimes.m4.
18230
18231         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
18232         to 1MB, so as not to render systems with no stack size limit (e.g.,
18233         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
18234         Include <unistd.h>.  On some systems,
18235         it is required for the definition of _SC_PAGESIZE.
18236
18237 2003-08-16  Jim Meyering  <jim@meyering.net>
18238         and Paul Eggert  <eggert@cs.ucla.edu>
18239
18240         Merges from coreutils, etc.
18241
18242         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
18243         using the latest version from cvs.  This avoids problems with #line
18244         directives using a vendor (Sun) compiler.
18245         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
18246         Don't set GETGROUPS_LIB here; now it's
18247         done via getgroups.m4's wrapper function.
18248         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
18249         rather than just in sh-util/configure.in, so that the
18250         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
18251         same.
18252         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
18253         AC_FUNC_GETLOADAVG where to find getloadavg.c.
18254         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
18255         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
18256         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
18257         Remove code that is now done by the newly-required macros.
18258         Append $(EXEEXT) to DF_PROG.
18259         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
18260         Do not invoke or require the following here,
18261         since prereq.m4 or some gnulib .m4 now does this for us:
18262         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
18263         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
18264         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
18265         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
18266         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
18267         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
18268         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
18269         AC_FUNC_OBSTACK.
18270         Do not replace the following functions, as this is now the job
18271         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
18272         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
18273         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
18274         atexit getpass, strdup, getpagesize.
18275         Replace 'raise'.
18276         Do not check for the following functions, as this is now the job
18277         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
18278         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
18279         setregid.
18280         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
18281         Check for sys/sysctl.h.
18282         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
18283         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
18284         of checking for ssize_t ourselves.
18285
18286         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
18287         Require every macro that gnulib/modules/* suggests for us.
18288         (jm_PREREQ_ADDEXT): New macro.
18289         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
18290         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
18291
18292         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
18293         (gl_PHYSMEM): Use it.
18294         Also check for `table' function.
18295         Check for new headers and functions.
18296         Add check for sys/sysmp.h.
18297         With suggestions from Kaveh Ghazi.
18298         Ignore headers that are present but cannot be compiled.  This
18299         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
18300         C 5.4.
18301
18302 2003-08-15  Paul Eggert  <eggert@twinsun.com>
18303
18304         Document merge from coreutils.
18305         * modules/userspec: Depend on posixver.
18306         * modules/strftime: Depend on tzset.
18307
18308 2003-08-15  Paul Eggert  <eggert@twinsun.com>
18309
18310         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
18311         rather than tab, after '#' in shell-script copyright notices.
18312         Suggested by Bruno Haible.
18313
18314 2003-08-15  Paul Eggert  <eggert@twinsun.com>
18315
18316         * config/srclist-update: Use three spaces, rather than tab, after '#'
18317         in shell-script copyright notices.  Suggested by Bruno Haible.
18318         Remove unnecessary parenthesization in regular expression.
18319
18320 2003-08-15  Jim Meyering  <jim@meyering.net>
18321
18322         Merge from coreutils.
18323         * lib/xgethostname.c: Include <stdlib.h>.
18324         (xghostname): Don't exit for anything other than memory-related
18325         failure; just return NULL.
18326         * lib/userspec.c: Include "posixver.h".
18327         (parse_user_spec): Accept `.' as a separator only
18328         in pre-POSIX-200112 mode.
18329         * lib/strtoimax.c: Use #elif rather than #else #if.
18330         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
18331         Remove function, now that we can rely on a working tzset function.
18332         [!_LIBC]: Ensure that the required autoconf test has been run.
18333         [!defined _NL_CURRENT && HAVE_STRFTIME]:
18334         Use underlying_strftime for %r.
18335         * lib/sha.c: Merge in some clean-up and optimization changes from
18336         glibc.
18337         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
18338         Ensure that it is a multiple of 64.
18339         Rearrange loop exit tests so as to avoid performing an
18340         additional fread after encountering an error or EOF.
18341         * lib/realloc.c: Update copyright date.
18342
18343 2003-08-15  Jim Meyering  <jim@meyering.net>
18344         and Paul Eggert  <eggert@twinsun.com>
18345
18346         Merge from coreutils.
18347         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
18348         member but strut utmpx does not.  Needed for AIX 4.3.3.
18349         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
18350
18351 2003-08-15  Jim Meyering  <jim@meyering.net>
18352         and Paul Eggert  <eggert@cs.ucla.edu>
18353
18354         Merges from coreutils, etc.
18355         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
18356         Require gl_FUNC_TZSET_CLOBBER.
18357         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
18358         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
18359         members.
18360
18361 2003-08-14  Paul Eggert  <eggert@twinsun.com>
18362
18363         Help the merge from coreutils.
18364         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
18365         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
18366         * m4/tzset.m4: Use it too.
18367
18368 2003-08-14  Paul Eggert  <eggert@twinsun.com>
18369
18370         * modules/tzset: New file.
18371
18372 2003-08-14  Jim Meyering  <jim@meyering.net>
18373
18374         Merges from coreutils.
18375         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
18376         variable names, rather than @FNMATCH_H@.
18377         * modules/alloca: Likewise for $(ALLOCA_H).
18378
18379         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
18380         the three copies of the literal target, `fnmatch.h'.
18381         * modules/alloca (alloca.h): Likewise.
18382
18383 2003-08-14  Jim Meyering  <jim@meyering.net>
18384
18385         Merge from coreutils.
18386         * m4/tzset.m4: New file.
18387         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
18388         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
18389         otherwise, AIX 5.1 systems would end up using the latter.
18390         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
18391         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
18392         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
18393         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
18394
18395 2003-08-14  Jim Meyering  <jim@meyering.net>
18396
18397         Merge from coreutils.
18398         * lib/obstack.h: Whitespace changes.
18399         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
18400         and xcalloc return values.
18401         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
18402         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
18403         hang on OSF/1 5.1 for DIR on both local and remote file systems.
18404         Reported by (and fix confirmed by) Nelson H. F. Beebe.
18405         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
18406         error from mntctl.
18407         Use mntctl's return value to drive the entry-processing loop, since
18408         we can't rely on the value of the vmt_length member in the last
18409         entry.  On some systems doing so could result in exhausting
18410         virtual memory.  Based in part on a patch from Mike Jetzer.
18411
18412 2003-08-14  Jim Meyering  <jim@meyering.net>
18413         and Paul Eggert  <eggert@twinsun.com>
18414
18415         Merges from coreutils, plus other fixes.
18416         * lib/physmem.c: Merge in portability changes from gcc/libiberty
18417         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
18418         for credits and details.  Thanks to Kaveh Ghazi for helping
18419         to keep these files in sync.
18420         (ARRAY_SIZE): Define it.
18421         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
18422         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
18423         (memcasecmp): Don't assume size_t fits in unsigned int.
18424         Remove casts and duplicate code.
18425         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
18426         (memcpy): Remove definition.
18427         Merge in some clean-up and optimization changes from glibc.
18428         [BLOCKSIZE]: Move definition to top of file.
18429         Ensure that it is a multiple of 64.
18430         Rearrange loop exit tests so as to avoid performing an
18431         additional fread after encountering an error or EOF.
18432         * lib/md5.h (md5_uintptr): Define.
18433         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
18434         return to the initial working directory.  Preserve errno
18435         for caller.
18436         * lib/idcache.c: Include "xalloc.h".
18437         (xmalloc, xrealloc): Remove decls.
18438         (getuser): Remove casts no longer required in C89.
18439         * lib/human.c: Include stdio.h, for sprintf.
18440         * lib/group-member.c: Include "xalloc.h".
18441         (xmalloc, xrealloc): Remove decls.
18442         (get_group_info): Remove casts no longer required in C89.
18443         * lib/getusershell.c (readname): Remove casts no longer required in
18444         C89.
18445         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
18446         * lib/getline.c: Whitespace fix, from coreutils.
18447
18448 2003-08-13  Paul Eggert  <eggert@twinsun.com>
18449
18450         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
18451         Check for isascii.
18452
18453         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
18454         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
18455         Undo previous (whitespace-only) change.
18456
18457 2003-08-13  Paul Eggert  <eggert@twinsun.com>
18458
18459         * lib/exclude.c: Include <ctype.h>
18460         (IN_CTYPE_DOMAIN): New macro.
18461         (is_space): New fn.
18462         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
18463         and empty lines.
18464
18465         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
18466         Undo previous (whitespace-only) change.
18467
18468 2003-08-13  Paul Eggert  <eggert@twinsun.com>
18469
18470         * config/srclist-update: Change update back to the old behavior,
18471         leaving whitespace alone.  Use one 'sed' command rather than a
18472         pipeline.
18473         (fixlicense): Now a variable, not a function.
18474         (remove_trailing_blanks): Remove.
18475         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
18476         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
18477         Undo previous (whitespace-only) change.
18478
18479 2003-08-12  Paul Eggert  <eggert@twinsun.com>
18480
18481         Merge from coreutils.
18482         * modules/euidaccess: Add lib_SOURCES, include for new
18483         file euidaccess.h
18484
18485 2003-08-12  Paul Eggert  <eggert@twinsun.com>
18486
18487         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
18488         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
18489         Normalize leading white space and remove trailing white space.
18490
18491         Merge from coreutils
18492         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
18493
18494         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
18495         0.12.1.  These files are now being upgraded automatically by
18496         ../config/srclist-update.
18497
18498 2003-08-12  Paul Eggert  <eggert@twinsun.com>
18499
18500         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
18501         Normalize leading white space and remove trailing white space.
18502         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
18503         notice, as per ../config/srclist-update.
18504
18505         Merge from coreutils.
18506         * lib/euidaccess.h: New file.
18507         * lib/euidaccess.c: Include it.
18508         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
18509         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
18510         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
18511
18512 2003-08-12  Paul Eggert  <eggert@twinsun.com>
18513
18514         * config/srclist-update: Add copyright notice.
18515         (remove_id_lines, remove_trailing_blanks): New constants.
18516         (fixfile): Use them to normalize spacing a bit in copied files.
18517         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
18518         Normalize leading white space and remove trailing white space.
18519
18520         * config/texinfo.tex: Sync with texinfo.
18521
18522         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
18523         strtoul.c from libc, to merge coreutils whitespace changes.
18524
18525         * config/srclist.txt: Get the following m4 files from gettext:
18526         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
18527         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
18528         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
18529         wint_t.m4.
18530
18531 2003-08-12  Karl Berry  <karl@gnu.org>
18532
18533         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
18534         been made.
18535
18536 2003-08-11  Paul Eggert  <eggert@twinsun.com>
18537
18538         * modules/gnu-source, m4/gnu-source.m4:
18539         Remove; we're assuming Autoconf 2.54 or later now.
18540         Suggested by Bruno Haible.
18541         * MODULES.html.sh (func_all_modules): Remove gnu-source.
18542
18543 2003-08-11  Bruno Haible  <bruno@clisp.org>
18544
18545         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
18546
18547 2003-08-11  Bruno Haible  <bruno@clisp.org>
18548
18549         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
18550         (vasnprintf): Use it instead of wcslen.
18551
18552 2003-08-11  Bruno Haible  <bruno@clisp.org>
18553
18554         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
18555         value to ensure that _Bool promotes to int. Use #define for _Bool when
18556         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
18557
18558 2003-08-10  Karl Berry  <karl@gnu.org>
18559
18560         * lib/regex.h: update from libc (whitespace fix).
18561
18562 2003-08-09  Paul Eggert  <eggert@twinsun.com>
18563
18564         Merge some files from coreutils.  These changes were
18565         originally made by Jim Meyering.
18566         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
18567         many older Unixes require this.
18568         * lib/alloca.c (alloca): Remove cast to argument of free;
18569         no longer needed in C89.
18570         * lib/alloca_.h, regex.h: Fix white space to match
18571         what GNU indent does.
18572
18573 2003-08-09  Paul Eggert  <eggert@twinsun.com>
18574
18575         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
18576         apparently Emacs's Unicode mode got confused before my 2003-08-05
18577         checkin.
18578
18579 2003-08-08  Paul Eggert  <eggert@twinsun.com>
18580
18581         * m4/extensions.m4: New file.
18582         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
18583         Require gl_USE_SYSTEM_EXTENSIONS.
18584         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
18585         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
18586
18587 2003-08-08  Paul Eggert  <eggert@twinsun.com>
18588
18589         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
18590         * modules/extensions, modules/gnu-source: New files.
18591         * modules/timespec, modules/unlocked-io: Depend on extensions.
18592
18593 2003-08-07  Paul Eggert  <eggert@twinsun.com>
18594
18595         * modules/restrict: New file.
18596         * MODULES.html.sh (func_all_modules): Add restrict.
18597         * modules/regex: Depend on restrict.
18598
18599 2003-08-07  Paul Eggert  <eggert@twinsun.com>
18600
18601         * m4/restrict.m4: New file.
18602         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
18603
18604 2003-08-07  Bruno Haible  <bruno@clisp.org>
18605
18606         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
18607         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
18608
18609 2003-08-07  Bruno Haible  <bruno@clisp.org>
18610
18611         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
18612         makes the module 'getndelim2' compatible with the module 'getline'.
18613
18614 2003-08-05  Paul Eggert  <eggert@twinsun.com>
18615
18616         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
18617         byte with "\201" to avoid glitches when editing that source file
18618         with multi-gnome-terminal.
18619
18620 2003-08-05  Paul Eggert  <eggert@twinsun.com>
18621
18622         * lib/bumpalloc.h: Remove.
18623
18624 2003-08-05  Paul Eggert  <eggert@twinsun.com>
18625
18626         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
18627         * modules/bumpalloc: Remove.
18628
18629 2003-08-04  Paul Eggert  <eggert@twinsun.com>
18630
18631         * lib/getloadavg.c: Change copyright notice and spacing to conform to
18632         GNU coding style.
18633
18634         Merge from coreutils.
18635         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
18636         1. From glibc.
18637         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
18638         from Karl Berry, implemented by Jim Meyering.
18639         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
18640         from Dmitry V. Levin.
18641         Remove anachronistic cast of xrealloc.
18642         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
18643         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
18644         type. Otherwise, it wouldn't compile with at least /bin/cc on
18645         ymp-cray-unicos9.0.2.X.
18646         Combine two mostly-identical uses of alloca into one.
18647         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
18648
18649 2003-08-04  Dave Love  <d.love@dl.ac.uk>
18650
18651         [From Emacs.]
18652
18653         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
18654         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
18655         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
18656         obsolete NLIST_NAME_UNION.
18657         [__GNU__]: Undef BSD and FSCALE.
18658         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
18659
18660 2003-08-03  Paul Eggert  <eggert@twinsun.com>
18661
18662         * lib/stdbool_.h (_Bool): Make it signed char, instead of
18663         an enum type, so that it's guaranteed to promote to int.  See:
18664         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
18665
18666 2003-08-03  Karl Berry  <karl@gnu.org>
18667
18668         * config/depcomp: update from automake.
18669
18670 2003-07-31  Paul Eggert  <eggert@twinsun.com>
18671
18672         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
18673         (strerror): Don't assume that a printable int fits in 14 bytes.
18674
18675 2003-07-31  Bruno Haible  <bruno@clisp.org>
18676
18677         * modules/getpass-gnu: New file.
18678         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
18679
18680 2003-07-31  Bruno Haible  <bruno@clisp.org>
18681
18682         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
18683
18684 2003-07-24  Karl Berry  <karl@gnu.org>
18685
18686         * config/missing: update from automake.
18687
18688 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
18689             Bruno Haible  <bruno@clisp.org>
18690
18691         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
18692         * lib/getline.c (getline, getdelim): Likewise.
18693         Remove _GNU_SOURCE define; now it's defined in config.h through
18694         m4/getline.m4.
18695
18696 2003-07-23  Karl Berry  <karl@gnu.org>
18697
18698         * config/config.sub: update from prep.
18699
18700 2003-07-22  Paul Eggert  <eggert@twinsun.com>
18701
18702         * modules/xalloc (Depends-on): Add exitfail.
18703         * modules/xmemcoll: Likewise.
18704
18705 2003-07-22  Paul Eggert  <eggert@twinsun.com>
18706
18707         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
18708         over-parenthesization in macros.
18709
18710         Sync with coreutils.
18711
18712         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
18713         required by C99.
18714
18715         Use `exit_failure' for xalloc and xmemcoll instead of their own
18716         private exit-failure variables.
18717         * lib/xalloc.h (xalloc_exit_failure): Remove.
18718         * lib/xmalloc.c: Likewise.  Include exitfail.h.
18719         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
18720         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
18721         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
18722         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
18723
18724 2003-07-20  Jim Meyering  <jim@meyering.net>
18725
18726         * modules/closeout (Depends-on): Add exitfail.
18727         Suggestion from Bruno Haible.
18728
18729 2003-07-19  Karl Berry  <karl@gnu.org>
18730
18731         * config/config.sub: update from prep.
18732
18733 2003-07-18  Paul Eggert  <eggert@twinsun.com>
18734
18735         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
18736         Remove.
18737         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
18738         to test that it can stand by itself.  Include "exitfail.h".
18739         Clients should set exit_failure instead.
18740         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
18741
18742 2003-07-18  Bruno Haible  <bruno@clisp.org>
18743
18744         * modules/getndelim2: New file.
18745         * modules/getline: Share files with module getndelim2.
18746         * modules/getnline: Depend on getndelim2 instead of sharing files with
18747         it. Add getnline.c to lib_SOURCES.
18748         * MODULES.html.sh (func_all_modules): Add getndelim2.
18749
18750 2003-07-18  Bruno Haible  <bruno@clisp.org>
18751
18752         * m4/getndelim2.m4: New file.
18753         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
18754         invoke gl_PREREQ_GETNDELIM2.
18755         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
18756         gl_PREREQ_GETNDELIM2.
18757         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
18758         gl_GETNDELIM2.
18759
18760 2003-07-18  Bruno Haible  <bruno@clisp.org>
18761
18762         * lib/getndelim2.h: New file.
18763         * lib/getndelim2.c: Make into a module of its own. Include config.h,
18764         getndelim2.h.
18765         (getndelim2): Make non-static. Change return type to ssize_t.
18766         * lib/getline.h: Change argument names.
18767         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
18768         * lib/getnline.c: Include getndelim2.h.
18769
18770 2003-07-18  Andreas Schwab  <schwab@suse.de>
18771
18772         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
18773
18774 2003-07-17  Karl Berry  <karl@gnu.org>
18775
18776         * config/config.sub: update from prep.
18777
18778 2003-07-17  Bruno Haible  <bruno@clisp.org>
18779
18780         * modules/getnline: New file.
18781         * modules/getline: Add lib/getndelim2.c to source file list.
18782         * MODULES.html.sh (func_all_modules): Add getnline.
18783
18784 2003-07-17  Bruno Haible  <bruno@clisp.org>
18785
18786         * m4/getnline.m4: New file.
18787
18788 2003-07-17  Bruno Haible  <bruno@clisp.org>
18789
18790         * m4/Makefile.am.in: Remove file.
18791         * m4/Makefile.am: Remove file.
18792         * m4/Makefile.in: Remove file.
18793
18794 2003-07-17  Bruno Haible  <bruno@clisp.org>
18795
18796         * lib/getnline.h: New file.
18797         * lib/getnline.c: New file.
18798         * lib/getndelim2.c: New file, extracted from getline.c.
18799         (getndelim2): Renamed from getdelim2, with added nmax argument.
18800         * lib/getline.c: Include getndelim2.c.
18801         (getdelim2): Moved out to getndelim2.c.
18802         (getline, getdelim): Update.
18803
18804 2003-07-17  Bruno Haible  <bruno@clisp.org>
18805
18806         * lib/Makefile.am: Remove file.
18807         * lib/Makefile.in: Remove file.
18808
18809 2003-07-17  Bruno Haible  <bruno@clisp.org>
18810
18811         * configure.in: Remove file.
18812         * Makefile.in: Remove file.
18813
18814 2003-07-17  Bruno Haible  <bruno@clisp.org>
18815
18816         * MODULES.html.sh: Put the </BODY> right before </HTML>.
18817
18818 2003-07-16  Karl Berry  <karl@gnu.org>
18819
18820         * config/srclist-update: was running fixlicense twice, which caused
18821                 texinfo.tex to be nullified for some reason.  Simplify,
18822                 $gplsrc is no longer needed as far as I can see?
18823
18824 2003-07-16  Jim Meyering  <jim@meyering.net>
18825
18826         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
18827
18828 2003-07-15  Paul Eggert  <eggert@twinsun.com>
18829
18830         * config/srclist.txt: Get the following files from gettext-runtime/intl
18831         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
18832         ref-del.sin.  From Bruno Haible.
18833         * config/srclist-update (fixfile): Change grep pattern again, since the
18834         previous fix didn't work (there was another trailing $).  Use
18835         '[$]' to escape the $s.
18836
18837 2003-07-15  Karl Berry  <karl@gnu.org>
18838
18839         * lib/vasnprintf.c: update from gettext.
18840
18841 2003-07-15  Karl Berry  <karl@gnu.org>
18842
18843         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
18844         gets expanded when surrounded by '$'.
18845
18846 2003-07-15  Jim Meyering  <jim@meyering.net>
18847
18848         * modules/save-cwd: Don't depend on error.  From Derek Price.
18849
18850 2003-07-15  Jim Meyering  <jim@meyering.net>
18851
18852         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
18853
18854 2003-07-14  Simon Josefsson  <jas@extundo.com>
18855
18856         * modules/mempcpy: New file.
18857         * MODULES.html.sh (func_all_modules): Add mempcpy.
18858
18859 2003-07-14  Simon Josefsson  <jas@extundo.com>
18860
18861         * m4/mempcpy.m4: New file.
18862
18863 2003-07-14  Simon Josefsson  <jas@extundo.com>
18864
18865         * lib/mempcpy.h: New file.
18866         * lib/mempcpy.c: New file.
18867
18868 2003-07-14  Paul Eggert  <eggert@twinsun.com>
18869
18870         * modules/getdate, modules/posixtm: Depend on mktime.
18871
18872 2003-07-14  Paul Eggert  <eggert@twinsun.com>
18873
18874         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
18875         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
18876         unicodeio.c, unicodeio.h, unlocked-io.h:
18877         Switch from LGPL to GPL.
18878
18879 2003-07-14  Paul Eggert  <eggert@twinsun.com>
18880
18881         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
18882         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
18883         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
18884         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
18885         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
18886         updated automatically by ../config/srclist-update.  This changes
18887         their license from LPGL to GPL.
18888
18889 2003-07-14  Paul Eggert  <eggert@twinsun.com>
18890
18891         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
18892         assumed to refer to the root of the most recent stable gettext version.
18893         * config/srclistvars.sh: Add defaults for eggert.
18894         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
18895         Match "This program" as well as "The program".  This is needed
18896         for gettext.
18897
18898 2003-07-14  Jim Meyering  <jim@meyering.net>
18899
18900         Don't emit diagnostics.  Let callers do that.
18901         * lib/save-cwd.c: Don't include "error.h".
18902         (save_cwd): Don't call error.  Ensure that errno is valid
18903         when returning nonzero.
18904
18905         * lib/save-cwd.h (restore_cwd): Update prototype.
18906         * lib/save-cwd.c (restore_cwd): Remove two parameters.
18907         Simplify.  Don't call error upon failure.  Let callers do that.
18908         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
18909         when auditing is enabled.  But don't bother updating the #if.
18910
18911 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
18912
18913         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
18914         it breaks C++ compilation.
18915         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
18916
18917 2003-07-10  Simon Josefsson  <jas@extundo.com>
18918
18919         * modules/strchrnul (Makefile.am): Add strchrnul.h.
18920
18921 2003-07-10  Jim Meyering  <jim@meyering.net>
18922
18923         * m4/clock_time.m4: Remove trailing blank.
18924         * m4/intmax_t.m4: Likewise.
18925
18926 2003-07-10  Jim Meyering  <jim@meyering.net>
18927
18928         * lib/vasnprintf.c: Remove trailing blanks.
18929         Make cpp indentation consistent.
18930
18931 2003-07-09  Paul Eggert  <eggert@twinsun.com>
18932
18933         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
18934         posixver.c, strftime.c, strnlen.c, strverscmp.c:
18935         Switch from LGPL to GPL.
18936
18937 2003-07-09  Paul Eggert  <eggert@twinsun.com>
18938
18939         * config/srclist.txt: Sort sublists.  Add
18940         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
18941         that differ from gnulib for one reason or another; we'd like this list
18942         to be smaller but for now let's document what we have.
18943
18944 2003-07-08  Paul Eggert  <eggert@twinsun.com>
18945
18946         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
18947         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
18948         and sweeter "eval x=$x".
18949         * config/srclist.txt: Get lib/argp* from glibc.
18950
18951 2003-07-07  Paul Eggert  <eggert@twinsun.com>
18952
18953         * lib/mktime.c: Fix some boundary cases and remove need for floating
18954         point.
18955
18956         Issue a compile-time diagnostic if time_t is floating point, or if
18957         two's complement arithmetic is not in effect, or if arithmetic
18958         right shift does not propagate the sign.  These assumptions were
18959         all in the original code but they weren't checked.
18960
18961         (TIME_T_MIDPOINT, verify): New macros.
18962         (__isleap): Remove; it has integer overflow problems.
18963         (leapyear): New function, without those problems.
18964         (ydhms_tm_diff): Remove; splitting into two parts.
18965         (ydhms_diff): New function, containing the arithmetic part of
18966         the old ydhms_tm_diff function.  Issue a compile-time
18967         diagnostic if we are not using C99 integer division.
18968         Avoid casts when possible.
18969         (guess_time_tm): New function, containing the checking part of
18970         the old ydhms_tm_diff function.  Return the new value, rather than
18971         the difference between it and the old.  Accept a new argument T
18972         so that *T specifies the old value.  Check for overflow in the result.
18973
18974         (__mktime_internal): Use a time_t offset, not a long int offset.
18975         This undoes the 2003-06-04 change, which is no longer needed now
18976         that we have better overflow checking.
18977         (localtime_offset): Likewise.
18978
18979         (__mktime_internal): Avoid harmful overflow on hosts where time_t
18980         and long are 64-bit but int is only 32-bit.
18981         (ydhms_diff): Use long int to store year1 and yday1.
18982         Issue a compile-time diagnostic if long int is not wide enough.
18983
18984         (__mktime_internal): Use long int to store adjusted year and yday.
18985         Use plain C rather than preprocessor commands, if that doesn't
18986         affect efficiency.
18987         Check for overflow (and try to repair) after each probe
18988         rather than checking only at the very end.  This avoids some bugs
18989         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
18990         does not equal GMT offset at maximum time).
18991         Use integer to check for overflow rather than floating point; this
18992         is more portable to non-IEEE hosts, and is a tad faster.
18993         When we detect that we are oscillating between two values,
18994         don't check whether tm_isdst has the requested value, since
18995         we already know the answer.  When tm_isdst has the wrong value,
18996         use a different heuristic to find the right one, based on the
18997         extreme values actually observed in practice in tz2003a,
18998         rather than the (overly optimistic) "previous 3 calendar quarters".
18999
19000         (not_equal_tm, print_tm, check_result): Use "const T" rather than
19001         "T const" to accommodate glibc style.
19002         (check_result): Use less-confusing report format.  "long" -> "long int.
19003         (main): Likewise.
19004         Don't loop if the iteration overflows time_t.
19005         Allow a negative step in the iteration.
19006
19007 2003-07-06  Karl Berry  <karl@gnu.org>
19008
19009         * config/depcomp: update from automake.
19010         * config/config.sub: update from prep.
19011
19012 2003-07-03  Karl Berry  <karl@gnu.org>
19013
19014         * config/config.guess: update from prep.
19015
19016 2003-07-01  Paul Eggert  <eggert@twinsun.com>
19017
19018         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
19019         xreadlink.c now includes it unconditionally.
19020
19021 2003-07-01  Paul Eggert  <eggert@twinsun.com>
19022
19023         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
19024         having it depend on HAVE_SYS_TYPES_H.
19025
19026 2003-07-01  Bruno Haible  <bruno@clisp.org>
19027
19028         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
19029         <sys/types.h> should be sufficient.
19030         Reported by Paul Eggert.
19031
19032 2003-06-26  Karl Berry  <karl@gnu.org>
19033
19034         * config/depcomp: update from automake.
19035
19036 2003-06-26  Bruno Haible  <bruno@clisp.org>
19037
19038         * modules/human: Depend on module stdbool.
19039
19040 2003-06-25  Bruno Haible  <bruno@clisp.org>
19041
19042         * modules/readlink: New file.
19043         * modules/xreadlink: Depend on it.
19044         * MODULES.html.sh (func_all_modules): Add readlink.
19045
19046 2003-06-25  Bruno Haible  <bruno@clisp.org>
19047
19048         * m4/readlink.m4: New file.
19049
19050 2003-06-25  Bruno Haible  <bruno@clisp.org>
19051
19052         * lib/readlink.c: New file.
19053
19054 2003-06-22  Karl Berry  <karl@gnu.org>
19055
19056         * config/srclist.txt: update mkinstalldirs from automake.
19057         * config/mkinstalldirs: update.
19058
19059 2003-06-22  Bruno Haible  <bruno@clisp.org>
19060
19061         Portability to mingw32.
19062         * m4/ssize_t.m4: New file, from GNU gettext.
19063         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
19064         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
19065
19066 2003-06-22  Bruno Haible  <bruno@clisp.org>
19067
19068         * modules/safe-read: Add m4/ssize_t.m4.
19069         * modules/xreadlink: Add m4/ssize_t.m4.
19070
19071 2003-06-20  Bruno Haible  <bruno@clisp.org>
19072
19073         Assume C89, so PARAMS isn't needed.
19074         * lib/unicodeio.h (PARAMS): Remove.
19075         * lib/unicodeio.c: Don't use PARAMS.
19076
19077 2003-06-18  Karl Berry  <karl@gnu.org>
19078
19079         * config/config.{guess,sub}: update from prep.
19080
19081 2003-06-18  Jim Meyering  <jim@meyering.net>
19082
19083         Merge changes from coreutils.
19084         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
19085         Remove explicit declarations of xmalloc and realloc.
19086         Include xalloc.h.
19087         (read_utmp): Remove anachronistic cast of xmalloc.
19088
19089 2003-06-17  Paul Eggert  <eggert@twinsun.com>
19090
19091         Assume C89, so PARAMS isn't needed.
19092         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
19093         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
19094         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
19095         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
19096         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
19097         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
19098         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
19099         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
19100         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
19101         lib/xstrtod.h, lib/xstrtol.h: Likewise.
19102         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
19103         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
19104         no longer needed. Anyway, config.h should always be included before any
19105         other file.
19106
19107 2003-06-11  Simon Josefsson  <jas@extundo.com>
19108
19109         * modules/sysexits: New file.
19110         * MODULES.html.sh (func_all_modules): Add sysexits.
19111
19112 2003-06-11  Simon Josefsson  <jas@extundo.com>
19113
19114         * lib/sysexit_.h: New file.
19115
19116 2003-06-11  Derek Price  <derek@ximbiot.com>
19117
19118         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
19119         necessary.
19120
19121 2003-06-11  Bruno Haible  <bruno@clisp.org>
19122
19123         * m4/sysexits.m4: New file.
19124
19125 2003-06-10  Simon Josefsson  <jas@extundo.com>
19126
19127         * lib/argp.h: New file, from glibc.
19128         * lib/argp-ba.c: New file, from glibc.
19129         * lib/argp-eexst.c: New file, from glibc.
19130         * lib/argp-fmtstream.c: New file, from glibc.
19131         * lib/argp-fmtstream.h: New file, from glibc.
19132         * lib/argp-fs-xinl.c: New file, from glibc.
19133         * lib/argp-help.c: New file, from glibc.
19134         * lib/argp-namefrob.h: New file, from glibc.
19135         * lib/argp-parse.c: New file, from glibc.
19136         * lib/argp-pv.c: New file, from glibc.
19137         * lib/argp-pvh.c: New file, from glibc.
19138         * lib/argp-xinl.c: New file, from glibc.
19139
19140 2003-06-10  Simon Josefsson  <jas@extundo.com>
19141
19142         * modules/strchrnul: New file.
19143
19144 2003-06-10  Simon Josefsson  <jas@extundo.com>
19145
19146         * modules/argp: New file.
19147
19148 2003-06-10  Simon Josefsson  <jas@extundo.com>
19149
19150         * m4/strchrnul.m4: New file.
19151
19152 2003-06-10  Simon Josefsson  <jas@extundo.com>
19153
19154         * lib/strchrnul.h: New file.
19155         * lib/strchrnul.c: New file.
19156
19157 2003-06-10  Bruno Haible  <bruno@clisp.org>
19158
19159         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
19160
19161 2003-06-07  Karl Berry  <karl@gnu.org>
19162
19163         * config/config.{guess,sub}: update from prep.
19164
19165 2003-06-07  Jim Meyering  <jim@meyering.net>
19166
19167         * modules/strtod: Use $(...) notation, not @...@ for
19168         AC_REPLACE'd variables.
19169         * modules/localcharset: Likewise.
19170
19171 2003-06-07  Jim Meyering  <jim@meyering.net>
19172
19173         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
19174         in place of my name in the copyright comment.
19175         Remove definition and uses of __P.
19176
19177         From coreutils.
19178         * lib/stat.c: Don't declare xmalloc explicitly.
19179         Instead, include "xalloc.h".
19180         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
19181         xrealloc, and xcalloc return values.
19182         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
19183         Improve comment.
19184         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
19185
19186 2003-06-07  Bruno Haible  <bruno@clisp.org>
19187
19188         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
19189         avoid AC_CONFIG_LINKS.
19190         * modules/fnmatch (Makefile.am): Use explicit creation rule for
19191         fnmatch.h, to avoid AC_CONFIG_LINKS.
19192         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
19193
19194 2003-06-07  Bruno Haible  <bruno@clisp.org>
19195
19196         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
19197         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
19198         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
19199         directory.
19200         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
19201         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
19202         directory.
19203
19204 2003-06-06  Jim Meyering  <jim@meyering.net>
19205
19206         Merge from coreutils.
19207         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
19208         Consolidate declarations and initializations of *_base* locals.
19209
19210         Merge from coreutils.
19211         This avoids a core dump on systems without GNU putenv,
19212         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
19213         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
19214         (unsetenv): New static function, from GNU libc.
19215         (rpl_putenv): Use it.
19216
19217         * lib/modechange.c: Remove trailing blanks.
19218
19219         Merge from coreutils.
19220         * lib/fsusage.c: Remove declaration of statfs.
19221         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
19222
19223         * lib/posixtm.c: Include <stdbool.h> unconditionally.
19224
19225 2003-06-06  Jim Meyering  <jim@meyering.net>
19226
19227         * lib/stdbool_.h: Renamed from stdbool.h.in.
19228
19229 2003-06-06  Jim Meyering  <jim@meyering.net>
19230             Bruno Haible  <bruno@clisp.org>
19231
19232         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
19233         Adjust Makefile.am snippet not to redirect directly to target.
19234         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
19235
19236 2003-06-05  Paul Eggert  <eggert@twinsun.com>
19237
19238         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
19239         mismatch, look in future quarters as well as past.  This fixes a
19240         bug when processing fall-backwards gaps immediately after a long
19241         period of daylight-saving time.
19242
19243         * lib/mktime.c: Assume freestanding C89 or better.
19244         (HAVE_LIMITS_H): Remove.  Assume it's 1.
19245         (__P): Remove; not used.
19246         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
19247         (mktime, not_equal_tm, print_tm, check_result,
19248         main): Use prototypes.  Use const * where appropriate.
19249         (main): Fix typo in testing code that uncovered by above changes.
19250         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
19251
19252 2003-06-04  Paul Eggert  <eggert@twinsun.com>
19253
19254         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
19255         locale.h, localeconv.  This merges changes from coreutils.
19256
19257         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
19258         It can be removed after the next Autoconf is released.
19259         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
19260         needed.
19261
19262 2003-06-04  Paul Eggert  <eggert@twinsun.com>
19263
19264         * lib/mktime.c: Fix Debian bug 177940
19265         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
19266         (localtime_offset): Now long int, not time_t, because we want it
19267         to be guaranteed to be signed.  All uses changed.
19268         (__mktime_internal): If overflow would occur when adding offset,
19269         don't add it.
19270
19271         Merge 'human' changes from coreutils.  Rewrite to support
19272         locale-specific notations like thousands separators.
19273         * lib/human.c: Simplify authorship notice.
19274         Include human.h immediately after config.h.
19275         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
19276         <limits.h>: Do not include, since human.h does.
19277         (SIZE_MAX, UINTMAX_MAX): New macros.
19278         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
19279         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
19280         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
19281         (power_letter): Renamed from suffixes.
19282         (generate_suffix_backwards): Remove.
19283         (adjust_value): Now takes int style (because of human.h changes)
19284         and long double value (for greater precision on some platforms).
19285         (group_number): New function.
19286         (human_readable): Use it.  Use integer options, not enum.
19287         Put the options before the sizes in the arg list.
19288         Support all the new options.
19289         The old human_readable function has been removed;
19290         use inttostr.h instead.
19291         (human_readable, default_block_size, humblock):
19292         Use uintmax_t, not int, for block sizes.
19293         (human_readable_inexact, block_size_types): Remove.
19294         (block_size_opts): New constant.
19295         (human_options): Renamed from human_block_size, with new signature
19296         that allows block sizes up to UINTMAX_MAX.  All callers changed.
19297         * lib/human.h: Add copyright and authorship notice.
19298         Include <limits.h> and <stdbool.h> unconditionally.
19299         (PARAMS): Remove.  All uses removed.
19300         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
19301         (enum human_inexact_style): Remove tag; now a nameless enum.
19302         (human_floor, human_ceiling, human_round_to_even): Now have
19303         values 2, 0, 1 rather than -1, 1, 0.
19304         (human_group_digits, human_suppress_point_zero, human_autoscale,
19305         human_base_1024, human_SI, human_B): New constants.
19306         (human_readable_inexact, human_block_size): Remove.
19307         (human_readable): Size args are now uintmax_t, not int.
19308         (human_options): New decl.
19309
19310         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
19311         unnecessary now that we assume C89 or better.  This change
19312         imported from coreutils.
19313
19314         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
19315         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
19316         in the 2003-05-30 sync from glibc.
19317
19318         .h files should stand alone, but we shouldn't include <sys/types.h>
19319         if we can get away with just <stddef.h>.
19320
19321         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
19322         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
19323         rather than <sys/types.h>, as we merely need size_t.
19324         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
19325         to get size_t.
19326         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
19327         Include <stdio.h>, to get FILE.
19328         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
19329         memcasecmp.h has included <stddef.h> and all we need is size_t.
19330         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
19331         our interface, instead of including <sys/types.h>
19332
19333 2003-06-04  Paul Eggert  <eggert@twinsun.com>
19334
19335         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
19336         now, as glibc mktime is buggy on non-glibc systems.
19337
19338 2003-06-03  Karl Berry  <karl@gnu.org>
19339
19340         * config/config.sub: update from prep.
19341
19342 2003-06-02  Paul Eggert  <eggert@twinsun.com>
19343
19344         [from coreutils]
19345         Fix some minor time-related bugs with POSIX time arguments.
19346         Some valid time stamps were being rejected (notably -1, and
19347         time stamps before 1900 on 64-bit hosts).  And some invalid
19348         time stamps were being accepted, e.g. September 31.
19349
19350         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
19351         that we can return (time_t) -1 successfully.
19352         * lib/posixtm.c: Likewise.
19353         [HAVE_STDBOOL_H]: Include <stdbool.h>.
19354         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
19355         (t): Remove static var.
19356         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
19357         of static var.  All uses changed.
19358         (year): Do not reject years before 1900; they can occur with
19359         64-bit time_t.
19360         (posix_time_parse): Do not check for out-of-range components;
19361         that is now the caller's responsibility, since our checks were
19362         only approximations.
19363         (posixtime): Use mktime to check for out-of-range components,
19364         since it knows them exactly.
19365         If mktime returns (time_t) -1, check whether an error actually occurred
19366         by invoking localtime on -1.
19367         (main) [TEST_POSIXTIME]: Check for input data errors, and report
19368         posixtime failures better.
19369         Improve the test data (in comments only).
19370
19371 2003-06-02  Karl Berry  <karl@gnu.org>
19372
19373         * config/mkinstalldirs (version): new variable.
19374         (--version): new option.
19375         (usage): improve message.
19376
19377 2003-05-30  Karl Berry  <karl@gnu.org>
19378
19379         * lib/mktime.c: update from libc.
19380
19381 2003-05-30  Bruno Haible  <bruno@clisp.org>
19382
19383         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
19384         * config/config.rpath: Upgrade to gettext-0.12.1.
19385
19386 2003-05-30  Bruno Haible  <bruno@clisp.org>
19387
19388         * m4/gettext.m4: Upgrade to gettext-0.12.1.
19389         * m4/nls.m4: New file, from gettext-0.12.1.
19390         * m4/po.m4: New file, from gettext-0.12.1.
19391         * m4/progtest.m4: Upgrade to gettext-0.12.1.
19392
19393 2003-05-30  Bruno Haible  <bruno@clisp.org>
19394
19395         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
19396         * lib/localcharset.h: Likewise.
19397         * lib/localcharset.c: Likewise.
19398
19399 2003-05-29  Karl Berry  <karl@gnu.org>
19400
19401         * config/config.rpath: update from gettext.
19402
19403 2003-05-28  Paul Eggert  <eggert@twinsun.com>
19404
19405         Assume the headers required for C89 freestanding compilers.
19406         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
19407         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
19408         * m4/human.m4 (gl_HUMAN): Likewise.
19409         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
19410         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
19411         * m4/userspec.m4 (gl_USERSPEC): Likewise.
19412         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
19413         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
19414         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
19415
19416 2003-05-28  Paul Eggert  <eggert@twinsun.com>
19417
19418         Assume the headers required for C89 freestanding compilers.
19419         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
19420         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
19421         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
19422         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
19423         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
19424         define, since <limits.h> is guaranteed to do that.
19425         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
19426         * lib/exclude.c: Include <stdbool.h> unconditionally.
19427         * lib/tempname.c: Include <stddef.h> unconditionally.
19428         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
19429         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
19430         <stddef.h> does that.
19431         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
19432         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
19433         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
19434         needed.
19435         * lib/xstrtol.c: Likewise.
19436         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
19437         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
19438
19439         * lib/addext.c (addext): Use assignment rather than cast, to avoid
19440         warnings on some platforms.
19441
19442         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
19443         arbitrarily.
19444
19445 2003-05-26  Jim Meyering  <jim@meyering.net>
19446
19447         Merge in a change from coreutils:
19448         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
19449         that is guaranteed to be `no'.  Use `no_such_member' to indicate
19450         that condition, rather than `-1' which is slightly misleading.
19451         Change the name of the cache variable to have the gl_ prefix.
19452         Prompted by a patch from Richard Dawe for DJGPP.
19453
19454 2003-05-24  Karl Berry  <karl@gnu.org>
19455
19456         * config/config.guess: update from prep.
19457
19458 2003-05-22  Karl Berry  <karl@gnu.org>
19459
19460         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
19461
19462 2003-05-20  Karl Berry  <karl@gnu.org>
19463
19464         * config/config.guess: update from prep.
19465
19466 2003-05-18  Karl Berry  <karl@gnu.org>
19467
19468         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
19469         might actually be set by the user.
19470
19471         * config/depcomp, install-sh, mdate-sh: update from automake.
19472
19473 2003-05-17  Bruno Haible  <bruno@clisp.org>
19474
19475         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
19476         invalid expansion for AC_EGREP_CPP.
19477         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
19478         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
19479         Suggested by Akim Demaille <akim@epita.fr> in
19480         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
19481
19482 2003-05-12  Jim Meyering  <jim@meyering.net>
19483
19484         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
19485         the space-padded-by-default conversion specifiers, %e, %k, %l.
19486
19487 2003-05-12  Bruno Haible  <bruno@clisp.org>
19488
19489         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
19490         the string is longer than 4 KB.
19491
19492 2003-05-11  Karl Berry  <karl@gnu.org>
19493
19494         * config/config.{guess,sub}: update from prep.
19495
19496 2003-05-09  Bruno Haible  <bruno@clisp.org>
19497
19498         * modules/error: Add m4/strerror_r.m4 to file list.
19499
19500 2003-05-03  Bruno Haible  <bruno@clisp.org>
19501
19502         Upgrade to Unicode-4.0.
19503         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
19504         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
19505         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
19506         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
19507         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
19508         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
19509         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
19510         Change width of U+E0100..U+E01EF from 1 to 0.
19511
19512 2003-04-25  Jim Meyering  <jim@meyering.net>
19513
19514         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
19515         of type size_t, not int.
19516
19517 2003-04-25  Bruno Haible  <bruno@clisp.org>
19518
19519         * lib/copy-file.c: Include <stddef.h>, for size_t.
19520
19521 2003-04-21  Paul Eggert  <eggert@twinsun.com>
19522
19523         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
19524         code which expansion is under static control.  Patch imported from
19525         Akim Demaille's patch to Bison; see
19526         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
19527
19528 2003-04-14  Bruno Haible  <bruno@clisp.org>
19529
19530         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
19531
19532 2003-04-11  Jim Meyering  <jim@meyering.net>
19533
19534         Merge changes from Coreutils.
19535
19536         2003-03-22  Jim Meyering  <jim@meyering.net>
19537
19538         * lib/strftime.c (widen): Cast alloca return value to proper type.
19539
19540         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
19541
19542         From GNU libc.
19543         * lib/strftime.c (my_strftime): Handle very large width
19544         specifications for numeric values correctly.  Improve checks for
19545         overflow.
19546
19547         2003-01-19  Jim Meyering  <jim@meyering.net>
19548
19549         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
19550         definitions.
19551         (nl_get_alt_digit) [! defined my_strftime]: Define.
19552         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
19553         _nl_get_alt_digit and _nl_get_walt_digit.
19554
19555         * lib/strftime.c (my_strftime): Merge in locale-related changes from
19556         libc. These changes have no effect outside of _LIBC.
19557
19558 2003-04-10  Bruno Haible  <bruno@clisp.org>
19559
19560         * modules/findprog: New file.
19561         * MODULES.html.sh (func_all_modules): Add it.
19562
19563 2003-04-10  Bruno Haible  <bruno@clisp.org>
19564
19565         * m4/findprog.m4: New file.
19566         * m4/eaccess.m4: New file.
19567
19568 2003-04-10  Bruno Haible  <bruno@clisp.org>
19569
19570         * lib/findprog.h: New file, from GNU gettext.
19571         * lib/findprog.c: New file, from GNU gettext.
19572
19573 2003-04-05  Jim Meyering  <jim@meyering.net>
19574
19575         Merge changes from Coreutils.
19576
19577         * lib/exclude.h (PARAMS): Remove definition and uses.
19578         * lib/exclude.c: Remove uses of `PARAMS'.
19579
19580         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
19581         Add test-cases for DOS filenames. Declare program_name.
19582         (main): Set up program_name.  Patch by Rich Dawe.
19583
19584         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
19585         error from mntctl.
19586         Use mntctl's return value to drive the entry-processing loop, since
19587         we can't rely on the value of the vmt_length member in the last
19588         entry.  On some systems doing so could result in exhausting
19589         virtual memory.  Based in part on a patch from Mike Jetzer.
19590
19591 2003-04-04  Bruno Haible  <bruno@clisp.org>
19592
19593         * modules/linebreak: New file.
19594         * MODULES.html.sh (func_all_modules): Add it.
19595
19596 2003-04-04  Bruno Haible  <bruno@clisp.org>
19597
19598         * m4/linebreak.m4: New file.
19599
19600 2003-04-04  Bruno Haible  <bruno@clisp.org>
19601
19602         * lib/linebreak.h: New file, from GNU gettext.
19603         * lib/linebreak.c: New file, from GNU gettext with slight
19604         modifications.
19605         * lib/lbrkprop.h: New file, from GNU gettext.
19606
19607 2003-04-03  Bruno Haible  <bruno@clisp.org>
19608
19609         * modules/utf8-ucs4: New file.
19610         * modules/utf16-ucs4: New file.
19611         * modules/ucs4-utf8: New file.
19612         * modules/ucs4-utf16: New file.
19613         * MODULES.html.sh (func_all_modules): Add them.
19614
19615 2003-04-03  Bruno Haible  <bruno@clisp.org>
19616
19617         * m4/utf-ucs4.m4: New file.
19618         * m4/ucs4-utf.m4: New file.
19619
19620 2003-04-03  Bruno Haible  <bruno@clisp.org>
19621
19622         * lib/utf8-ucs4.h: New file, from GNU gettext.
19623         * lib/utf16-ucs4.h: New file, from GNU gettext.
19624         * lib/ucs4-utf8.h: New file, from GNU gettext.
19625         * lib/ucs4-utf16.h: New file, from GNU gettext.
19626
19627 2003-04-02  Bruno Haible  <bruno@clisp.org>
19628
19629         * modules/binary-io: New file.
19630         * MODULES.html.sh (func_all_modules): Add it.
19631
19632 2003-04-02  Bruno Haible  <bruno@clisp.org>
19633
19634         * lib/binary-io.h: New file, from GNU gettext.
19635
19636 2003-04-01  Bruno Haible  <bruno@clisp.org>
19637
19638         * modules/pathname: New file.
19639         * MODULES.html.sh (func_all_modules): Add it.
19640
19641 2003-04-01  Bruno Haible  <bruno@clisp.org>
19642
19643         * lib/pathname.h: New file, from GNU gettext.
19644         * lib/concatpath.c: New file, from GNU gettext.
19645
19646 2003-03-30  Bruno Haible  <bruno@clisp.org>
19647
19648         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
19649
19650 2003-03-30  Bruno Haible  <bruno@clisp.org>
19651
19652         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
19653         function chown() doesn't exist.
19654
19655 2003-03-28  Bruno Haible  <bruno@clisp.org>
19656
19657         * modules/copy-file: New file.
19658         * MODULES.html.sh (func_all_modules): Add it.
19659
19660 2003-03-28  Bruno Haible  <bruno@clisp.org>
19661
19662         * m4/copy-file.m4: New file.
19663
19664 2003-03-28  Bruno Haible  <bruno@clisp.org>
19665
19666         * lib/copy-file.h: New file, from GNU gettext.
19667         * lib/copy-file.c: New file, from GNU gettext.
19668
19669 2003-03-18  Jim Meyering  <jim@meyering.net>
19670
19671         * lib/quote.c (quote_n): Fix typo in comment.
19672
19673 2003-03-18  Bruno Haible  <bruno@clisp.org>
19674
19675         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
19676         checking.
19677         * m4/onceonly_2_57.m4: Likewise.
19678
19679 2003-03-17  Bruno Haible  <bruno@clisp.org>
19680
19681         * m4/onceonly.m4: Require autoconf 2.54 or newer.
19682         (m4_quote): Remove macro.
19683         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
19684
19685 2003-03-14  Jim Meyering  <jim@meyering.net>
19686
19687         Merge changes from Coreutils.
19688         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
19689         to be const, in order to avoid warnings.
19690         (obstack_room): Likewise.
19691         (obstack_empty_p): Likewise.
19692
19693 2003-03-14  Bruno Haible  <bruno@clisp.org>
19694
19695         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
19696         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
19697
19698 2003-03-13  Paul Eggert  <eggert@twinsun.com>
19699
19700         Merge changes from Bison.
19701         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
19702         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
19703         when compiling Bison 1.875's `bitset bset = obstack_alloc
19704         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
19705         * lib/hash.c: Include <stdbool.h> unconditionally.
19706
19707 2003-03-13  Paul Eggert  <eggert@twinsun.com>
19708
19709         * m4/onceonly.m4 (m4_quote): New macro.
19710         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
19711         Quote AC_FOREACH variable-expansions properly.
19712
19713 2003-03-13  Paul Eggert  <eggert@twinsun.com>
19714
19715         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
19716
19717 2003-03-09  Paul Eggert  <eggert@twinsun.com>
19718
19719         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
19720         Reported by Bruce Becker; see:
19721         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
19722
19723 2003-03-03  Paul Eggert  <eggert@twinsun.com>
19724             Bruno Haible  <bruno@clisp.org>
19725
19726         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
19727         Reported by John Hughes, see
19728         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
19729
19730 2003-02-20  Bruno Haible  <bruno@clisp.org>
19731
19732         * MODULES.html.sh (func_all_modules): Add poll.
19733
19734 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
19735
19736         * modules/poll: New file.
19737
19738 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
19739
19740         * lib/poll_.h: New file.
19741         * lib/poll.c: New file.
19742
19743 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
19744
19745         * m4/poll.m4: New file.
19746
19747 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
19748
19749         * modules/mathl: New file.
19750
19751 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
19752
19753         * lib/mathl.h: New file.
19754         * lib/acosl.c: New file.
19755         * lib/asinl.c: New file.
19756         * lib/atanl.c: New file.
19757         * lib/ceill.c: New file.
19758         * lib/cosl.c: New file.
19759         * lib/expl.c: New file.
19760         * lib/floorl.c: New file.
19761         * lib/frexpl.c: New file.
19762         * lib/ldexpl.c: New file.
19763         * lib/logl.c: New file.
19764         * lib/sincosl.c: New file.
19765         * lib/sinl.c: New file.
19766         * lib/sqrtl.c: New file.
19767         * lib/tanl.c: New file.
19768         * lib/trigl.c: New file.
19769         * lib/trigl.h: New file.
19770
19771 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
19772
19773         * m4/mathl.m4: New file.
19774
19775 2003-02-18  Bruno Haible  <bruno@clisp.org>
19776
19777         * MODULES.html.sh (func_all_modules): Add mathl.
19778
19779 2003-02-17  Bruno Haible  <bruno@clisp.org>
19780
19781         * modules/mkdtemp: New module.
19782         * MODULES.html.sh (func_all_modules): Add it.
19783
19784 2003-02-17  Bruno Haible  <bruno@clisp.org>
19785
19786         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
19787
19788 2003-02-17  Bruno Haible  <bruno@clisp.org>
19789
19790         * lib/mkdtemp.h: New file, from GNU gettext.
19791         * lib/mkdtemp.c: New file, from GNU gettext.
19792
19793 2003-02-02  Jim Meyering  <jim@meyering.net>
19794
19795         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
19796         e.g. glibc-2.2.93.
19797
19798 2003-01-31  Bruno Haible  <bruno@clisp.org>
19799
19800         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
19801         'rpl_rename'.
19802         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
19803         'rpl_strnlen'.
19804         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
19805         'rpl_strtod'.
19806         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
19807         'rpl_utime'.
19808
19809 2003-01-31  Bruno Haible  <bruno@clisp.org>
19810
19811         * lib/rename.c: #undef rename before defining rpl_rename.
19812         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
19813
19814 2003-01-30  Bruno Haible  <bruno@clisp.org>
19815
19816         * modules/vasnprintf, modules/vasprintf: New modules.
19817         * MODULES.html.sh (func_all_modules): Add them.
19818
19819 2003-01-30  Bruno Haible  <bruno@clisp.org>
19820
19821         * m4/signed.m4: New file, from GNU gettext.
19822         * m4/longdouble.m4: New file, from GNU gettext.
19823         * m4/wchar_t.m4: New file, from GNU gettext.
19824         * m4/wint_t.m4: New file, from GNU gettext.
19825         * m4/vasnprintf.m4: New file.
19826         * m4/vasprintf.m4: New file.
19827
19828 2003-01-30  Bruno Haible  <bruno@clisp.org>
19829
19830         * lib/printf-args.h: New file, from GNU gettext.
19831         * lib/printf-args.c: New file, from GNU gettext.
19832         * lib/printf-parse.h: New file, from GNU gettext.
19833         * lib/printf-parse.c: New file, from GNU gettext.
19834         * lib/vasnprintf.h: New file, from GNU gettext.
19835         * lib/vasnprintf.c: New file, from GNU gettext.
19836         * lib/asnprintf.c: New file, from GNU gettext.
19837         * lib/vasprintf.h: New file, from GNU gettext with modifications.
19838         * lib/vasprintf.c: New file, from GNU gettext.
19839         * lib/asprintf.c: New file, from GNU gettext.
19840
19841 2003-01-29  Bruno Haible  <bruno@clisp.org>
19842
19843         * modules/stpncpy: New module.
19844         * MODULES.html.sh (func_all_modules): Add it.
19845
19846 2003-01-29  Bruno Haible  <bruno@clisp.org>
19847
19848         * m4/stpncpy.m4: New file.
19849
19850 2003-01-29  Bruno Haible  <bruno@clisp.org>
19851
19852         * lib/stpncpy.h: New file, from GNU gettext with modifications.
19853         * lib/stpncpy.c: New file, from GNU gettext with modifications.
19854
19855 2003-01-28  Bruno Haible  <bruno@clisp.org>
19856
19857         * modules/c-ctype: New module.
19858         * MODULES.html.sh (func_all_modules): Add it.
19859
19860 2003-01-28  Bruno Haible  <bruno@clisp.org>
19861
19862         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
19863         Paul Eggert.
19864         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
19865         Paul Eggert.
19866
19867 2003-01-27  Bruno Haible  <bruno@clisp.org>
19868
19869         * modules/xsetenv: New module.
19870         * MODULES.html.sh (func_all_modules): Add it.
19871
19872 2003-01-27  Bruno Haible  <bruno@clisp.org>
19873
19874         * lib/xsetenv.h: New file, from GNU gettext.
19875         * lib/xsetenv.c: New file, from GNU gettext.
19876
19877 2003-01-23  Jim Meyering  <jim@meyering.net>
19878
19879         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
19880         from working on systems without dirfd (at least Irix and OSF1/Tru64).
19881
19882 2003-01-23  Bruno Haible  <bruno@clisp.org>
19883
19884         * modules/minmax: New module.
19885         * MODULES.html.sh (func_all_modules): Add it.
19886
19887 2003-01-23  Bruno Haible  <bruno@clisp.org>
19888
19889         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
19890         Eggert.
19891
19892 2003-01-22  Bruno Haible  <bruno@clisp.org>
19893
19894         * modules/exit: New module.
19895         * MODULES.html.sh (func_all_modules): Add it.
19896
19897 2003-01-22  Bruno Haible  <bruno@clisp.org>
19898
19899         * lib/exit.h: New file, from GNU gettext.
19900
19901 2003-01-19  Bruno Haible  <bruno@clisp.org>
19902
19903         * gnulib-tool: Recognize option --extract-maintainer.
19904         (func_get_maintainer): New function.
19905         * modules/*: Add Maintainer entry.
19906
19907 2003-01-16  Jim Meyering  <jim@meyering.net>
19908
19909         * m4/regex.m4: The `regex' struct is both input and output.
19910         Initialize it before each use.  Patch by Tim Waugh.
19911
19912 2003-01-16  Bruno Haible  <bruno@clisp.org>
19913
19914         * MODULES.html.sh: Add a table of contents. Add the module name as
19915         leftmost column. Add hyperlinks.
19916
19917 2003-01-15  Bruno Haible  <bruno@clisp.org>
19918
19919         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
19920
19921 2003-01-15  Bruno Haible  <bruno@clisp.org>
19922
19923         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
19924         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
19925         suffix.
19926
19927 2003-01-15  Bruno Haible  <bruno@clisp.org>
19928
19929         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
19930
19931 2003-01-15  Bruno Haible  <bruno@clisp.org>
19932
19933         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
19934         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
19935
19936 2003-01-14  Jim Meyering  <jim@meyering.net>
19937
19938         * lib/same.c (same_name): Tweak a comment.
19939
19940 2003-01-14  Bruno Haible  <bruno@clisp.org>
19941
19942         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
19943         when a string comparison is sufficient.
19944
19945 2003-01-14  Bruno Haible  <bruno@clisp.org>
19946
19947         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
19948         'unsigned int'.
19949
19950 2003-01-14  Bruno Haible  <bruno@clisp.org>
19951
19952         * lib/hash-pjw.c: Add comment about low quality of this function.
19953
19954 2003-01-13  Bruno Haible  <bruno@clisp.org>
19955
19956         * modules/stpcpy: Distribute lib/stpcpy.h.
19957         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
19958
19959 2003-01-13  Bruno Haible  <bruno@clisp.org>
19960
19961         * modules/*: Add a description.
19962         * modules/strpbrk: Fix Makefile.am snippet.
19963         * modules/strtoimax: Fix dependencies.
19964         * modules/strtoumax: Likewise.
19965
19966 2003-01-13  Bruno Haible  <bruno@clisp.org>
19967
19968         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
19969         * modules/alloca (Makefile.am): All object files depend on alloca.h.
19970         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
19971
19972 2003-01-13  Bruno Haible  <bruno@clisp.org>
19973
19974         * gnulib-tool (func_create_testdir): Store config/* files in the main
19975         directory.
19976         * config.rpath: Move to ...
19977         * config/config.rpath: ... here.
19978         * modules/gettext: Contains config/config.rpath, not config.rpath.
19979         * modules/iconv: Likewise.
19980
19981 2003-01-12  Paul Eggert  <eggert@twinsun.com>
19982
19983         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
19984         to avoid collisions with libcurses and libreadline.
19985
19986         * m4/getstr.m4: Remove.
19987         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
19988
19989 2003-01-12  Paul Eggert  <eggert@twinsun.com>
19990
19991         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
19992         to avoid collisions with libcurses and libreadline.
19993
19994         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
19995         * lib/getstr.h, getstr.c: Remove.
19996         * lib/getline.c: Include "getline.h", to check interface.
19997         Move body of old getstr.c here: this defines MIN_CHUNK and
19998         declares getdelim2, which is renamed from getstr.
19999         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
20000
20001         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
20002         All uses changed.
20003         * lib/linebuffer.h: Likewise.
20004         (readline): Remove backward-compatibility macro.
20005
20006 2003-01-12  Paul Eggert  <eggert@twinsun.com>
20007
20008         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
20009         to avoid collisions with libcurses and libreadline.
20010         * getstr: Remove.
20011         * MODULES.html.sh: Remove getstr.
20012         * modules/getline: Depend on unlocked-io, not getstr.
20013
20014 2003-01-12  Jim Meyering  <jim@meyering.net>
20015
20016         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
20017
20018 2003-01-10  Bruno Haible  <bruno@clisp.org>
20019
20020         * modules/alloca: Change Makefile.am requirements. Simplify Include
20021         requirements. Add lib/alloca_.h to file list.
20022
20023 2003-01-10  Bruno Haible  <bruno@clisp.org>
20024
20025         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
20026
20027 2003-01-10  Bruno Haible  <bruno@clisp.org>
20028
20029         * lib/alloca_.h: New file.
20030         * lib/getdate.y: Unconditionally include alloca.h.
20031         * lib/makepath.c: Likewise.
20032         * lib/setenv.c: Likewise.
20033         * lib/userspec.c: Likewise.
20034
20035 2003-01-09  Karl Berry  <karl@gnu.org>
20036
20037         * MODULES.html.sh: include `dirname $0` in PATH, to find
20038         gnulib-tool.
20039
20040 2003-01-09  Bruno Haible  <bruno@clisp.org>
20041
20042         * modules/stdbool: Change configure.ac, Makefile.am requirements.
20043         Simplify Include requirements. Add lib/stdbool.h.in to file list.
20044
20045 2003-01-09  Bruno Haible  <bruno@clisp.org>
20046
20047         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
20048
20049 2003-01-09  Bruno Haible  <bruno@clisp.org>
20050
20051         * lib/stdbool.h.in: New file.
20052
20053 2003-01-09  Bruno Haible  <bruno@clisp.org>
20054
20055         * gnulib-tool (func_all_modules): Ignore files ending in ~.
20056         * MODULES.html.sh: Likewise.
20057
20058 2003-01-08  Jim Meyering  <jim@meyering.net>
20059
20060         * lib/full-write.c: Undefine and define-away `const' after inclusion
20061         of errno.h, not before.  Suggestion from Bruno Haible.
20062
20063 2003-01-08  Bruno Haible  <bruno@clisp.org>
20064
20065         * modules/full-read: Depend on full-write.
20066
20067 2003-01-08  Bruno Haible  <bruno@clisp.org>
20068
20069         * lib/safe-read.c: Include specification header first, to ensure its
20070         selfcontainedness.
20071         * lib/full-write.c: Likewise.
20072
20073 2003-01-07  Jim Meyering  <jim@meyering.net>
20074
20075         * lib/full-write.c: Rework so that it may serve to define full_read,
20076         too.
20077         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
20078
20079 2003-01-07  Bruno Haible  <bruno@clisp.org>
20080
20081         * lib/strtoimax.c: Include <stdint.h> as an alternative to
20082         <inttypes.h>.
20083         * lib/xstrtol.h: Likewise.
20084         * lib/xstrtoimax.c: Likewise.
20085         * lib/xstrtoumax.c: Likewise.
20086         * lib/human.h: Likewise.
20087
20088         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
20089         on systems that have <inttypes.h> but not <stdint.h>.
20090
20091 2003-01-07  Bruno Haible  <bruno@clisp.org>
20092
20093         * MODULES.html.sh: Add copyright notice.
20094         (missed_files): Omit CVS directory entries.
20095         (func_module): Make it work with sed-3.02.
20096         * MODULES.txt: Remove file.
20097
20098 2003-01-06  Jim Meyering  <jim@meyering.net>
20099
20100         * lib/version-etc.c: Update year in translatable copyright string.
20101
20102 2003-01-03  Karl Berry  <karl@gnu.org>
20103
20104         * config/config.{guess,sub}: update from prep.
20105
20106 2003-01-02  Karl Berry  <karl@gnu.org>
20107
20108         * doc/COPYING.DOC: belatedly updated to 1.2.
20109
20110 2003-01-01  Karl Berry  <karl@gnu.org>
20111
20112         * gnulib-tool (func_verify_module): report module name $module in
20113         error message, not $1.
20114         * gnulib-tool (create-testdir): don't complain if destdir couldn't
20115         be created, only if it doesn't exist.
20116         * gnulib-tool (last_checkin_date): don't expand the $Date here.
20117
20118 2002-12-31  Paul Eggert  <eggert@twinsun.com>
20119
20120         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
20121
20122 2002-12-31  Paul Eggert  <eggert@twinsun.com>
20123
20124         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
20125         memcmp if strcoll doesn't work.
20126
20127 2002-12-31  Bruno Haible  <bruno@clisp.org>
20128
20129         * lib/utime.c (utime_null): No need to call ftruncate if the file was
20130         nonempty.
20131
20132 2002-12-31  Bruno Haible  <bruno@clisp.org>
20133
20134         * lib/memcoll.c (STRCOLL): New macro.
20135         (memcoll): Use it.
20136
20137 2002-12-31  Bruno Haible  <bruno@clisp.org>
20138
20139         * lib/localcharset.h: New file.
20140         * lib/localcharset.c: Include it.
20141         * lib/unicodeio.c: Likewise.
20142
20143 2002-12-31  Bruno Haible  <bruno@clisp.org>
20144
20145         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
20146         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
20147
20148 2002-12-31  Bruno Haible  <bruno@clisp.org>
20149
20150         * lib/getline.h: Include <stddef.h>, for size_t.
20151
20152         * lib/unicodeio.h: Include <stddef.h>, for size_t.
20153         * lib/unicodeio.c: Don't include <stddef.h>.
20154
20155 2002-12-31  Bruno Haible  <bruno@clisp.org>
20156
20157         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
20158         HAVE_TM_ZONE.
20159
20160 2002-12-24  Karl Berry  <karl@gnu.org>
20161
20162         * config/config.guess: update from prep.
20163
20164 2002-12-24  Bruno Haible  <bruno@clisp.org>
20165
20166         General infrasructure.
20167         * m4/README: Rewritten.
20168         * m4/onceonly.m4: New file.
20169         * m4/onceonly_2_57.m4: New file.
20170
20171         Module atexit.
20172         * m4/atexit.m4: New file.
20173
20174         Module strtod.
20175         * m4/strtod.m4: New file.
20176
20177         Module strtol.
20178         * m4/strtol.m4: New file.
20179
20180         Module strtoul.
20181         * m4/strtoul.m4: New file.
20182
20183         Module memchr.
20184         * m4/memchr.m4: New file.
20185
20186         Module memcmp.
20187         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
20188         (jm_FUNC_MEMCMP): Invoke it.
20189
20190         Module memcpy.
20191         * m4/memcpy.m4: New file.
20192
20193         Module memmove.
20194         * m4/memmove.m4: New file.
20195
20196         Module memset.
20197         * m4/memset.m4: New file.
20198
20199         Module strcspn.
20200         * m4/strcspn.m4: New file.
20201
20202         Module strpbrk.
20203         * m4/strpbrk.m4: New file.
20204
20205         Module strstr.
20206         * m4/strstr.m4: New file.
20207
20208         Module strerror.
20209         * m4/strerror.m4: New file.
20210
20211         Module mktime.
20212         * m4/mktime.m4: Renamed from jm-mktime.m4.
20213         (gl_PREREQ_MKTIME): New macro.
20214         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
20215
20216         Module malloc.
20217         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
20218         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
20219         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
20220
20221         Module realloc.
20222         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
20223         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
20224         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
20225
20226         Module strftime.
20227         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
20228         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
20229         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
20230         gl_TM_GMTOFF.
20231         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
20232
20233         Module xalloc.
20234         * m4/xalloc.m4: New file.
20235
20236         Module alloca.
20237         * m4/alloca.m4: New file.
20238
20239         Module putenv.
20240         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
20241         (jm_FUNC_PUTENV): Invoke it.
20242
20243         Module setenv.
20244         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
20245         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
20246         when invoked twice.
20247         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
20248         gt_FUNC_SETENV.
20249
20250         Module memrchr.
20251         * m4/memrchr.m4: New file.
20252
20253         Module stpcpy.
20254         * m4/stpcpy.m4: New file.
20255
20256         Module strcase.
20257         * m4/strcase.m4: New file.
20258
20259         Module strdup.
20260         * m4/strdup.m4: New file.
20261
20262         Module strnlen.
20263         * m4/strnlen.m4: New file.
20264
20265         Module strndup.
20266         * m4/strndup.m4: New file.
20267
20268         Module xstrtod.
20269         * m4/xstrtod.m4: New file.
20270
20271         Module xstrtol.
20272         * m4/xstrtol.m4: New file.
20273
20274         Module getdate.
20275         * m4/getdate.m4: New file.
20276
20277         Module unlocked-io.
20278         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
20279         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
20280         * m4/jm-glibc-io.m4n: Remove file.
20281
20282         Module long-options.
20283         * m4/long-options.m4: New file.
20284
20285         Module md5.
20286         * m4/md5.m4: New file.
20287
20288         Module sha.
20289         * m4/sha.m4: New file.
20290
20291         Module getstr.
20292         * m4/getstr.m4: New file.
20293
20294         Module getline.
20295         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
20296         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
20297         <sys/types.h>, for size_t. Use the function name gnu_getline, not
20298         simply getline. Infoke gl_PREREQ_GETLINE.
20299
20300         Module obstack.
20301         * m4/obstack.m4: New file.
20302
20303         Module hash.
20304         * m4/hash.m4: New file.
20305
20306         Module readtokens.
20307         * m4/readtokens.m4: New file.
20308
20309         Module strverscmp.
20310         * m4/strverscmp.m4: New file.
20311
20312         Module stdbool.
20313         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
20314         OSF/1.
20315
20316         Module strtoll.
20317         * m4/strtoll.m4: New file.
20318
20319         Module strtoull.
20320         * m4/strtoull.m4: New file.
20321
20322         Module strtoimax.
20323         * m4/strtoimax.m4: New file.
20324
20325         Module strtoumax.
20326         * m4/strtoumax.m4: New file.
20327
20328         Module xstrtoimax.
20329         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
20330         jm_AC_PREREQ_XSTRTOIMAX.
20331         Moved the strtol prerequisites to strtol.m4.
20332         Moved the strtoll prerequisites to strtoll.m4.
20333         Moved the strtoimax prerequisites to strtoimax.m4.
20334
20335         Module xstrtoumax.
20336         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
20337         jm_AC_PREREQ_XSTRTOUMAX.
20338         Moved the strtoul prerequisites to strtoul.m4.
20339         Moved the strtoull prerequisites to strtoull.m4.
20340         Moved the strtoumax prerequisites to strtoumax.m4.
20341
20342         Module chown.
20343         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
20344         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
20345
20346         Module dup2.
20347         * m4/dup2.m4: New file.
20348
20349         Module ftruncate.
20350         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
20351         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
20352
20353         Module getgroups.
20354         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
20355         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
20356
20357         Module gettimeofday.
20358         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
20359         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
20360         gl_PREREQ_GETTIMEOFDAY.
20361
20362         Module mkdir.
20363         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
20364         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
20365
20366         Module mkstemp.
20367         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
20368         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
20369         jm_AC_TYPE_UINTMAX_T.
20370         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
20371
20372         Module stat.
20373         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
20374         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
20375
20376         Module lstat.
20377         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
20378         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
20379
20380         Module timespec.
20381         * m4/timespec.m4 (gl_TIMESPEC): New macro.
20382         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
20383         * m4/st_mtim.m4: Indentation.
20384
20385         Module nanosleep.
20386         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
20387         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
20388         gl_PREREQ_NANOSLEEP.
20389
20390         Module regex.
20391         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
20392         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
20393         (gl_REGEX): New macro.
20394
20395         Module rename.
20396         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
20397         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
20398
20399         Module rmdir.
20400         * m4/rmdir.m4: New file.
20401
20402         Module utime.
20403         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
20404         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
20405         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
20406
20407         Module dirname.
20408         * m4/dirname.m4: New file.
20409
20410         Module getopt.
20411         * m4/getopt.m4: New file.
20412
20413         Module unistd-safer.
20414         * m4/unistd-safer.m4: New file.
20415
20416         Module fnmatch.
20417         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
20418         declaration.
20419         (gl_PREREQ_FNMATCH_EXTRA): New macro.
20420         (gl_FUNC_FNMATCH_POSIX): New macro.
20421         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
20422         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
20423         simply fnmatch.
20424
20425         Module exclude.
20426         * m4/exclude.m4: New file.
20427
20428         Module human.
20429         * m4/human.m4: New file.
20430
20431         Module acl.
20432         * m4/acl.m4: Nop.
20433
20434         Module backupfile.
20435         * m4/backupfile.m4: New file.
20436         * m4/d-ino.m4: Indentation.
20437
20438         Module fsusage.
20439         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
20440         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
20441         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
20442
20443         Module dirfd.
20444         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
20445         requirements.
20446
20447         Module euidaccess.
20448         * m4/euidaccess.m4: New file.
20449
20450         Module file-type.
20451         * m4/file-type.m4: New file.
20452
20453         Module fileblocks.
20454         * m4/fileblocks.m4: New file.
20455
20456         Module filemode.
20457         * m4/filemode.m4: New file.
20458
20459         Module isdir.
20460         * m4/isdir.m4: New file.
20461
20462         Module lchown.
20463         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
20464         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
20465
20466         Module makepath.
20467         * m4/makepath.m4: New file.
20468
20469         Module modechange.
20470         * m4/modechange.m4: New file.
20471
20472         Module mountlist.
20473         * m4/mountlist.m4: New file.
20474         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
20475         Indentation.
20476
20477         Module path-concat.
20478         * m4/path-concat.m4: New file.
20479
20480         Module pathmax.
20481         * m4/pathmax.m4: New file.
20482
20483         Module same.
20484         * m4/same.m4: New file.
20485
20486         Module save-cwd.
20487         * m4/save-cwd.m4: New file.
20488
20489         Module savedir.
20490         * m4/savedir.m4: New file.
20491
20492         Module xgetcwd.
20493         * m4/xgetcwd.m4: New file.
20494         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
20495
20496         Module xreadlink.
20497         * m4/xreadlink.m4: New file.
20498
20499         Module safe-read.
20500         * m4/safe-read.m4: New file.
20501
20502         Module safe-write.
20503         * m4/safe-write.m4: New file.
20504
20505         Module closeout.
20506         * m4/closeout.m4: New file.
20507
20508         Module stdio-safer.
20509         * m4/stdio-safer.m4: New file.
20510
20511         Module getpass.
20512         * m4/getpass.m4: New file.
20513
20514         Module getugroups.
20515         * m4/getugroups.m4: New file.
20516
20517         Module group-member.
20518         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
20519         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
20520
20521         Module idcache.
20522         * m4/idcache.m4: New file.
20523
20524         Module userspec.
20525         * m4/userspec.m4: New file.
20526
20527         Module gettime.
20528         * m4/clock_time.m4: New file.
20529         * m4/gettime.m4: New file.
20530
20531         Module settime.
20532         * m4/settime.m4: New file.
20533
20534         Module posixtm.
20535         * m4/posixtm.m4: New file.
20536
20537         Module gethostname.
20538         * m4/gethostname.m4: New file.
20539
20540         Module canon-host.
20541         * m4/canon-host.m4: New file.
20542
20543         Module gettext.
20544         * m4/codeset.m4: New file, from gettext-0.11.5.
20545         * m4/gettext.m4: New file, from gettext-0.11.5.
20546         * m4/glibc21.m4: New file, from gettext-0.11.5.
20547         * m4/iconv.m4: New file, from gettext-0.11.5.
20548         * m4/intdiv0.m4: New file, from gettext-0.11.5.
20549         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
20550         * m4/inttypes.m4: New file, from gettext-0.11.5.
20551         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
20552         * m4/isc-posix.m4: New file, from gettext-0.11.5.
20553         * m4/lcmessage.m4: New file, from gettext-0.11.5.
20554         * m4/lib-ld.m4: New file, from gettext-0.11.5.
20555         * m4/lib-link.m4: New file, from gettext-0.11.5.
20556         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
20557         * m4/progtest.m4: New file, from gettext-0.11.5.
20558         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
20559         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
20560         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
20561
20562         Module localcharset.
20563         * m4/localcharset.m4: New file.
20564
20565         Module hard-locale.
20566         * m4/hard-locale.m4: New file.
20567
20568         Module mbswidth.
20569         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
20570         onceonly macros.
20571         * m4/mbrtowc.m4: Add comment.
20572
20573         Module memcasecmp.
20574         * m4/memcasecmp.m4: New file.
20575
20576         Module memcoll.
20577         * m4/memcoll.m4: New file.
20578
20579         Module unicodeio.
20580         * m4/unicodeio.m4: New file.
20581
20582         Module rpmatch.
20583         * m4/rpmatch.m4: New file.
20584
20585         Module yesno.
20586         * m4/yesno.m4: New file.
20587
20588         Module exitfail.
20589         * m4/exitfail.m4: New file.
20590
20591         Module c-stack.
20592         * m4/c-stack.m4 (gl_C_STACK): New macro.
20593         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
20594
20595         Module error.
20596         * m4/error.m4 (gl_ERROR): New macro.
20597         (jm_PREREQ_ERROR): Use onceonly macros.
20598
20599         Module fatal.
20600         * m4/fatal.m4: New file.
20601
20602         Module getloadavg.
20603         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
20604         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
20605
20606         Module getpagesize.
20607         * m4/getpagesize.m4: New file.
20608
20609         Module getusershell.
20610         * m4/getusershell.m4: New file.
20611
20612         Module physmem.
20613         * m4/physmem.m4: New file.
20614
20615         Module posixver.
20616         * m4/posixver.m4: New file.
20617
20618         Module quotearg.
20619         * m4/quotearg.m4: New file.
20620
20621         Module quote.
20622         * m4/quote.m4: New file.
20623
20624         Module readutmp.
20625         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
20626
20627         Module sig2str.
20628         * m4/sig2str.m4: New file.
20629
20630         Other.
20631         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
20632         ulonglong.m4.
20633         * m4/intmax_t.m4: New file.
20634         * m4/d-type.m4: Indentation.
20635         * m4/jm-macros.m4: Update.
20636         * m4/prereq.m4 (jm_PREREQ): Update.
20637         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
20638         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
20639         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
20640         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
20641         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
20642         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
20643         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
20644         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
20645         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
20646         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
20647         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
20648         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
20649         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
20650         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
20651         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
20652         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
20653         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
20654         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
20655         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
20656
20657 2002-12-24  Bruno Haible  <bruno@clisp.org>
20658
20659         * MODULES.txt: Update according to m4/ changes.
20660
20661         Module gettext.
20662         * config.rpath: New file, from gettext-0.11.5.
20663
20664         * modules/*: New module descriptions.
20665         * gnulib-tool: New file.
20666         * MODULES.html.sh: New file.
20667
20668 2002-12-21  Karl Berry  <karl@gnu.org>
20669
20670         * doc/fdl.texi: update to version 1.2.
20671
20672 2002-12-19  Karl Berry  <karl@gnu.org>
20673
20674         * config/config.guess: update from prep.
20675
20676 2002-12-18  Bruno Haible  <bruno@clisp.org>
20677
20678         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
20679         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
20680
20681 2002-12-17  Bruno Haible  <bruno@clisp.org>
20682
20683         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
20684         stdlib.h, string.h.
20685
20686 2002-12-17  Bruno Haible  <bruno@clisp.org>
20687
20688         * lib/canon-host.c (strdup): Remove unused declaration.
20689
20690         * lib/fsusage.c: Include full_read.h.
20691         (get_fs_usage): Use full_read instead of safe_read.
20692
20693         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
20694
20695 2002-12-12  Karl Berry  <karl@gnu.org>
20696
20697         * config/config.guess: update from prep.
20698
20699 2002-12-11  Bruno Haible  <bruno@clisp.org>
20700
20701         * m4/setenv.m4: New file, from gettext-0.11.5.
20702
20703 2002-12-11  Bruno Haible  <bruno@clisp.org>
20704
20705         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
20706         not unsetenv().
20707         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
20708         modifications:
20709
20710         2002-12-11  Bruno Haible  <bruno@clisp.org>
20711
20712                 * setenv.c (alloca): Fall back to malloc.
20713                 (freea): New macro.
20714                 (setenv): Use freea() to free memory allocated with alloca().
20715
20716         2002-11-13  Bruno Haible  <bruno@clisp.org>
20717
20718                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
20719                 function declarations.
20720                 * unsetenv.c (unsetenv): Likewise.
20721
20722         2002-03-04  Bruno Haible  <bruno@clisp.org>
20723
20724                 Portability to AIX 4.3.3.
20725                 * unsetenv.c: New file, extracted from setenv.c.
20726                 * setenv.c: Move the unsetenv() function to unsetenv.c.
20727
20728         2001-12-20  Bruno Haible  <bruno@clisp.org>
20729
20730                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
20731                 use malloc instead. For SunOS 4.
20732
20733         2001-12-11  Bruno Haible  <bruno@clisp.org>
20734
20735                 * setenv.c: Declare alloca.
20736                 (compar_fn_t): New typedef.
20737                 (KNOWN_VALUE, STORE_VALUE): Use it.
20738
20739         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
20740         setenv.h.
20741
20742 2002-12-10  Paul Eggert  <eggert@twinsun.com>
20743
20744         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
20745         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
20746         Choose values that are less likely to collide with system fnmatch
20747         options.
20748         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
20749         defined (e.g., a pure POSIX system).
20750         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
20751         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
20752
20753 2002-12-06  Paul Eggert  <eggert@twinsun.com>
20754
20755         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
20756         a pain in practice to deal with generated m4 files.  This change
20757         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
20758
20759         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
20760         and jm-glibc-io.m4, as they are no longer a special case.
20761         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
20762         kludge and the auto-generation stuff.  Check only whether the
20763         functions are declared, not whether they exist, since older hosts
20764         that don't declare the functions can't use the optimization anyway.
20765
20766 2002-12-06  Jim Meyering  <jim@meyering.net>
20767
20768         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
20769
20770         Merge in changes from libc's misc/error.c, in preparation
20771         for the merge of gnulib's changes back into libc.
20772
20773         * lib/error.c (_): Define only if not already defined.
20774         Move definition to follow all #include directives.
20775         Include unlocked-io.h only if !_LIBC.
20776         [_LIBC]: Include <libio/libioP.h>.
20777         [USE_IN_LIBIO]: Include <libio/iolibio.h>
20778         (fflush): Tweak definition to use INTUSE.
20779         (putc): Define.
20780
20781 2002-12-05  Paul Eggert  <eggert@twinsun.com>
20782
20783         * lib/alloca.c [defined emacs]: Include "lisp.h".
20784         (xalloc_die) [defined emacs]: New macro.
20785         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
20786         [! defined emacs]: Include <xalloc.h>.
20787         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
20788         (pointer): Typedef to POINTER_TYPE *.
20789         (malloc): Remove decl; we now always use xmalloc.
20790         (alloca): Use old-style definition, since Emacs needs this.
20791         Check for arithmetic overflow when computing combined size.
20792
20793 2002-12-04  Paul Eggert  <eggert@twinsun.com>
20794
20795         Do not generate unlocked-io.h automatically, since it's easier to
20796         maintain it by hand.
20797
20798         * lib/unlocked-io.h: New file, from GNU diffutils,
20799         but with proper copyright notice and attribution.
20800         * lib/gen-uio: Remove.
20801         * lib/Makefile.am: Add copyright notice.
20802         (libfetish_a_SOURCES): Add unlocked-io.h.
20803         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
20804         (DISTCLEANFILES, io_functions): Remove macros.
20805         (EXTRA_DIST): Remove gen_uio.
20806         (unlocked-io.h): Remove rule.
20807
20808 2002-12-04  Jim Meyering  <jim@meyering.net>
20809
20810         Reflect the fact that stat.c and lstat.c are no longer generated.
20811         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
20812         (DISTCLEANFILES): Likewise.
20813         (EXTRA_DIST): Likewise.
20814         (all_local): Don't depend on stat.c or lstat.c.
20815         (stat.c, lstat.c): Remove rules.
20816         (EXTRA_DIST): Remove xstat.in.
20817
20818         * lib/xstat.in: Remove file.  Contents moved into stat.c.
20819         * lib/stat.c: New file.  Contents mostly from xstat.in.
20820         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
20821         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
20822
20823         * lib/safe-read.c: Rework so that it may serve to define safe_write,
20824         too.
20825         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
20826
20827 2002-12-03  Jim Meyering  <jim@meyering.net>
20828
20829         * lib/safe-read.c, safe-write.c: Change variable names and comments,
20830         but not semantics, to minimize the differences between these two files.
20831         (safe_read): Change comment to mention SAFE_READ_ERROR.
20832
20833         * lib/safe-read.c (IS_EINTR): Define.
20834         (safe_read): Use IS_EINTR in place of in-function cpp directives.
20835
20836 2002-12-02  Jim Meyering  <jim@meyering.net>
20837
20838         * lib/safe-read.c (EINTR): Define.
20839         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
20840         (INT_MAX): Provide fallback.
20841         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
20842
20843         * lib/safe-read.h (SAFE_READ_ERROR): Define.
20844
20845 2002-12-02  Bruno Haible  <bruno@clisp.org>
20846
20847         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
20848         Define, taken from safe-read.c.
20849         (INT_MAX): Provide fallback.
20850         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
20851         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
20852
20853         * lib/safe-read.c (EINTR): Remove definition.
20854         (safe_read): Don't use EINTR if it is absent.
20855
20856 2002-12-01  Jim Meyering  <jim@meyering.net>
20857
20858         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
20859         zero.
20860         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
20861
20862 2002-11-27  Paul Eggert  <eggert@twinsun.com>
20863
20864         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
20865         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
20866         with `if (! (value < limit)) abort ();', for readability.
20867
20868 2002-11-26  Karl Berry  <karl@gnu.org>
20869
20870         * lib/strdup.c: copy from libc again, with jim's ok.
20871         * lib/.cppi-disable: re-add strdup.c
20872
20873 2002-11-25  Karl Berry  <karl@gnu.org>
20874
20875         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
20876         instead of "strtol.c".
20877
20878 2002-11-25  Karl Berry  <karl@gnu.org>
20879
20880         * config/install-sh: update from automake for variable quoting, $0 in
20881         error msgs, etc.
20882
20883         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
20884         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
20885         entry.
20886
20887 2002-11-25  Jim Meyering  <jim@meyering.net>
20888
20889         * lib/mktime.c: Sync from libc, now that it has the latest fix.
20890
20891 2002-11-24  Karl Berry  <karl@gnu.org>
20892
20893         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
20894         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
20895
20896 2002-11-24  Jim Meyering  <jim@meyering.net>
20897
20898         Update from coreutils:
20899
20900         * lib/mktime.c: Merge in changes from libc.
20901
20902         Avoid a link-time failure on some Linux systems.
20903         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
20904         (otherwise).
20905         (__mon_yday): Declare with the STATIC attribute.
20906         (__mktime_internal): Likewise.
20907         Based on a report from Greg Schafer.
20908
20909 2002-11-23  Jim Meyering  <jim@meyering.net>
20910
20911         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
20912         Use `unsigned', not `int', as type of index.
20913
20914         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
20915
20916         * lib/fsusage.c: Remove unneeded parentheses around operands of
20917         `defined'.
20918
20919 2002-11-22  Paul Eggert  <eggert@twinsun.com>
20920
20921         * lib/quotearg.h: Allow multiple inclusion by surrounding with
20922         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
20923         so that we can be included first.
20924         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
20925         * lib/quotearg.c: Include quotearg.h immediately after config.h.
20926         No need to include stddef.h or sys/types.h any more.
20927         Surround local include files with "", not "<>".
20928         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
20929         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
20930         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
20931         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
20932         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
20933         (ISPRINT): Remove; no longer needed now that we assume C89.
20934
20935         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
20936         Preserve errno.
20937
20938         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
20939         quotearg_char): Use SIZE_MAX rather than
20940         (size_t) -1 when we are talking about "infinity".
20941
20942         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
20943
20944 2002-11-22  Paul Eggert  <eggert@twinsun.com>
20945
20946         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
20947         hint that one should use `if (! x) abort ();' rather than `assert
20948         (x);', and anyway it's one less thing to worry about configuring.
20949         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
20950         hash_rehash, hash_insert): Use abort rather than assert.
20951
20952 2002-11-22  Bruno Haible  <bruno@clisp.org>
20953
20954         * lib/safe-read.h: Assume C89. Add comments.
20955         (safe_read): Change return type to size_t.
20956         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
20957         byte counts > SSIZE_MAX correctly.
20958         * lib/safe-write.h: New file.
20959         * lib/safe-write.c: New file.
20960         * lib/full-read.h: New file.
20961         * lib/full-read.c: New file.
20962         * lib/full-write.h: Assume C89. Add comments.
20963         * lib/full-write.c: Include safe-write.h.
20964         (full_write): Rewritten to use safe_write.
20965         Suggested by Jim Meyering and Paul Eggert.
20966
20967 2002-11-21  Jim Meyering  <jim@meyering.net>
20968
20969         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
20970
20971         Merge in changes from the coreutils.
20972
20973         2002-09-25  Paul Eggert  <eggert@twinsun.com>
20974         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
20975         <stdint.h>.
20976         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
20977         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
20978         int.  Work more efficiently if X is the same width as uintmax_t.
20979         Do not compare X to -1, to avoid bogus compiler warning.
20980         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
20981         Don't assume that f_frsize and f_bsize are the same type.
20982
20983         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
20984         warning on FreeBSD.
20985
20986         * lib/makepath.c (make_path): Restore umask *before* creating the final
20987         component.
20988         (make_path): Minor reformatting.
20989
20990         * lib/xmalloc.c: Adjust to work with new autoconf macros,
20991         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
20992         HAVE_MALLOC/HAVE_REALLOC.
20993
20994         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
20995         dummy ones.  At least on GNU/Linux systems, `auto' means something
20996         else.
20997         From Michael Stone.
20998
20999 2002-11-21  Bruno Haible  <bruno@clisp.org>
21000
21001         Remove case insensitive option matching.
21002         * lib/argmatch.h (argcasematch): Remove declaration.
21003         (ARGCASEMATCH): Remove macro.
21004         (__xargmatch_internal): Remove case_sensitive argument.
21005         (XARGMATCH): Update.
21006         (XARGCASEMATCH): Remove macro.
21007         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
21008         case_sensitive argument.
21009         (argcasematch): Remove function.
21010         (__xargmatch_internal): Remove case_sensitive argument.
21011         (main): Use XARGMATCH instead of XARGCASEMATCH.
21012
21013         * lib/xmalloc.c: Change compile-time error message. Add comment about
21014         required autoconf version.
21015
21016 2002-11-20  Paul Eggert  <eggert@twinsun.com>
21017
21018         Merge argmatch cleanups from Bison.  Assume C89.
21019
21020         * lib/argmatch.c: Include config.h here, not in argmatch.h.
21021         Include stdlib.h, for EXIT_FAILURE.
21022         Always include <string.h>, since we assume C89.
21023         (EXIT_FAILURE): Remove pre-C89 bug workaround.
21024         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
21025         Include <stddef.h> instead, since it's all we need for size_t.
21026         (PARAMS): Remove.  All uses removed.
21027         (ARRAY_CARDINALITY): Do not bother to #undef.
21028         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
21029         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
21030         Remove unnecessary parentheses.
21031         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
21032         Insert necessary parentheses.
21033         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
21034         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
21035
21036 2002-11-19  Bruno Haible  <bruno@clisp.org>
21037
21038         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
21039         * lib/mbswidth.h: Include <stddef.h>, for size_t.
21040
21041         * lib/mbswidth.h (PARAMS): Remove macro.
21042         (mbswidth, mbsnwidth): Use ANSI C function declarations.
21043         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
21044
21045         * lib/gcd.h (PARAMS): Remove macro.
21046         (gcd): Use ANSI C function declarations.
21047         * lib/gcd.c (gcd): Likewise.
21048
21049 2002-11-15  Bruno Haible  <bruno@clisp.org>
21050
21051         * lib/strcspn.c: Include <stddef.h>.
21052         (strcspn): Use ANSI C function declaration. Change return type to
21053         size_t. Use NULL.
21054         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
21055         (strpbrk): Use NULL.
21056         * lib/strpbrk.h (PARAMS): Remove macro.
21057         (strpbrk): Use ANSI C function declaration.
21058         * lib/strstr.c: Don't include <sys/types.h>.
21059         * lib/strstr.h (PARAMS): Remove macro.
21060         (strstr): Use ANSI C function declarations.
21061
21062 2002-11-14  Karl Berry  <karl@gnu.org>
21063
21064         * config/mkinstalldirs: `do' on separate line, instead of
21065         `for var; do'.
21066
21067 2002-11-06  Bruno Haible  <bruno@clisp.org>
21068
21069         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
21070         * lib/gcd.c (gcd): Likewise.
21071
21072 2002-11-05  Bruno Haible  <bruno@clisp.org>
21073
21074         * lib/gcd.h: New file, from gettext-0.11.5.
21075         * lib/gcd.c: New file, from gettext-0.11.5.
21076
21077 2002-11-05  Bruno Haible  <bruno@clisp.org>
21078
21079         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21080         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21081         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21082         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21083
21084         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
21085         <libintl.h>.
21086         * lib/makepath.c: Include gettext.h instead of <locale.h> and
21087         <libintl.h>.
21088
21089         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
21090         * lib/human.c: Include gettext.h instead of <libintl.h>.
21091         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
21092         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
21093         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
21094         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
21095         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
21096         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
21097         (textdomain): Remove definition.
21098         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
21099
21100         * lib/long-options.c: Remove include of <libintl.h> and definition of
21101         _.
21102         * lib/same.c: Remove include of <libintl.h> and definition of _.
21103
21104 2002-11-04  Owen Taylor  <otaylor@redhat.com>
21105
21106         * lib/config.charset: A few additions for Solaris.
21107
21108 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
21109
21110         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
21111         * lib/localcharset.c (locale_charset): Declare as extern "C".
21112
21113 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
21114
21115         * lib/config.charset: msdos in uk_UA uses CP1125.
21116
21117 2002-11-04  Bruno Haible  <bruno@clisp.org>
21118
21119         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
21120         * lib/strcase.h: New file, from GNU gettext-0.11.5.
21121         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
21122         * lib/strstr.h: New file, from GNU gettext-0.11.5.
21123         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
21124
21125 2002-11-04  Bruno Haible  <bruno@clisp.org>
21126
21127         * lib/localcharset.c (locale_charset): Don't return an empty string.
21128
21129 2002-11-04  Bruno Haible  <bruno@clisp.org>
21130
21131         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
21132         aliases.
21133
21134 2002-11-04  Bruno Haible  <bruno@clisp.org>
21135
21136         * lib/config.charset: Update for newest glibc. Add canonical names
21137         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
21138
21139 2002-11-04  Bruno Haible  <bruno@clisp.org>
21140
21141         * lib/config.charset: Add support for NetBSD.
21142
21143 2002-11-04  Bruno Haible  <bruno@clisp.org>
21144
21145         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
21146
21147 2002-11-01  Bruno Haible  <bruno@clisp.org>
21148
21149         * configure.in: Add AC_CONFIG_AUX_DIR call.
21150         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
21151         test/Makefile.
21152         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
21153
21154 2002-09-28  Karl Berry  <karl@gnu.org>
21155
21156         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
21157         installed automake until the next release, since changes have been
21158         made.
21159
21160 2002-09-25  Karl Berry  <karl@gnu.org>
21161
21162         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
21163         * lib/getopt*: copy from libc/posix.
21164         * lib/gettext.h: copy from gettext.
21165         * lib/.cppi-disable: add strdup.c, gettext.h.
21166
21167 2002-09-25  Karl Berry  <karl@gnu.org>
21168
21169         * config/srclist.txt: enable gettext.h check.
21170         * config/config.{guess,sub}: update from prep.
21171         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
21172                 from automake 1.6.3.
21173         See srclist*.
21174
21175 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
21176
21177         * regex.c (PATFETCH): Remove the translating fetch.
21178         (PATFETCH_RAW): Rename to PATFETCH.
21179         (set_image_of_range): New fun.
21180         (SET_RANGE_TABLE_WORK_AREA): Use it.
21181         (regex_compile): Don't translate the pattern chars so eagerly.
21182         Only do it when inserting an `exactn' bytecode or when handling
21183         a char-range.
21184         (mutually_exclusive_p): Avoid empty statement.
21185
21186 2002-07-06  Jim Meyering  <meyering@lucent.com>
21187
21188         * m4/README: Don't mention Makefile.am.in.
21189         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
21190
21191 2002-07-01  Jim Meyering  <meyering@lucent.com>
21192
21193         * lib/c-stack.c: Include sys/time.h.
21194         From Volker Borchert.
21195
21196 2002-06-26  Paul Eggert  <eggert@twinsun.com>
21197
21198         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
21199
21200 2002-06-26  Paul Eggert  <eggert@twinsun.com>
21201
21202         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
21203         New macro.  Use it uniformly instead of
21204         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
21205         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
21206         reported by Vin Shelton.
21207
21208 2002-06-22  Paul Eggert  <eggert@twinsun.com>
21209
21210         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
21211         Do not assume SA_SIGINFO behavior.
21212         Bug reported by Jim Meyering on NetBSD 1.5.2.
21213
21214 2002-06-22  Jim Meyering  <meyering@lucent.com>
21215
21216         * m4/c-stack.m4: New file, from diffutils-2.8.2.
21217         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
21218
21219         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
21220         now that configure.ac uses AC_GNU_SOURCE.
21221         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
21222         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
21223
21224         Update to latest tools.  Suggestions from Paul Eggert.
21225         * m4/stdbool.m4: New file, from diffutils-2.8.2.
21226         * m4/gnu-source.m4: Update from diffutils-2.8.2.
21227         * m4/fnmatch.m4: Likewise.
21228         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
21229         to AC_HEADER_STDBOOL
21230
21231 2002-06-22  Jim Meyering  <meyering@lucent.com>
21232
21233         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
21234         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
21235
21236 2002-06-22  Jim Meyering  <meyering@lucent.com>
21237
21238         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
21239
21240         * lib/exitfail.c, exitfail.h: Likewise.
21241         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
21242
21243         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
21244         of fnmatch.h.
21245         (EXTRA_DIST): Add fnmatch_loop.c.
21246         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
21247
21248         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
21249         * lib/fnmatch.c: Update from diffutils-2.8.2.
21250         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
21251         * lib/fnmatch.h: Remove file.
21252
21253 2002-06-21  Jim Meyering  <meyering@lucent.com>
21254
21255         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
21256         * m4/mbrtowc.m4: Likewise.
21257
21258         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
21259         * m4/mbswidth.m4: Reflect name change:
21260         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
21261         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
21262
21263         * m4/lib-link.m4: Update from gettext-0.11.2.
21264         * m4/gettext.m4: Likewise.
21265
21266         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
21267         From Alfred M. Szmidt.
21268
21269 2002-06-18  Paul Eggert  <eggert@twinsun.com>
21270
21271         * lib/file-type.h: Report an error if neither S_ISREG nor
21272         S_IFREG is defined, instead of using a test specific to glibc
21273         2.2.  This should be safe, since POSIX requires S_ISREG and
21274         Unix Version 7 had S_IFREG.  We don't need to check for
21275         <sys/types.h> since we don't use any symbols that it defines.
21276
21277 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
21278
21279         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
21280         $@-t, so that each temporary file name is unique and valid in the first
21281         8 characters, for operation under DOS.
21282
21283 2002-06-15  Paul Eggert  <eggert@twinsun.com>
21284
21285         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
21286
21287 2002-06-15  Jim Meyering  <meyering@lucent.com>
21288
21289         Work even with DJGPP 2.03, which lacks support for symlinks.
21290         From Richard Dawe.
21291         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
21292         is defined.
21293         * lib/lchown.c (S_ISLNK): Likewise.
21294
21295 2002-06-15  Jim Meyering  <meyering@lucent.com>
21296
21297         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
21298         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
21299         have been included before this file.
21300
21301 2002-06-14  Jim Meyering  <meyering@lucent.com>
21302
21303         * lib/file-type.h: Use the version from diffutils-2.8.2.
21304         * lib/file-type.c: Likewise.
21305
21306 2002-06-07  Jim Meyering  <meyering@lucent.com>
21307
21308         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
21309         They're needed at least for NetBSD 1.5.2.
21310         ($statxfs_includes): Include those same headers.
21311         ($statxfs_includes): Include sys/vfs.h if available.
21312         ($statxfs_includes): Likewise for sys/statvfs.h.
21313         Check for the following members in both structs statfs and statvfs:
21314         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
21315
21316 2002-06-01  Jim Meyering  <meyering@lucent.com>
21317
21318         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
21319         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
21320
21321 2002-05-28  Jim Meyering  <meyering@lucent.com>
21322
21323         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
21324         Reported by Volker Borchert.
21325
21326 2002-05-27  Jim Meyering  <meyering@lucent.com>
21327
21328         Fix a problem seen only on nonconforming systems whereby ls.c's
21329         use of localtime, and then of gettimeofday would cause trouble:
21330         the localtime call used to initialize rpl_gettimeofday's save
21331         mechanism would clobber ls's current local time information so
21332         that in any long listing the first file would always be listed
21333         with date 1970-01-01.  Analysis by Volker Borchert.
21334
21335         * lib/gettimeofday.c (localtime): Undefine.
21336         (rpl_localtime): New function.
21337
21338 2002-05-27  Jim Meyering  <meyering@lucent.com>
21339
21340         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
21341         localtime.
21342
21343         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
21344         use the replacement function; it wouldn't resolve at link time.
21345         Reported by Volker Borchert.
21346
21347 2002-05-22  Jim Meyering  <meyering@lucent.com>
21348
21349         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
21350         file-type.h.
21351         * lib/file-type.h: New file.
21352         * lib/file-type.c (file_type): New file/function.  Extracted from
21353         diffutils.
21354
21355 2002-04-30  Jim Meyering  <meyering@lucent.com>
21356
21357         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
21358
21359 2002-04-29  Paul Eggert  <eggert@twinsun.com>
21360
21361         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
21362
21363 2002-04-29  Paul Eggert  <eggert@twinsun.com>
21364
21365         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
21366         Do not check for alloca.h (no longer used) or stdbool.h (was never
21367         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
21368
21369 2002-04-29  Paul Eggert  <eggert@twinsun.com>
21370
21371         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
21372
21373 2002-04-29  Jim Meyering  <meyering@lucent.com>
21374
21375         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
21376         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
21377         Use AC_FUNC_STRNLEN here instead.
21378
21379         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
21380         With autoconf-2.53a, it's part of AC_PROG_CC.
21381
21382 2002-04-28  Paul Eggert  <eggert@twinsun.com>
21383
21384         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
21385         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
21386
21387 2002-04-28  Paul Eggert  <eggert@twinsun.com>
21388
21389         * lib/sig2str.h, lib/sig2str.c: New files.
21390         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
21391
21392 2002-04-28  Paul Eggert  <eggert@twinsun.com>
21393
21394         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
21395         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
21396         of 127, since 64 is the largest conceivable number for ancient
21397         nonstandard hosts.
21398         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
21399
21400 2002-04-28  Jim Meyering  <meyering@lucent.com>
21401
21402         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
21403
21404 2002-04-24  Jim Meyering  <meyering@lucent.com>
21405
21406         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
21407         (jm_PREREQ): Use it.
21408
21409         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
21410         mach/mach.h fcntl.h.
21411         Check for this function: setlocale.
21412
21413 2002-04-24  Jim Meyering  <meyering@lucent.com>
21414
21415         * lib/gettext.h: New file, from Gettext.
21416         * lib/Makefile.am (INCLUDES): Remove -I../intl.
21417         (libfetish_a_SOURCES): Add gettext.h.
21418
21419 2002-04-16  Jim Meyering  <meyering@lucent.com>
21420
21421         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
21422         ut_pid, ut_id, ut_exit.
21423
21424 2002-04-16  Jim Meyering  <meyering@lucent.com>
21425
21426         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
21427         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
21428         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
21429
21430 2002-04-12  Jim Meyering  <meyering@lucent.com>
21431
21432         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
21433         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
21434         existence of the getmntinfo function.  Needed for Darwin 5.3.
21435
21436         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
21437         This is necessary at least on Darwin 5.3.
21438
21439         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
21440         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
21441         strnlen.o in the library, and that makes some versions of ranlib
21442         object.
21443
21444 2002-04-12  Jim Meyering  <meyering@lucent.com>
21445
21446         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
21447
21448 2002-04-09  Jim Meyering  <meyering@lucent.com>
21449
21450         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
21451         to be more precise.  Rather than saying we're checking whether the
21452         function `works', say what we're testing.
21453         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
21454         Reported by Bruno Haible.
21455
21456 2002-03-10  Jim Meyering  <meyering@lucent.com>
21457
21458         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
21459         Suggestion from Santiago Vila.
21460
21461 2002-03-08  Jim Meyering  <meyering@lucent.com>
21462
21463         * lib/rename.c: Mention that this wrapper is needed also on
21464         mips-dec-ultrix4.4 systems.
21465
21466 2002-03-02  Jim Meyering  <meyering@lucent.com>
21467
21468         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
21469         not HAVE_CLOCK_SETTIME.
21470
21471 2002-02-27  Paul Eggert  <eggert@twinsun.com>
21472
21473         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
21474         Check for clock_settime.
21475
21476 2002-02-27  Paul Eggert  <eggert@twinsun.com>
21477
21478         * lib/nanosleep.h: Rename to....
21479         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
21480
21481         * lib/gettime.c: New file.
21482         * lib/settime.c: New file.
21483         * lib/stime.c: Remove.
21484
21485         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
21486         timespec.h.  Remove nanosleep.h.
21487
21488 2002-02-25  Paul Eggert  <eggert@twinsun.com>
21489
21490         * m4/acl.m4: New file.
21491         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
21492         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
21493
21494 2002-02-25  Paul Eggert  <eggert@twinsun.com>
21495
21496         * lib/acl.c, lib/acl.h: New files.
21497         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
21498
21499 2002-02-24  Jim Meyering  <meyering@lucent.com>
21500
21501         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
21502         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
21503         cause trouble.  Reported by Nelson Beebe.
21504
21505 2002-02-23  Paul Eggert  <eggert@twinsun.com>
21506
21507         * lib/path-concat.c (xpath_concat): Reorder code to pacify
21508         compilers that don't know that xalloc_die never returns.
21509
21510 2002-02-20  Jim Meyering  <meyering@lucent.com>
21511
21512         * lib/getdate.c: Regenerate using bison-1.33.
21513
21514 2002-02-17  Jim Meyering  <meyering@lucent.com>
21515
21516         * config/config.guess (main): Don't use `head -1'; it's no longer
21517         portable. Use `sed 1q' instead.
21518
21519 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
21520
21521         * m4/codeset.m4: Upgrade to gettext-0.11.
21522         * m4/gettext.m4: Upgrade to gettext-0.11.
21523         * m4/glibc21.m4: Upgrade to gettext-0.11.
21524         * m4/iconv.m4: Upgrade to gettext-0.11.
21525         * m4/isc-posix.m4: Upgrade to gettext-0.11.
21526         * m4/lcmessage.m4: Upgrade to gettext-0.11.
21527         * m4/lib-ld.m4: New file, from gettext-0.11.
21528         * m4/lib-link.m4: New file, from gettext-0.11.
21529         * m4/lib-prefix.m4: New file, from gettext-0.11.
21530         * m4/progtest.m4: Upgrade to gettext-0.11.
21531
21532 2002-02-15  Paul Eggert  <eggert@twinsun.com>
21533
21534         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
21535         (jm_PREREQ): Use it.
21536
21537 2002-02-15  Paul Eggert  <eggert@twinsun.com>
21538
21539         * lib/posixver.c, lib/posixver.h: New files.
21540         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
21541
21542 2002-02-02  Paul Eggert  <eggert@twinsun.com>
21543             Bruno Haible  <bruno@clisp.org>
21544
21545         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
21546         (fwrite_success_callback): New declaration.
21547         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
21548         print_unicode_char. Call failure callback instead of error.
21549         (fwrite_success_callback): New function.
21550         (exit_failure_callback): New function.
21551         (fallback_failure_callback): New function.
21552         (print_unicode_char): Call unicode_to_mb.
21553
21554 2002-01-26  Jim Meyering  <meyering@lucent.com>
21555
21556         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
21557         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
21558
21559 2002-01-26  Jim Meyering  <meyering@lucent.com>
21560
21561         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
21562
21563 2002-01-22  Paul Eggert  <eggert@twinsun.com>
21564
21565         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
21566
21567 2002-01-22  Jim Meyering  <meyering@lucent.com>
21568
21569         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
21570         Otherwise, some versions of automake would omit the rule that makes
21571         Makefile from Makefile.in.
21572
21573 2002-01-21  Paul Eggert  <eggert@twinsun.com>
21574
21575         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
21576         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
21577         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
21578         (memcoll): Set errno to zero if there is no error.
21579
21580         * lib/quotearg.c (quotearg_buffer_restyled):
21581         Fix bug with quoting buffers containing NUL when backslashing escapes.
21582         This bug was exposed by the other changes in this patch.
21583         (quotearg_n_options): New arg ARGSIZE.
21584         All callers changed.
21585         (quoting_options_from_style): New function.
21586         (quotearg_n_style): Use it.
21587         (quotearg_n_style_mem): New function.
21588
21589         * lib/quotearg.h (quotearg_n_style_mem): New function.
21590
21591 2002-01-19  Jim Meyering  <meyering@lucent.com>
21592
21593         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
21594         Remove useless quotes: DF_PROG="df".
21595         * m4/strnlen.m4: New file.
21596
21597 2002-01-16  Paul Eggert  <eggert@twinsun.com>
21598
21599         * lib/backupfile.c (ISDIGIT): Comment fix.
21600         * lib/getdate.y (ISDIGIT): Likewise.
21601         * lib/posixtm.c (ISDIGIT, year): Likewise.
21602         * lib/strverscmp.c (ISDIGIT): Likewise.
21603         * lib/userspec.c (ISDIGIT): Likewise.
21604
21605 2002-01-16  Jim Meyering  <meyering@lucent.com>
21606
21607         * lib/getdate.y: Add three semicolons, each just before a closing
21608         brace. Bison (as of version 1.31) no longer papers over that mistake.
21609
21610 2002-01-05  Jim Meyering  <meyering@lucent.com>
21611
21612         * lib/version-etc.c (version_etc_copyright): Update copyright year.
21613
21614 2001-12-19  Paul Eggert  <eggert@twinsun.com>
21615
21616         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
21617         not silently exit merely because the output buffer happens to
21618         have nothing pending.
21619
21620 2001-12-18  Paul Eggert  <eggert@twinsun.com>
21621
21622         See the big note in ../ChangeLog.
21623         * lib/human.c (suffixes): Prefer K to k for 1024.
21624         (generate_suffix_backwards): New function.
21625         (human_readable_inexact): Use it.
21626         * lib/xstrtol.c (__xstrtol): If there is no number but there
21627         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
21628         Accept 'K' as well as 'k'.
21629
21630 2001-12-15  Jim Meyering  <meyering@lucent.com>
21631
21632         * lib/regex.h (__restrict_arr): Update from libc.
21633
21634         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
21635         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
21636         (STREQ): Define.
21637
21638 2001-12-14  Jim Meyering  <meyering@lucent.com>
21639
21640         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
21641         Suggestion from Bruno Haible.
21642
21643 2001-12-10  Jim Meyering  <meyering@lucent.com>
21644
21645         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
21646         xrealloc, Instead, include "xalloc.h".
21647         (initbuffer): Don't cast xmalloc return value to char*.
21648         (readline): Reword comment.
21649         Don't cast xrealloc return value to char*
21650         Return NULL, not 0.
21651
21652 2001-12-09  Jim Meyering  <meyering@lucent.com>
21653
21654         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
21655         about `signed and unsigned type in conditional expression'.
21656         * lib/posixtm.c (posix_time_parse): Likewise.
21657
21658         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
21659
21660         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
21661         to avoid a pedantic warning.
21662
21663         * lib/getstr.c: Don't include assert.h.
21664         (getstr): Remove warning-evoking assertions.
21665         Return -1 if offset parameter is out of bounds.
21666         Change the type of a local from int to size_t.
21667
21668         * lib/strftime.c (my_strftime_localtime_r): Include this function
21669         definition in the `#if ! HAVE_TM_GMTOFF' block.
21670
21671         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
21672         Include xalloc.h instead.
21673
21674 2001-12-02  Jim Meyering  <meyering@lucent.com>
21675
21676         * lib/tempname.c: Don't declare getenv, thus reverting the change of
21677         2001-11-18.  It's no longer necessary, now that stdlib.h is always
21678         included.
21679
21680         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
21681         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
21682
21683 2001-11-30  Akim Demaille  <akim@epita.fr>
21684
21685         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
21686         before being defined.
21687
21688 2001-11-27  Paul Eggert  <eggert@twinsun.com>
21689
21690         * lib/quotearg.h (quotearg_n, quotearg_n_style):
21691         First arg is int, not unsigned.
21692         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
21693         (SIZE_MAX, UINT_MAX): New macros.
21694         (quotearg_n_options): Abort if N is negative.
21695         Avoid overflow check on hosts where size_t is 64 bits and int
21696         is 32 bits, as overflow is impossible there.
21697         Fix off-by-one typo that caused unnecessary reallocation.
21698
21699 2001-11-27  Jim Meyering  <meyering@lucent.com>
21700
21701         * lib/tempname.c: Merge with version from libc.
21702         * lib/regex.c: Likewise.
21703
21704         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
21705         systems for which STDC_HEADERS is 0, it was not included, resulting in
21706         a warning about an integer-to-pointer conversion problem with getenv.
21707         Reported by Volker Borchert.
21708
21709 2001-11-26  Jim Meyering  <meyering@lucent.com>
21710
21711         * lib/gtod.h: Remove file.
21712         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
21713         * lib/gettimeofday.c: Don't include gtod.h.
21714         (GTOD_init): Remove function.
21715         (rpl_gettimeofday): Do its job here instead, rather than aborting.
21716         Suggestion from Volker Borchert.
21717
21718 2001-11-23  Jim Meyering  <meyering@lucent.com>
21719
21720         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
21721         it.
21722         * lib/hash.c (struct hash_table): Define it here instead.
21723
21724 2001-11-22  Jim Meyering  <meyering@lucent.com>
21725
21726         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
21727
21728 2001-11-20  Jim Meyering  <meyering@lucent.com>
21729
21730         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
21731         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
21732
21733 2001-11-19  Jim Meyering  <meyering@lucent.com>
21734
21735         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
21736         directory.  Use "conftestXXXXXX" as the template.
21737         Suggestion from Paul Eggert.
21738
21739         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
21740         immediately, so the test doesn't mistakenly hit the max-open-files
21741         limit.
21742
21743 2001-11-18  Paul Eggert  <eggert@twinsun.com>
21744
21745         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
21746         (TEMPORARIES): New macro.
21747         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
21748         removes an artificial limitation (e.g. HP-UX 10.20, where
21749         TMP_MAX is 17576).
21750
21751 2001-11-18  Jim Meyering  <meyering@lucent.com>
21752
21753         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
21754
21755 2001-11-18  Jim Meyering  <meyering@lucent.com>
21756
21757         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
21758         on SunOS 4.
21759
21760         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
21761         files will be created before anything else.
21762
21763 2001-11-17  Paul Eggert  <eggert@twinsun.com>
21764
21765         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
21766         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
21767
21768 2001-11-17  Jim Meyering  <meyering@lucent.com>
21769
21770         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
21771         Prompted by a report from Bob Proulx.
21772
21773         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
21774         Instead, require UTILS_FUNC_MKSTEMP.
21775
21776 2001-11-17  Jim Meyering  <meyering@lucent.com>
21777
21778         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
21779         Now, that's done as part of AC_FUNC_STRTOD.
21780
21781 2001-11-17  Jim Meyering  <meyering@lucent.com>
21782
21783         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
21784         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
21785         rather than group writable.  Patch by Juan F. Codagnone.
21786
21787         * lib/readtokens.c: Remove explicit declarations of xmalloc and
21788         xrealloc, Instead, include "xalloc.h".
21789
21790         * lib/mountlist.c: Include unlocked-io.h after all system headers.
21791         Remove explicit declarations of xmalloc, xrealloc,
21792         and xstrdup.  Instead, include "xalloc.h".
21793
21794         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
21795         unlocked-io.h.
21796         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
21797         Likewise.
21798         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
21799
21800         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
21801         Reported by Padraig Brady.
21802
21803         * lib/mkstemp.c: #undef mkstemp.
21804         Include config.h.
21805         (rpl_mkstemp): Rename from mkstemp.
21806         Protoize.
21807
21808 2001-11-16  Jim Meyering  <meyering@lucent.com>
21809
21810         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
21811         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
21812         determine the amount of total physical memory, use pstat_getstatic.
21813         HPUX-11 doesn't define _SC_PHYS_PAGES.
21814         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
21815         If sysconf couldn't be used to determine the amount of available
21816         physical memory, use both pstat_getstatic and pstat_getdynamic.
21817         Based on a patch from Bob Proulx.
21818
21819 2001-11-10  Jim Meyering  <meyering@lucent.com>
21820
21821         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
21822         (jm_PREREQ): Use it.
21823
21824 2001-11-09  Jim Meyering  <meyering@lucent.com>
21825
21826         * m4/jm-macros.m4: Require autoconf-2.52f.
21827         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
21828         Use these AC_-prefixed names, not the AM_-prefixed ones.
21829
21830         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
21831
21832 2001-11-05  Jim Meyering  <meyering@lucent.com>
21833
21834         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
21835
21836 2001-11-04  Jim Meyering  <meyering@lucent.com>
21837
21838         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
21839         $DEFS.
21840
21841 2001-11-03  Jim Meyering  <meyering@lucent.com>
21842
21843         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
21844         of AC_DEFUN.
21845
21846         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
21847         know the name of the variable in the macro definition.
21848
21849 2001-11-03  Jim Meyering  <meyering@lucent.com>
21850
21851         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
21852         in argmatch_to_argument call.
21853
21854         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
21855         argument.
21856
21857         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
21858         e.g., a fault due to an attempt to free a NULL pointer.
21859
21860 2001-11-01  Jim Meyering  <meyering@lucent.com>
21861
21862         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
21863         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
21864
21865 2001-11-01  Jim Meyering  <meyering@lucent.com>
21866
21867         * lib/dirfd.c, lib/dirfd.h: New files.
21868         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
21869
21870         * lib/hash.c (hash_print) [TESTING]: Clean up.
21871
21872 2001-10-22  Paul Eggert  <eggert@twinsun.com>
21873
21874         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
21875         to avoid a warning if -Wall.
21876
21877 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
21878
21879         * README: New file
21880         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
21881         (per RMS's instructions, this is now the canonical source)
21882         * lgpl/, gpl/: New directories.
21883
21884 2001-10-21  Paul Eggert  <eggert@twinsun.com>
21885
21886         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
21887
21888 2001-10-21  Jim Meyering  <meyering@lucent.com>
21889
21890         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
21891         this code would end up calling gettext even in packages built
21892         with --disable-nls.
21893         * lib/getopt.c (_): Likewise.
21894         * lib/regex.c (_): Likewise.
21895
21896 2001-10-20  Paul Eggert  <eggert@twinsun.com>
21897
21898         * m4/error.m4 (jm_PREREQ_ERROR):
21899         Do not invoke AC_CHECK_FUNCS with strerror_r, as
21900         AC_FUNC_STRERROR_R does that.
21901         Check for strerror declaration.
21902
21903         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
21904         are supposed to have them these days.
21905         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
21906         Merge changes from latest Autoconf CVS.
21907         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
21908         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
21909         POSIX decided to standardize on the int flavor of strerror_r.
21910
21911 2001-10-20  Paul Eggert  <eggert@twinsun.com>
21912
21913         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
21914         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
21915         Use strerror_r that is only a macro, even if it is not a function.
21916         (strerror): Check for HAVE_DECL_STRERROR before declaring.
21917         (private_strerror): Use prototypes, not old-style function definition.
21918         (print_errno_message): New function.
21919         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
21920         char*-flavored one.
21921         (error_tail, error, error_at_line): Use it.
21922
21923 2001-10-11  Jim Meyering  <meyering@lucent.com>
21924
21925         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
21926         and quote_n (1, ... to avoid clobbering a buffer.
21927
21928 2001-10-05  Jim Meyering  <meyering@lucent.com>
21929
21930         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
21931         hash-pjw.h.
21932         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
21933         * lib/hash-pjw.h: New file.
21934
21935 2001-09-30  Jim Meyering  <meyering@lucent.com>
21936
21937         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
21938         `struct fsstat' has the `f_fstypename' member.
21939         Use that to define FS_TYPE, which is now used to make
21940         the getfsstat link test tighter.
21941
21942 2001-09-30  Jim Meyering  <meyering@lucent.com>
21943
21944         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
21945         Include <sys/ucred.h>, for Apple Darwin.
21946         Include sys/mount.h and sys/fs_types.h only if available.
21947         (FS_TYPE): Define.
21948         (read_filesystem_list): Use FS_TYPE.
21949
21950 2001-09-29  Paul Eggert  <eggert@twinsun.com>
21951
21952         * lib/exclude.c (excluded_filename): 0 -> false, since it's
21953         a boolean context.
21954
21955 2001-09-29  Jim Meyering  <meyering@lucent.com>
21956
21957         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
21958         [one-argument getmntent function]): Include stdio.h before mntent.h.
21959         SunOS 4.1.x needs it for the declaration of `FILE'.
21960         Patch by Volker Borchert.
21961
21962         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
21963         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
21964         sys/fs_types.h, and make the link-test for getfsstat guard #include
21965         directives with appropriate #if HAVE_*_H tests so that we can
21966         detect getfsstat on Apple Darwin1.3.7 systems.
21967         Reported by Nelson Beebe.
21968         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
21969
21970 2001-09-28  Paul Eggert  <eggert@twinsun.com>
21971
21972         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
21973         #defines strtoimax.  Also treat the other strto* functions
21974         like strtoimax.
21975
21976         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
21977         Check for strtoul and strtoumax,
21978         as those declarations are made even in the signed case.
21979         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
21980         Likewise, for strtol and strtoimax.
21981
21982 2001-09-28  Paul Eggert  <eggert@twinsun.com>
21983
21984         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
21985         #defines strtoimax.  Also treat the other strto* functions
21986         like strtoimax.
21987
21988         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
21989         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
21990         (strtoimax, strtoumax): Do not declare if already defined as a macro.
21991
21992 2001-09-26  Jim Meyering  <meyering@lucent.com>
21993
21994         Most macros in unlocked-io.h had the wrong number of arguments.
21995         * lib/gen-uio: New script.
21996         (USE_UNLOCKED_IO): Define to 1 if not already defined.
21997         * lib/unlocked-io.hin: Remove file.
21998         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
21999         rather than trying to embed it here.
22000         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
22001         Reported by Padraig Brady.
22002
22003 2001-09-25  Volker Borchert  <bt@teknon.de>
22004
22005         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
22006         `result'.
22007
22008 2001-09-24  Jim Meyering  <meyering@lucent.com>
22009
22010         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
22011
22012 2001-09-23  Jim Meyering  <meyering@lucent.com>
22013
22014         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
22015         instead of the mere test for existence of mntent.h.  The latter
22016         would get a false-positive on AIX 3.4 systems.
22017         In the outer getmntent if-block, don't die if neither of the getmntent
22018         tests succeeds.  Instead, just fall through and continue with the
22019         remaining tests.
22020
22021 2001-09-23  Jim Meyering  <meyering@lucent.com>
22022
22023         * lib/mountlist.c: Remove useless parentheses in #if directives.
22024         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
22025         the deprecated MOUNTED symbol is no longer defined in mntent.h.
22026
22027 2001-09-22  Jim Meyering  <meyering@lucent.com>
22028
22029         * m4/gettext.m4: New file.  From gettext.
22030         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
22031         * m4/progtest.m4: Likewise
22032         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
22033         * m4/glibc21.m4: Likewise.
22034
22035         * m4/libintl.m4: Remove.  No longer used.
22036
22037 2001-09-22  Jim Meyering  <meyering@lucent.com>
22038
22039         * lib/localcharset.c: Update from latest gettext.
22040         * lib/config.charset: Likewise.
22041
22042 2001-09-20  Jim Meyering  <meyering@lucent.com>
22043
22044         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
22045         strtoimax.
22046         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
22047         strtoumax.
22048
22049 2001-09-20  Jim Meyering  <meyering@lucent.com>
22050
22051         * lib/xstrtol.c (strtoimax): Guard declaration with
22052         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
22053         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
22054         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
22055         (strtoumax): Likewise, for completeness (it wasn't necessary).
22056
22057 2001-09-17  Paul Eggert  <eggert@twinsun.com>
22058
22059         * lib/strtoimax.c (HAVE_LONG_LONG):
22060         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
22061         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
22062         to work around bug in IBM C compiler.
22063
22064 2001-09-17  Jim Meyering  <meyering@lucent.com>
22065
22066         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
22067         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
22068         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
22069         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
22070         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
22071         whenever the right hand side need not be expanded by the shell.
22072
22073 2001-09-16  Paul Eggert  <eggert@twinsun.com>
22074
22075         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
22076         library.  It's not correct, as some older glibcs are buggy.
22077         fnmatch wasn't fixed until glibc 2.2.
22078
22079         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
22080         special shell magic here.
22081
22082 2001-09-16  Jim Meyering  <meyering@lucent.com>
22083
22084         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
22085         * m4/jm-macros.m4: Require it.
22086
22087 2001-09-16  Jim Meyering  <meyering@lucent.com>
22088
22089         * lib/mkdir.c: New file.
22090
22091 2001-09-15  Jim Meyering  <meyering@lucent.com>
22092
22093         * m4/jm-macros.m4: Check for help2man.
22094
22095 2001-09-11  Jim Meyering  <meyering@lucent.com>
22096
22097         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
22098         The body, by Paul Eggert, was moved here from configure.in.
22099         * m4/jm-macros.m4: Require UTILS_HOST_OS.
22100
22101 2001-09-04  Paul Eggert  <eggert@twinsun.com>
22102
22103         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
22104         (jm_PREREQ): Use it.
22105
22106 2001-09-04  Paul Eggert  <eggert@twinsun.com>
22107
22108         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
22109         Use ssize_t, not int, to store result of readlink.
22110         Check for ssize_t overflow as well as size_t overflow,
22111         as POSIX says the result of readlink is implementation-defined
22112         when ssize_t overflows.
22113         Remove unnecessary cast to char*.
22114         Use free+malloc instead of realloc, as the storage doesn't need
22115         to be preserved and it's clearer and can be more efficient that way.
22116         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
22117         * lib/xreadlink.h (xreadlink): Update prototype.
22118
22119 2001-09-04  Paul Eggert  <eggert@twinsun.com>
22120
22121         * lib/xgetcwd.c: Revert some of the previous change; intead,
22122         fix the HAVE_GETCWD_NULL code to behave more like the
22123         !HAVE_GETCWD_NULL code used to.
22124
22125         Include "xalloc.h".
22126         (xgetcwd): Do not return NULL when memory is exhausted; instead,
22127         invoke xalloc_die.
22128
22129 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22130
22131         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
22132         sys/param.h, as pathmax.h includes them.
22133
22134 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22135
22136         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
22137         (jm_PREREQ_XGETCWD): New macro.
22138
22139         * m4/getcwd.m4: New file.
22140
22141 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22142
22143         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
22144         like the HAVE_GETCWD_NULL code.
22145         Include pathmax.h if not HAVE_GETCWD.
22146         Do not include xalloc.h.
22147         (INITIAL_BUFFER_SIZE): New symbol.
22148         Do not use xmalloc / xrealloc, since the caller is responsible for
22149         handling errors.  Preserve errno around `free' during failure.
22150         Do not overrun buffer when using getwd.
22151
22152 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22153
22154         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
22155         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
22156         getcwd (NULL, 0).
22157
22158 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22159
22160         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
22161         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
22162         spotted by Jim Meyering.
22163
22164 2001-09-03  Jim Meyering  <meyering@lucent.com>
22165
22166         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
22167         failure.
22168
22169 2001-09-02  Jim Meyering  <meyering@lucent.com>
22170
22171         * lib/error.c: Update from GNU libc.
22172
22173 2001-09-01  Jim Meyering  <meyering@lucent.com>
22174
22175         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
22176         Used by df.
22177
22178 2001-09-01  Jim Meyering  <meyering@lucent.com>
22179
22180         * lib/xreadlink.c: New file.
22181         * lib/xreadlink.h: New file.
22182         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
22183         xreadlink.h.
22184
22185         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
22186         doesn't conflict with sparc Solaris 7's definition in
22187         /usr/include/sys/int_types.h.
22188
22189         * lib/exclude.c: Use `""', not `<>' to #include non-system header
22190         files.
22191         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
22192         and strncasecmp as r-values.  Unixware didn't have declarations.
22193
22194 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22195
22196         * lib/xstrtol.h: Add copyright notice.
22197         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
22198         LONGINT_INVALID_SUFFIX_CHAR.
22199
22200 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22201
22202         * lib/xstrtol.c (strtoimax): New decl.
22203
22204 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22205
22206         * lib/xgetcwd.c: Don't include pathmax.h.
22207         Include stdlib.h and unistd.h if available.
22208         Include xalloc.h.
22209         (xmalloc, xstrdup, free): Remove decls.
22210         (xgetcwd): Don't assume sizes fit in unsigned.
22211         Check for overflow when computing sizes.
22212         Simplify reallocation code.
22213
22214 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22215
22216         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
22217         a directory's st_size can have an arbitrary value, so the old
22218         usage could waste an arbitrary amount of memory.  All uses
22219         changed.
22220         * lib/savedir.h: Update prototype.
22221
22222 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22223
22224         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
22225
22226         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
22227         old strtoimax.c.
22228
22229         Also, make the following further changes to make this file's
22230         configuration more similar to that of strtol.c:
22231         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
22232         (strtoumax, uintmax_t, strtoull, strtol): Remove.
22233         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
22234         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
22235         changed to signed values.
22236
22237         And make the following changes as well:
22238         Fix copyright notice, as 1999 was missing.
22239         (verify): New macro.
22240         (strtoimax): Check sizes at compile-time, not run-time.
22241         Prefer strtol to strtoll if both work.
22242         (main): Remove; it was not that useful and was a pain to maintain.
22243
22244         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
22245
22246 2001-08-31  Jim Meyering  <meyering@lucent.com>
22247
22248         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
22249         Use an initial, malloc'd, buffer of length 128 rather than
22250         a statically allocated one of length 1024.
22251
22252 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22253
22254         Simplify code, partly by assuming autoconf 2.52 semantics.
22255
22256         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
22257
22258         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
22259         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
22260         All uses removed.
22261         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
22262         Move AC_REQUIRE to next-to-top level, to avoid confusion.
22263         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
22264         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
22265         jm_AC_HEADER_INTTYPES_H.
22266         * m4/jm-macros.m4 (jm_MACROS): Likewise.
22267
22268         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
22269
22270         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
22271         Quote first arg of AC_DEFUN.
22272         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
22273         since they are needed to parse the include file even if we need
22274         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
22275         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
22276         but with opposite signedness.
22277
22278 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22279
22280         Merge 'exclude' changes from tar 1.13.22.
22281         This fixes one or two unlikely storage allocation overflow bugs,
22282         but doesn't change user-visible behavior otherwise.
22283
22284 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22285
22286         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
22287         (jm_PREREQ_EXCLUDE): New macro.
22288
22289 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22290
22291         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
22292         tm to be declared.
22293
22294 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22295
22296         * lib/hash.c: Remove '2001' from copyright notice.
22297
22298 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22299
22300         * lib/full-write.h: New file.
22301         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
22302         * lib/full-write.c: Correct credits, as cccp.c no longer
22303         exists and anyway it was so heavily changed from the old cccp
22304         code as to be unrecognizable.  Include full-write.h.
22305         (full_write) Return size_t, with short writes meaning failure.
22306         All callers changed.  This fixes a bug with large buffers
22307         on 64-bit hosts.
22308         * lib/utime.c: Include full-write.h.
22309
22310 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22311
22312         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
22313         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
22314         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
22315         Include if available.
22316         (<xalloc.h>): Include
22317         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
22318         (verify): New macro.  Use it to verify that EXCLUDE macros do not
22319         collide with FNM macros.
22320         (struct patopts): New struct.
22321         (struct exclude): Use it, as exclude patterns now come with options.
22322         (new_exclude): Support above changes.
22323         (new_exclude, add_exclude_file):
22324         Initial size must now be a power of two to simplify overflow checking.
22325         (free_exclude, fnmatch_no_wildcards): New function.
22326         (excluded_filename): No longer requires options arg, as the options
22327         are determined by add_exclude.  Now returns bool, not int.
22328         (excluded_filename, add_exclude):
22329         Add support for the fancy new exclusion options.
22330         (add_exclude, add_exclude_file): Now takes int options arg.
22331         Check for arithmetic overflow when computing sizes.
22332         (add_exclude_file): xrealloc might modify errno, so don't
22333         realloc until after errno might be used.
22334
22335         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
22336         New macros.
22337         (free_exclude): New decl.
22338         (add_exclude, add_exclude_file): Now takes int options arg.
22339         (excluded_filename): No longer requires options arg, as the options
22340         are determined by add_exclude.  Now returns bool, not int.
22341
22342 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22343
22344         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
22345
22346 2001-08-27  Jim Meyering  <meyering@lucent.com>
22347
22348         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
22349
22350         * lib/version-etc.c (N_): Remove definition.
22351         Revert most of last change.
22352         Instead, simply don't mark the `Copyright...' string for translation.
22353         Based on advice from Paul Eggert.
22354
22355         * lib/strtoxmax.c: Tweak comment.
22356
22357 2001-08-26  Jim Meyering  <meyering@lucent.com>
22358
22359         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
22360
22361         * m4/xstrtoimax.m4: New file.
22362         * m4/xstrtoumax.m4: Add comments explaining why we
22363         AC_REPLACE_FUNCS(strtol).
22364
22365 2001-08-26  Jim Meyering  <meyering@lucent.com>
22366
22367         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
22368         of copyright with `%s' so translators don't get an untranslated
22369         message in 2002.
22370         (COPYRIGHT_YEAR): Define.
22371         (version_etc): Use fprintf rather than fputs.
22372         Suggestion from Ulrich Drepper.
22373
22374         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
22375
22376         * lib/strtoll.c: New file, from GNU libc.
22377         * lib/xstrtoimax.c: New file.
22378
22379         * lib/xstrtol.h: Add xstrtoimax.
22380         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
22381         * lib/strtoimax.c: New file.  Likewise, but first define
22382         STRTOUXMAX_SIGNED.
22383
22384         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
22385         ...
22386         * lib/strtoxmax.c: ... then renamed to this.
22387
22388 2001-08-18  Paul Eggert  <eggert@twinsun.com>
22389
22390         * m4/inttypes.m4: Add AC_PREREQ(2.13).
22391         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
22392         (jm_AC_TYPE_INTMAX_T): New macro.
22393         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
22394
22395         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
22396
22397         * m4/longlong.m4: Renamed from ulonglong.m4.
22398         * m4/inttypes.m4: Renamed from inttypes_h.m4.
22399         * m4/uintmax_t.m4: Removed.
22400
22401 2001-08-13  Paul Eggert  <eggert@twinsun.com>
22402
22403         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
22404         Port to Solaris 8, where 'sed' requires a space after the 'r'
22405         command, and where sh dislikes "$/".  Clean up the spacing a bit.
22406         Redirect output to $tmp just once.
22407
22408 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
22409
22410         * lib/addext.c (<errno.h>): Include.
22411         (errno): Declare if not defined.
22412         (addext): Work correctly when pathconf returns -1 and leaves
22413         errno alone because there is no limit.  Also, work even if
22414         pathconf returns a value greater than SIZE_MAX.
22415
22416 2001-08-12  Jim Meyering  <meyering@lucent.com>
22417
22418         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
22419         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
22420         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
22421         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
22422         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
22423         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
22424         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
22425         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
22426         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
22427         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
22428         utime.m4, utimes.m4, xstrtoumax.m4:
22429         Quote the first argument in each use of AC_DEFUN.
22430
22431 2001-08-12  Jim Meyering  <meyering@lucent.com>
22432
22433         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
22434         Simply `return getcwd (NULL, 0);'.
22435         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
22436         Use 1300 as initial value for length, not PATH_MAX.
22437
22438         * lib/pathmax.h: Clean up cpp syntax.
22439
22440 2001-08-12  Jim Meyering  <meyering@lucent.com>
22441
22442         * lib/gettimeofday.c: New file.
22443         * lib/gtod.h: New file.
22444         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
22445
22446 2001-08-05  Jim Meyering  <meyering@lucent.com>
22447
22448         * m4/jm-macros.m4: Require autoconf-2.52.
22449
22450 2001-08-04  Jim Meyering  <meyering@lucent.com>
22451
22452         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
22453         stmt, to get in sync with glibc.
22454
22455 2001-08-03  Paul Eggert  <eggert@twinsun.com>
22456
22457         The following changes are from gettext 0.10.39 as maintained by
22458         Bruno Haible.
22459
22460         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
22461         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
22462         with inverted sense.  All uses changed.
22463
22464         * lib/mbswidth.c: Don't include <limits.h>.
22465         Include <stdlib.h> and <string.h> unconditionally.
22466         (iswcntrl, mbsinit, ISCNTRL): New macros.
22467         (mbsnwidth): Use K&R style function declarations.
22468         Don't bother checking for MB_LEN_MAX == 1, since the compiler
22469         can optimize it when MB_CUR_MAX == 1.
22470         The width of control characters is zero, not 1.
22471
22472 2001-08-03  Paul Eggert  <eggert@twinsun.com>
22473
22474         The following changes are from gettext 0.10.39 as maintained by
22475         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
22476
22477         * m4/codeset.m4: Upgrade to serial AM1.
22478         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
22479         all uses changed.  Quote first arg of AC_DEFUN.
22480         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
22481
22482         * m4/iconv.m4: Upgrade to serial AM2.
22483         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
22484         Add --with-libconv-prefix.
22485         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
22486         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
22487         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
22488         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
22489         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
22490
22491         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
22492         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
22493         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
22494         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
22495         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
22496         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
22497         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
22498         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
22499         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
22500
22501         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
22502         string.h any more.
22503
22504         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
22505         not the default value.
22506
22507         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
22508         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
22509         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
22510         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
22511         Also check for iswcntrl, used for wcwidth fallback.
22512         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
22513         to Autoconf 2.13.
22514
22515 2001-08-03  Jim Meyering  <meyering@lucent.com>
22516
22517         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
22518         as it was in the original.  Reported by Paul Eggert.
22519
22520 2001-07-16  Jim Meyering  <meyering@lucent.com>
22521
22522         * m4/gettimeofday.m4: New file.
22523         Prompted by a report from Bernhard Baehr.
22524
22525 2001-07-15  Jim Meyering  <meyering@lucent.com>
22526
22527         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
22528         stuff. Now it's in ../Makefile.cfg.
22529
22530 2001-07-15  Jim Meyering  <meyering@lucent.com>
22531
22532         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
22533         (BUILT_SOURCES): Add unlocked-io.h.
22534         (io_functions): Define.
22535         (unlocked-io.h): New rule.
22536         (DISTCLEANFILES): Add unlocked-io.h.
22537         (all-local): Depend on unlocked-io.h, to ensure it is created.
22538
22539         * lib/unlocked-io.hin: New file
22540
22541         * lib/regex.c: Update from glibc.
22542
22543 2001-07-05  Jim Meyering  <meyering@lucent.com>
22544
22545         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
22546         recommendation.
22547         (libfetish_a_SOURCES): Put all .h files here instead.
22548         Remove a thus-exposed (better checks in automake) duplicate and
22549         two unnecessary .h files.
22550
22551 2001-07-04  Jim Meyering  <meyering@lucent.com>
22552
22553         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
22554         that generates jm-glibc-io.m4 so that it doesn't trigger any make
22555         distcheck failure.
22556
22557 2001-07-02  Jim Meyering  <meyering@lucent.com>
22558
22559         The following changes were prompted by suggestions from Bruno Haible.
22560
22561         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
22562         is now generated.
22563         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
22564         definition of EXTRA_DIST.
22565         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
22566         ensure that the generated file is created/updated whenever the list
22567         of $(unlocked_functions) is changed.
22568         (jm-glibc-io.m4): New rule.
22569         (unlocked-io.h): New rule -- currently unused.
22570
22571 2001-06-24  Jim Meyering  <meyering@lucent.com>
22572
22573         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
22574         unmatched right bracket, rather than kludging it with an extra,
22575         falsely-matching quote in a comment.  Patch by Akim Demaille.
22576
22577 2001-06-11  Jim Meyering  <meyering@lucent.com>
22578
22579         * lib/regex.c: Update from GNU libc.
22580
22581 2001-05-27  Jim Meyering  <meyering@lucent.com>
22582
22583         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
22584         Check for ut_type in struct utmp.
22585
22586 2001-05-27  Jim Meyering  <meyering@lucent.com>
22587
22588         * lib/readutmp.h (UT_TYPE): Define.
22589
22590 2001-05-24  Jim Meyering  <meyering@lucent.com>
22591
22592         * lib/argmatch.c: Include "quote.h".
22593         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
22594         quote function.  Reported by Göran Uddeborg.
22595
22596 2001-05-22  Jim Meyering  <meyering@lucent.com>
22597
22598         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
22599         now that we use the package-supplied version unconditionally.
22600         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
22601
22602 2001-05-21  Jim Meyering  <meyering@lucent.com>
22603
22604         * m4/regex.m4: Change a couple backticks to single quotes to avoid
22605         shell syntax errors.
22606
22607 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
22608
22609         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
22610
22611 2001-05-20  Paul Eggert  <eggert@twinsun.com>
22612
22613         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
22614         Don't bother to check library strftime, since
22615         we'll be using our own my_strftime function anyway.
22616         Define my_strftime instead of strftime.
22617
22618 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
22619
22620         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
22621         which is not yet declared.
22622
22623 2001-05-15  Jim Meyering  <meyering@lucent.com>
22624
22625         * m4/regex.m4: Use proper quoting so brackets appear in the test
22626         program.
22627         Reported by, and with help from, Bruno Haible.
22628
22629 2001-05-13  Jim Meyering  <meyering@lucent.com>
22630
22631         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
22632         undefined.
22633
22634 2001-05-11  Paul Eggert  <eggert@twinsun.com>
22635
22636         dirname code cleanup.  base_name now behaves more compatibly
22637         with POSIX basename when given file names that have trailing
22638         slashes, and similarly for dir_name.  Add new primitives
22639         base_len and dir_len.  Put the directory-name-related decls
22640         into dirname.h.
22641
22642         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
22643         * lib/backupfile.c (base_name): Likewise.
22644         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
22645         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
22646         * lib/makepath.c (strip_trailing_slashes): Likewise.
22647         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
22648         ISSLASH): Likewise.
22649         * lib/rename.c (strip_trailing_slashes): Likewise.
22650         * lib/same.c (base_name): Likewise.
22651         * lib/stripslash.c (ISSLASH): Likewise.
22652
22653         * lib/addext.c: Include <dirname.h> after size_t is defined.
22654         * lib/backupfile.c: Likewise.
22655
22656         * lib/addext.c (addext): Use base_len to trim redundant
22657         trailing slashes instead of doing it ourselves.
22658         But do not trim the last slash if it is not redundant.
22659
22660         * lib/backupfile.c (find_backup_file_name,
22661         max_backup_version): Use base_len instead of rolling it ourselves.
22662         Handle the case of "" and (on DOS) "C:" correctly.
22663
22664         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
22665         needed. Include <string.h>, <dirname.h>.
22666         (base_name): Allow file names ending in slashes, other than names
22667         that are all slashes.  In this case, return the basename followed
22668         by the slashes.  This is more general, and can be used in places
22669         where the original base_name purposely had an assertion failure.
22670         (base_len): New function.
22671
22672         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
22673         Do not include <assert.h>; no longer needed.
22674         Include xalloc.h.
22675         (memrchr): Remove decl.
22676         (dir_name_r): Remove.
22677         (dir_len): Renamed from dirlen.  All callers changed.
22678         Rewrite in terms of base_name, for simplicity and consistency.
22679         (dir_name): Never return NULL.  All callers changed.
22680         Do not include <stdlib.h> in test program; no longer needed.
22681         return 0; is fine for test program.
22682
22683         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
22684         New macros.
22685         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
22686
22687         * lib/path-concat.c (path_concat): Use base_len to compute
22688         base length, not strlen; this means we cannot rely on memcpy
22689         to null-terminate.
22690
22691         * lib/same.c (STREQ): Remove.
22692         (same_name): Handle the case where the basename ends in trailing '/'.
22693
22694         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
22695         a slash was stripped.  Do not strip the last slash after a
22696         file system prefix.
22697
22698 2001-05-11  Paul Eggert  <eggert@twinsun.com>
22699
22700         * lib/Makefile.am (libfetish_a_SOURCES):
22701         Add strftime.c, since we now compile it on all hosts.
22702
22703         * lib/strftime.c (my_strftime):
22704         Define to nstrftime if emacs, but only if my_strftime is not defined.
22705         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
22706         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
22707         Add one more extra argument: a nanoseconds value.
22708         All uses changed.
22709         (ns): New macro.
22710         (my_strftime function): Add %N format.
22711         (emacs_strftimeu): Renamed from emacs_strftime,
22712         with extra ut argument.
22713
22714 2001-05-09  Paul Eggert  <eggert@twinsun.com>
22715
22716         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
22717
22718 2001-04-21  Jim Meyering  <meyering@lucent.com>
22719
22720         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
22721         doesn't interfere.
22722
22723 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
22724
22725         * m4/ftruncate.m4: Check for chsize.
22726         Link with ftruncate.o unconditionally if ftruncate is missing.
22727         This was required when cross-compiling to i586-mingw32msvc.
22728
22729 2001-04-08  Jim Meyering  <meyering@lucent.com>
22730
22731         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
22732         recomputed; that's necessary when the offset spans a DST transition.
22733         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
22734
22735 2001-04-02  Jim Meyering  <meyering@lucent.com>
22736
22737         * lib/regex.h, regex.c: Update from GNU libc.
22738
22739 2001-03-24  Jim Meyering  <meyering@lucent.com>
22740
22741         * m4/jm-macros.m4: Require autoconf-2.49d.
22742
22743 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
22744
22745         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
22746
22747 2001-03-19  Paul Eggert  <eggert@twinsun.com>
22748
22749         * lib/version-etc.c (version_etc_copyright): Update to 2001.
22750
22751 2001-03-17  Jim Meyering  <meyering@lucent.com>
22752
22753         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
22754         now that the version in autoconf is equivalent.
22755         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
22756
22757         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
22758         Suggestion from Akim Demaille.
22759
22760         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
22761         (jm_PREREQ_TEMPNAME): New function.
22762
22763 2001-03-16  Paul Eggert  <eggert@twinsun.com>
22764
22765         * lib/tempname.c (uint64_t): Define to uintmax_t if
22766         not defined, and if UINT64_MAX is not defined.
22767         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
22768         Reported by John David Anglin.
22769
22770 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
22771
22772         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
22773         resolve alias if codeset is empty.
22774         * lib/config.charset (BeOS): Use wildcard syntax.
22775
22776 2001-03-13  Jim Meyering  <meyering@lucent.com>
22777
22778         * lib/path-concat.c (path_concat)
22779         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
22780         concatenating e.g., `C:' and `foo'.
22781         From Bruno Haible.
22782
22783 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
22784
22785         * lib/localcharset.c (locale_charset): Don't use
22786         setlocale(LC_CTYPE,NULL). Don't return NULL.
22787         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
22788
22789 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
22790
22791         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
22792         support for DOS/DJGPP.
22793
22794 2001-03-01  Paul Eggert  <eggert@twinsun.com>
22795
22796         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
22797         lacks mkstemp.  Compile our own tempname.c if we compile our own
22798         mkstemp.c, as mkstemp relies on tempname.
22799
22800 2001-03-01  Jim Meyering  <meyering@lucent.com>
22801
22802         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
22803         AH_VERBATIM really does output its argument verbatim.
22804
22805 2001-02-28  Paul Eggert  <eggert@twinsun.com>
22806
22807         * lib/Makefile.am (libfetish_a_SOURCES):
22808         Add dup-safer.c, fopen-safer.c.
22809         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
22810
22811         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
22812         * lib/unistd-safer.h: New files.
22813
22814 2001-02-25  Paul Eggert  <eggert@twinsun.com>
22815
22816         The mkstemp replacement is taken from glibc 2.2.2, with some
22817         portability fixes for use outside glibc, as follows:
22818
22819         * lib/tempname.c (struct_stat64): New macro.
22820         (direxists, __gen_tempname): Use it.
22821         This avoids a portability problem with Solaris 8.
22822
22823         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
22824         (<stddef.h>, <stdint.h>, <string.h>):
22825         Include only if STDC_HEADERS || _LIBC.
22826         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
22827         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
22828         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
22829         (__set_errno): Define this macro if <errno.h> doesn't.
22830         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
22831         Define these macros if <stdio.h> doesn't.
22832         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
22833         Define these macros if <sys/stat.h>
22834         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
22835         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
22836         __xstat64): Define if not _LIBC.
22837         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
22838         (__gen_tempname): Invoke gettimeofday only if
22839         HAVE_GETTIMEOFDAY || _LIBC;
22840         otherwise, fall back on plain "time".
22841         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
22842
22843         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
22844
22845         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
22846
22847 2001-02-18  Paul Eggert  <eggert@twinsun.com>
22848
22849         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
22850
22851 2001-02-17  Paul Eggert  <eggert@twinsun.com>
22852
22853         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
22854         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
22855         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
22856         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
22857
22858 2001-02-17  Paul Eggert  <eggert@twinsun.com>
22859
22860         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
22861         Remove workaround macros for hosts that have mbrtowc but not
22862         mbstate_t, as we now insist on proper declarations for both
22863         before using mbrtowc.
22864
22865 2001-02-17  Jim Meyering  <meyering@lucent.com>
22866
22867         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
22868         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
22869         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
22870         UnixWare 7.1.1.
22871
22872         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
22873         rather than AC_CACHE_VAL.
22874
22875 2001-02-17  Jim Meyering  <meyering@lucent.com>
22876
22877         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
22878         around included file name.
22879
22880         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
22881
22882         * lib/strftime.c: Update from GNU libc (the only changes were to
22883         comments).
22884
22885 2001-02-17  Jim Meyering  <meyering@lucent.com>
22886
22887         * lib/regex.c: Update from libc.
22888
22889 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
22890
22891         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
22892         clash.
22893
22894 2001-02-16  Paul Eggert  <eggert@twinsun.com>
22895
22896         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
22897         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
22898         Reported by Mark Hounschell via Paul Eggert.
22899
22900 2001-02-07  Jim Meyering  <meyering@lucent.com>
22901
22902         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
22903
22904 2001-02-05  Jim Meyering  <meyering@lucent.com>
22905
22906         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
22907         it includes the patch required for `large file' support with at least
22908         HP-UX's 10.20 /bin/cc.
22909
22910 2001-02-03  Jim Meyering  <meyering@lucent.com>
22911
22912         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
22913         AS_IF, now that it works once again (mysteriously).
22914         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
22915
22916 2001-01-30  Jim Meyering  <meyering@lucent.com>
22917
22918         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
22919         * m4/chown.m4: Rename conftestchown to conftest.chown.
22920         * m4/rename.m4: s/conftestdir/conftest.d1/ and
22921         s/conftestdir2/conftest.d2/.
22922         * m4/utimes.m4: s/conftestdata/conftest.data/
22923         Inspired by Pavel Roskin's change in autoconf.
22924
22925 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
22926
22927         * lib/config.charset: Update for FreeBSD 4.2.
22928
22929 2001-01-27  Jim Meyering  <meyering@lucent.com>
22930
22931         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
22932         a use of AS_IF.
22933         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
22934
22935 2001-01-26  Jim Meyering  <meyering@lucent.com>
22936
22937         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
22938         quotearg.c includes it.
22939
22940 2001-01-26  Jim Meyering  <meyering@lucent.com>
22941
22942         * lib/quotearg.c: Include stddef.h.
22943         * lib/quote.c: Include stddef.h.
22944         Reported by Axel Kittenberger.
22945
22946         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
22947         line in double quotes so that it evokes a better diagnostic.
22948         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
22949         Reported by Axel Kittenberger.
22950
22951 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
22952
22953         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
22954         as if it was a `charset'.
22955
22956 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
22957
22958         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
22959         has const.
22960
22961 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
22962
22963         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
22964         to avoid a warning.  Add back 'const' to inptr.
22965
22966 2001-01-20  Jim Meyering  <meyering@lucent.com>
22967
22968         Be sure that headers are checked before used in code compiled
22969         for the type checks.
22970         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
22971         In place of that, invoke jm_CHECK_ALL_TYPES.
22972         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
22973         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
22974         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
22975         The check for ssize_t was mistakenly run before the test for unistd.h.
22976
22977         The configure-time check for stdbool.h was missing.
22978         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
22979         (jm_PREREQ_HASH): New function.
22980
22981 2001-01-17  Jim Meyering  <meyering@lucent.com>
22982
22983         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
22984         for autoconf-2.49c.
22985         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
22986
22987 2001-01-16  Jim Meyering  <meyering@lucent.com>
22988
22989         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
22990         From Bruno Haible.
22991
22992 2001-01-14  Jim Meyering  <meyering@lucent.com>
22993
22994         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
22995         foo and bar.  Create conftestdir/ in the script, not in the C code.
22996         Remove directories in the script, not in the C code.
22997         Remove conftestdir{,2} before trying to create the directory.
22998         Make the entire configure script fail if the mkdir fails.
22999
23000 2001-01-14  Jim Meyering  <meyering@lucent.com>
23001
23002         * lib/rename.c: New file.  From Volker Borchert.
23003         Include stdlib.h, string.h or strings.h, and xalloc.h.
23004         Use strip_trailing_slashes rather than open-coding it.
23005
23006 2001-01-03  Paul Eggert  <eggert@twinsun.com>
23007
23008         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
23009
23010 2001-01-03  Jim Meyering  <meyering@lucent.com>
23011
23012         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
23013         of local `inptr' to avoid warning with some system declarations of
23014         iconv.
23015
23016 2001-01-02  Volker Borchert  <bt@teknon.de>
23017
23018         * m4/rename.m4: New file.
23019         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
23020
23021 2001-01-01  Jim Meyering  <meyering@lucent.com>
23022
23023         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
23024         even on systems with utmpx.h.  It's necessary for the declaration of
23025         utmp's ut_user member.  Reported by Andreas Jaeger.
23026
23027         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
23028         available. They are required for the declarations of getgrgid and
23029         getpwuid resp.
23030         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
23031         Reported by Andreas Jaeger.
23032
23033 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
23034
23035         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
23036         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
23037         so `make install' also works in VPATH builds.
23038
23039 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
23040
23041         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
23042         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
23043         can be used in subdirectories.
23044
23045 2000-12-29  Paul Eggert  <eggert@twinsun.com>
23046
23047         * lib/modechange.c: Do not assume that mode_t uses the
23048         traditional octal encoding.  E.g. "chmod 1 FOO" should set
23049         the other-execute bit of FOO even if S_IXOTH != 1.
23050
23051         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
23052         WOTH, XOTH, ALLM): New macros.
23053         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
23054          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
23055         Use them.
23056         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
23057         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
23058         (mode_compile):
23059         No need to use uintmax_t; unsigned long is long enough.
23060         Don't bother to get suffix since we don't use it.
23061
23062 2000-12-26  Jim Meyering  <meyering@lucent.com>
23063
23064         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
23065         better with autoheader.
23066
23067 2000-12-24  Jim Meyering  <meyering@lucent.com>
23068
23069         * lib/hash.c (is_prime): Return explicit boolean values.
23070         (hash_get_first): Return NULL to appease Irix5.6's 89.
23071         Reported by Nelson Beebe.
23072
23073 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
23074
23075         * lib/localcharset.c (locale_charset): Add support for Win32.
23076
23077 2000-12-18  Paul Eggert  <eggert@twinsun.com>
23078
23079         * lib/physmem.h, lib/physmem.c: New files.
23080
23081         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
23082         (noinst_HEADERS): Add physmem.h.
23083
23084         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
23085         't' for compatibility with Solaris 8 sort.
23086
23087 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
23088
23089         * lib/config.charset: Add support for BeOS.
23090
23091 2000-12-17  Jim Meyering  <meyering@lucent.com>
23092
23093         * m4/dos.m4 (jm_AC_DOS): New file and macro.
23094         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
23095
23096 2000-12-16  Jim Meyering  <meyering@lucent.com>
23097
23098         This bug had a serious impact on chown: `chown N:M FILE' (for integer
23099         N and M) would have treated it like `chown N:N FILE'.
23100
23101         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
23102
23103 2000-12-16  Jim Meyering  <meyering@lucent.com>
23104
23105         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
23106         SHELLS_FILE to a file name that's useful on djgpp systems.
23107         Include stdlib.h.
23108         (ADDITIONAL_DEFAULT_SHELLS): Define.
23109         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
23110         Based mostly on a patch from Prashant TR.
23111
23112 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
23113
23114         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
23115         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
23116         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
23117
23118 2000-12-08  Andreas Schwab  <schwab@suse.de>
23119
23120         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
23121         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
23122
23123 2000-12-07  Jim Meyering  <meyering@lucent.com>
23124
23125         * lib/stripslash.c (ISSLASH): Define.
23126         (strip_trailing_slashes): Use ISSLASH rather than comparing against
23127         `/'.
23128         From Prashant TR.
23129
23130         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
23131         (dir_name_r): Declare this function as static.
23132         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
23133         manifest itself on a name containing a mix of slashes and
23134         backslashes.
23135         Make this function work with names starting with a DOS-style
23136         drive letter and colon prefix.
23137         (dir_name): Append `.' if necessary.
23138         Based mostly on patches from Prashant TR and Eli Zaretskii.
23139
23140         * lib/dirname.h (dir_name_r): Remove prototype.
23141
23142 2000-12-06  Paul Eggert  <eggert@twinsun.com>
23143
23144         * m4/off_t-format.m4: Remove this file.
23145         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
23146
23147 2000-12-06  Jim Meyering  <meyering@lucent.com>
23148
23149         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
23150         replacement strtoull, we may well need the replacement strtoul, too.
23151         Check for declarations of strtoul and strtoull.
23152         Check for strtol.  Mainly as a cue to cause automake to include
23153         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
23154         Check for limits.h -- strtol.c needs it.
23155
23156 2000-12-05  Jim Meyering  <meyering@lucent.com>
23157
23158         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
23159
23160 2000-12-04  Jim Meyering  <meyering@lucent.com>
23161
23162         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
23163         Also include memory.h, stdlib.h, unistd.h if appropriate.
23164         Reported by Andreas Jaeger (conflicting declaration of malloc).
23165
23166 2000-12-02  Jim Meyering  <meyering@lucent.com>
23167
23168         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
23169         * m4/jm-macros.m4 (jm_MACROS): require it.
23170
23171 2000-12-02  Jim Meyering  <meyering@lucent.com>
23172
23173         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
23174
23175 2000-12-01  Paul Eggert  <eggert@twinsun.com>
23176
23177         * lib/memrchr.c: Include <config.h> before any system include file.
23178
23179 2000-11-30  Jim Meyering  <meyering@lucent.com>
23180
23181         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
23182
23183 2000-11-30  Jim Meyering  <meyering@lucent.com>
23184
23185         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
23186
23187 2000-11-29  Paul Eggert  <eggert@twinsun.com>
23188
23189         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
23190
23191 2000-11-26  Jim Meyering  <meyering@lucent.com>
23192
23193         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
23194
23195 2000-11-22  Paul Eggert  <eggert@twinsun.com>
23196
23197         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
23198         size of (size_t) -1; it's not portable.
23199
23200 2000-11-17  Jim Meyering  <meyering@lucent.com>
23201
23202         * lib/strstr.c: Update from GNU libc.
23203
23204 2000-11-17  Akim Demaille  <akim@epita.fr>
23205
23206         * lib/obstack.h: Formatting changes.
23207         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
23208         prevent type checking.
23209         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
23210         cast the value to (void *): assigning a `foo *' to a `void *'
23211         variable is valid.
23212         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
23213
23214 2000-11-16  Jim Meyering  <meyering@lucent.com>
23215
23216         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
23217
23218 2000-11-11  Jim Meyering  <meyering@lucent.com>
23219
23220         * lib/error.c: Add a couple #includes, merging from GNU libc version.
23221
23222 2000-11-10  Jim Meyering  <meyering@lucent.com>
23223
23224         * lib/obstack.h: Update from GNU libc.
23225         * lib/obstack.c: Likewise.
23226
23227 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
23228
23229         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
23230
23231 2000-11-06  Paul Eggert  <eggert@twinsun.com>
23232
23233         * lib/getusershell.c (setusershell): Use rewind rather than
23234         fseek/fseeko, to avoid configuration hassles with fseeko.
23235         Don't bother opening SHELLS_FILE if shellstream is NULL;
23236         it's not necessary.
23237
23238 2000-11-05  Jim Meyering  <meyering@lucent.com>
23239
23240         * lib/makepath.h (make_dir): Declare.
23241         * lib/makepath.c (make_dir): Remove `static' attribute.
23242         Tweak a comment.
23243
23244 2000-11-04  Jim Meyering  <meyering@lucent.com>
23245
23246         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
23247
23248 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
23249
23250         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
23251         last one in a bucket, advance to the next bucket.
23252
23253 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
23254
23255         * lib/fnmatch.c: Do not comment out all the code if we are using
23256         the GNU C library, because in some cases we are replacing buggy
23257         code in the GNU C library itself.
23258
23259 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
23260
23261         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
23262         (regex_compile): Catch bogus \(\1\).
23263
23264 2000-10-30  Paul Eggert  <eggert@twinsun.com>
23265
23266         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
23267         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
23268         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
23269
23270 2000-10-30  Paul Eggert  <eggert@twinsun.com>
23271
23272         * lib/error.h, getline.h, modechange.h:
23273         Remove "2000" from Copyright line, as the file hasn't been
23274         changed this year other than in the copyright notice.
23275
23276         * lib/xalloc.h: Add "2000" to Copyright line, as this file
23277         was changed this year.
23278
23279 2000-10-29  Jim Meyering  <meyering@lucent.com>
23280
23281         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
23282         renaming.
23283         * m4/ls-mntd-fs.m4: Likewise
23284
23285 2000-10-29  Jim Meyering  <meyering@lucent.com>
23286
23287         * lib/xstat.in: Fix grammar in comment.
23288
23289 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
23290
23291         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
23292         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
23293         doesn't define __restrict_arr.
23294
23295 2000-10-28  Jim Meyering  <meyering@lucent.com>
23296
23297         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
23298         (jm_PREREQ_MEMCHR): New function.
23299
23300 2000-10-28  Jim Meyering  <meyering@lucent.com>
23301
23302         * lib/memchr.c: Update from libc.
23303         Adjust for portability:
23304         [HAVE_STDLIB_H]: Include stdlib.h.
23305         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
23306         Undef __memchr, too.
23307         [!weak_alias]: Define __memchr to memchr.
23308
23309         * lib/regex.c: Update from libc.
23310         * lib/regex.h: Likewise.
23311         * lib/getopt1.c: Likewise.
23312         * lib/memcmp.c: Likewise.
23313
23314         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
23315         Avoid using fseek, when possible -- it's broken by design.
23316         Patch by Ulrich Drepper.
23317
23318 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
23319
23320         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
23321         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
23322         Giving in to popular pressure to shut up the compiler with casts.
23323
23324 2000-10-26  Jim Meyering  <meyering@lucent.com>
23325
23326         * lib/strftime.c: Update from libc.
23327
23328 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
23329
23330         * regex.c: More `unsigned char' -> `re_char' changes.
23331         Also change several `int' into `re_wchar_t'.
23332         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
23333         (PUSH_FAILURE_POINTER): Don't cast any more.
23334         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
23335         We want GCC to complain, since this piece of code makes
23336         re_match non-reentrant, which *should* be fixed.
23337         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
23338         (EXTEND_BUFFER): Use RETALLOC.
23339         (SET_LIST_BIT): Don't cast.
23340         (re_wchar_t): New type.
23341         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
23342         that those two functions will always properly return.
23343         (IMMEDIATE_QUIT_CHECK): Cast to void.
23344         (analyse_first): Use recursion rather than an explicit stack.
23345         (re_compile_fastmap): Can't fail anymore.
23346         (re_search_2): Don't check re_compile_fastmap for failure.
23347         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
23348         Now also sets the new value (passed in a new argument).
23349         (re_match_2_internal): Use it.
23350         Also, use a new var `reg' of type size_t when looping through regs
23351         rather than reuse the inappropriate `mcnt'.
23352
23353 2000-10-25  Jim Meyering  <meyering@lucent.com>
23354
23355         * lib/obstack.c: Update from libc.
23356
23357 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
23358
23359         * regex.c (regex_compile): Change the way of handling a range from
23360         a char less than 256 to a char not less than 256.
23361
23362 2000-10-24  Andrew Innes  <andrewi@gnu.org>
23363
23364         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
23365         NT-Emacs only.
23366         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
23367         so that re_search functions only quit when callers expect them to.
23368
23369 2000-10-23  Jim Meyering  <meyering@lucent.com>
23370
23371         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
23372         wrong.  That set_locale call must not have any side effects.
23373         From Paul Eggert.
23374
23375 2000-10-22  Jim Meyering  <meyering@lucent.com>
23376
23377         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
23378         [CYCLIC]: Remove now-unused definition.
23379
23380         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
23381         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
23382         Suggestion from Ulrich Drepper.
23383
23384 2000-10-21  Jim Meyering  <meyering@lucent.com>
23385
23386         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
23387         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
23388         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
23389
23390 2000-10-21  Jim Meyering  <meyering@lucent.com>
23391
23392         * lib/dirname.c (memrchr): Declare if necessary.
23393         (dir_name): Remove the restriction that there be no
23394         trailing slashes.  Now, this code skips past them, effectively
23395         ignoring them.
23396         [TEST_DIRNAME] (main): New unit tests.
23397
23398         * lib/memrchr.c: New file from GNU libc.
23399         Undef __memrchr, too.
23400         [!weak_alias]: Define __memrchr to memrchr.
23401         Guard weak_alias use with `#ifdef weak_alias'.
23402
23403 2000-10-21  Jim Meyering  <meyering@lucent.com>
23404
23405         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
23406         (dir_name): Use dir_name_r.
23407         * lib/dirname.h (dir_name_r): Declare it.
23408
23409 2000-10-17  Jim Meyering  <meyering@lucent.com>
23410
23411         * lib/quote.h (PARAMS): Define and use.
23412         Reported by Akim Demaille.
23413
23414         * lib/getopt.c: Update from libc.
23415
23416 2000-10-16  Jim Meyering  <meyering@lucent.com>
23417
23418         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
23419         setlocale.
23420         From Jan Fedak.
23421
23422 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
23423
23424         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
23425
23426 2000-09-25  Jim Meyering  <meyering@lucent.com>
23427
23428         * lib/md5.h (rol): Define (from GnuPG).
23429
23430         * lib/sha.c: Give credit (GnuPG) where due.
23431         (M): Use rol rather than open-coding it.
23432         Add a FIXME comment.
23433
23434 2000-09-21  Jim Meyering  <meyering@lucent.com>
23435
23436         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
23437         Reported by Michael Stone.
23438
23439 2000-09-20  Jim Meyering  <meyering@lucent.com>
23440
23441         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
23442         (noinst_HEADERS): Add sha.h.
23443         Based on code from Scott G. Miller and from GnuPG.
23444
23445 2000-09-18  Jim Meyering  <meyering@lucent.com>
23446
23447         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
23448         LIBS. Otherwise, everyone ends up linking with -lelf for some
23449         configurations.
23450         Reported by Mike Stone.
23451
23452 2000-09-15  Jim Meyering  <meyering@lucent.com>
23453
23454         * lib/regex.c: Update from libc.
23455
23456 2000-09-10  Jim Meyering  <meyering@lucent.com>
23457
23458         * lib/getopt.c (_getopt_internal): Update from glibc.
23459
23460 2000-09-09  Jim Meyering  <meyering@lucent.com>
23461
23462         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
23463         think it should be used as a general replacement for isascii.
23464         * lib/fnmatch.c: Likewise.
23465         * lib/mbswidth.c: Likewise
23466         * lib/regex.c: Likewise.
23467
23468         Don't use atoi.
23469         * lib/userspec.c: Include sys/param.h and limits.h.
23470         Include xstrtol.h.
23471         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
23472         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
23473         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
23474         UID, GID.  Check range.
23475
23476 2000-09-06  Jim Meyering  <meyering@lucent.com>
23477
23478         * lib/getopt.c (_getopt_internal): Update from glibc.
23479
23480 2000-08-30  Jim Meyering  <meyering@lucent.com>
23481
23482         * lib/strftime.c: Merge in changes from GNU libc.
23483
23484 2000-08-26  Jim Meyering  <meyering@lucent.com>
23485
23486         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
23487         * m4/fpending.m4: New file.
23488
23489 2000-08-26  Jim Meyering  <meyering@lucent.com>
23490
23491         * lib/closeout.c: Include "__fpending.h".
23492         (close_stdout_status): Return right away if there's nothing to flush.
23493
23494         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
23495         * lib/__fpending.c: New file.
23496         * lib/__fpending.h: New file.
23497
23498 2000-08-20  Jim Meyering  <meyering@lucent.com>
23499
23500         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
23501         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
23502         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
23503
23504 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
23505
23506         Improve fileutils installation on systems where running
23507         programs (like install) can't be unlinked.
23508         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
23509         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
23510
23511 2000-08-07  Paul Eggert  <eggert@twinsun.com>
23512
23513         Standardize on "memory exhausted" instead of "Memory exhausted"
23514         or "virtual memory exhausted".
23515         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
23516         "virtual memory exhausted".
23517         * lib/same.c (same_name): Invoke xalloc_die instead of printing
23518         our own message.
23519         * lib/userspec.c (parse_user_spec): Likewise.
23520         * lib/bumpalloc.h: comment fix
23521         * lib/same.c, userspec.c: Include xalloc.h.
23522
23523         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
23524         not char *const and pointing to a constant array.
23525         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
23526         (xrealloc): Comment fix.
23527
23528         * lib/userspec.c (parse_user_spec):
23529         Don't translate a message until just before returning,
23530         to avoid unnecessary translation.
23531
23532 2000-08-07  Jim Meyering  <meyering@lucent.com>
23533
23534         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
23535         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
23536         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
23537         getgroups.c, gethostname.c, getopt.h, group-member.c,
23538         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
23539         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
23540         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
23541         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
23542         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
23543         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
23544         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
23545         yesno.c: Back out Copyright date changes for each file with no change
23546         this year.  This eases coordination with other programs using the same
23547         source code modules.  From Paul Eggert.
23548
23549 2000-08-06  Paul Eggert  <eggert@twinsun.com>
23550
23551         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
23552         not char, for compatibility with glibc 2.1.3 strftime.c.
23553
23554 2000-08-03  Greg McGary  <greg@mcgary.org>
23555
23556         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
23557         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
23558         (EXTEND_BUFFER): Use them.
23559
23560 2000-08-01  Jim Meyering  <meyering@lucent.com>
23561
23562         * lib/dirname.c (ISSLASH): Define.
23563         (BACKSLASH_IS_PATH_SEPARATOR): Define.
23564         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
23565         both `\' and `/' may be use as path separators.
23566         Based on a patch from Prashant TR.
23567
23568 2000-07-31  Paul Eggert  <eggert@twinsun.com>
23569
23570         * lib/quotearg.c (quotearg_n_options): Don't make the initial
23571         slot vector a constant, since it might get modified.
23572
23573 2000-07-31  Jim Meyering  <meyering@lucent.com>
23574
23575         * lib/xmalloc.c: Use `virtual memory exhausted', not
23576         `Memory exhausted'.
23577         * lib/obstack.c (print_and_abort): Likewise.
23578
23579 2000-07-30  Paul Eggert  <eggert@twinsun.com>
23580
23581         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
23582         buffer, so that the caller can always quote one small
23583         component of a "memory exhausted" message in slot 0.
23584         From a suggestion by Jim Meyering.
23585
23586 2000-07-30  Jim Meyering  <meyering@lucent.com>
23587
23588         * lib/makepath.c (make_path): Quote the other instance, too.
23589
23590         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
23591         (STATIC_BUF_SIZE): Define.
23592         (quotearg_n_options): Use only statically allocated storage when
23593         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
23594         than STATIC_BUF_SIZE.
23595
23596 2000-07-29  Jim Meyering  <meyering@lucent.com>
23597
23598         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
23599         * lib/dirname.c (dir_name): Likewise.
23600
23601         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
23602         `/'.
23603
23604         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
23605         (dir_name): Assert that there are no trailing slashes.
23606
23607 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
23608
23609         * lib/mbswidth.h (mbswidth): Add a flags argument.
23610         (mbswidth): New declaration.
23611         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
23612         * lib/mbswidth.c (mbswidth): Add a flags argument.
23613         (mbsnwidth): New function.
23614
23615 2000-07-24  Jim Meyering  <meyering@lucent.com>
23616
23617         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
23618
23619 2000-07-23  Paul Eggert  <eggert@twinsun.com>
23620
23621         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
23622
23623 2000-07-23  Paul Eggert  <eggert@twinsun.com>
23624
23625         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
23626         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
23627         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
23628         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
23629         invoke multibyte primitives.
23630
23631 2000-07-23  Paul Eggert  <eggert@twinsun.com>
23632
23633         * lib/quotearg.c:
23634         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
23635         so that mbstate_t is always defined.
23636
23637         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
23638         be 1 in at least one GCC installation, and this configuration
23639         error is likely to be common.  Ignoring MB_LEN_MAX hurts
23640         performance on hosts that have mbrtowc but have only unibyte
23641         locales, but I assume these hosts are rare.
23642
23643 2000-07-23  Paul Eggert  <eggert@twinsun.com>
23644
23645         * lib/mbswidth.c (_XOPEN_SOURCE):
23646         Don't define; this causes problems on Solaris 7.
23647         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
23648
23649 2000-07-23  Jim Meyering  <meyering@lucent.com>
23650
23651         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
23652         too: getgrgid, getpwuid, getuid.
23653
23654 2000-07-23  Jim Meyering  <meyering@lucent.com>
23655
23656         * lib/basename.c (base_name): Add an assertion.
23657
23658 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
23659
23660         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
23661         shadow its mbsinit function.
23662
23663 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
23664
23665         * lib/mbswidth.h: New file.
23666         * lib/mbswidth.c: New file.
23667         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
23668         (noinst_HEADERS): Add mbswidth.h.
23669
23670 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
23671
23672         * lib/config.charset: Add support for FreeBSD. Improve support for
23673         HP-UX and IRIX 6.
23674
23675 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
23676
23677         * m4/mbswidth.m4: New file.
23678         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
23679
23680 2000-07-15  Jim Meyering  <meyering@lucent.com>
23681
23682         * lib/makepath.c: Include quote.h.
23683         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
23684         corresponding argument in a `quote (...)' call.
23685         Give better diagnostics.
23686
23687         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
23688         (noinst_HEADERS): Add quote.h.
23689
23690         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
23691         from tar's src/misc.c.
23692         * lib/quote.h: New file.  Prototypes for same.
23693
23694 2000-07-14  Paul Eggert  <eggert@twinsun.com>
23695
23696         From a suggestion by Bruno Haible.
23697         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
23698         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
23699         to decide whether to define the BeOS workaround macro;
23700         this adjusts to the change to AC_MBSTATE_T.
23701
23702 2000-07-14  Jim Meyering  <meyering@lucent.com>
23703
23704         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
23705         jm_AC_TYPE_UINTMAX_T.
23706
23707 2000-07-13  Paul Eggert  <eggert@twinsun.com>
23708
23709         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
23710
23711         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
23712         quotearg_buffer_restyled): Add support for
23713         clocale_quoting_style.  Undo previous change to
23714         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
23715         and "{RIGHT QUOTATION MARK}" msgids.
23716
23717 2000-07-10  Paul Eggert  <eggert@twinsun.com>
23718
23719         From a suggestion by Bruno Haible.
23720         * m4/mbstate_t.m4 (AC_MBSTATE_T):
23721         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
23722         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
23723         and mbstate_t, to a single-part test that simply defines mbstate_t.
23724         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
23725         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
23726
23727 2000-07-10  Jim Meyering  <meyering@lucent.com>
23728
23729         * m4/strerror_r.m4: Mirror the correction made in autoconf.
23730
23731         * m4/gnu-source.m4: Output to confdefs.h directly.
23732         Suggestion from Akim Demaille.
23733
23734 2000-07-09  Paul Eggert  <eggert@twinsun.com>
23735
23736         The old behavior of quoting `like this' doesn't look good with
23737         newer, ISO-style fonts.  See:
23738         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
23739
23740         Instead, quote "like this" by default.  Let the translator
23741         tailor the locale-specific quoting behavior by providing
23742         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
23743
23744         * lib/quotearg.c (N_): New macro.
23745         (gettext_default): New function.
23746         (quotearg_buffer_restyled): Use
23747         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
23748         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
23749
23750 2000-07-09  Jim Meyering  <meyering@lucent.com>
23751
23752         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
23753         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
23754
23755         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
23756         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
23757
23758 2000-07-09  Jim Meyering  <meyering@lucent.com>
23759
23760         * lib/Most files: Update copyright dates to include 2000.
23761
23762 2000-07-08  Jim Meyering  <meyering@lucent.com>
23763
23764         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
23765         if not defined.
23766         (xgethostname): Remove now-unnecessary #ifdef.
23767         Move declaration of `err' into loop where it's used.
23768
23769 2000-07-05  Paul Eggert  <eggert@twinsun.com>
23770         and Bruno Haible  <haible@clisp.cons.org>
23771
23772         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
23773         only if the test for an object-type mbstate_t fails.  This
23774         prevents us from mistakenly reporting that mbstate_t is a
23775         system object type after we "#define mbstate_t int" to work
23776         around its lack.
23777
23778 2000-07-05  Paul Eggert  <eggert@twinsun.com>
23779         and Bruno Haible  <haible@clisp.cons.org>
23780
23781         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
23782
23783 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
23784
23785         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
23786         to strerror_r.
23787         Include <ctype.h> for use of isalpha.
23788
23789 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
23790
23791         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
23792         by allocating a larger buffer. Test the gethostname return value for
23793         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
23794         returns an error and ENAMETOOLONG isn't defined.
23795
23796 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
23797
23798         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
23799         dimension.
23800
23801 2000-07-04  Jim Meyering  <meyering@lucent.com>
23802
23803         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
23804         of the deprecated AC_CHECKING.
23805
23806 2000-07-04  Jim Meyering  <meyering@lucent.com>
23807
23808         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
23809         Reported by Bruno Haible.
23810
23811 2000-07-04  Jim Meyering  <meyering@lucent.com>
23812
23813         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
23814         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
23815         lacks mbrtowc.
23816
23817 2000-07-03  Paul Eggert  <eggert@twinsun.com>
23818
23819         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
23820         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
23821
23822 2000-07-03  Paul Eggert  <eggert@twinsun.com>
23823         and Bruno Haible  <haible@clisp.cons.org>
23824
23825         * lib/quotearg.c (mbrtowc):
23826         Assign to *pwc, and return 1 only if result is nonzero.
23827         (iswprint): Use ISPRINT when substituting our own mbrtowc.
23828
23829 2000-07-03  Jim Meyering  <meyering@lucent.com>
23830
23831         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
23832
23833 2000-07-03  Jim Meyering  <meyering@lucent.com>
23834
23835         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
23836         This is necessary to get a definition of e.g., UTMP_FILE on
23837         HP-UX 10.20.
23838         From Bob Proulx.
23839
23840 2000-07-02  Jim Meyering  <meyering@lucent.com>
23841
23842         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
23843
23844         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
23845         AC_LIBOBJ(function_name).
23846         * m4/chown.m4: Likewise.
23847         * m4/fnmatch.m4: Likewise.
23848         * m4/ftruncate.m4: Likewise.
23849         * m4/getgroups.m4: Likewise.
23850         * m4/getline.m4: Likewise.
23851         * m4/group-member.m4: Likewise.
23852         * m4/jm-macros.m4: Likewise.
23853         * m4/lstat.m4: Likewise.
23854         * m4/malloc.m4: Likewise.
23855         * m4/memcmp.m4: Likewise.
23856         * m4/nanosleep.m4: Likewise.
23857         * m4/putenv.m4: Likewise.
23858         * m4/realloc.m4: Likewise.
23859         * m4/regex.m4: Likewise.
23860         * m4/stat.m4: Likewise.
23861         * m4/strftime.m4: Likewise.
23862
23863 2000-07-02  Jim Meyering  <meyering@lucent.com>
23864
23865         * lib/quotearg.c (mbstate_t): Don't define here.
23866
23867 2000-07-02  Jim Meyering  <meyering@lucent.com>
23868
23869         * lib/nanosleep.c (SIGCONT): Define if not already defined.
23870
23871 2000-07-01  Jim Meyering  <meyering@lucent.com>
23872
23873         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
23874
23875 2000-07-01  Jim Meyering  <meyering@lucent.com>
23876
23877         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
23878         problem.
23879
23880 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
23881
23882         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
23883         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
23884
23885 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
23886
23887         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
23888         per change in ../m4/ls-mntd-fs.m4.
23889         (read_filesystem_list): Ignore symbolic links.
23890
23891 2000-06-29  Jim Meyering  <meyering@lucent.com>
23892
23893         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
23894         for declaration of strcmp.
23895
23896         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
23897
23898         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
23899         Avoid warning by casting result to `char *' to remove `const'.
23900
23901 2000-06-28  Jim Meyering  <meyering@lucent.com>
23902
23903         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
23904         included by quotearg.c, for which we perform this test.  From
23905         Bruno Haible.
23906
23907 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
23908
23909         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
23910         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
23911         <utmpx.h> exists, put readutmp.o into LIBOBJS.
23912
23913 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
23914
23915         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
23916
23917 2000-06-26  Paul Eggert  <eggert@twinsun.com>
23918
23919         savedir now sets errno on failure and invokes xmalloc to get memory.
23920         Fix a couple of other minor bugs while we're at it.
23921
23922         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
23923         (NAMLEN): Remove macro.
23924         (malloc, realloc): Remove decls.
23925         (stpcpy): Likewise.
23926         ("xalloc.h"): Include.
23927         (NAME_SIZE_DEFAULT): New macro.
23928         (savedir): Use xmalloc / xrealloc to allocate memory.
23929         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
23930         Skip "" directory entries.
23931         Use strlen to calculate directory entry length, since the old method
23932         is rarely used these days and isn't worth supporting.
23933         Don't use a pointer after freeing it.
23934         Check for integer overflow when calculating allocation size.
23935         Use memcpy to copy entries, instead of stpcpy.
23936         Set errno properly when returning NULL.
23937         Check for readdir error.
23938
23939 2000-06-26  Jim Meyering  <meyering@lucent.com>
23940
23941         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
23942
23943 2000-06-25  Jim Meyering  <meyering@lucent.com>
23944
23945         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
23946         Linux header bug when _XOPEN_SOURCE is defined to 500.
23947
23948 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
23949
23950         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
23951         deficiency.
23952
23953 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
23954
23955         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
23956         Include xalloc.h.
23957         Don't include <stdlib.h>.  Don't declare malloc, realloc.
23958
23959 2000-06-24  Jim Meyering  <meyering@lucent.com>
23960
23961         * m4/strerror_r.m4: Revive this file -- to try out an experimental
23962         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
23963         for which strerror does return char*, but which lacks a conveniently
23964         accessible declaration of the function.  If the compile-test says
23965         strerror_r doesn't work, then resort to a `run'-test that works on
23966         BeOS and segfaults on DEC Unix.
23967
23968 2000-06-24  Jim Meyering  <meyering@lucent.com>
23969
23970         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
23971
23972 2000-06-23  Paul Eggert  <eggert@twinsun.com>
23973
23974         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
23975         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
23976
23977 2000-06-23  Paul Eggert  <eggert@twinsun.com>
23978
23979         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
23980         (mbrtowc, mbstate_t): Define substitutes if
23981         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
23982         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
23983         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
23984
23985 2000-06-23  Jim Meyering  <meyering@lucent.com>
23986
23987         * m4/afs.m4: Add missing AC_MSG_RESULT.
23988         Reported by Bruno Haible.
23989
23990         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
23991         Suggestion from Bruno Haible.
23992
23993 2000-06-23  Jim Meyering  <meyering@lucent.com>
23994
23995         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
23996
23997 2000-06-21  Jim Meyering  <meyering@lucent.com>
23998
23999         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
24000
24001 2000-06-21  Jim Meyering  <meyering@lucent.com>
24002
24003         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
24004         (noinst_HEADERS): Add getstr.h.
24005
24006         * lib/getline.c (getstr): Move into a separate file.
24007         * lib/getstr.c (getstr): New file, extracted from getline.c, with
24008         the following changes: new parameter, delim2; both delim[12]
24009         parameters have type `int', not `char'.  The latter would lose
24010         with 8-bit delimiters.
24011         * lib/getstr.h: New file.
24012
24013 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
24014
24015         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
24016         than 1024, return a memory chunk of least possible size, instead
24017         of size PATH_MAX + 2. In the loop, increment the size proportionally.
24018         Use free/xmalloc instead of xrealloc to avoid copying for very long
24019         paths.
24020
24021 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
24022
24023         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
24024         the empty string.
24025
24026 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
24027
24028         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
24029         address, not strdup.  Include <stdlib.h> and don't declare free().
24030
24031 2000-06-19  Jim Meyering  <meyering@lucent.com>
24032
24033         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
24034
24035 2000-06-18  Jim Meyering  <meyering@lucent.com>
24036
24037         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
24038
24039         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
24040         `checking whether...' message to be consistent with that of the
24041         lstat test.
24042
24043 2000-06-18  Jim Meyering  <meyering@lucent.com>
24044
24045         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
24046         Besides, these days every porting target provides a mkdir function.
24047
24048         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
24049         needed. (this snippet comes from src/system.h).
24050
24051 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
24052
24053         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
24054
24055 2000-06-15  Paul Eggert  <eggert@twinsun.com>
24056
24057         * lib/human.c (adjust_value): New function.
24058         (human_readable_inexact): Apply rounding style even when
24059         printing approximate values.
24060
24061 2000-06-14  Paul Eggert  <eggert@twinsun.com>
24062
24063         * lib/human.c (human_readable_inexact): Allow an input block
24064         size that is not a multiple of the output block size, and vice versa.
24065         Reported by Piergiorgio Sartor.
24066
24067 2000-06-14  Paul Eggert  <eggert@twinsun.com>
24068
24069         * lib/getdate.y (get_date): Apply relative times after time
24070         zone indicator, not before.  Reported by Todd A. Jacobs.
24071
24072 2000-06-13  Jim Meyering  <meyering@lucent.com>
24073
24074         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
24075
24076         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
24077
24078 2000-06-12  Paul Eggert  <eggert@twinsun.com>
24079
24080         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
24081
24082 2000-06-12  Jim Meyering  <meyering@lucent.com>
24083
24084         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
24085         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
24086         optional argument.
24087         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
24088         the optional argument, `lib'.
24089
24090 2000-06-08  Jim Meyering  <meyering@lucent.com>
24091
24092         * m4/largefile.m4: Remove file (now that it's part of autoconf).
24093
24094 2000-06-04  Paul Eggert  <eggert@twinsun.com>
24095
24096         Rewrite largefile configuration so that we don't need to run
24097         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
24098         AC_CANONICAL_HOST in configure.in -- jmm]
24099
24100         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
24101         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
24102         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
24103         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
24104         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
24105         All uses changed.
24106         Instead of inspecting the output of getconf, try to compile the
24107         test program without and with the macro definition.
24108         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
24109         for getconf.  Instead, check for the needed flags by compiling
24110         test programs.
24111
24112 2000-06-04  Paul Eggert  <eggert@twinsun.com>
24113
24114         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
24115
24116 2000-06-04  Jim Meyering  <meyering@lucent.com>
24117
24118         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
24119         SunOS 4.1.4 for which gid_t is an unsigned type.
24120
24121 2000-06-03  Jim Meyering  <meyering@lucent.com>
24122
24123         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
24124         now that autoconf requires that.
24125
24126         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
24127         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
24128         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
24129
24130 2000-06-03  Jim Meyering  <meyering@lucent.com>
24131
24132         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
24133
24134 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
24135
24136         * m4/glibc21.m4: New file.
24137         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
24138
24139 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
24140
24141         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
24142         newer, don't install charset.alias.
24143         * lib/config.charset: Change the Linux/glibc rules so they become empty
24144         on glibc-2.1 or newer.
24145
24146 2000-06-02  Jim Meyering  <meyering@lucent.com>
24147
24148         * lib/mountlist.c: Back out last change.  Instead, do this...
24149         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
24150         me_dummy member using the same `ignore'-testing code.
24151         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
24152         fs_type strings.
24153         From Mark D. Roth.
24154
24155 2000-05-29  Jim Meyering  <meyering@lucent.com>
24156
24157         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
24158         mounts with the `ignore' attribute.  Based on a patch from
24159         Mark D. Roth.
24160
24161 2000-05-28  Jim Meyering  <meyering@lucent.com>
24162
24163         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
24164         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
24165         * m4/stat.m4: Likewise.
24166         * m4/lstat.m4: Likewise.
24167         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
24168
24169         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
24170         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
24171
24172 2000-05-26  Jim Meyering  <meyering@lucent.com>
24173
24174         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
24175
24176 2000-05-24  Jim Meyering  <meyering@lucent.com>
24177
24178         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
24179         autoconf requires that.
24180         * m4/lib-check.m4: Likewise.
24181         * m4/jm-macros.m4: Likewise.
24182         * m4/strftime.m4: Likewise.
24183
24184         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
24185         AC_CHECK_DECLS, now that autoconf requires that.
24186
24187 2000-05-22  Jim Meyering  <meyering@lucent.com>
24188
24189         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
24190         * m4/lstat.m4: Likewise.
24191
24192 2000-05-22  Jim Meyering  <meyering@lucent.com>
24193
24194         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
24195
24196 2000-05-20  Jim Meyering  <meyering@lucent.com>
24197
24198         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
24199         (jm_PREREQ): Use it.
24200
24201 2000-05-18  Jim Meyering  <meyering@lucent.com>
24202
24203         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
24204         back, too, since it may have been modified by allocate_entry.
24205         (hash_delete): Rewrite to use neither the assignment operator
24206         nor the comma operator in an if-expression.
24207
24208 2000-05-15  Paul Eggert  <eggert@twinsun.com>
24209
24210         * lib/closeout.c:
24211         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
24212         Remove; no longer needed.
24213         "quotearg.h": Add include.
24214         (file_name): Do not bother to explicitly initialize to NULL; it's less
24215         efficient on some hosts.
24216         (close_stdout_status): Remove test as to whether stdout was already
24217         closed; it breaks for the case "echo x | sort >&-".
24218         Quote file name colons.
24219         Do not assume that _("write error") lacks format strings.
24220
24221 2000-05-15  Jim Meyering  <meyering@lucent.com>
24222
24223         * lib/version-etc.c (version_etc_copyright): Update the copyright
24224         string used in all --version output.
24225
24226 2000-05-14  Jim Meyering  <meyering@lucent.com>
24227
24228         * lib/closeout.c (close_stdout_set_file_name): New function.
24229         (close_stdout_status): Use new file-scoped global.
24230         Return right away if fstat says the stdout file descriptor is invalid.
24231         * lib/closeout.h (close_stdout_set_file_name): Declare.
24232
24233 2000-05-10  Jim Meyering  <meyering@lucent.com>
24234
24235         * lib/closeout.c [default_exit_status]: New file-scoped variable.
24236         (close_stdout_set_status): New function.
24237         * lib/closeout.h (close_stdout_set_status): Declare.
24238
24239 2000-05-09  Jim Meyering  <meyering@lucent.com>
24240
24241         * m4/gettext.m4: Rename this...
24242         * m4/libintl.m4: ...to this.
24243
24244 2000-05-08  Jim Meyering  <meyering@lucent.com>
24245
24246         * lib/long-options.c: Don't include closeout.h.
24247         (parse_long_options): Don't call close_stdout for --version.
24248
24249 2000-05-06  Paul Eggert  <eggert@twinsun.com>
24250
24251         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
24252         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
24253         2.1.3 bug.  This avoids a clash when files like regex.c define
24254         _GNU_SOURCE.
24255
24256 2000-05-06  Jim Meyering  <meyering@lucent.com>
24257
24258         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
24259         (AC_REPLACE_FUNCS): Add strnlen.
24260
24261         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
24262         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
24263
24264         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
24265         AC_SEARCH_LIBS call for nanosleep.
24266         (LIB_NANOSLEEP): Set and AC_SUBST.
24267
24268 2000-05-06  Jim Meyering  <meyering@lucent.com>
24269
24270         * lib/strnlen.c: Undefine __strnlen and strnlen.
24271         [!weak_alias]: Define __strnlen to strnlen.
24272
24273         * lib/atexit.c: New file, from libiberty.
24274
24275 2000-05-06  Jim Meyering  <meyering@lucent.com>
24276
24277         * lib/closeout.c (close_stdout_status): Also check for errors on the
24278         stderr stream.
24279
24280 2000-05-05  Jim Meyering  <meyering@lucent.com>
24281
24282         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
24283         AC_SEARCH_LIBS call for clock_gettime.
24284         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
24285
24286         * m4/search-libs.m4: Update from autoconf.
24287
24288         su doesn't work on Solaris 2.6.
24289         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
24290         <shadow.h>.  Reported by Dragos Harabor.
24291
24292 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
24293
24294         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
24295         memcpy instead of xmalloc, xrealloc, path_concat.
24296         (locale_charset): Treat empty environment variables as absent.
24297         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
24298
24299 2000-05-04  Jim Meyering  <meyering@lucent.com>
24300
24301         * lib/getopt.c: Update from glibc.
24302         * lib/obstack.c: Likewise.
24303         * lib/obstack.h: Likewise.
24304         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
24305         file
24306
24307         * lib/regex.h: Likewise.
24308         * lib/strndup.c: Likewise.
24309         * lib/strnlen.c: New file, from glibc.
24310
24311 2000-05-03  Jim Meyering  <meyering@lucent.com>
24312
24313         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
24314
24315 2000-05-02  Paul Eggert  <eggert@twinsun.com>
24316
24317         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
24318         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
24319         compile-time test, rather than inspecting host and OS, to
24320         decide whether to define _LARGEFILE_SOURCE.
24321
24322 2000-05-01  Jim Meyering  <meyering@lucent.com>
24323
24324         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
24325
24326         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
24327         Based on a patch from Bruno Haible.
24328
24329 2000-05-01  Jim Meyering  <meyering@lucent.com>
24330
24331         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
24332
24333 2000-04-29  Jim Meyering  <meyering@lucent.com>
24334
24335         * lib/path-concat.c: Declare strdup only if it's not defined.
24336         * lib/canon-host.c: Likewise.
24337
24338 2000-04-28  Jim Meyering  <meyering@lucent.com>
24339
24340         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
24341         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
24342         is included first, then limits.h is included by locale.h by libintl.h.
24343         From John David Anglin.
24344
24345 2000-04-25  Jim Meyering  <meyering@lucent.com>
24346
24347         * lib/makepath.c (S_IRWXUGO): Define.
24348         (make_path): Always perform explicit chmod if MODE specifies any
24349         of the `special' permission bits.  Prompted by a bug report against
24350         install from Mate Wierdl and Joost van Baal.
24351
24352 2000-04-18  Jim Meyering  <meyering@lucent.com>
24353
24354         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
24355         (jm_PREREQ): Use it.
24356
24357 2000-04-18  Jim Meyering  <meyering@lucent.com>
24358
24359         * lib/README: New file.
24360
24361         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
24362         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
24363
24364 2000-04-17  Jim Meyering  <meyering@lucent.com>
24365
24366         Get it right :-)
24367         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
24368         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
24369         Suggestion from Akim Demaille.
24370
24371 2000-04-17  Jim Meyering  <meyering@lucent.com>
24372
24373         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
24374         the definition of it to rpl_strftime also defined-away the system's
24375         declaration.
24376
24377 2000-04-15  Jim Meyering  <meyering@lucent.com>
24378
24379         Use `C' to denote so-called `contiguous' files, the same way
24380         that tar does.
24381         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
24382         (ftypelet): Use S_ISCTG.
24383         From Michael Deutschmann.
24384
24385 2000-04-14  Jim Meyering  <meyering@lucent.com>
24386
24387         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
24388         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
24389         clobbered.
24390
24391 2000-04-14  Jim Meyering  <meyering@lucent.com>
24392
24393         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
24394
24395 2000-04-13  Jim Meyering  <meyering@lucent.com>
24396
24397         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
24398         AH_VERBATIM to insert required #ifndef into config.h.in.
24399         Suggestion from Akim Demaille.
24400
24401 2000-04-12  Jim Meyering  <meyering@lucent.com>
24402
24403         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
24404         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
24405         Christian Krackowizer.
24406
24407         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
24408         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
24409         (AC_SYS_LARGEFILE): Require.
24410         (AM_C_PROTOTYPES): Require.
24411
24412 2000-04-08  Jim Meyering  <meyering@lucent.com>
24413
24414         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
24415         names don't conflict.  Reported by Eli Zaretskii.
24416
24417 2000-04-07  Jim Meyering  <meyering@lucent.com>
24418
24419         * lib/putenv.c: Move inclusion of errno.h so it follows that of
24420         sys/types.h, to work around system header problems on AIX 3.2.5.
24421         From Bruno Haible.
24422
24423 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
24424
24425         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
24426         bug.  Deal with the different error behavior of Irix iconv.
24427
24428 2000-04-05  Paul Eggert  <eggert@twinsun.com>
24429
24430         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
24431         IRIX if the installer said otherwise.
24432
24433 2000-04-05  Jim Meyering  <meyering@lucent.com>
24434
24435         Portability tweaks required for ultrix4.3.
24436         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
24437         (jm_CHECK_DECLS): Add getutent to the list of functions.
24438         (_jm_DECL_HEADERS): Add utmpx.h.
24439         From John David Anglin.
24440
24441         * m4/strftime.m4: Back out the 2000-04-02 change.
24442         Instead of that change, simply undefine putenv in the test program.
24443
24444 2000-04-05  Jim Meyering  <meyering@lucent.com>
24445
24446         Portability tweaks required for ultrix4.3.
24447         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
24448         getutent.
24449         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
24450         * lib/canon-host.c: Declare strdup.
24451         * lib/path-concat.c: Likewise.
24452         From John David Anglin.
24453
24454 2000-04-04  Jim Meyering  <meyering@lucent.com>
24455
24456         Be more DOS 8.3-friendly.
24457         * lib/ref-add.sin: Renamed from ref-add.sed.in.
24458         * lib/ref-del.sin: Renamed from ref-del.sed.in.
24459         * lib/Makefile.am: Reflect renaming.
24460         Reported by Eli Zaretskii.
24461
24462         Use a temporary file name that won't clash with `charset.alias'
24463         in the DOS 8.3 name space.
24464         * lib/Makefile.am (charset_tmp): Define.
24465         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
24466         (uninstall-local): Likewise.
24467         Reported by Eli Zaretskii.
24468
24469 2000-04-03  Jim Meyering  <meyering@lucent.com>
24470
24471         * m4/gettext.m4: Fix typo in comment.
24472
24473         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
24474         textutils/configure.in).  Suggestion from Paul Eggert.
24475         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
24476
24477 2000-04-02  Paul Eggert  <eggert@twinsun.com>
24478
24479         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
24480         variable in the shell rather than using putenv, which isn't
24481         portable.  This avoids the configure-time inter-test dependency
24482         on the potentially-renamed putenv function.
24483
24484 2000-03-30  Paul Eggert  <eggert@twinsun.com>
24485
24486         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
24487         before checking struct stat.st_blksize, so that
24488         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
24489
24490 2000-03-29  Paul Eggert  <eggert@twinsun.com>
24491
24492         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
24493         since strftime.c uses HAVE_STRFTIME to decide whether to use
24494         the underlying strftime.
24495
24496 2000-03-29  Paul Eggert  <eggert@twinsun.com>
24497
24498         * lib/time/strftime.c (my_strftime): Make sure we call the system
24499         strftime, not ourselves, when invoking the underlying strftime.
24500
24501 2000-03-24  Jim Meyering  <meyering@lucent.com>
24502
24503         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
24504         (charset_alias): Define.
24505         (install-exec-local): Factor out common code.
24506         (uninstall-local): Split lines longer than 80.
24507         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
24508         (SUFFIXES): Define.
24509         (.sed.in.sed): New rule.  Don't redirect directly to $@.
24510         (CLEANFILES): Add ref-add.sed and ref-del.sed.
24511
24512 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
24513
24514         * lib/config.charset: Output a line containing "Packages using this
24515         file".
24516         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
24517         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
24518         ref-del.sed): New rules.
24519
24520 2000-03-17  Jim Meyering  <meyering@lucent.com>
24521
24522         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
24523         Otherwise, include <strings.h>
24524
24525 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
24526
24527         * lib/unicodeio.c (utf8_wctomb): New function.
24528         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
24529         format instead of in UCS-4 with platform dependent endianness.
24530
24531 2000-03-10  Jim Meyering  <meyering@lucent.com>
24532
24533         * m4/lib-check.m4: Look for getspnam in -lgen, too.
24534         From Marco Franzen.
24535
24536 2000-03-07  Paul Eggert  <eggert@twinsun.com>
24537
24538         * lib/savedir.c (savedir): Work even if directory size is
24539         negative; this can happen with some screwy NFS configurations.
24540
24541 2000-03-06  Jim Meyering  <meyering@lucent.com>
24542
24543         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
24544         if it's NULL (because we ran out of memory).  From Bruno Haible.
24545
24546 2000-03-05  Jim Meyering  <meyering@lucent.com>
24547
24548         * lib/localcharset.c ("path-concat.h"): Include.
24549         (get_charset_aliases): Use path_concat instead of ANSI string
24550         concatenation.
24551
24552         * lib/unicodeio.h (PARAMS): Define.
24553         Use it to guard prototype.
24554
24555 2000-03-04  Jim Meyering  <meyering@lucent.com>
24556
24557         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
24558         for lib/localcharset.c.
24559
24560 2000-03-04  Jim Meyering  <meyering@lucent.com>
24561
24562         * lib/Makefile.am (install-exec-local): Create $(libdir) before
24563         installing into it.
24564         (uninstall-local): Uncomment this rule so `make distcheck' works
24565         once again.
24566
24567         * lib/unicodeio.c (<errno.h>): Include it.
24568         (errno): Declare if not defined.
24569
24570         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
24571
24572         * lib/config.charset: New version, incorporating remarks from a linux
24573         i18n mailing list.  From Bruno Haible.
24574
24575 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
24576
24577         * m4/codeset.m4: New file.
24578         * m4/iconv.m4: New file.
24579         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
24580
24581 2000-03-03  Jim Meyering  <meyering@lucent.com>
24582
24583         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
24584
24585 2000-03-02  Jim Meyering  <meyering@lucent.com>
24586
24587         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
24588         the messages come out on separate lines.
24589
24590         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
24591         rather than jm_CHECK_DECLARATIONS.
24592         * m4/decl.m4: Remove now-unused file.
24593
24594         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
24595         geteuid.
24596
24597 2000-03-02  Jim Meyering  <meyering@lucent.com>
24598
24599         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
24600
24601 2000-03-01  Jim Meyering  <meyering@lucent.com>
24602
24603         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
24604         * lib/unicodeio.c: Likewise.
24605
24606 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
24607
24608         * lib/config.charset: New file.
24609         * lib/localcharset.c: New file.
24610         * lib/unicodeio.h, lib/unicodeio.c: New files.
24611         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
24612         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
24613         (noinst_HEADERS): Add unicodeio.h.
24614         (all-local, install-exec-local, charset.alias): New targets.
24615
24616 2000-02-28  Paul Eggert  <eggert@twinsun.com>
24617
24618         * lib/quotearg.c (ALERT_CHAR): New macro.
24619         (quotearg_buffer_restyled): Use it.
24620
24621 2000-02-27  Jim Meyering  <meyering@lucent.com>
24622
24623         * m4/check-decl.m4: Add getenv to the list.
24624
24625 2000-02-27  Jim Meyering  <meyering@lucent.com>
24626
24627         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
24628         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
24629
24630         * lib/backupfile.c: Guard inclusion of stdlib.h with
24631         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
24632         Declare malloc if needed.
24633
24634         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
24635         `#ifndef HAVE_DECL..'
24636         now that autoconf always defines the HAVE_DECL_ symbols.
24637         * lib/human.c: Likewise.
24638         * lib/same.c: Likewise.
24639         * lib/strtoumax.c: Likewise.
24640
24641         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
24642         declaration check was not run.
24643         * lib/hash.c: Likewise.
24644         * lib/human.c: Likewise.
24645         * lib/same.c: Likewise.
24646         * lib/strtoumax.c: Likewise.
24647
24648         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
24649         `.', then first look up the entire `.'-containing string as a login
24650         name.
24651
24652 2000-02-23  Jim Meyering  <meyering@lucent.com>
24653
24654         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
24655         in place of my hack.
24656
24657 2000-02-18  Paul Eggert  <eggert@twinsun.com>
24658
24659         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
24660         (textint): New typedef.
24661         (parser_control): Member year changed from int to textint.
24662         All uses changed.
24663         (YYSTYPE): Removed; replaced by %union with int and textint members.
24664         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
24665         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
24666         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
24667         (tSNUMBER, tUNUMBER): Now of type <textintval>.
24668         (date, number, to_year): Use width of number in digits, not its value,
24669         to determine whether it's a 2-digit year, or a 2-digit time.
24670         (yylex): Store number of digits of numeric tokens.
24671         Reported by John Kendall.
24672
24673         (parser_control): Changed from struct parser_control to typedef (for
24674         consistency).  All uses changed.
24675
24676         (tID): Removed; not used.
24677         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
24678
24679 2000-02-14  Paul Eggert  <eggert@twinsun.com>
24680
24681         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
24682         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
24683
24684 2000-02-12  Jim Meyering  <meyering@lucent.com>
24685
24686         * lib/userspec.c (ISDIGIT): Define it.
24687         (isdigit): Remove definition.
24688         (is_number): Use ISDIGIT, not isdigit.
24689         <libintl.h>: Include.
24690         (_ and N_): Define.
24691         (parse_user_spec): Mark translatable strings.
24692
24693 2000-02-10  Jim Meyering  <meyering@lucent.com>
24694
24695         With these changes, nanosleep.[ch] are finally enough like the other
24696         lib/* replacement files to compile on a few more losing systems.
24697
24698         * lib/nanosleep.h: Don't include config.h.
24699         Remove prototype from declaration of nanosleep.
24700         (PARAMS): Remove now-unneeded definition.
24701         * lib/nanosleep.c: #undef nanosleep.
24702         (rpl_nanosleep): Rename from nanosleep.
24703
24704 2000-02-10  Jim Meyering  <meyering@lucent.com>
24705
24706         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
24707         gnu_nanosleep to rpl_nanosleep.
24708
24709 2000-02-09  Jim Meyering  <meyering@lucent.com>
24710
24711         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
24712         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
24713
24714 2000-02-08  Akim Demaille  <akim@epita.fr>
24715
24716         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
24717         `[' and `]' and remove uses of `changequote'.
24718         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
24719         (AC_SYS_LARGEFILE): Likewise.
24720         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
24721         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
24722         of changequote.
24723         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
24724         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
24725         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
24726         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
24727
24728 2000-02-05  Jim Meyering  <meyering@lucent.com>
24729
24730         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
24731         Remove explicit use of AC_HEADER_TIME.  It is required by
24732         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
24733         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
24734         in autoconf whereby the expansion of the latter ended up preceding
24735         the expansion of its prerequisite, AC_HEADER_TIME.
24736         Reported by Volker Borchert.
24737
24738 2000-02-03  Jim Meyering  <meyering@lucent.com>
24739
24740         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
24741
24742 2000-02-03  Jim Meyering  <meyering@lucent.com>
24743
24744         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
24745         rather than with `#if HAVE_UTMPNAME'.
24746
24747 2000-02-02  Jim Meyering  <meyering@lucent.com>
24748
24749         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
24750         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
24751         Reported by Eli Zaretskii.
24752
24753 2000-02-01  Jim Meyering  <meyering@lucent.com>
24754
24755         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
24756
24757 2000-01-31  Jim Meyering  <meyering@lucent.com>
24758
24759         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
24760         functions.  Add the time.h and sys/time.h headers along with the
24761         AC_REQUIRE'ment of AC_HEADER_TIME.
24762
24763 2000-01-31  Jim Meyering  <meyering@lucent.com>
24764
24765         * lib/nanosleep.h (nanosleep): Guard declaration with
24766         `#if ! HAVE_DECL_NANOSLEEP'.
24767         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
24768         the declaration in that vendor's sys/timers.h.
24769         Reported by Christian Krackowizer.
24770
24771         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
24772         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
24773         (ISPRINT): Likewise.
24774         Reported by Tom Tromey.
24775
24776 2000-01-30  Jim Meyering  <meyering@lucent.com>
24777
24778         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
24779
24780         * m4/prereq.m4 (utmp_includes): Define.
24781         Check for ut_user and ut_name members in both struct utmpx
24782         and struct utmp.
24783
24784 2000-01-30  Jim Meyering  <meyering@lucent.com>
24785
24786         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
24787         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
24788         header files where only utmpx.ut_user is declared.
24789
24790         * lib/readutmp.h (UT_USER): Define.
24791
24792 2000-01-29  Jim Meyering  <meyering@lucent.com>
24793
24794         * m4/lib-check.m4: New file containing library-related checks from
24795         fileutils and sh-utils (textutils had none).
24796
24797 2000-01-28  Jim Meyering  <meyering@lucent.com>
24798
24799         * m4/perl.m4: Change format of warning message to look more like that
24800         from the missing script.  Suggestion from François Pinard.
24801
24802 2000-01-25  Jim Meyering  <meyering@lucent.com>
24803
24804         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
24805         well as time.h in the compile check.
24806         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
24807         Fix typo in cross-compiling case: s/yes/no/.
24808
24809 2000-01-23  Jim Meyering  <meyering@lucent.com>
24810
24811         * m4/jm-macros.m4: Move df-related tests here from
24812         fileutils/configure.in
24813
24814         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
24815         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
24816
24817         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
24818         s/space/ac_fsusage_space/.
24819         (jm_FILE_SYSTEM_USAGE): Take two parameters.
24820
24821         * m4/ftruncate.m4: New file (derived from part of
24822         fileutils/configure.in).
24823         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
24824         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
24825
24826         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
24827         AC_SUBST these here, rather than just in sh-util/configure.in, so
24828         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
24829         all the same.
24830         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
24831         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
24832         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
24833         (AC_SUBST(POW_LIBM)): Likewise.
24834         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
24835
24836 2000-01-23  Jim Meyering  <meyering@lucent.com>
24837
24838         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
24839         obstack.c.
24840
24841 2000-01-22  Jim Meyering  <meyering@lucent.com>
24842
24843         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
24844
24845         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
24846
24847         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
24848         configure.in
24849         (AC_CHECK_HEADERS): Likewise for sh-utils.
24850         (AC_CHECK_HEADERS): Likewise for textutils.
24851         Merge the three lists of headers.
24852
24853         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
24854         from fileutils' configure.in.
24855
24856         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
24857         code. Moved tests into their own function (_jm_DECL_HEADERS) in
24858         check-decl.m4.
24859
24860         * m4/check-decl.m4: Use #if rather than #ifdef.
24861         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
24862         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
24863         (_jm_DECL_HEADERS): Define new function.
24864         (jm_CHECK_DECLARATIONS): Require it.
24865
24866 2000-01-22  Jim Meyering  <meyering@lucent.com>
24867
24868         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
24869         [! HAVE_DECL_STRTOULL]: Declare strtoull.
24870         Required for some AIX systems.  Reported by Christian Krackowizer.
24871         [TESTING] (main): New function.
24872
24873         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
24874         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
24875         letters.
24876
24877         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
24878         iswprint.
24879
24880         * lib/strverscmp.c (ISDIGIT): Define.
24881         (strverscmp): Use ISDIGIT, not isdigit.
24882
24883 2000-01-19  Jim Meyering  <meyering@lucent.com>
24884
24885         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
24886         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
24887         defines `struct timespec' in <sys/time.h>
24888
24889         * m4/c-bs-a.m4: Remove uses of changequote altogether.
24890         Thanks to Akim for explaining.
24891
24892 2000-01-17  Paul Eggert  <eggert@twinsun.com>
24893
24894         * lib/nanosleep.c (nanosleep):
24895         Don't use SA_INTERRUPT to decide whether to call sigaction, as
24896         POSIX.1 doesn't require SA_INTERRUPT and some systems
24897         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
24898         it's been part of POSIX.1 since day 1 (in 1988).
24899
24900 2000-01-17  Jim Meyering  <meyering@lucent.com>
24901
24902         * lib/interlock: Remove unused file.  Reported by François Pinard.
24903
24904 2000-01-16  Paul Eggert  <eggert@twinsun.com>
24905
24906         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
24907         alert, backslash, formfeed, and vertical tab unnecessarily in
24908         shell quoting style.
24909
24910 2000-01-16  Jim Meyering  <meyering@lucent.com>
24911
24912         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
24913         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
24914         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
24915         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
24916
24917 2000-01-16  Jim Meyering  <meyering@lucent.com>
24918
24919         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
24920         because the latter didn't work.
24921
24922 2000-01-15  Jim Meyering  <meyering@lucent.com>
24923
24924         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
24925         (AC_REPLACE_FUNCS): Add memcpy and memset.
24926         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
24927         Add strpbrk.
24928         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
24929
24930 2000-01-12  Jim Meyering  <meyering@lucent.com>
24931
24932         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
24933         (jm_PREREQ): Use it.
24934         (jm_PREREQ_READUTMP): New macro.
24935         (jm_PREREQ): Use it.
24936
24937 2000-01-11  Paul Eggert  <eggert@twinsun.com>
24938
24939         Quote multibyte characters correctly.
24940         * m4/c-bs-a.m4: New file.
24941         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
24942         (jm_PREREQ): Use it.
24943
24944 2000-01-11  Paul Eggert  <eggert@twinsun.com>
24945
24946         * m4/uintmax_t.m4: Port to autoconf 2.13.
24947
24948 2000-01-08  Jim Meyering  <meyering@ascend.com>
24949
24950         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
24951         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
24952
24953 2000-01-04  Jim Meyering  <meyering@ascend.com>
24954
24955         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
24956         jm_STRUCT_DIRENT_D_TYPE.
24957         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
24958         jm_STRUCT_DIRENT_D_INO.
24959         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
24960         jm_STRUCT_UTIMBUF.
24961         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
24962         renamings.
24963         * m4/utime.m4: Likewise.
24964
24965         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
24966         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
24967
24968 2000-01-03  Paul Eggert  <eggert@twinsun.com>
24969
24970         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
24971         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
24972
24973 2000-01-02  Jim Meyering  <meyering@ascend.com>
24974
24975         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
24976         remember if this is necessary.
24977
24978 1999-12-26  Jim Meyering  <meyering@ascend.com>
24979
24980         * m4/jm-macros.m4: Use it here.
24981         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
24982
24983 1999-12-23  Jim Meyering  <meyering@ascend.com>
24984
24985         * m4/jm-macros.m4: Check for clock_gettime (moved from
24986         fileutils/configure.in)
24987         Check for gettimeofday.
24988
24989 1999-12-20  Jim Meyering  <meyering@ascend.com>
24990
24991         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
24992         autoconf-2.14a-1999-12-20.
24993
24994 1999-12-19  Jim Meyering  <meyering@ascend.com>
24995
24996         * m4/lstat-slash.m4: New file.
24997         * m4/jm-macros.m4: Use the new macro:
24998         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
24999
25000 1999-12-07  Jim Meyering  <meyering@ascend.com>
25001
25002         * m4/perl.m4: Require that File::Compare be available, too.
25003         Too many systems seem to lack it.
25004
25005         * m4/strftime.m4: Add checks for most of the cpp macros tested in
25006         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
25007
25008 1999-11-18  Paul Eggert  <eggert@twinsun.com>
25009
25010         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
25011         problem with the QNX 4.25 shell, which doesn't propagate exit
25012         status of failed commands inside shell assignments.
25013
25014 1999-11-17  Jim Meyering  <meyering@ascend.com>
25015
25016         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
25017
25018 1999-11-07  Jim Meyering  <meyering@ascend.com>
25019
25020         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
25021
25022 1999-11-06  Jim Meyering  <meyering@ascend.com>
25023
25024         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
25025         * m4/jm-macros.m4 (jm_MACROS): Use it here.
25026
25027 1999-11-05  Jim Meyering  <meyering@ascend.com>
25028
25029         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
25030         configure.in of textutils, fileutils, and sh-utils into this one
25031         (shared between those packages) file.
25032         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
25033         AC_STRUCT_ST_BLKSIZE.
25034
25035 1999-11-03  Jim Meyering  <meyering@ascend.com>
25036
25037         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
25038         of AC_CHECK_TYPE checks includes unistd.h.
25039         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
25040         Suggestion from Akim Demaille.
25041
25042 1999-10-30  Jim Meyering  <meyering@ascend.com>
25043
25044         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
25045         m4-quoted string.
25046         * m4/ls-mntd-fs.m4: Likewise.
25047         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
25048         * m4/jm-winsz1.m4: Likewise.
25049
25050         * m4/const.m4: Remove file, since the fix made it into the experimental
25051         version of autoconf.
25052         * m4/mktime.m4: Likewise.
25053
25054         * m4/check-type.m4: Remove file, now that the latest version of
25055         AC_CHECK_TYPE takes a third arg to specify additional #includes.
25056
25057         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
25058         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
25059         AC_CHECK_TYPE.
25060
25061 1999-10-04  Jim Meyering  <meyering@ascend.com>
25062
25063         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
25064
25065 1999-09-22  Paul Eggert  <eggert@twinsun.com>
25066
25067         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
25068         2.95.1 bug with HP-UX 10.20.
25069
25070 1999-09-17  Jim Meyering  <meyering@ascend.com>
25071
25072         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
25073         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
25074         due to missing strdup (against sh-utils-2.0).
25075
25076 1999-08-29  Jim Meyering  <meyering@ascend.com>
25077
25078         * m4/jm-macros.m4: Require jm_BISON.
25079         * m4/bison.m4: New file.
25080
25081 1999-08-17  Paul Eggert  <eggert@twinsun.com>
25082
25083         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
25084         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
25085
25086 1999-08-05  Jim Meyering  <meyering@ascend.com>
25087
25088         * m4/getline.m4: Rename test file from conftestdata to conftest.data
25089         to avoid conflicts with `conftest' on 8+3 filesystems.
25090         Suggestion from Eli Zaretskii.
25091
25092 1999-08-04  Jim Meyering  <meyering@ascend.com>
25093
25094         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
25095         fileutils and sh-utils (textutils's getline test was inadequate).
25096         (AM_FUNC_GETLINE): Run this test.
25097         (AC_CHECK_FUNCS): Check for getdelim.
25098         Reported by Bob Proulx.
25099
25100 1999-08-02  Jim Meyering  <meyering@ascend.com>
25101
25102         * m4/jm-macros.m4: Add a comment.
25103
25104 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25105
25106         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
25107         <inttypes.h> defines strtoumax as a macro (and not as a
25108         function).
25109
25110 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25111
25112         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
25113         that we can shift, multiply and divide unsigned long long
25114         values; Ultrix cc can't do it.
25115
25116 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25117
25118         * m4/mktime.m4: New file, which is a preview of what should appear
25119         in the next public autoconf release.
25120
25121 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25122
25123         * m4/lfs.m4: Remove this file.
25124         * m4/largefile.m4: New file.  It contains the old contents of
25125         lfs.m4, except that all names with prefix AC_LFS have been
25126         changed to use the prefix AC_SYS_LARGEFILE instead, to be
25127         compatible with future autoconf versions.  Also, some minor m4
25128         quoting problems have been fixed.
25129
25130 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25131
25132         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
25133         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
25134         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
25135         and simplify the shell code.
25136
25137 1999-08-01  Jim Meyering  <meyering@ascend.com>
25138
25139         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
25140         m4.
25141
25142 1999-07-20  Jim Meyering  <meyering@ascend.com>
25143
25144         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
25145
25146 1999-07-15  Jim Meyering  <meyering@ascend.com>
25147
25148         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
25149
25150 1999-05-22  Jim Meyering  <meyering@ascend.com>
25151
25152         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
25153
25154 1999-05-20  Jim Meyering  <meyering@ascend.com>
25155
25156         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
25157         Add a colon after each `then' in case $4 is empty.
25158
25159 1999-05-16  Jim Meyering  <meyering@ascend.com>
25160
25161         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
25162
25163 1999-05-10  Jim Meyering  <meyering@ascend.com>
25164
25165         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
25166
25167         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
25168         AC_FUNC_MKTIME.
25169
25170 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
25171
25172         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
25173
25174 1999-05-04  Paul Eggert  <eggert@twinsun.com>
25175
25176         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
25177         not CPPFLAGS, so that linking works correctly in IRIX.
25178
25179 1999-04-30  Paul Eggert  <eggert@twinsun.com>
25180
25181         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
25182
25183 1999-04-20  Paul Eggert  <eggert@twinsun.com>
25184
25185         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
25186         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
25187         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
25188         jm_AC_TYPE_UNSIGNED_LONG_LONG.
25189         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
25190
25191         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
25192
25193 1999-04-20  Jim Meyering  <meyering@ascend.com>
25194
25195         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
25196         AC_REPLACE xstroull if necessary.  From Paul Eggert.
25197         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
25198
25199 1999-04-18  Jim Meyering  <meyering@ascend.com>
25200
25201         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
25202         * m4/jm-macros.m4: Use it.
25203
25204 1999-04-06  Jim Meyering  <meyering@ascend.com>
25205
25206         * m4/strftime.m4: Remove test for %f.
25207
25208 1999-03-29  Jim Meyering  <meyering@ascend.com>
25209
25210         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
25211         superset of the AC_TYPE_* checks in the textutils, fileutils,
25212         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
25213         AC_TYPE_PID_T.
25214
25215 1999-03-28  Jim Meyering  <meyering@ascend.com>
25216
25217         * m4/jm-macros.m4: Define GNU_PACKAGE here.
25218         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
25219         replaced e.g., in the *.sh files of the sh-utils.
25220
25221 1999-03-20  Jim Meyering  <meyering@ascend.com>
25222
25223         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
25224         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
25225         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
25226
25227 1999-03-19  Jim Meyering  <meyering@ascend.com>
25228
25229         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
25230
25231 1999-03-12  Jim Meyering  <meyering@ascend.com>
25232
25233         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
25234
25235 1999-03-07  Jim Meyering  <meyering@ascend.com>
25236
25237         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
25238         declared.
25239
25240 1999-02-17  Jim Meyering  <meyering@ascend.com>
25241
25242         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
25243         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
25244
25245 1999-02-07  Jim Meyering  <meyering@ascend.com>
25246
25247         * m4/group-member.m4: New file -- extracted from sh-utils'
25248         configure.in.
25249
25250         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
25251         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
25252
25253 1999-02-06  Jim Meyering  <meyering@ascend.com>
25254
25255         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
25256         * m4/fnmatch.m4: Likewise.
25257         * m4/getgroups.m4: Likewise.
25258         * m4/lstat.m4: Likewise.
25259         * m4/malloc.m4: Likewise.
25260         * m4/putenv.m4: Likewise.
25261         * m4/realloc.m4: Likewise.
25262         * m4/regex.m4: Likewise.
25263         * m4/stat.m4: Likewise.
25264         * m4/strftime.m4: Likewise.
25265         Suggestion from Alain Magloire.
25266
25267         * m4/chown.m4: Use `.$ac_objext', not `.o'.
25268         * m4/fnmatch.m4: Likewise.
25269         * m4/getgroups.m4: Likewise.
25270         * m4/getline.m4: Likewise.
25271         * m4/lstat.m4: Likewise.
25272         * m4/malloc.m4: Likewise.
25273         * m4/memcmp.m4: Likewise.
25274         * m4/putenv.m4: Likewise.
25275         * m4/realloc.m4: Likewise.
25276         * m4/regex.m4: Likewise.
25277         * m4/stat.m4: Likewise.
25278         * m4/strftime.m4: Likewise.
25279         Suggestion from Alain Magloire.
25280
25281         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
25282         an argument.
25283
25284         * m4/regex.m4: Add a run-time Test for proper operation of
25285         re_compile_pattern.
25286
25287 1999-01-31  Jim Meyering  <meyering@ascend.com>
25288
25289         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
25290
25291 1999-01-30  Jim Meyering  <meyering@ascend.com>
25292
25293         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
25294
25295         * m4/jm-mktime.m4: Make this a wrapper around the official
25296         AM_FUNC_MKTIME rather than my private copy, now that the official one
25297         is up to date.
25298         * m4/mktime.m4: Remove file.
25299
25300         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
25301         * m4/uptime.m4: Likewise.
25302         * m4/uintmax_t.m4: Likewise.
25303
25304 1999-01-28  Jim Meyering  <meyering@ascend.com>
25305
25306         * m4/jm-macros.m4: Use jm_AFS.
25307         * m4/afs.m4: New file (from fileutils' configure.in).
25308
25309         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
25310         * m4/chown.m4: Likewise.
25311         * m4/d-ino.m4: Likewise.
25312         * m4/d-type.m4: Likewise.
25313         * m4/fnmatch.m4: Likewise.
25314         * m4/getgroups.m4: Likewise.
25315         * m4/gettext.m4: Likewise.
25316         * m4/jm-mktime.m4: Likewise.
25317         * m4/jm-winsz2.m4: Likewise.
25318         * m4/lcmessage.m4: Likewise.
25319         * m4/ls-mntd-fs.m4: Likewise.
25320         * m4/malloc.m4: Likewise.
25321         * m4/memcmp.m4: Likewise.
25322         * m4/putenv.m4: Likewise.
25323         * m4/realloc.m4: Likewise.
25324         * m4/st_mtim.m4: Likewise.
25325         * m4/strftime.m4: Likewise.
25326
25327 1999-01-16  Jim Meyering  <meyering@ascend.com>
25328
25329         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
25330         (ARGMATCH_DIE_DECL): Define.
25331
25332 1999-01-12  Jim Meyering  <meyering@ascend.com>
25333
25334         * m4/Makefile.am.in: Rewrite to avoid using fmt.
25335         Reported by Lars Hecking.
25336
25337 1999-01-10  Jim Meyering  <meyering@ascend.com>
25338
25339         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
25340         gross kludge.
25341         * m4/inttypes_h.m4: Likewise.
25342         * m4/lstat.m4: Likewise.
25343         * m4/malloc.m4: Likewise.
25344         * m4/readdir.m4: Likewise.
25345         * m4/realloc.m4: Likewise.
25346         * m4/st_dm_mode.m4: Likewise.
25347         * m4/stat.m4: Likewise.
25348         * m4/utimbuf.m4: Likewise.
25349         * m4/utimes.m4: Likewise.
25350
25351         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
25352         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
25353         comments in config.h.in are meaningful.
25354
25355         * m4/jm-macros.m4: Require autoconf-2.13 here.
25356
25357         * m4/regex.m4: By default, don't use the included regex.c on systems
25358         with glibc 2.  Suggestion from Uli Drepper.
25359
25360 1999-01-02  Jim Meyering  <meyering@ascend.com>
25361
25362         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
25363
25364 1998-12-18  Jim Meyering  <meyering@ascend.com>
25365
25366         * m4/Makefile.am.in (Makefile.am): Simplify rule.
25367         Based on a suggestion from Lars Hecking.
25368
25369 1998-11-16  Paul Eggert  <eggert@twinsun.com>
25370
25371         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
25372
25373 1998-11-16  Jim Meyering  <meyering@ascend.com>
25374
25375         * m4/lfs.m4: Double-quote the `uname...` expression.
25376
25377 1998-11-14  Jim Meyering  <meyering@ascend.com>
25378
25379         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
25380         * m4/stat.m4: Likewise.
25381
25382 1998-11-03  Jim Meyering  <meyering@ascend.com>
25383
25384         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
25385         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
25386
25387 1998-10-18  Jim Meyering  <meyering@ascend.com>
25388
25389         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
25390
25391 1998-10-17  Jim Meyering  <meyering@ascend.com>
25392
25393         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
25394         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
25395         calls for those previously hard-coded headers.  Instead, take a new
25396         parameter.
25397         (jm_CHECK_DECLARATIONS): Reflect interface change.
25398         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
25399         (jm_CHECK_DECL_LOCALTIME_R): New macro.
25400
25401         * m4/mktime.m4: Test for spring-forward gap before long-running test.
25402
25403 1998-10-14  Jim Meyering  <meyering@ascend.com>
25404
25405         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
25406         instead of "TZ=America/Vancouver".  From Paul Eggert.
25407
25408 1998-10-11  Jim Meyering  <meyering@ascend.com>
25409
25410         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
25411         This adds a test for a recently added compatibility fix for mktime.c.
25412         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
25413
25414 1998-09-27  Jim Meyering  <meyering@ascend.com>
25415
25416         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
25417
25418         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
25419         ../configure.in, including a change from Gordon Matzigkeit to allow
25420         cross-compiling for the Hurd.
25421
25422         * m4/glibc.m4: New file/macro to test for the GNU C Library
25423         versions 1 and 2.  From Gordon Matzigkeit.
25424         Indent.
25425
25426 1998-09-21  Jim Meyering  <meyering@ascend.com>
25427
25428         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
25429
25430 1998-08-18  Paul Eggert  <eggert@twinsun.com>
25431
25432         Port nanosecond-resolution times to UnixWare 2.1.2 and
25433         pedantic Solaris 2.6.
25434
25435         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
25436         AC_STRUCT_ST_MTIM.
25437         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
25438         Generate name of ns member, instead of just 1 or undef.
25439         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
25440
25441 1998-08-15  Jim Meyering  <meyering@ascend.com>
25442
25443         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
25444         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
25445         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
25446         instead of jm_TYPE_SSIZE_T.
25447
25448 1998-08-12  Jim Meyering  <meyering@ascend.com>
25449
25450         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
25451
25452 1998-08-02  Jim Meyering  <meyering@ascend.com>
25453
25454         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
25455         in acconfig.h manually.
25456
25457 1998-07-31  Paul Eggert  <eggert@twinsun.com>
25458
25459         * m4/st_mtim.m4: New file.
25460
25461 1998-07-28  Jim Meyering  <meyering@ascend.com>
25462
25463         * m4/utimes.m4: Undef stat.
25464
25465 1998-07-25  Jim Meyering  <meyering@ascend.com>
25466
25467         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
25468         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
25469
25470 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
25471
25472         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
25473         uid and gid actually remain unchanged.
25474
25475 1998-07-07  Jim Meyering  <meyering@ascend.com>
25476
25477         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
25478
25479 1998-07-04  Jim Meyering  <meyering@ascend.com>
25480
25481         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
25482         to prove that this macro can be used in packages without regex.c.
25483
25484 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
25485
25486         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
25487         is to be used.
25488
25489 1998-07-03  Jim Meyering  <meyering@ascend.com>
25490
25491         * m4/gettext.m4: Add -lintl if it's found to be necessary.
25492
25493         * m4/gettext.m4: New file -- from gettext-0.10.35.
25494         * m4/lcmessage.m4: Likewise.
25495         * m4/progtest.m4: Likewise.
25496
25497         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
25498         * m4/jm-macros.m4: Require the new macro.
25499
25500 1998-06-29  Jim Meyering  <meyering@ascend.com>
25501
25502         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
25503         for the definition of NGROUPS (used in a system header included
25504         by sys/mount.h).
25505
25506 1998-06-28  Jim Meyering  <meyering@ascend.com>
25507
25508         * m4/ls-mntd-fs.m4: New file.
25509         * m4/fstypename.m4: New file.
25510
25511         * m4/jm-macros.m4: Require the new macro.
25512         * m4/jm-glibc-io.m4: New file.
25513
25514 1998-05-19  Jim Meyering  <meyering@ascend.com>
25515
25516         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
25517         * m4/lchown.m4: New file.
25518
25519         * m4/Makefile.am.in: New file.
25520         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
25521
25522 1998-05-14  Jim Meyering  <meyering@ascend.com>
25523
25524         * m4/Makefile.am (EXTRA_DIST): Add them.
25525         * m4/jm-macros.m4: New file.
25526         * m4/utimbuf.m4: New file.
25527
25528 1998-05-12  Jim Meyering  <meyering@ascend.com>
25529
25530         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
25531
25532 1998-05-11  Jim Meyering  <meyering@ascend.com>
25533
25534         * m4/isc-posix.m4: New file.
25535
25536 1998-05-10  Jim Meyering  <meyering@ascend.com>
25537
25538         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
25539
25540 1998-05-09  Jim Meyering  <meyering@ascend.com>
25541
25542         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
25543         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
25544         with automake.
25545
25546         * m4/ssize_t.m4: New file.
25547         * m4/mktime.m4: Remove file -- the new automake has this now.
25548
25549 1998-04-26  Jim Meyering  <meyering@ascend.com>
25550
25551         * m4/assert.m4: New file.
25552         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
25553
25554 1998-04-05  Jim Meyering  <meyering@ascend.com>
25555
25556         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
25557         (jm_PREREQ): Use it here.
25558
25559 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
25560
25561         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
25562         in acconfig.h.
25563
25564 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
25565
25566         * m4/prereq.m4: New file.
25567         * m4/error.m4: New file.
25568         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
25569
25570 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
25571
25572         * m4/getline.m4: Don't set am_cv_func_working_getline before the
25573         cache-check for the same variable -- that defeated the purpose of
25574         the test; the test program was never run.  This was a problem only
25575         on systems with losing getline functions -- HP-UX 10.20 is one.
25576         Reported by Bjorn Helgaas.
25577
25578 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
25579
25580         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
25581
25582 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
25583
25584         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
25585
25586         * m4/const.m4: New file.  Use an initializer in this declaration
25587         typedef int charset[2]; const charset x;
25588         Reported by Bob Glickstein.
25589
25590 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
25591
25592         * m4/chown.m4: Fix reversed types on -1 args to chown.
25593         From Kaveh Ghazi.
25594
25595 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
25596
25597         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
25598         Add lseek and memchr.
25599
25600         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
25601         T.E.Dickey <dickey@clark.net> said that some older preprocessors
25602         have a 20-character limit on names.
25603
25604 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
25605
25606         * m4/inttypes_h.m4: New file.
25607         * m4/uintmax_t.m4: New file.
25608         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
25609
25610 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
25611   Free Software Foundation, Inc.
25612 Copying and distribution of this file, with or without modification,
25613 are permitted provided the copyright notice and this notice are preserved.