Enforce the use of gnulib modules for unportable <string.h> functions.
[gnulib.git] / ChangeLog
1 2007-01-27  Bruno Haible  <bruno@clisp.org>
2
3         Enforce the use of gnulib modules for unportable <string.h> functions.
4         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
5         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
6         (gl_HEADER_STRING_H_BODY): Require it.
7         * lib/string_.h: If the gnulib module XYZ is not present, redefine
8         the symbol XYZ to one that gives a link error.
9         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
10         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
11         * modules/mempcpy (configure.ac): Likewise.
12         * modules/memrchr (configure.ac): Likewise.
13         * modules/stpcpy (configure.ac): Likewise.
14         * modules/stpncpy (configure.ac): Likewise.
15         * modules/strcase (configure.ac): Likewise.
16         * modules/strcasestr (configure.ac): Likewise.
17         * modules/strchrnul (configure.ac): Likewise.
18         * modules/strdup (configure.ac): Likewise.
19         * modules/strndup (configure.ac): Likewise.
20         * modules/strnlen (configure.ac): Likewise.
21         * modules/strpbrk (configure.ac): Likewise.
22         * modules/strsep (configure.ac): Likewise.
23         * modules/strstr (configure.ac): Likewise.
24         * modules/strtok_r (configure.ac): Likewise.
25
26 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
27
28         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
29
30 2007-01-30  Jim Meyering  <jim@meyering.net>
31
32         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
33
34 2007-01-29  Bruno Haible  <bruno@clisp.org>
35
36         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
37         * lib/execute.c: Likewise.
38         * lib/pipe.c: Likewise.
39         * lib/printf-args.h: Likewise.
40         * lib/printf-args.c: Likewise.
41         * lib/printf-parse.c: Likewise.
42         * lib/vasnprintf.c: Likewise.
43
44 2007-01-29  Eric Blake  <ebb9@byu.net>
45
46         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
47         declaration.
48
49 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
50
51         * lib/strptime.h (strptime): Use 'restrict' for args where
52         POSIX requires this.
53         * lib/strptime.c (strptime): Likewise.
54         Change license notice from LGPL to GPL, since gnulib-tool will
55         change this as needed.
56         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
57         defined.
58         Include "strptime.h" first, to check interface.
59         Do not #undef _LIBC and _NL_CURRENT.
60         Do not include <stdlib.h>; no longer needed.
61         Include "time_r.h" and declare ptime_locale_status
62         only if _LIBC is not defined.
63         (__P): Remove unused macro.
64         (match_string): Bring back glibc version, but use it only if _LIBC
65         is defined.
66         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
67         Remove unnecessary assertion and abort() call.
68         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
69         * m4/strptime.m4: Fix serial number comment.
70         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
71         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
72         (Depends-on): Add time_r.
73
74 2007-01-29  Bruno Haible  <bruno@clisp.org>
75
76         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77         strptime.
78         * modules/strptime (Depends-on): Add stdbool.
79         * lib/strptime.h: Include <time.h> always. Add comments.
80
81 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
82
83         * modules/strptime: New file.
84         * lib/strptime.h: New file.
85         * lib/strptime.c: New file.
86         * m4/strptime.m4: New file.
87
88 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
89
90         * MODULES.html.sh: New module mpsort.
91         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
92
93         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
94         a circularity problem with HP-UX ia64 reported by Bob Proulx in
95         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
96         All uses changed.
97         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
98         All uses changed.
99         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
100         to _Restrict_.
101         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
102         the parameter matches the prototype.
103
104 2007-01-28  Jim Meyering  <jim@meyering.net>
105
106         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
107         sys/time.h here, reverting that part of the previous patch:
108         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
109
110 2007-01-28  Bruno Haible  <bruno@clisp.org>
111
112         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
113         value of $(SYS_TIME_H).
114         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
115         remove it conditionally, too. [added by Jim Meyering]
116         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
117         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
118         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
119         GETTIMEOFDAY_REPLACEMENT to 1.
120
121 2007-01-28  Bruno Haible  <bruno@clisp.org>
122
123         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
124         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
125         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
126         Set UNISTD_H instead of UNISTD_H2.
127         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
128
129 2007-01-28  Bruno Haible  <bruno@clisp.org>
130
131         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
132         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
133
134 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
135
136         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
137         (func_create_testdir): Ensure C locale for `grep' and `tr'
138         character ranges.
139         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
140         ACLOCAL_AMFLAGS parsing state machine.
141
142 2007-01-27  Bruno Haible  <bruno@clisp.org>
143
144         * modules/unistr/base: Update.
145
146 2007-01-27  Bruno Haible  <bruno@clisp.org>
147
148         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
149         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
150         * modules/unistr/u32-mbtouc-unsafe: Renamed from
151         modules/unistr/u32-mbtouc.
152         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
153         * lib/unistr.h: Update.
154         * lib/linebreak.c: Update.
155         * modules/unistr/u32-mbtouc: Renamed from
156         modules/unistr/u32-mbtouc-safe.
157         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
158         * lib/unistr.h: Update.
159         * lib/unistr/u32-to-u8.c: Update.
160         * lib/unistr/u32-to-u16.c: Update.
161
162 2007-01-27  Bruno Haible  <bruno@clisp.org>
163
164         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
165         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
166         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
167         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
168         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
169         * modules/unistr/u16-mbtouc-unsafe: Renamed from
170         modules/unistr/u16-mbtouc.
171         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
172         * lib/unistr.h: Update.
173         * lib/linebreak.c: Update.
174         * modules/linebreak: Update.
175         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
176         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
177         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
178         * modules/unistr/u16-mbtouc: Renamed from
179         modules/unistr/u16-mbtouc-safe.
180         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
181         * lib/unistr.h: Update.
182         * lib/unistr/u16-to-u8.c: Update.
183         * modules/unistr/u16-to-u8: Update.
184         * lib/unistr/u16-to-u32.c: Update.
185         * modules/unistr/u16-to-u32: Update.
186
187 2007-01-27  Bruno Haible  <bruno@clisp.org>
188
189         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
190         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
191         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
192         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
193         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
194         * modules/unistr/u8-mbtouc-unsafe: Renamed from
195         modules/unistr/u8-mbtouc.
196         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
197         * lib/unistr.h: Update.
198         * lib/striconveh.c: Update.
199         * modules/striconveh: Update.
200         * lib/linebreak.c: Update.
201         * modules/linebreak: Update.
202         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
203         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
204         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
205         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
206         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
207         * lib/unistr.h: Update.
208         * lib/striconveh.c: Update.
209         * modules/striconveh: Update.
210         * lib/unistr/u8-to-u16.c: Update.
211         * modules/unistr/u8-to-u16: Update.
212         * lib/unistr/u8-to-u32.c: Update.
213         * modules/unistr/u8-to-u32: Update.
214
215 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
216
217         Sync from Libtool.
218         * lib/argz.c: Do not include strings.h nor memory.h, include
219         string.h unconditionally.  Patch by Simon Josefsson.
220
221 2007-01-27  Bruno Haible  <bruno@clisp.org>
222
223         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
224         from gl_HEADER_STRING_H_BODY.
225         (gl_HEADER_STRING_H_BODY): Require it.
226         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
227         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
228         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
229         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
230         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
231         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
232         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
233         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
234         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
235         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
236         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
237         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
238         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
239         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
240         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
241
242 2007-01-27  Bruno Haible  <bruno@clisp.org>
243
244         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
245         check_PROGRAMS into noinst_PROGRAMS.
246         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
247         check_PROGRAMS in this case.
248         (func_import): Set for_test to false.
249         (func_create_testdir): Set for_test to true.
250
251 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
252             Bruno Haible  <bruno@clisp.org>
253
254         * modules/strcasestr (Files): Remove lib/strcasestr.h.
255         (Depends-on): Add string.
256         (Includes): Use <string.h> instead of strcasestr.h.
257         * modules/string (Makefile.am): Also substitute the value of
258         REPLACE_STRCASESTR.
259         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
260         assume strcasestr is declared in <string.h> not <strings.h>. Also
261         set REPLACE_STRCASESTR.
262         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
263         REPLACE_STRCASESTR.
264         * lib/strcasestr.h: Remove file.
265         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
266         * lib/string_.h (strcasestr): New declaration.
267
268 2007-01-27  Bruno Haible  <bruno@clisp.org>
269
270         * lib/string_.h: Use 'extern'.
271
272 2007-01-27  Jim Meyering  <jim@meyering.net>
273
274         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
275         of set-but-not-used local, "q".
276
277         * lib/mempcpy.c: Include <config.h> before <string.h>.
278         This fixes a compilation error on HP-UX, due to the system's
279         "restrict"-using mempcpy prototype.
280
281 2007-01-26  Bruno Haible  <bruno@clisp.org>
282
283         Small optimization.
284         * lib/javacomp.c: Include c-strstr.h.
285          (is_envjavac_gcj): Use c_strstr instead of strstr.
286         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
287
288 2007-01-26  Bruno Haible  <bruno@clisp.org>
289
290         * MODULES.html.sh (Unicode string functions): Add the new modules.
291
292         * modules/uniconv/u32-strconv-to-locale: New file.
293         * lib/uniconv/u32-strconv-to-locale.c: New file.
294
295         * modules/uniconv/u16-strconv-to-locale: New file.
296         * lib/uniconv/u16-strconv-to-locale.c: New file.
297
298         * modules/uniconv/u8-strconv-to-locale: New file.
299         * lib/uniconv/u8-strconv-to-locale.c: New file.
300
301         * modules/uniconv/u32-strconv-from-locale: New file.
302         * lib/uniconv/u32-strconv-from-locale.c: New file.
303
304         * modules/uniconv/u16-strconv-from-locale: New file.
305         * lib/uniconv/u16-strconv-from-locale.c: New file.
306
307         * modules/uniconv/u8-strconv-from-locale: New file.
308         * lib/uniconv/u8-strconv-from-locale.c: New file.
309
310         * modules/uniconv/u32-strconv-to-enc: New file.
311         * lib/uniconv/u32-strconv-to-enc.c: New file.
312         * modules/uniconv/u32-strconv-to-enc-tests: New file.
313         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
314
315         * modules/uniconv/u16-strconv-to-enc: New file.
316         * lib/uniconv/u16-strconv-to-enc.c: New file.
317         * lib/uniconv/u-strconv-to-enc.h: New file.
318         * modules/uniconv/u16-strconv-to-enc-tests: New file.
319         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
320
321         * modules/uniconv/u8-strconv-to-enc: New file.
322         * lib/uniconv/u8-strconv-to-enc.c: New file.
323         * modules/uniconv/u8-strconv-to-enc-tests: New file.
324         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
325
326         * modules/uniconv/u32-strconv-from-enc: New file.
327         * lib/uniconv/u32-strconv-from-enc.c: New file.
328         * modules/uniconv/u32-strconv-from-enc-tests: New file.
329         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
330
331         * modules/uniconv/u16-strconv-from-enc: New file.
332         * lib/uniconv/u16-strconv-from-enc.c: New file.
333         * modules/uniconv/u16-strconv-from-enc-tests: New file.
334         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
335
336         * modules/uniconv/u8-strconv-from-enc: New file.
337         * lib/uniconv/u8-strconv-from-enc.c: New file.
338         * lib/uniconv/u-strconv-from-enc.h: New file.
339         * modules/uniconv/u8-strconv-from-enc-tests: New file.
340         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
341
342         * modules/uniconv/u32-conv-from-enc: New file.
343         * lib/uniconv/u32-conv-from-enc.c: New file.
344         * modules/uniconv/u32-conv-from-enc-tests: New file.
345         * tests/uniconv/test-u32-conv-from-enc.c: New file.
346
347         * modules/uniconv/u16-conv-from-enc: New file.
348         * lib/uniconv/u16-conv-from-enc.c: New file.
349         * lib/uniconv/u-conv-from-enc.h: New file.
350         * modules/uniconv/u16-conv-from-enc-tests: New file.
351         * tests/uniconv/test-u16-conv-from-enc.c: New file.
352
353         * modules/uniconv/u8-conv-from-enc: New file.
354         * lib/uniconv/u8-conv-from-enc.c: New file.
355         * modules/uniconv/u8-conv-from-enc-tests: New file.
356         * tests/uniconv/test-u8-conv-from-enc.c: New file.
357
358         * modules/uniconv/base: New file.
359         * lib/uniconv.h: New file.
360
361 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
362
363         * doc/gnulib-tool.texi (Initial import): Update to match current
364         behavior with strdup module.
365         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
366         * lib/memmem.h: Remove; all uses removed.  This is now done
367         by <string.h>.
368         * lib/mempcpy.h: Likewise.
369         * lib/memrchr.h: Likewise.
370         * lib/stpcpy.h: Likewise.
371         * lib/stpncpy.h: Likewise.
372         * lib/strcase.h: Likewise.
373         * lib/strchrnul.h: Likewise.
374         * lib/strdup.h: Likewise.
375         * lib/strndup.h: Likewise.
376         * lib/strnlen.h: Likewise.
377         * lib/strpbrk.h: Likewise.
378         * lib/strsep.h: Likewise.
379         * lib/strstr.h: Likewise.
380         * lib/strtok_r.h: Likewise.
381         * lib/string_.h: New file.
382         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
383         Rely on <string.h> instead.
384         * lib/canon-host.c: Likewise.
385         * lib/chdir-long.c: Likewise.
386         * lib/concatpath.c: Likewise.
387         * lib/exclude.c: Likewise.
388         * lib/fchdir.c: Likewise.
389         * lib/getaddrinfo.c: Likewise.
390         * lib/getcwd.c: Likewise.
391         * lib/getsubopt.c: Likewise.
392         * lib/glob.c: Likewise.
393         * lib/hard-locale.c: Likewise.
394         * lib/iconvme.c: Likewise.
395         * lib/javacomp.c: Likewise.
396         * lib/mempcpy.c: Likewise.
397         * lib/memrchr.c: Likewise.
398         * lib/regex_internal.h: Likewise.
399         * lib/stpncpy.c: Likewise.
400         * lib/strcasecmp.c: Likewise.
401         * lib/strchrnul.c: Likewise.
402         * lib/strdup.c: Likewise.
403         * lib/striconv.c: Likewise.
404         * lib/striconveh.c: Likewise.
405         * lib/striconveha.c: Likewise.
406         * lib/strncasecmp.c: Likewise.
407         * lib/strndup.c: Likewise.
408         * lib/strnlen.c: Likewise.
409         * lib/strsep.c: Likewise.
410         * lib/strstr.c: Likewise.
411         * lib/strtok_r.c: Likewise.
412         * lib/userspec.c: Likewise.
413         * lib/w32spawn.h: Likewise.
414         * lib/xstrndup.c: Likewise.
415         * lib/mountlist.c (strstr): Remove decl.
416         * m4/string_h.m4: New file.
417         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
418         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
419         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
420         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
421         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
422         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
423         Set REPLACE_STRCASECMP if necessary.
424         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
425         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
426         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
427         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
428         HAVE_DECL_STRDUP if necessary.
429         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
430         since gl_FUNC_STRNDUP does that now.
431         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
432         Check for decl here...
433         (gl_PREREQ_STRNLEN): ... not here.
434         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
435         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
436         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
437         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
438         necessary.
439         * modules/string: New file.
440         * modules/memmem (Files): Remove special-purpose include file.
441         (Depends-on): Add string.
442         (Include): Include <string.h>, not the removed file.
443         * modules/mempcpy: Likewise.
444         * modules/memrchr: Likewise.
445         * modules/stpcpy: Likewise.
446         * modules/stpncpy: Likewise.
447         * modules/strcase: Likewise.
448         * modules/strchrnul: Likewise.
449         * modules/strdup: Likewise.
450         * modules/strndup: Likewise.
451         * modules/strnlen: Likewise.
452         * modules/strpbrk: Likewise.
453         * modules/strsep: Likewise.
454         * modules/strstr: Likewise.
455         * modules/strtok_r: Likewise.
456         * tests/test-dirname.c: Don't include "strdup.h", since
457         <string.h> now suffices.
458         * tests/test-memmem.c: Don't include "memmem.h", since
459         <string.h> now suffices.
460
461 2007-01-25  Bruno Haible  <bruno@clisp.org>
462
463         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
464         *resultp is 0.
465
466         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
467         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
468         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
469         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
470
471         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
472         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
473         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
474         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
475         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
476         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
477
478 2007-01-24  Bruno Haible  <bruno@clisp.org>
479
480         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
481         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
482         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
483         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
484         gl_FUNC_FTS_CORE.
485         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
486         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
487         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
488         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
489         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
490         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
491         gl_FUNC_FCHOWNAT.
492         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
493         gl_FUNC_STRFTIME.
494         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
495         Reported by Ralf Wildenhues.
496
497 2007-01-24  Bruno Haible  <bruno@clisp.org>
498
499         Drop AC_REQUIRE calls that are redundant with the module dependencies.
500         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
501         gl_GETADDRINFO.
502         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
503         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
504         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
505
506 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
507
508         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
509         Don't use 'exit'; just return from 'main'.
510         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
511
512         * lib/fnmatch_.h: Readjust white space and comments to match
513         glibc, to avoid spurious diffs.
514
515 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
516
517         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
518         2004-12-01 change by Jakub Jelinek, since this code won't compile
519         if !LIBC.  Problem reported by Bob Proulx.
520
521 2007-01-23  Bruno Haible  <bruno@clisp.org>
522
523         * lib/striconveh.c: Include c-strcaseeq.h.
524         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
525         * modules/striconveh (Depends-on): Add c-strcaseeq.
526
527 2007-01-23  Bruno Haible  <bruno@clisp.org>
528
529         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
530
531         * modules/c-strcaseeq: New file.
532         * lib/c-strcaseeq.h: New file.
533
534         * modules/streq: New file.
535         * lib/streq.h: New file.
536
537 2007-01-23  Bruno Haible  <bruno@clisp.org>
538
539         * modules/striconveha-tests: New file.
540         * tests/test-striconveha.c: New file.
541
542         * lib/striconveha.h: Include <stdbool.h>.
543         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
544         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
545         (mem_iconveha_notranslit): Renamed from mem_iconveha.
546         (mem_iconveha): New function.
547         (str_iconveha_notranslit): Renamed from str_iconveha.
548         (str_iconveha): New function.
549         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
550         c-strcase.
551
552 2007-01-23  Bruno Haible  <bruno@clisp.org>
553
554         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
555         encodings without forgiving before trying any encoding with handler.
556         (str_iconveha): Try all encodings without forgiving before trying any
557         encoding with handler.
558
559 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
560
561         Import the following changes from libc.
562
563         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
564
565         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
566
567         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
568
569         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
570         normal_bracket label.
571
572         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
573
574         [BZ #361]
575         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
576         to normal_bracket after fetching the next character.
577
578 2007-01-22  Bruno Haible  <bruno@clisp.org>
579
580         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
581         argument.
582         * lib/striconveh.c (iconv_carefully_1): New function.
583         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
584         argument.
585         (str_cd_iconveh): Update.
586         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
587         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
588         * tests/test-striconveh.c (MAGIC): New macro.
589         (new_offsets): New function.
590         (main): Test call with and without offsets.
591
592 2007-01-22  Bruno Haible  <bruno@clisp.org>
593
594         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
595         * modules/sys_select (Makefile.am): Likewise.
596         * modules/sys_socket (Makefile.am): Likewise.
597         * modules/sys_time (Makefile.am): Likewise.
598
599 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
600
601         * modules/gettimeofday (License): Change from GPL to LGPL, since
602         gettimeofday is a library function.
603
604 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
605
606         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
607
608 2007-01-21  Bruno Haible  <bruno@clisp.org>
609
610         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
611
612 2007-01-21  Bruno Haible  <bruno@clisp.org>
613
614         * modules/striconveha: New file.
615         * lib/striconveha.h: New file.
616         * lib/striconveha.c: New file.
617         * MODULES.html.sh (Internationalization functions): Add striconveha.
618         * lib/striconv.c (str_iconv): Optimize the case of an empty input
619         string.
620         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
621
622 2007-01-21  Bruno Haible  <bruno@clisp.org>
623
624         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
625         * lib/striconveh.c (str_iconveh): Likewise.
626
627 2007-01-21  Bruno Haible  <bruno@clisp.org>
628
629         * lib/striconveh.h (mem_iconveh): New declaration.
630         * lib/striconveh.c (mem_iconveh): New function.
631         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
632
633 2007-01-21  Bruno Haible  <bruno@clisp.org>
634
635         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
636
637         * lib/striconveh.h (mem_cd_iconveh): Change specification.
638         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
639         original result buffer.
640         (str_cd_iconveh): Update.
641         * tests/test-striconveh.c (main): Update.
642
643         * lib/striconv.h (mem_cd_iconv): Change specification.
644         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
645         result buffer.
646         (str_cd_iconv): Update.
647         * tests/test-striconv.c (main): Update.
648
649 2007-01-21  Bruno Haible  <bruno@clisp.org>
650
651         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
652
653 2007-01-20  Jim Meyering  <jim@meyering.net>
654
655         * lib/userspec.c (parse_with_separator): If a user or group string
656         starts with "+", skip the corresponding name-to-ID look-up, since
657         such a look-up must fail: user and group names may not include "+".
658
659 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
660
661         * lib/poll.c: Include sys/time.h and time.h unconditionally,
662         since we now assume the sys_time module.
663         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
664         check for sys/time.h; no longer needed.
665         * modules/poll (Depends-on): Depend on sys_time.
666
667 2007-01-18  Bruno Haible  <bruno@clisp.org>
668
669         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
670         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
671
672         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
673         gettimeofday.
674
675         * tests/test-gettimeofday.c: Include <time.h>.
676         (dummy): Remove variable.
677
678         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
679         gl_HEADER_SYS_TIME_H.
680         (gl_HEADER_SYS_TIME_H): New macro.
681
682         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
683         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
684         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
685         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
686         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
687         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
688         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
689         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
690         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
691         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
692         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
693
694         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
695         last change; it caused a compilation error when cross-compiling to
696         Cygwin.
697
698 2007-01-18  Jim Meyering  <jim@meyering.net>
699
700         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
701         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
702         than the race-prone "test -d sys || mkdir sys".
703         (configure.ac): Use AC_PROG_MKDIR_P.
704         * modules/sys_select: Likewise.
705         * modules/sys_socket: Likewise.
706         * modules/sys_time: Likewise.
707
708 2007-01-18  Eric Blake  <ebb9@byu.net>
709
710         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
711         replace gettimeofday.
712         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
713         name, to avoid infinite recursion.
714
715 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
716
717         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
718         module sys_time.
719         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
720         assume timespec.h defines struct timeval.
721         * lib/settime.c: Likewise.
722         * lib/utimens.c: Likewise.
723         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
724         since we now assume the gettimeofday module.
725         * lib/tempname.c (__gen_tempname): Likewise.
726         * lib/gettimeofday.h: Remove.
727         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
728         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
729         Include <time.h>, for 'time()'.
730         (localtime_buffer_addr): Also use this workaround if
731         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
732         to simplify the uses.  All uses changed.
733         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
734         that #undef is inside {}, and 'const' follows type name consistently.
735         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
736         (gettimeofday): Do not use the maximum possible value for
737         tv->tv_usec, since that might break usages other than ls.c.
738         Instead, we'll leave ls.c alone.  This undoes today's patch
739         by Bruno.  Add a compile-time warning for 1s-clock resolution;
740         we've never observed the problem but might as well keep the
741         canary.
742         * lib/nanosleep.c: Include timespec.h first, for interface check.
743         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
744         now assume the sys_time module.
745         * lib/tempname.c: Likewise.
746         * lib/timespec.h: Likewise.
747         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
748         needed.
749         * lib/strftime.c: Likewise.
750         * lib/timespec.h: Likewise.
751         * lib/posixtm.c: Include posixtm.h first, for interface check.
752         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
753         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
754         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
755         * lib/sys_time_.h: New file.
756         * lib/timespec.h (struct timespec): Use long int, not long.
757         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
758         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
759         Remove obsolescent call to AC_HEADER_TIME.
760         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
761         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
762         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
763         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
764         Likewise.
765         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
766         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
767         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
768         into the sys_time module.  Check for gettimeofday just once.
769         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
770         for gettimeofday signature to just check the signature.  Merely
771         compile it, since linking doesn't test signature.  Improve test for
772         whether gettimeofday.o is actually needed.
773         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
774         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
775         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
776         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
777         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
778         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
779         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
780         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
781         than worrying about sys/time.h.
782         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
783         Don't bother worrying about TIME_WITH_SYS_TIME.
784         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
785         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
786         * m4/sys_time_h.m4: New file.
787         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
788         Don't include sys/time.h.  Return from main rather than exiting.
789         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
790         all uses changed.
791         * modules/gethrxtime (Depends-on): Add sys_time.
792         * modules/gettime (Depends-on): Likewise.
793         * modules/gettimeofday (Depends-on): Likewise.
794         * modules/nanosleep (Depends-on): Likewise.
795         * modules/settime (Depends-on): Likewise.
796         * modules/tempname (Depends-on): Likewise.
797         * modules/utimens (Depends-on): Likewise.
798         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
799         (Include:) Change back to <sys/time.h>.
800         (Maintainer:) Add self.
801         * modules/sys_time: New file.
802         * modules/tempname (Depends-on): Add gettimeofday.
803         * tests/test-gettimeofday.c: Include <sys/time.h>
804         rather than gettimeofday.h.
805
806 2007-01-17  Bruno Haible  <bruno@clisp.org>
807
808         * gnulib-tool (func_get_license): Revert last patch. Instead, let
809         the license default to GPL.
810         (func_create_testdir): Don't complain if a module is LGPL and its
811         tests module depends on GPLed modules.
812
813 2007-01-17  Bruno Haible  <bruno@clisp.org>
814
815         * lib/gettimeofday.c (gettimeofday): Add code for the case
816         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
817         maximum possible value for tv->tv_usec, rather than the minimum one.
818
819 2005-10-08  Martin Lambers  <marlam@marlam.de>
820 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
821 2007-01-16  Bruno Haible  <bruno@clisp.org>
822
823         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
824         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
825         gl_FUNC_GETTIMEOFDAY.
826         (Include): Add gettimeofday.h.
827         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
828         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
829         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
830         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
831         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
832         * lib/gettimeofday.h: New file.
833         * lib/gettimeofday.c: Include <sys/timeb.h>.
834         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
835         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
836         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
837         fall back on time().
838
839         * tests/test-gettimeofday.c: New file.
840         * modules/gettimeofday-tests: New file.
841
842 2007-01-16  Eric Blake  <ebb9@byu.net>
843
844         * modules/fnmatch (Depends-on): Depend on wchar.
845         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
846         * m4/fnmatch.m4: Likewise.
847         * modules/mbchar (Makefile.am): Assume <wchar.h>.
848         * m4/mbchar.m4: Likewise.
849         * modules/mbswidth (Depends-on): Depend on wchar.
850         * lib/mbswidth.c: Assume <wchar.h>.
851         * m4/mbswidth.m4: Likewise.
852         * modules/quotearg (Depends-on): Depend on wchar.
853         * lib/quotearg.c: Assume <wchar.h>.
854         * m4/quotearg.m4: Likewise.
855         * modules/regex (Depends-on): Depend on wchar.
856         * lib/regex_internal.h: Assume <wchar.h>.
857         * m4/regex.m4: Likewise.
858         * modules/stdint (Depends-on): Depend on wchar.
859         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
860         * m4/stdint.m4: Likewise.
861         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
862         * modules/strftime (Depends-on): Depend on wchar.
863         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
864         * modules/strtol (Depends-on): Depend on wchar.
865         * lib/strtol.c: Assume <wchar.h>.
866         * modules/wcwidth (Depends-on): Depend on wchar.
867         * lib/wcwidth.h: Assume <wchar.h>.
868         * m4/wcwidth.m4: Likewise.
869
870 2007-01-16  Bruno Haible  <bruno@clisp.org>
871
872         * modules/csharpexec-script: New, created from...
873         * modules/csharpexec: ... this.
874
875 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
876
877         * modules/javaexec-script: New, created from...
878         * modules/javaexec: ... this.
879
880 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
881
882         * modules/poll (Dependencies): Add sys_select.
883
884 2007-01-15  Jim Meyering  <jim@meyering.net>
885
886         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
887         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
888         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
889         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
890
891 2007-01-15  Bruno Haible  <bruno@clisp.org>
892
893         * modules/striconveh: New file.
894         * lib/striconveh.h: New file.
895         * lib/striconveh.c: New file.
896         * MODULES.html.sh (Internationalization functions): Add striconveh.
897
898         * modules/striconveh-tests: New file.
899         * tests/test-striconveh.c: New file.
900
901 2007-01-15  Bruno Haible  <bruno@clisp.org>
902
903         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
904         not from GNU libiconv or GNU libc.
905
906 2007-01-15  Bruno Haible  <bruno@clisp.org>
907
908         * doc/gnulib-intro.texi (Copyright): Explain the different license
909         terms for module descriptions, autoconf macros, tests, documentation.
910
911 2007-01-14  Bruno Haible  <bruno@clisp.org>
912
913         * modules/striconv-tests: New file.
914         * tests/test-striconv.c: New file.
915
916 2007-01-14  Bruno Haible  <bruno@clisp.org>
917
918         * modules/iconv-tests: New file.
919         * tests/test-iconv.c: New file.
920
921 2007-01-14  Bruno Haible  <bruno@clisp.org>
922
923         * gnulib-tool (func_get_license): For test modules, use the license of
924         the main module.
925
926 2007-01-14  Bruno Haible  <bruno@clisp.org>
927
928         * modules/iconv (Include): Clarify that <iconv.h> can only be included
929         if iconv is found to exist.
930
931 2007-01-14  Bruno Haible  <bruno@clisp.org>
932
933         * modules/c-ctype-tests: New file.
934         * tests/test-c-ctype.c: New file.
935
936 2007-01-14  Bruno Haible  <bruno@clisp.org>
937
938         * modules/binary-io-tests: New file.
939         * tests/test-binary-io.sh: New file.
940         * tests/test-binary-io.c: New file.
941
942 2007-01-14  Bruno Haible  <bruno@clisp.org>
943
944         * modules/array-oset-tests: New file.
945         * tests/test-array_oset.c: New file.
946
947 2007-01-14  Bruno Haible  <bruno@clisp.org>
948
949         * modules/array-list-tests: New file.
950         * tests/test-array_list.c: New file.
951
952 2007-01-14  Bruno Haible  <bruno@clisp.org>
953
954         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
955         and make.
956         Reported by Simon Josefsson in
957         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
958
959 2007-01-14  Bruno Haible  <bruno@clisp.org>
960
961         * modules/allocsa-tests: New file.
962         * tests/test-allocsa.c: New file.
963
964 2007-01-14  Bruno Haible  <bruno@clisp.org>
965
966         * modules/fchdir (Depends-on): Add absolute-header.
967         * modules/unistd (Depends-on): Likewise.
968
969 2006-12-30  Bruno Haible  <bruno@clisp.org>
970
971         * modules/fchdir: New file.
972         * modules/unistd (Files): Add lib/unistd_.h.
973         (Makefile.am): Generate unistd.h from unistd_.h.
974         * lib/fchdir.c: New file.
975         * lib/dirent_.h: New file.
976         * lib/unistd_.h: New file.
977         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
978         * m4/fchdir.m4: New file.
979         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
980         (gl_HEADER_UNISTD): Invoke it.
981         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
982         function.
983         * lib/backupfile.c (opendir, closedir): Undefine.
984         * lib/chown.c (open, close): Undefine.
985         * lib/clean-temp.c (open, close): Undefine.
986         * lib/copy-file.c (open, close): Undefine.
987         * lib/execute.c (open, close): Undefine.
988         * lib/fsusage.c (open, close): Undefine.
989         * lib/gc-gnulib.c (open, close): Undefine.
990         * lib/getcwd.c (opendir, closedir): Undefine.
991         * lib/glob.c (opendir, closedir): Undefine.
992         * lib/javacomp.c (open, close): Undefine.
993         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
994         * lib/openat-proc.c (open, close): Undefine.
995         * lib/pagealign_alloc.c (open, close): Undefine.
996         * lib/pipe.c (open, close): Undefine.
997         * lib/progreloc.c (open, close): Undefine.
998         * lib/savedir.c (opendir, closedir): Undefine.
999         * lib/utime.c (open, close): Undefine.
1000         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
1001
1002 2007-01-10  Bruno Haible  <bruno@clisp.org>
1003
1004         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
1005
1006 2007-01-12  Eric Blake  <ebb9@byu.net>
1007
1008         Provide a robust <wchar.h>.  Further simplifications are now
1009         possible in other modules, but not included here.
1010         * modules/wchar: New module.
1011         * m4/wchar.m4: New file.
1012         * lib/wchar_.h: Likewise.
1013         * modules/mbchar (Depends-on): Depend on wchar, as the first use
1014         of the new module.
1015         * MODULES.html.sh (Extended multibyte and wide character utilities):
1016         New section.
1017
1018 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
1019
1020         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
1021         to a reasonable default for memory allocation.
1022         (xreadlink): Don't allocate a huge buffer, to work around a buggy
1023         file system that reports garbage st_size values for symlinks.
1024         Problem reported by Liyang Hu.
1025
1026 2007-01-11  Simon Josefsson  <simon@josefsson.org>
1027
1028         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
1029         Emacs .#* auto-save files).
1030
1031 2007-01-11  Bruno Haible  <bruno@clisp.org>
1032
1033         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
1034         directory.
1035
1036 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
1037
1038         Use @...@ consistently in lib/wctype_.h.
1039         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
1040         on it being set to 1 or 0.
1041         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
1042         go back to AC_SUBSTing it.
1043         * modules/wctype (Makefile.am): Undo previous change.
1044
1045 2007-01-10  Eric Blake  <ebb9@byu.net>
1046
1047         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
1048         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
1049         * modules/wctype (Makefile.am): Likewise.
1050         Reported by Chris McGuire.
1051
1052 2007-01-10  Jim Meyering  <jim@meyering.net>
1053
1054         fts.c: a small readability/maintainability improvement
1055         * lib/fts.c (fts_read): Make this code slightly more readable and
1056         maintainable by hoisting the "sp->fts_cur = p" assignments to
1057         immediately follow the statements that set P.  Derived from
1058         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
1059
1060 2007-01-10  Eric Blake  <ebb9@byu.net>
1061
1062         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
1063         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
1064         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1065         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
1066         Reported by Chris McGuire.
1067
1068 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1069
1070         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
1071         in sed script.
1072
1073 2007-01-09  Bruno Haible  <bruno@clisp.org>
1074
1075         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
1076         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
1077         variables.
1078         (func_module): Use them.
1079
1080 2007-01-09  Bruno Haible  <bruno@clisp.org>
1081
1082         * modules/unistr/base: New file.
1083         * lib/unistr.h: New file.
1084
1085         * modules/unistr/u8-to-u16: New file.
1086         * lib/unistr/u8-to-u16.c: New file.
1087
1088         * modules/unistr/u8-to-u32: New file.
1089         * lib/unistr/u8-to-u32.c: New file.
1090
1091         * modules/unistr/u16-to-u8: New file.
1092         * lib/unistr/u16-to-u8.c: New file.
1093
1094         * modules/unistr/u16-to-u32: New file.
1095         * lib/unistr/u16-to-u32.c: New file.
1096
1097         * modules/unistr/u32-to-u8: New file.
1098         * lib/unistr/u32-to-u8.c: New file.
1099
1100         * modules/unistr/u32-to-u16: New file.
1101         * lib/unistr/u32-to-u16.c: New file.
1102
1103         * modules/unistr/u8-check: New file.
1104         * modules/unistr/u16-check: New file.
1105         * modules/unistr/u32-check: New file.
1106         * lib/unistr/u8-check.c: New file.
1107         * lib/unistr/u16-check.c: New file.
1108         * lib/unistr/u32-check.c: New file.
1109
1110         * modules/unistr/u8-chr: New file.
1111         * modules/unistr/u16-chr: New file.
1112         * modules/unistr/u32-chr: New file.
1113         * lib/unistr/u8-chr.c: New file.
1114         * lib/unistr/u16-chr.c: New file.
1115         * lib/unistr/u32-chr.c: New file.
1116
1117         * modules/unistr/u8-cmp: New file.
1118         * modules/unistr/u16-cmp: New file.
1119         * modules/unistr/u32-cmp: New file.
1120         * lib/unistr/u8-cmp.c: New file.
1121         * lib/unistr/u16-cmp.c: New file.
1122         * lib/unistr/u32-cmp.c: New file.
1123
1124         * modules/unistr/u8-cpy: New file.
1125         * modules/unistr/u16-cpy: New file.
1126         * modules/unistr/u32-cpy: New file.
1127         * lib/unistr/u8-cpy.c: New file.
1128         * lib/unistr/u16-cpy.c: New file.
1129         * lib/unistr/u32-cpy.c: New file.
1130         * lib/unistr/u-cpy.h: New file.
1131
1132         * modules/unistr/u8-cpy-alloc: New file.
1133         * modules/unistr/u16-cpy-alloc: New file.
1134         * modules/unistr/u32-cpy-alloc: New file.
1135         * lib/unistr/u8-cpy-alloc.c: New file.
1136         * lib/unistr/u16-cpy-alloc.c: New file.
1137         * lib/unistr/u32-cpy-alloc.c: New file.
1138         * lib/unistr/u-cpy-alloc.h: New file.
1139
1140         * modules/unistr/u8-endswith: New file.
1141         * modules/unistr/u16-endswith: New file.
1142         * modules/unistr/u32-endswith: New file.
1143         * lib/unistr/u8-endswith.c: New file.
1144         * lib/unistr/u16-endswith.c: New file.
1145         * lib/unistr/u32-endswith.c: New file.
1146         * lib/unistr/u-endswith.h: New file.
1147
1148         * modules/unistr/u8-mblen: New file.
1149         * modules/unistr/u16-mblen: New file.
1150         * modules/unistr/u32-mblen: New file.
1151         * lib/unistr/u8-mblen.c: New file.
1152         * lib/unistr/u16-mblen.c: New file.
1153         * lib/unistr/u32-mblen.c: New file.
1154
1155         * modules/unistr/u8-mbtouc: New file.
1156         * modules/unistr/u16-mbtouc: New file.
1157         * modules/unistr/u32-mbtouc: New file.
1158         * lib/unistr/u8-mbtouc.c: New file.
1159         * lib/unistr/u16-mbtouc.c: New file.
1160         * lib/unistr/u32-mbtouc.c: New file.
1161
1162         * modules/unistr/u8-mbtouc-safe: New file.
1163         * modules/unistr/u16-mbtouc-safe: New file.
1164         * modules/unistr/u32-mbtouc-safe: New file.
1165         * lib/unistr/u8-mbtouc-safe.c: New file.
1166         * lib/unistr/u16-mbtouc-safe.c: New file.
1167         * lib/unistr/u32-mbtouc-safe.c: New file.
1168
1169         * modules/unistr/u8-move: New file.
1170         * modules/unistr/u16-move: New file.
1171         * modules/unistr/u32-move: New file.
1172         * lib/unistr/u8-move.c: New file.
1173         * lib/unistr/u16-move.c: New file.
1174         * lib/unistr/u32-move.c: New file.
1175         * lib/unistr/u-move.h: New file.
1176
1177         * modules/unistr/u8-next: New file.
1178         * modules/unistr/u16-next: New file.
1179         * modules/unistr/u32-next: New file.
1180         * lib/unistr/u8-next.c: New file.
1181         * lib/unistr/u16-next.c: New file.
1182         * lib/unistr/u32-next.c: New file.
1183
1184         * modules/unistr/u8-prev: New file.
1185         * modules/unistr/u16-prev: New file.
1186         * modules/unistr/u32-prev: New file.
1187         * lib/unistr/u8-prev.c: New file.
1188         * lib/unistr/u16-prev.c: New file.
1189         * lib/unistr/u32-prev.c: New file.
1190
1191         * modules/unistr/u8-set: New file.
1192         * modules/unistr/u16-set: New file.
1193         * modules/unistr/u32-set: New file.
1194         * lib/unistr/u8-set.c: New file.
1195         * lib/unistr/u16-set.c: New file.
1196         * lib/unistr/u32-set.c: New file.
1197         * lib/unistr/u-set.h: New file.
1198
1199         * modules/unistr/u8-startswith: New file.
1200         * modules/unistr/u16-startswith: New file.
1201         * modules/unistr/u32-startswith: New file.
1202         * lib/unistr/u8-startswith.c: New file.
1203         * lib/unistr/u16-startswith.c: New file.
1204         * lib/unistr/u32-startswith.c: New file.
1205         * lib/unistr/u-startswith.h: New file.
1206
1207         * modules/unistr/u8-stpcpy: New file.
1208         * modules/unistr/u16-stpcpy: New file.
1209         * modules/unistr/u32-stpcpy: New file.
1210         * lib/unistr/u8-stpcpy.c: New file.
1211         * lib/unistr/u16-stpcpy.c: New file.
1212         * lib/unistr/u32-stpcpy.c: New file.
1213         * lib/unistr/u-stpcpy.h: New file.
1214
1215         * modules/unistr/u8-stpncpy: New file.
1216         * modules/unistr/u16-stpncpy: New file.
1217         * modules/unistr/u32-stpncpy: New file.
1218         * lib/unistr/u8-stpncpy.c: New file.
1219         * lib/unistr/u16-stpncpy.c: New file.
1220         * lib/unistr/u32-stpncpy.c: New file.
1221         * lib/unistr/u-stpncpy.h: New file.
1222
1223         * modules/unistr/u8-strcat: New file.
1224         * modules/unistr/u16-strcat: New file.
1225         * modules/unistr/u32-strcat: New file.
1226         * lib/unistr/u8-strcat.c: New file.
1227         * lib/unistr/u16-strcat.c: New file.
1228         * lib/unistr/u32-strcat.c: New file.
1229         * lib/unistr/u-strcat.h: New file.
1230
1231         * modules/unistr/u8-strchr: New file.
1232         * modules/unistr/u16-strchr: New file.
1233         * modules/unistr/u32-strchr: New file.
1234         * lib/unistr/u8-strchr.c: New file.
1235         * lib/unistr/u16-strchr.c: New file.
1236         * lib/unistr/u32-strchr.c: New file.
1237
1238         * modules/unistr/u8-strcmp: New file.
1239         * modules/unistr/u16-strcmp: New file.
1240         * modules/unistr/u32-strcmp: New file.
1241         * lib/unistr/u8-strcmp.c: New file.
1242         * lib/unistr/u16-strcmp.c: New file.
1243         * lib/unistr/u32-strcmp.c: New file.
1244
1245         * modules/unistr/u8-strcpy: New file.
1246         * modules/unistr/u16-strcpy: New file.
1247         * modules/unistr/u32-strcpy: New file.
1248         * lib/unistr/u8-strcpy.c: New file.
1249         * lib/unistr/u16-strcpy.c: New file.
1250         * lib/unistr/u32-strcpy.c: New file.
1251         * lib/unistr/u-strcpy.h: New file.
1252
1253         * modules/unistr/u8-strcspn: New file.
1254         * modules/unistr/u16-strcspn: New file.
1255         * modules/unistr/u32-strcspn: New file.
1256         * lib/unistr/u8-strcspn.c: New file.
1257         * lib/unistr/u16-strcspn.c: New file.
1258         * lib/unistr/u32-strcspn.c: New file.
1259         * lib/unistr/u-strcspn.h: New file.
1260
1261         * modules/unistr/u8-strdup: New file.
1262         * modules/unistr/u16-strdup: New file.
1263         * modules/unistr/u32-strdup: New file.
1264         * lib/unistr/u8-strdup.c: New file.
1265         * lib/unistr/u16-strdup.c: New file.
1266         * lib/unistr/u32-strdup.c: New file.
1267         * lib/unistr/u-strdup.h: New file.
1268
1269         * modules/unistr/u8-strlen: New file.
1270         * modules/unistr/u16-strlen: New file.
1271         * modules/unistr/u32-strlen: New file.
1272         * lib/unistr/u8-strlen.c: New file.
1273         * lib/unistr/u16-strlen.c: New file.
1274         * lib/unistr/u32-strlen.c: New file.
1275         * lib/unistr/u-strlen.h: New file.
1276
1277         * modules/unistr/u8-strmblen: New file.
1278         * modules/unistr/u16-strmblen: New file.
1279         * modules/unistr/u32-strmblen: New file.
1280         * lib/unistr/u8-strmblen.c: New file.
1281         * lib/unistr/u16-strmblen.c: New file.
1282         * lib/unistr/u32-strmblen.c: New file.
1283
1284         * modules/unistr/u8-strmbtouc: New file.
1285         * modules/unistr/u16-strmbtouc: New file.
1286         * modules/unistr/u32-strmbtouc: New file.
1287         * lib/unistr/u8-strmbtouc.c: New file.
1288         * lib/unistr/u16-strmbtouc.c: New file.
1289         * lib/unistr/u32-strmbtouc.c: New file.
1290
1291         * modules/unistr/u8-strncat: New file.
1292         * modules/unistr/u16-strncat: New file.
1293         * modules/unistr/u32-strncat: New file.
1294         * lib/unistr/u8-strncat.c: New file.
1295         * lib/unistr/u16-strncat.c: New file.
1296         * lib/unistr/u32-strncat.c: New file.
1297         * lib/unistr/u-strncat.h: New file.
1298
1299         * modules/unistr/u8-strncmp: New file.
1300         * modules/unistr/u16-strncmp: New file.
1301         * modules/unistr/u32-strncmp: New file.
1302         * lib/unistr/u8-strncmp.c: New file.
1303         * lib/unistr/u16-strncmp.c: New file.
1304         * lib/unistr/u32-strncmp.c: New file.
1305
1306         * modules/unistr/u8-strncpy: New file.
1307         * modules/unistr/u16-strncpy: New file.
1308         * modules/unistr/u32-strncpy: New file.
1309         * lib/unistr/u8-strncpy.c: New file.
1310         * lib/unistr/u16-strncpy.c: New file.
1311         * lib/unistr/u32-strncpy.c: New file.
1312         * lib/unistr/u-strncpy.h: New file.
1313
1314         * modules/unistr/u8-strnlen: New file.
1315         * modules/unistr/u16-strnlen: New file.
1316         * modules/unistr/u32-strnlen: New file.
1317         * lib/unistr/u8-strnlen.c: New file.
1318         * lib/unistr/u16-strnlen.c: New file.
1319         * lib/unistr/u32-strnlen.c: New file.
1320         * lib/unistr/u-strnlen.h: New file.
1321
1322         * modules/unistr/u8-strpbrk: New file.
1323         * modules/unistr/u16-strpbrk: New file.
1324         * modules/unistr/u32-strpbrk: New file.
1325         * lib/unistr/u8-strpbrk.c: New file.
1326         * lib/unistr/u16-strpbrk.c: New file.
1327         * lib/unistr/u32-strpbrk.c: New file.
1328         * lib/unistr/u-strpbrk.h: New file.
1329
1330         * modules/unistr/u8-strrchr: New file.
1331         * modules/unistr/u16-strrchr: New file.
1332         * modules/unistr/u32-strrchr: New file.
1333         * lib/unistr/u8-strrchr.c: New file.
1334         * lib/unistr/u16-strrchr.c: New file.
1335         * lib/unistr/u32-strrchr.c: New file.
1336
1337         * modules/unistr/u8-strspn: New file.
1338         * modules/unistr/u16-strspn: New file.
1339         * modules/unistr/u32-strspn: New file.
1340         * lib/unistr/u8-strspn.c: New file.
1341         * lib/unistr/u16-strspn.c: New file.
1342         * lib/unistr/u32-strspn.c: New file.
1343         * lib/unistr/u-strspn.h: New file.
1344
1345         * modules/unistr/u8-strstr: New file.
1346         * modules/unistr/u16-strstr: New file.
1347         * modules/unistr/u32-strstr: New file.
1348         * lib/unistr/u8-strstr.c: New file.
1349         * lib/unistr/u16-strstr.c: New file.
1350         * lib/unistr/u32-strstr.c: New file.
1351         * lib/unistr/u-strstr.h: New file.
1352
1353         * modules/unistr/u8-strtok: New file.
1354         * modules/unistr/u16-strtok: New file.
1355         * modules/unistr/u32-strtok: New file.
1356         * lib/unistr/u8-strtok.c: New file.
1357         * lib/unistr/u16-strtok.c: New file.
1358         * lib/unistr/u32-strtok.c: New file.
1359         * lib/unistr/u-strtok.h: New file.
1360
1361         * modules/unistr/u8-uctomb: New file.
1362         * modules/unistr/u16-uctomb: New file.
1363         * modules/unistr/u32-uctomb: New file.
1364         * lib/unistr/u8-uctomb.c: New file.
1365         * lib/unistr/u16-uctomb.c: New file.
1366         * lib/unistr/u32-uctomb.c: New file.
1367
1368         * MODULES.html.sh (Unicode string functions): Add the new modules.
1369
1370 2007-01-08  Bruno Haible  <bruno@clisp.org>
1371
1372         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
1373         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
1374         subdirectories.
1375
1376 2007-01-08  Karl Berry  <karl@gnu.org>
1377
1378         * doc/error.texi: mention that main() fns must set program_name
1379         when progname is used.
1380
1381 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
1382
1383         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
1384         WCTYPE_H is empty, for the benefit of builds from non-distclean
1385         directories.  Problem reported by Eric Blake in
1386         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
1387
1388 2007-01-08  Bruno Haible  <bruno@clisp.org>
1389
1390         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
1391         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
1392         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
1393         PROVIDE_CANONICALIZE_FILENAME_MODE.
1394         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
1395
1396 2007-01-08  Bruno Haible  <bruno@clisp.org>
1397
1398         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
1399         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
1400         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
1401         * lib/fts.c: Likewise.
1402         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
1403
1404 2006-12-25  Bruno Haible  <bruno@clisp.org>
1405
1406         * modules/utf8-ucs4-safe: New file.
1407         * lib/utf8-ucs4-safe.h: New file.
1408         * lib/unistr/utf8-ucs4-safe.c: New file.
1409
1410         * modules/utf16-ucs4-safe: New file.
1411         * lib/utf16-ucs4-safe.h: New file.
1412         * lib/unistr/utf16-ucs4-safe.c: New file.
1413
1414         * MODULES.html.sh (Unicode string functions): Add the new modules.
1415
1416 2007-01-08  Bruno Haible  <bruno@clisp.org>
1417
1418         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
1419         (Depends-on): Add unitypes.
1420         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
1421         (u8_mbtouc_aux): Move out to separate file.
1422         (u8_mbtouc): Use ucs4_t, uint8_t types.
1423         * lib/unistr/utf8-ucs4.c: New file.
1424
1425         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
1426         (Depends-on): Add unitypes.
1427         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
1428         (u16_mbtouc_aux): Move out to separate file.
1429         (u16_mbtouc): Use ucs4_t, uint16_t types.
1430         * lib/unistr/utf16-ucs4.c: New file.
1431
1432         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
1433         (Depends-on): Add unitypes.
1434         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
1435         (u8_uctomb_aux): Move out to separate file.
1436         (u8_uctomb): Use ucs4_t, uint8_t types.
1437         * lib/unistr/ucs4-utf8.c: New file.
1438
1439         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
1440         (Depends-on): Add unitypes.
1441         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
1442         (u16_uctomb_aux): Move out to separate file.
1443         (u16_uctomb): Use ucs4_t, uint16_t types.
1444         * lib/unistr/ucs4-utf16.c: New file.
1445
1446 2006-12-25  Bruno Haible  <bruno@clisp.org>
1447
1448         * modules/unitypes: New file.
1449         * lib/unitypes.h: New file.
1450         * MODULES.html.sh (func_all_modules): New section "Unicode string
1451         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
1452         this section. Add unitypes.
1453
1454 2007-01-08  Bruno Haible  <bruno@clisp.org>
1455
1456         Avoid variable names that conflict with those from libtool.
1457         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
1458         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
1459         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
1460         library_names_spec to acl_library_names_spec, hardcode_* to
1461         acl_hardcode_*.
1462         Reported by Ralf Wildenhues.
1463
1464 2007-01-08  Bruno Haible  <bruno@clisp.org>
1465
1466         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
1467         definition.
1468         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
1469         definition.
1470         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
1471         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
1472         definition.
1473         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
1474         definition.
1475         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
1476         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
1477         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
1478         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
1479         definition.
1480         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
1481         definition.
1482         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
1483         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
1484         GC_USE_<algorithm>.
1485         * lib/gc-libgcrypt.c: Likewise.
1486         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
1487         * modules/gc-arctwo (configure.ac): Likewise.
1488         * modules/gc-des (configure.ac): Likewise.
1489         * modules/gc-hmac-md5 (configure.ac): Likewise.
1490         * modules/gc-hmac-sha1 (configure.ac): Likewise.
1491         * modules/gc-md2 (configure.ac): Likewise.
1492         * modules/gc-md4 (configure.ac): Likewise.
1493         * modules/gc-md5 (configure.ac): Likewise.
1494         * modules/gc-random (configure.ac): Likewise.
1495         * modules/gc-rijndael (configure.ac): Likewise.
1496         * modules/gc-sha1 (configure.ac): Likewise.
1497
1498 2007-01-08  Bruno Haible  <bruno@clisp.org>
1499
1500         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
1501         macro definition.
1502         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
1503         definition.
1504         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
1505         definition.
1506         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
1507         * modules/fcntl-safer (configure.ac): Likewise.
1508         * modules/fopen-safer (configure.ac): Likewise.
1509         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
1510         GNULIB_FWRITEERROR macro definition.
1511
1512 2007-01-08  Bruno Haible  <bruno@clisp.org>
1513
1514         * m4/gnulib-common.m4: New file.
1515         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
1516         (func_get_filelist): Add m4/gnulib-common.m4.
1517
1518 2007-01-08  Bruno Haible  <bruno@clisp.org>
1519
1520         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
1521         command.
1522
1523 2007-01-08  Jim Meyering  <jim@meyering.net>
1524
1525         Use a more robust test for a "can't happen" condition.
1526         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
1527         narrowed the st_size value.  Presuming the "can't happen" condition
1528         is true, that narrowing could conceivably convert an invalid st_size
1529         value into a valid one.  Instead, use a change based on Matthew
1530         Woehlke's original patch.
1531
1532         Slight readability improvement: use an assert-like macro
1533         in place of literal "abort ()" uses.
1534         * lib/fts.c (fts_assert): Define.
1535         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
1536         Use this macro instead of a bare 'abort'.
1537
1538 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1539
1540         Don't worry about using IRIX 5.3's wctype.h broken definitions;
1541         simply work around them.
1542         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
1543         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
1544         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before declaring.
1545         Don't bother to define as macros, since the standard doesn't require it.
1546         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
1547         longer worry about IRIX 5.3.
1548         (HAVE_WCTYPE_CTMP_BUG): Remove.
1549
1550 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1551
1552         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
1553         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
1554         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
1555         Problems reported by Georg Schwarz for IRIX 5.3.
1556
1557         * gnulib-tool (autoconf_minversion): Take the maximum version number
1558         found, not the minimum.  Problem reported by James Youngman.
1559
1560 2007-01-03  Karl Berry  <karl@gnu.org>
1561
1562         * doc/error.texi: new file, explaining interaction with progname.
1563         * doc/gnulib.texi: include it.  Update copyright.
1564
1565 2007-01-03  Simon Josefsson  <simon@josefsson.org>
1566
1567         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
1568         AC_CANONICAL_HOST, to improve autobuild outputs.
1569
1570 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
1571             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
1572
1573         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
1574         sockets, server sockets, and other file descriptors.  Count errors
1575         to compute the return value.  Reorder the code a bit to be easier
1576         to follow.  Don't set event bits that were not requested (except
1577         POLLERR and POLLHUP).
1578
1579 2007-01-01  Bruno Haible  <bruno@clisp.org>
1580
1581         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
1582
1583 2007-01-03  Jim Meyering  <jim@meyering.net>
1584
1585         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
1586
1587 2007-01-02  Bruno Haible  <bruno@clisp.org>
1588
1589         * modules/settime (Include): Require timespec.h.
1590         * modules/nanosleep (Include): Likewise.
1591
1592 2007-01-01  Bruno Haible  <bruno@clisp.org>
1593
1594         * gnulib-tool (func_emit_copyright_notice): Bump year.
1595         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
1596
1597 2007-01-01  Bruno Haible  <bruno@clisp.org>
1598
1599         Improve support for OpenBSD.
1600         * build-aux/config.rpath (libname_spec): Export.
1601         (library_names_spec): New variable. Export.
1602         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
1603         library_names_spec from the config.rpath output. Locate shared library
1604         through the name pattern in library_names_spec.
1605
1606 2007-01-01  Eric Blake  <ebb9@byu.net>
1607
1608         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
1609
1610 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1611
1612         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
1613         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
1614         assume the C locale, and avoid an "eval" that could cause trouble.
1615         Problem with SORT reported by Bob Proulx.
1616
1617         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
1618         Define.  Trivial patch from Henning Nielsen Lund, originally
1619         sent to bug-grep@gnu.org today.
1620
1621 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1622
1623         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
1624         struct stat.  Problem reported by Henning Nielsen Lund.
1625         * lib/acl.c: Include acl.h first, to check interface.  Don't
1626         bother to include sys/types.h and sys/stat.h again.
1627
1628 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
1629
1630         Import the following change from libc; problem reported by
1631         Sven Verdoolaege.
1632
1633         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
1634
1635         [BZ #1373]
1636         * lib/argp.h: Remove __NTH for __argp_usage inline function.
1637
1638 2006-12-28  Jim Meyering  <jim@meyering.net>
1639
1640         * build-aux/announce-gen: Do not assume that the package
1641         builds any of tar.gz, tar.bz2, and .xdelta files.
1642         Suggestion from Simon Josefsson.
1643
1644 2006-12-28  Simon Josefsson  <simon@josefsson.org>
1645
1646         * modules/announce-gen: New file.
1647
1648 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1649
1650         * lib/mbchar.h: Just include <wctype.h>; the wctype module
1651         handles its gotchas now.
1652         * lib/mbswidth.c: Likewise.
1653         * lib/wcwidth.h: Likewise.
1654         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
1655         and iswcntrl; the wctype module does this stuff now.
1656         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1657         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1658         * modules/mbchar (Depends-on): Add wctype.
1659         * modules/mbswidth (Depends-on): Likewise.
1660         * modules/wcwidth (Depends-on): Likewise.
1661
1662 2006-12-27  Eric Blake  <ebb9@byu.net>
1663
1664         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
1665         module uses more than what <wctype.h> is required to provide.
1666
1667 2006-12-26  Eric Blake  <ebb9@byu.net>
1668
1669         * gnulib-tool (sed_extract_prog): Avoid space-tab.
1670
1671 2006-12-26  Eric Blake  <ebb9@byu.net>
1672
1673         * modules/absolute-header: New module.
1674         * modules/fcntl (Depends-on): Depend on it.
1675         * modules/inttypes (Depends-on): Likewise.
1676         * modules/stdint (Depends-on): Likewise.
1677         * modules/sys_stat (Depends-on): Likewise.
1678         * modules/wctype (Depends-on): Likewise.
1679         * MODULES.html.sh (Support for building libraries and
1680         executables): Document it.
1681
1682 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
1683
1684         * gnulib-tool (SED): Remove, undoing previous change.
1685         The problem was that it broke coreutils on Solaris, because
1686         "sed --posix" leaked into a makefile.
1687         (sed): New alias, if 'alias' and GNU sed.
1688
1689 2006-12-24  Jim Meyering  <jim@meyering.net>
1690
1691         Work around an fchownat bug in glibc-2.4:
1692         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
1693         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
1694         in spite of the -P option.
1695         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
1696         New macros.
1697         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
1698         * modules/openat (Files): Add lib/fchownat.c.
1699         * lib/openat.c (fchownat): Don't define here.  Move to...
1700         * lib/fchownat.c: ...this new file.
1701
1702 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1703
1704         Fix bug reported by Bruno Haible in
1705         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
1706         where quotearg.c didn't compile on Mac OS X 10.2 because it
1707         lacks <wchar.h> and wint_t.
1708         * lib/wctype_.h (__wctype_wint_t): New type.
1709         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
1710         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
1711         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
1712         Arg is now of type __wctype_wint_t, not wint_t.
1713         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
1714         substitute HAVE_WINT_T.
1715         * modules/wctype (Files): Add m4/wint_t.m4.
1716         (wctype.h): Substitute HAVE_WINT_T.
1717
1718 2006-12-23  Bruno Haible  <bruno@clisp.org>
1719
1720         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
1721
1722 2006-12-23  Bruno Haible  <bruno@clisp.org>
1723
1724         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
1725         S_ISLNK.
1726         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
1727         mingw.
1728
1729 2006-12-22  Bruno Haible  <bruno@clisp.org>
1730
1731         * lib/copy-file.c: Include acl.h.
1732         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
1733         Close the file descriptors only after being done with copy_acl.
1734         * modules/copy-file (Depends-on): Add acl.
1735
1736 2006-12-22  Bruno Haible  <bruno@clisp.org>
1737
1738         * gnulib-tool (SED): New variable.
1739         Use $SED instead of sed everywhere.
1740
1741 2006-12-22  Bruno Haible  <bruno@clisp.org>
1742
1743         * modules/no-c++: New file.
1744         * m4/no-c++.m4: New file.
1745         * MODULES.html.sh (Support for building libraries and executables):
1746         Add no-c++.
1747
1748 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1749
1750         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
1751         Include <limits.h>, and use its INT_MAX to rewrite the
1752         j loop so that it does not overflow 'int'.  Problem reported by
1753         Ralf Wildenhues in
1754         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
1755         Play it safe by shifting left by 1 rather than multiplying by 2,
1756         as GCC is less likely to optimize this away when the value
1757         is signed (when it assumes overflow leads to undefined behavior).
1758         Also, don't assume time_t uses two's complement.
1759
1760 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1761
1762         * MODULES.html.sh: New module wctype.
1763         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
1764         * lib/fnmatch.c: Don't bother to include <wchar.h> before
1765         <wctype.h>, since the new wctype module should fix this.
1766         * lib/quotearg.c: Include <wctype.h> unconditionally, since
1767         the wctype module should arrange for it.
1768         * lib/regex_internal.h: Likewise.
1769         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
1770         since the wctype module should handle this now.
1771         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
1772         * modules/fnmatch (Depends-on): Add wctype.
1773         * modules/quotearg (Depends-on): Likewise.
1774         * modules/regex (Depends-on): Likewise.
1775
1776 2006-12-19  Bruno Haible  <bruno@clisp.org>
1777
1778         * lib/strdup.h [C++]: Wrap definitions in extern "C".
1779         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
1780
1781 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1782
1783         * modules/savewd (Depends-on): Fix dependency on fcntl.
1784
1785 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1786
1787         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
1788         conforms to C99, rather than relying on the user's environment
1789         setting of STDINT_H.
1790
1791 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1792         and Eric Blake  <ebb9@byu.net>
1793
1794         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
1795         This is more consistent with the other defines here.
1796         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
1797         Port to z/OS.  Problem reported by Paul Gilmartin.
1798         Change local vars to use gl_ prefix rather than ac_.
1799         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
1800         with other defines.
1801         * modules/double-slash-root: New module.
1802         * modules/dirname (Files): Remove m4/double-slash-root.m4.
1803         (Depends-on): Add double-slash-root.
1804         * MODULES.html.sh (File system functions): Mention new module.
1805
1806 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
1807
1808         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
1809         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
1810         This is for the benefit of gzip, which doesn't do i18n.
1811
1812 2006-12-12  Jim Meyering  <jim@meyering.net>
1813
1814         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
1815         Reported by Andreas Schwab <schwab@suse.de>.
1816
1817 2006-12-12  Bruno Haible  <bruno@clisp.org>
1818
1819         Merge these changes.
1820         2006-09-05  Bruno Haible  <bruno@clisp.org>
1821         * lib/iconvme.c (iconv_string): No need to save and restore errno when
1822         iconv_alloc succeeded.
1823         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
1824         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
1825         test for " && dest " at the end - dest is always != NULL there. Call
1826         iconv with 4xNULL arguments initially, to reset the state. Call iconv
1827         with 2xNULL arguments, also to flush the state storage. Handle the
1828         IRIX iconv behaviour. Realloc the final result, to throw away unused
1829         memory.
1830
1831 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1832
1833         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
1834         and fchmodat unconditionally, since glibc 2.4 has them.
1835         Problem reported by Arkadiusz Miskiewicz.
1836
1837 2006-12-10  Bruno Haible  <bruno@clisp.org>
1838
1839         * gnulib-tool (func_import): Show the include files only for those
1840         modules that are copied and specified.
1841         Reported by Karl Berry.
1842
1843 2006-12-08  Jim Meyering  <jim@meyering.net>
1844
1845         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
1846         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
1847
1848         * build-aux/announce-gen: Add two new options, both optional:
1849         --bootstrap-tools=TOOL_LIST
1850               a comma-separated list of tools, e.g.,
1851               autoconf,automake,bison,gnulib
1852         --gnulib-snapshot-date=DATE
1853               if gnulib is in the bootstrap tool list,
1854               then report this as the snapshot date.
1855               If not specified, use the current date/time.
1856               If you specify a date here, be sure it's UTC.
1857
1858 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1859
1860         * tests/test-argp-2.sh: Fix test to match actual output.
1861         (func_compare): Fix sed script to be portable.
1862
1863 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1864
1865         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
1866         workaround for this case.  It is not autoconfigured now; offhand
1867         it's hard to see how to autoconfigure it.
1868
1869 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
1870
1871         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
1872         a directory that is about to be chowned.  Such a directory's
1873         initial file permissions should permit the owner only and this
1874         should not be changed until after the chown, since the group and
1875         other bits would be incorrect if they granted permission before
1876         the chown.
1877
1878         Fix porting problem for iswctype reported by Georg Schwarz in:
1879         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
1880         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
1881         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
1882         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
1883         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
1884
1885 2006-12-03  Jim Meyering  <jim@meyering.net>
1886
1887         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
1888         p->fts_statp may not yet be defined.
1889         (fts_read): Instead, set it in the caller, once p->fts_statp is
1890         sure to be defined, and corresponds to a top-level directory.
1891         This bug made du -x fail.  Here's the coreutils test case:
1892         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
1893         Reported by Mike Frysinger.
1894
1895 2006-12-01  Jim Meyering  <jim@meyering.net>
1896
1897         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
1898         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
1899         Reported by Simon Josefsson.
1900
1901 2006-11-30  Jim Meyering  <jim@meyering.net>
1902
1903         * m4/warning.m4: Use the all-permissive copyright notice
1904         recommended by RMS (rather than LGPL).
1905         * m4/vararrays.m4: Likewise.
1906         * m4/flexmember.m4: Likewise.
1907
1908 2006-11-29  Bruno Haible  <bruno@clisp.org>
1909
1910         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
1911         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
1912         using +=.
1913         Reported by Simon Josefsson <simon@josefsson.org>.
1914
1915 2006-11-28  James Youngman <jay@gnu.org>
1916
1917         * README: Advise users that they might find the bug-gnulib@gnu.org
1918         and autotools-announce@gnu.org mailing lists useful.
1919
1920 2006-11-28  Bruno Haible  <bruno@clisp.org>
1921
1922         * m4/ptrdiff_max.m4: Remove file.
1923
1924 2006-11-21  Bruno Haible  <bruno@clisp.org>
1925
1926         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
1927         _AC_COMPUTE_INT.
1928         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1929         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
1930         _AC_COMPUTE_INT.
1931         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1932         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
1933         _AC_COMPUTE_INT.
1934         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1935
1936 2006-11-28  Jim Meyering  <jim@meyering.net>
1937
1938         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
1939         warning from "gcc -Wshadow" about shadowing the builtin.
1940
1941 2006-11-27  Bruno Haible  <bruno@clisp.org>
1942
1943         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
1944         _AC_COMPUTE_INT.
1945         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
1946
1947 2006-11-27  Bruno Haible  <bruno@clisp.org>
1948             Paul Eggert  <eggert@cs.ucla.edu>
1949
1950         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
1951
1952 2006-11-26  Bruno Haible  <bruno@clisp.org>
1953
1954         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
1955         noinst_LTLIBRARIES.
1956
1957 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
1958             Bruno Haible  <bruno@clisp.org>
1959
1960         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
1961         if compiling with "gcc -ansi".
1962
1963 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
1964
1965         Fix some incompatibilities with gcc -ansi -pedantic.
1966         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
1967         if compiling pedantically with GCC, unless it's C99 or later.
1968         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
1969         it mishandles gcc -ansi -pedantic as well.
1970         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
1971         if gcc -pedantic.
1972         * lib/regexec.c (check_node_accept_bytes): Don't use auto
1973         initializers for struct if -pedantic, unless it's C99 or later.
1974
1975 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
1976
1977         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
1978         Don't close an fd more than once. Identical atimes indicate
1979         success, not failure.
1980
1981 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
1982
1983         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
1984
1985 2006-11-23  Jim Meyering  <jim@meyering.net>
1986
1987         * build-aux/announce-gen: New file.  From coreutils.
1988
1989 2006-11-22  Jim Meyering  <jim@meyering.net>
1990
1991         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
1992         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
1993         (fts_read): Use a temporary to narrow the overused st_size member
1994         before using it in a switch statement.  Reported by Matthew Woehlke.
1995
1996         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
1997         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
1998
1999 2006-11-20  Bruno Haible  <bruno@clisp.org>
2000
2001         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
2002         changequote instead of pairs of brackets.
2003         Reported by Andreas Schwab <schwab@suse.de>.
2004
2005 2006-11-21  Jim Meyering  <jim@meyering.net>
2006
2007         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
2008         so as to remain compatible with older compilers.
2009         Patch from Michael Deutschmann.
2010
2011 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
2012
2013         * MODULES.html.sh (File system functions): Add openat.
2014
2015         * lib/openat.h (rpl_fstatat): New macro, if
2016         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
2017         (fstatat): Define to rpl_fstatat under the same conditions,
2018         unless COMPILING_FSTATAT.
2019         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
2020         seems to have the bug.
2021         * lib/fstatat.c: New file.
2022         * modules/openat (Files): Add it.
2023
2024 2006-11-20  Bruno Haible  <bruno@clisp.org>
2025
2026         * Makefile: New file.
2027
2028 2006-11-20  Jim Meyering  <jim@meyering.net>
2029
2030         The beginnings of syntax-related checks for gnulib.
2031         * lib/Makefile: New file.
2032         * lib/t-idcache: New script.  Ensure that the two halves of
2033         idcache.c stay in sync.
2034
2035         * lib/idcache.c: Adjust comments in user- and group- portions to
2036         be more accurate, and to be consistent with one another.
2037
2038 2006-11-20  Jim Meyering  <jim@meyering.net>
2039
2040         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
2041         continue using the flexible array member (thus, this module performs
2042         half as many malloc calls), with the addition that...
2043         (getgroup, getuser): Consistently record a non-match via an empty
2044         "name" string, and map an empty string match to a NULL return value.
2045         * modules/idcache (Depends-on): Re-add flexmember.
2046
2047         * lib/idcache.c (getuser): Remove all uses of the register keyword.
2048         (getuidbyname, getgroup, getgidbyname): Likewise.
2049
2050         Use cleaner syntax: NULL rather than 0.
2051         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
2052
2053 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
2054
2055         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
2056         It mishandled the case where the group was missing.
2057         Problem reported by Greg Schafer.
2058         * modules/idcache: Likewise.
2059
2060 2006-11-18  Jim Meyering  <jim@meyering.net>
2061
2062         * check-module (%exempt_header): Add exception for some
2063         conditionally-included headers.
2064
2065         * modules/i-ring (Depends-on): Add verify.
2066         (License): Change to LGPL.
2067
2068 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
2069
2070         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
2071         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
2072         and inttostr.h.  Use snprintf rather than uinttostr, so that
2073         LGPLed code doesn't depend on GPLed.
2074
2075 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
2076
2077         * modules/inline (License): Change from GPL to LGPL.
2078
2079 2006-11-17  Jim Meyering  <jim@meyering.net>
2080
2081         * modules/d-type (License): Switch to LGPL.
2082
2083 2006-11-15  Bruno Haible  <bruno@clisp.org>
2084
2085         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
2086
2087 2006-11-15  Eric Blake  <ebb9@byu.net>
2088
2089         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
2090         the module dependency.
2091
2092 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2093             Bruno Haible  <bruno@clisp.org>
2094
2095         * gnulib-tool (func_create_testdir): Add license consistency check.
2096
2097 2006-11-15  Eric Blake  <ebb9@byu.net>
2098
2099         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
2100         random "(cached)" in configure output.
2101
2102 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2103
2104         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
2105         test for conforming inttypes.h is both announced and cached.
2106
2107         * MODULES.html.sh (seen_modules, seen_files): New variables.
2108         (func_module): Rewrite to use a few less gnulib-tool and sed
2109         invocations.  Avoid a couple of quadratic algorithms for ...
2110         (missed_modules, missed_files): ... these, with ...
2111         (func_append, func_tmpdir): ... these new functions, from
2112         gnulib-tool.  Analogously, install traps for cleanup.
2113
2114         * tests/test-gc.c (main): Remove unused variables.
2115         * tests/test-read-file.c: Include stdlib.h, for 'free'.
2116
2117 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
2118
2119         * modules/inttostr (License): Change to LGPL.
2120
2121 2006-11-14  Eric Blake  <ebb9@byu.net>
2122
2123         * modules/tempname (License): Change to LGPL.
2124
2125 2006-11-14  Eric Blake  <ebb9@byu.net>
2126
2127         * doc/functions.texi (Function Portability): *printf functions on
2128         Cygwin now understand all POSIX size specifiers.
2129
2130 2006-11-14  Bruno Haible  <bruno@clisp.org>
2131
2132         * modules/c-ctype (License): Change to LGPL.
2133
2134 2006-11-12  Bruno Haible  <bruno@clisp.org>
2135
2136         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
2137         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
2138         for GNOME libraries, for which the include files are installed in
2139         subdirectories of $prefix/include.
2140
2141 2006-11-12  Bruno Haible  <bruno@clisp.org>
2142
2143         * m4/lib-link.m4: Require at least autoconf-2.54.
2144         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
2145         name to underscores for the --with option.
2146
2147 2006-11-13  Bruno Haible  <bruno@clisp.org>
2148
2149         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
2150         the tests directory.
2151         Reported by Ralf Wildenhues.
2152
2153 2006-11-13  Bruno Haible  <bruno@clisp.org>
2154
2155         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
2156         (func_emit_initmacro_end): Undo the override here.
2157         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
2158         Works around the famous automake error in coreutils.
2159
2160 2006-11-13  Eric Blake  <ebb9@byu.net>
2161
2162         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
2163         element, not its node.
2164
2165 2006-11-12  Bruno Haible  <bruno@clisp.org>
2166
2167         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
2168         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
2169
2170 2006-11-12  Bruno Haible  <bruno@clisp.org>
2171
2172         * gnulib-tool: New option --local-symlink.
2173         (func_usage): Document it.
2174         (lsymbolic): New variable.
2175         (func_import, func_create_testdir): If --symlink was not specified,
2176         test whether --local-symlink was specified and the file comes from
2177         the local_gnulib_dir.
2178
2179 2006-11-12  Bruno Haible  <bruno@clisp.org>
2180
2181         * gnulib-tool (func_ln): New function.
2182         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
2183
2184 2006-11-12  Bruno Haible  <bruno@clisp.org>
2185
2186         Finish support for source files in subdirectories.
2187         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
2188         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
2189         AUTOMAKE_OPTIONS.
2190         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
2191
2192 2006-11-12  Bruno Haible  <bruno@clisp.org>
2193
2194         * gnulib-tool (func_get_automake_snippet): Synthesize also an
2195         EXTRA_lib_SOURCES augmentation.
2196         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
2197
2198 2006-11-12  Jim Meyering  <jim@meyering.net>
2199
2200         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
2201         file descriptors.  This also averts a failure on systems with
2202         native openat support when a traversed directory lacks "x" access.
2203         * lib/fts_.h: Include "i-ring.h"
2204         (struct FTS) [fts_fd_ring]: New member.
2205         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
2206         (FCHDIR): Add parentheses.
2207         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
2208         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
2209         When descending, rather than simply closing the previous
2210         fts_cwd_fd value, push that file descriptor onto the ring.
2211         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
2212         (fts_open): Initialize the new fd_ring member.
2213         (fts_close): Clear the ring.
2214         (fts_safe_changedir): When possible, use our new fd_ring to skip
2215         the diropen and fstat and dev/ino comparison that would normally
2216         accompany a virtual `chdir ("..")'.
2217
2218         * modules/fts (Depends-on): Add i-ring.
2219         * modules/i-ring: New module.
2220         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
2221         * m4/i-ring.m4: New file.
2222
2223 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2224
2225         * gnulib-tool (func_create_testdir): Fix replacement of
2226         `build-aux' in configure.ac.  Run autotools in gltests
2227         subdirectory.
2228         (func_create_testdir, func_create_megatestdir, test): There is
2229         no need for '--force' in most autotool invocations in a new
2230         tree.  Actually fail the whole test if any of the tools, or the
2231         configure or make stages fail.
2232
2233         Sync from Automake.
2234         * build-aux/gnupload: Revert last change.  Add pointer to upload
2235         instructions of the GNU Maintenance Instructions.
2236         Suggestion by Karl Berry.
2237
2238 2006-11-10  Jim Meyering  <jim@meyering.net>
2239
2240         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
2241
2242 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2243
2244         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
2245         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
2246         (bind_textdomain_codeset) [! ENABLE_NLS]:
2247         Evaluate all the arguments.  That way, callers get compatible behavior
2248         if the arguments have side effects.  Also, it avoids some GCC
2249         diagnostics in some cases; Joel E. Denny reported problems when Bison
2250         was configured with --enable-gcc-warnigs.
2251
2252 2006-11-10  Jim Meyering  <jim@meyering.net>
2253
2254         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
2255         relevant options in CFLAGS (like -O, -fno-inline) are taken into
2256         account.
2257
2258 2006-11-10  Jim Meyering  <jim@meyering.net>
2259
2260         * modules/inline: New file/module.
2261         * modules/xalloc (Files): Remove m4/inline.m4.
2262         (Depends-on): Add inline, instead.
2263         * modules/oset: Likewise.
2264         * modules/list: Likewise.
2265
2266 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2267
2268         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
2269         Problem reported by Matthew Woehlke.
2270
2271 2006-11-09  Bruno Haible  <bruno@clisp.org>
2272
2273         * lib/tempname.c (gen_tempname): Remove variant that invokes
2274         __gen_tempname.
2275         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
2276         __gen_tempname.
2277
2278 2006-11-08  Bruno Haible  <bruno@clisp.org>
2279
2280         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
2281         to 'yes' instead of 'cross-compiling'.
2282
2283 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
2284
2285         * lib/quotearg.h (quotearg_free): New decl.
2286         * lib/quotearg.c (quotearg_free): New function.
2287         (slot0, nslots, slotvec0, slotvec):
2288         Now file-scope so that quotearg_free can get at them.
2289
2290 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2291
2292         Sync from Automake.
2293         * build-aux/gnupload: Add missing 'gnu' to example URL.
2294         Report by Karl Berry.
2295
2296 2006-11-08  Bruno Haible  <bruno@clisp.org>
2297
2298         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
2299         Suggested by Paul Eggert.
2300
2301 2006-11-08  Jim Meyering  <jim@meyering.net>
2302
2303         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
2304         It's already included if !_LIBC.
2305         (fts_safe_changedir): Add a comment.
2306
2307 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2308
2309         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
2310         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
2311         Matthew Woehlke.
2312
2313         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
2314         definitions up, to avoid colliding with change below.
2315         (static_inline) [HAVE_INLINE]: New macro.
2316         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
2317         Provide extern decls when !HAVE_INLINE.  Do not define unless
2318         static_inline is defined, either by us or by xmalloc.c.  Use
2319         static_inline rather than static inline.
2320         (XCALLOC): Optimize sizeof(T) = 1 case.
2321         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
2322
2323 2006-11-07  Bruno Haible  <bruno@clisp.org>
2324
2325         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
2326         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
2327         AC_C_INLINE.
2328         * modules/xalloc (Files): Add m4/inline.m4.
2329
2330 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2331
2332         * README: Fix typo.
2333         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
2334         (Miscellanous Notes): ...from this.
2335
2336 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2337
2338         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
2339         Mention that offsetof should be used instead of sizeof.
2340         From Bruno Haible.
2341
2342 2006-11-07  Bruno Haible  <bruno@clisp.org>
2343
2344         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
2345
2346 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
2347
2348         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
2349         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
2350         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
2351         (gl_tree_add_before, gl_tree_add_after):
2352         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
2353         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
2354         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
2355         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
2356         (gl_linked_add_after, gl_linked_add_at): Likewise.
2357         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
2358         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
2359         (gl_tree_add_before, gl_tree_add_after): Likewise.
2360         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
2361         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
2362         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
2363
2364 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2365
2366         * lib/gl_oset.h: Use C comment style, not C++ comment style.
2367
2368 2006-11-06  Bruno Haible  <bruno@clisp.org>
2369
2370         * m4/inline.m4: New file.
2371         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
2372         * modules/list (Files): Add m4/inline.m4.
2373         * modules/oset (Files): Likewise.
2374
2375 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
2376
2377         * lib/idcache.c: Include <stddef.h>, for offsetof.
2378         (struct userid.name): Change from char * to a flexible array member.
2379         All uses changed.
2380         * modules/idcache (Depends-on): Add flexmember.
2381
2382         * MODULES.html.sh (Core language properties): New module flexmember.
2383         * modules/flexmember, m4/flexmember.m4: New files.
2384
2385         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
2386         inline functions that are identical with the old xnmalloc_inline,
2387         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
2388         that we can avoid some unnecessary integer multiplications and
2389         divisions in the common case where the element size is known at
2390         compile time.
2391         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
2392         needed.
2393         (xnboundedmalloc): Remove.
2394         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
2395         arguments, for consistency with rest of this header.
2396         (xcharalloc): Rewrite using XNMALLOC.
2397         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
2398         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
2399         versions have been moved to lib/xalloc.h and renamed to be the
2400         non-*_inline versions.
2401         (xmalloc, xrealloc): Implement without reference to the xnmalloc
2402         and xnrealloc functions, since those functions are now inline and
2403         now call us.
2404         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
2405         renaming described above.
2406         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
2407         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
2408         captures the dependency in AC_C_INLINE.
2409
2410         New module canonicalize-lgpl, proposed by Charles Wilson in
2411         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
2412         with a few small changes afterwards.
2413         * MODULES.html.sh (File system functions): New module
2414         canonicalize-lgpl.
2415         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
2416         and canonicalize_file_name.
2417         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
2418         * modules/canonicalize-lgpl: New files.
2419
2420 2006-11-05  Bruno Haible  <bruno@clisp.org>
2421
2422         * gnulib-tool (func_import, func_create_testdir): Create directories
2423         also for files in subdirectories of lib/.
2424
2425 2006-11-05  Bruno Haible  <bruno@clisp.org>
2426
2427         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
2428         ANSI C compliant.
2429
2430 2006-11-03  Bruno Haible  <bruno@clisp.org>
2431
2432         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
2433         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
2434         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
2435         (xnboundedmalloc): New inline function.
2436         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
2437         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
2438         xmalloc.
2439         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
2440         xmalloc.
2441         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
2442         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
2443         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
2444         xmalloc.
2445         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
2446         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
2447         xmalloc.
2448         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
2449         gl_tree_add_after): Use XMALLOC instead of xmalloc.
2450         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
2451         xmalloc.
2452         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
2453         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
2454         gl_tree_add_after): Use XMALLOC instead of xmalloc.
2455         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
2456         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
2457         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
2458         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
2459
2460 2006-11-03  Bruno Haible  <bruno@clisp.org>
2461
2462         * lib/c-ctype.h [C++]: Define functions without name mangling.
2463         * lib/fwriteerror.h [C++]: Likewise.
2464         * lib/gcd.h [C++]: Likewise.
2465         * lib/linebreak.h [C++]: Likewise.
2466
2467 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
2468
2469         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
2470         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
2471         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
2472         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
2473         Check for functions and headers just once.
2474         Check for declaration of canonicalize_file_name.
2475         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
2476
2477 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
2478
2479         * gnulib-tool (func_import): Fix typo in actioncmd.
2480
2481 2006-11-02  Bruno Haible  <bruno@clisp.org>
2482
2483         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
2484         newline sequence in the Makefile.am snippet as a space, like "make"
2485         does.
2486         Reported by Roger Persson <perrog@gmail.com>.
2487
2488 2006-11-01  Bruno Haible  <bruno@clisp.org>
2489
2490         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
2491         already declared in <string.h>.
2492         * lib/strcase.h (strncasecmp): Don't declare it if yes.
2493
2494 2006-11-01  Bruno Haible  <bruno@clisp.org>
2495
2496         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
2497         * lib/strcase.h: Include <string.h>.
2498         (strcasecmp): Define to rpl_strcasecmp here.
2499
2500 2006-11-01  Bruno Haible  <bruno@clisp.org>
2501
2502         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
2503
2504 2006-11-01  Eric Blake  <ebb9@byu.net>
2505
2506         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
2507
2508         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
2509
2510 2006-10-29  Bruno Haible  <bruno@clisp.org>
2511
2512         Make it compile in C++ mode.
2513         * lib/full-write.c (full_rw): Add a cast.
2514
2515 2006-11-01  Bruno Haible  <bruno@clisp.org>
2516
2517         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
2518         be POSIX compliant.
2519         Reported by Roger Persson <perrog@gmail.com>.
2520
2521 2006-11-01  Eric Blake  <ebb9@byu.net>
2522
2523         * lib/getopt_.h: Fix comments.
2524
2525 2006-10-31  Eric Blake  <ebb9@byu.net>
2526
2527         * modules/tmpdir (Depends-on): Add sys_stat.
2528         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
2529         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
2530         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
2531         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
2532         tempname.
2533
2534 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
2535
2536         Avoid some C++ diagnostics reported by Bruno Haible.
2537         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
2538         xmalloc.
2539         (quotearg_alloc): Use xcharalloc rather than xmalloc.
2540         (struct slotvec): Move to top level.
2541         (quotearg_n_options): Rewrite to avoid xmalloc.
2542         * lib/xalloc.h (xcharalloc): New function.
2543         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
2544         [defined __cplusplus]: Add function template that provides result
2545         type propagation.  This part of the change is from Bruno Haible.
2546
2547 2006-10-29  Bruno Haible  <bruno@clisp.org>
2548
2549         Make it compile in C++ mode.
2550         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
2551         * lib/strnlen1.c (strnlen1): Cast memchr result.
2552         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
2553         * lib/clean-temp.c (string_equals, string_hash): Add casts.
2554         (create_temp_dir): Rename local variable 'template'.
2555         (compile_csharp_using_sscli): Add cast.
2556         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
2557         * lib/findprog.c (find_in_path): Likewise.
2558         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
2559         * lib/wait-process.c (register_slave_subprocess): Likewise.
2560
2561 2006-10-22  Bruno Haible  <bruno@clisp.org>
2562
2563         * modules/tsearch: New file.
2564         * lib/tsearch.h: New file.
2565         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
2566         * m4/tsearch.m4: New file.
2567         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
2568
2569 2006-10-29  Eric Blake  <ebb9@byu.net>
2570
2571         * lib/arcfour.c: Assume config.h.
2572         * lib/arctwo.c: Likewise.
2573         * lib/base64.c: Likewise.
2574         * lib/check-version.c: Likewise.
2575         * lib/crc.c: Likewise.
2576         * lib/des.c: Likewise.
2577         * lib/gc-gnulib.c: Likewise.
2578         * lib/gc-libgcrypt.c: Likewise.
2579         * lib/gc-pbkdf2-sha1.c: Likewise.
2580         * lib/getaddrinfo.c: Likewise.
2581         * lib/getdelim.c: Likewise.
2582         * lib/getline.c: Likewise.
2583         * lib/hmac-md5.c: Likewise.
2584         * lib/hmac-sha1.c: Likewise.
2585         * lib/iconvme.c: Likewise.
2586         * lib/md2.c: Likewise.
2587         * lib/md4.c: Likewise.
2588         * lib/memxor.c: Likewise.
2589         * lib/read-file.c: Likewise.
2590         * lib/readline.c: Likewise.
2591         * lib/rijndael-alg-fst.c: Likewise.
2592         * lib/rijndael-api-fst.c: Likewise.
2593         * lib/xgetdomainname.c: Likewise.
2594
2595 2006-10-28  Eric Blake  <ebb9@byu.net>
2596
2597         * lib/xstrndup.c: Assume config.h.
2598
2599 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
2600
2601         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
2602         stat-macros.h is now for our own macros, whereas stat_h is for
2603         macros in the <sys/stat.h> name space.
2604         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
2605         (STAT_MACROS_H): Remove.
2606         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
2607         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
2608         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
2609         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
2610         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
2611         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
2612         Move these macros to ...
2613         * lib/stat_.h: here.  Don't include stat-macros.h.
2614         * lib/canonicalize.c: Don't include stat-macros.h.
2615         * lib/chown.c: Likewise.
2616         * lib/euidaccess.c: Likewise.
2617         * lib/file-type.c: Likewise.
2618         * lib/filemode.c: Likewise.
2619         * lib/glob.c: Likewise.
2620         * lib/isapipe.c: Likewise.
2621         * lib/lchown.c: Likewise.
2622         * lib/lstat.c: Likewise.
2623         * lib/mkdir-p.c: Likewise.
2624         * lib/rmdir.c: Likewise.
2625         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
2626         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
2627         unless mkdir isn't declared, to speed up 'configure'.
2628         Always create sys/stat.h, since it's unlikely any real sys/stat.h
2629         would define all the S_* symbols.
2630         * modules/canonicalize (Depends-on):
2631         Depend on sys_stat, not stat-macros.
2632         * modules/chown: Likewise.
2633         * modules/euidaccess: Likewise.
2634         * modules/filemode: Likewise.
2635         * modules/file-type: Likewise.
2636         * modules/glob: Likewise.
2637         * modules/isapipe: Likewise.
2638         * modules/lchown: Likewise.
2639         * modules/lstat: Likewise.
2640         * modules/mkancesdirs: Likewise.
2641         * modules/rmdir: Likewise.
2642         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
2643         * modules/modechange: Likewise.
2644         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
2645         (configure.ac): Remove gl_STAT_MACROS.
2646         * modules/sys_stat (Depends-on): Remove stat-macros.
2647
2648 2006-10-27  Bruno Haible  <bruno@clisp.org>
2649
2650         * m4/signed.m4: Remove file.
2651         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
2652         invocation.
2653         * modules/vasnprintf (Files): Remove m4/signed.m4.
2654
2655 2006-10-27  Bruno Haible  <bruno@clisp.org>
2656
2657         Update to GNU gettext 0.16.
2658         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
2659         m4/inttypes-h.m4, m4/signed.m4.
2660         * m4/gettext.m4: Update to GNU gettext 0.16.
2661         * m4/intl.m4: New file, from GNU gettext.
2662         * m4/intldir.m4: New file, from GNU gettext.
2663         * config/srclist.txt: Update
2664
2665 2006-10-27  Eric Blake  <ebb9@byu.net>
2666
2667         * MODULES.html.sh: Document tempname.
2668         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
2669         dependencies.
2670         (Files): Move lib/tempname.c...
2671         * modules/tempname: ...to this new module.
2672         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
2673         (gl_PREREQ_TEMPNAME): Move...
2674         * m4/tempname.m4: ...to this new file.
2675         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
2676         * modules/sys_stat (Depends-on): Add stat-macros.
2677         * lib/stat_.h (includes): Pick up stat macros.
2678         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
2679         if stat macros are broken.
2680         * lib/tempname.c (includes): No need to include "stat-macros.h".
2681         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
2682         (direxists, __path_search) [!_LIBC]: Don't compile these in
2683         gnulib; the tmpdir module covers that.
2684         * lib/tempname.h: New file.
2685
2686 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
2687
2688         * COPYING: Explain how gnulib-tool converts licence headers.
2689         Almost all wording by Eric Blake.
2690
2691 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
2692
2693         * lib/mbchar.h (is_basic_table): Make read-only.
2694         * lib/mbchar.c (is_basic_table): Likewise.
2695         Reported by John Darrington.
2696
2697 2006-10-25  Bruno Haible  <bruno@clisp.org>
2698
2699         * lib/progname.h (set_program_name): Undefine before defining.
2700
2701 2006-10-25  Bruno Haible  <bruno@clisp.org>
2702
2703         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
2704         false for non-gcc C++ compilers.
2705         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
2706
2707 2006-10-24  Bruno Haible  <bruno@clisp.org>
2708
2709         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
2710         iconv implementations like Irix iconv.
2711
2712 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2713
2714         * modules/vararrays: New file.
2715         * m4/vararrays.m4: New file, taken from diffutils.
2716         * MODULES.html.sh: New module vararrays.
2717
2718 2006-10-24  Karl Berry  <karl@gnu.org>
2719
2720         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
2721         Don't call GNU Unix.
2722
2723 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2724
2725         * users.txt: Add Libtool.
2726
2727         Sync from Libtool:
2728
2729         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2730
2731         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
2732         to gnulib's policy of including config.h unconditionally.
2733
2734 2006-10-24  Bruno Haible  <bruno@clisp.org>
2735
2736         * modules/wcwidth (Files): Add m4/wint_t.m4.
2737         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
2738         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
2739
2740 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2741
2742         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
2743         to pacify GCC with some -W flags enabled.  Problem reported by
2744         Bruno Haible.
2745
2746 2006-10-24  Jim Meyering  <jim@meyering.net>
2747
2748         * MODULES.html.sh: Remove uinttostr.  It's not a module.
2749         Reported by Karl Berry.
2750
2751 2006-10-23  Bruno Haible  <bruno@clisp.org>
2752
2753         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
2754
2755 2006-10-24  Bruno Haible  <bruno@clisp.org>
2756
2757         * lib/gl_list.h: Use C comment style, not C++ comment style.
2758
2759 2006-10-23  Eric Blake  <ebb9@byu.net>
2760
2761         * lib/getaddrinfo.c (includes): Add missing include.
2762
2763 2006-10-23  Bruno Haible  <bruno@clisp.org>
2764             Paul Eggert  <eggert@cs.ucla.edu>
2765
2766         Ability to rename obstack_free.
2767         * lib/obstack.h (__obstack_free): New macro. Declare instead of
2768         obstack_free.
2769         (obstack_free): Invoke the __obstack_free macro.
2770         * lib/obstack.c (obstack_free): Use __obstack_free macro.
2771
2772 2006-10-23  Bruno Haible  <bruno@clisp.org>
2773             Paul Eggert  <eggert@cs.ucla.edu>
2774
2775         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
2776         __argc, __argv from the declaration. (They are defined as macros on
2777         mingw.)
2778
2779 2006-10-22  Bruno Haible  <bruno@clisp.org>
2780
2781         * doc/gnulib-intro.texi: New file.
2782         * doc/gnulib.texi: Include it.
2783
2784 2006-10-21  Bruno Haible  <bruno@clisp.org>
2785
2786         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
2787         "Introduction", "Miscellanous Notes", "Particular Modules".
2788
2789 2006-10-21  Bruno Haible  <bruno@clisp.org>
2790
2791         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2792         Change mostlyclean-local rule to avoid sh syntax error from bash
2793         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
2794
2795 2006-10-23  Jim Meyering  <jim@meyering.net>
2796
2797         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
2798         in place of snprintf.
2799
2800         * modules/inttostr (Files): Add lib/uinttostr.c.
2801         * lib/uinttostr.c (inttostr): New file/function.
2802         * lib/inttostr.h (uinttostr): Declare.
2803         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
2804         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
2805         Add uinttostr.
2806         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
2807
2808 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
2809
2810         * lib/canonicalize.c (ELOOP): Define if not already defined.
2811         Problem reported by Bruno Haible in
2812         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
2813
2814 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
2815
2816         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
2817         Problem reported by Perry Smith and Ville Laurikari.
2818
2819         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
2820         uses.
2821
2822 2006-10-19  Bruno Haible  <bruno@clisp.org>
2823
2824         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
2825         for mingw.
2826
2827 2006-10-19  Bruno Haible  <bruno@clisp.org>
2828
2829         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
2830         Needed for mingw.
2831
2832 2006-10-19  Bruno Haible  <bruno@clisp.org>
2833
2834         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
2835
2836 2006-10-19  Bruno Haible  <bruno@clisp.org>
2837
2838         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
2839         it.
2840
2841 2006-10-19  Bruno Haible  <bruno@clisp.org>
2842
2843         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
2844         invocation.
2845
2846 2006-10-19  Bruno Haible  <bruno@clisp.org>
2847
2848         * gnulib-tool (func_create_testdir): Don't include ftruncate and
2849         mountlist by default.
2850
2851 2006-10-16  Bruno Haible  <bruno@clisp.org>
2852
2853         * lib/c-strstr.c: Include c-strstr.h.
2854
2855 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
2856
2857         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
2858         in a slash.
2859
2860 2006-10-18  Bruno Haible  <bruno@clisp.org>
2861
2862         * lib/lock.h [C++]: Wrap definitions in extern "C".
2863
2864 2006-10-18  Bruno Haible  <bruno@clisp.org>
2865
2866         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
2867         gl_LIBOBJS list.
2868
2869 2006-10-18  Bruno Haible  <bruno@clisp.org>
2870
2871         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
2872
2873 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
2874
2875         * lib/xstrtol.h: Include gettext.h.
2876         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
2877         Problem reported by Eric Blake.
2878         * modules/xstrtol (Depends-on): Add gettext-h.
2879
2880 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
2881
2882         * lib/strftime.c (advance): New macro.
2883         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
2884         incomplete type, so you can't add 0 to it.  Problem and patch
2885         reported by Eelco Dolstra for dietlibc.
2886
2887 2006-10-18  Jim Meyering  <jim@meyering.net>
2888
2889         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
2890         type for a local, and rename it: s/up/user_proc/.
2891
2892 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
2893
2894         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
2895         READ_UTMP_USER_PROCESS.
2896         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
2897
2898 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
2899
2900         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
2901         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
2902
2903 2006-10-17  Eric Blake  <ebb9@byu.net>
2904
2905         * lib/sigprocmask.c (sigprocmask): Fix typo.
2906
2907         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
2908
2909         * modules/clean-temp (Makefile.am): Don't add to make output...
2910         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
2911         config.h.
2912
2913 2006-10-17  Bruno Haible  <bruno@clisp.org>
2914
2915         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
2916         differently if DEFAULT_TEXT_DOMAIN is set.
2917
2918 2006-10-16  Bruno Haible  <bruno@clisp.org>
2919
2920         * lib/clean-temp.c: Include fwriteerror.h.
2921
2922 2006-10-16  Bruno Haible  <bruno@clisp.org>
2923
2924         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
2925
2926 2006-10-16  Bruno Haible  <bruno@clisp.org>
2927
2928         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
2929         * lib/sigprocmask.h: Include <sys/types.h>.
2930         (sigset_t): Use the system's definition if present.
2931
2932 2006-10-17  Eric Blake  <ebb9@byu.net>
2933
2934         * lib/xvasprintf.c (includes): Assume config.h.
2935         * lib/xasprintf.c (includes): Likewise.
2936
2937 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2938
2939         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
2940         at least as wide as intmax_t.
2941
2942 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
2943
2944         (Imported from Automake.)
2945         * build-aux/gnupload: Update to version 1.1 of directive file.
2946
2947 2006-10-16  Eric Blake  <ebb9@byu.net>
2948
2949         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
2950         match Automake 1.10a.
2951
2952 2006-10-14  Bruno Haible  <bruno@clisp.org>
2953
2954         * modules/sigprocmask: New file.
2955         * lib/sigprocmask.h: New file.
2956         * lib/sigprocmask.c: New file.
2957         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
2958         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
2959         request sigprocmask.o.
2960         (gl_PREREQ_SIGPROCMASK): New macro.
2961         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
2962         (Depends-on): Add sigprocmask.
2963         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
2964         gt_SIGNALBLOCKING. Test for 'raise' only once.
2965         * lib/fatal-signal.c: Include sigprocmask.h.
2966         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
2967         unblock_fatal_signals): Define always.
2968         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
2969         sigprocmask.
2970
2971 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2972
2973         Sync from Automake.
2974         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
2975         which incorrectly sets the mode of an existing destination
2976         directory.  In some cases the unpatched install-sh could do the
2977         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
2978         system.  We hope this is rare in practice, but it's clearly worth
2979         fixing.  Problem reported by Alex Unleashed in
2980         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
2981         Also, don't bother to check for -m bugs unless we're using -m;
2982         suggested by Stepan Kasal.
2983
2984 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2985
2986         Sync from Automake.
2987         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
2988         `-c' flag, so they appear at the same position as in %FASTDEP%
2989         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
2990         which ignores unknown options only after the first non-option.
2991         Bug report against M4 by Nelson H. F. Beebe.
2992
2993 2006-10-13  Jim Meyering  <jim@meyering.net>
2994
2995         Fix a bug in yesterday's change.
2996         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
2997         p->fts_statp->st_dev would be used uninitialized.
2998         Ensures that we always call fts_stat on the very first entry.
2999         Miklos Szeredi reported that find -xdev stopped working.
3000
3001 2006-10-12  Bruno Haible  <bruno@clisp.org>
3002
3003         * gnulib-tool (func_get_automake_snippet): Append an automatically
3004         computed EXTRA_DIST augmentation.
3005         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
3006         * modules/alloca-opt (Makefile.am): Likewise.
3007         * modules/allocsa (Makefile.am): Likewise.
3008         * modules/arcfour (Makefile.am): Likewise.
3009         * modules/arctwo (Makefile.am): Likewise.
3010         * modules/argmatch (Makefile.am): Likewise.
3011         * modules/argz (Makefile.am): Likewise.
3012         * modules/atexit (Makefile.am): Likewise.
3013         * modules/backupfile (Makefile.am): Likewise.
3014         * modules/byteswap (Makefile.am): Likewise.
3015         * modules/c-strtod (Makefile.am): Likewise.
3016         * modules/c-strtold (Makefile.am): Likewise.
3017         * modules/calloc (Makefile.am): Likewise.
3018         * modules/canon-host (Makefile.am): Likewise.
3019         * modules/canonicalize (Makefile.am): Likewise.
3020         * modules/chdir-long (Makefile.am): Likewise.
3021         * modules/chdir-safer (Makefile.am): Likewise.
3022         * modules/check-version (Makefile.am): Likewise.
3023         * modules/chown (Makefile.am): Likewise.
3024         * modules/cloexec (Makefile.am): Likewise.
3025         * modules/close-stream (Makefile.am): Likewise.
3026         * modules/closeout (Makefile.am): Likewise.
3027         * modules/crc (Makefile.am): Likewise.
3028         * modules/csharpexec (Makefile.am): Likewise.
3029         * modules/cycle-check (Makefile.am): Likewise.
3030         * modules/des (Makefile.am): Likewise.
3031         * modules/dev-ino (Makefile.am): Likewise.
3032         * modules/dirfd (Makefile.am): Likewise.
3033         * modules/dirname (Makefile.am): Likewise.
3034         * modules/dup2 (Makefile.am): Likewise.
3035         * modules/eealloc (Makefile.am): Likewise.
3036         * modules/error (Makefile.am): Likewise.
3037         * modules/euidaccess (Makefile.am): Likewise.
3038         * modules/exclude (Makefile.am): Likewise.
3039         * modules/exitfail (Makefile.am): Likewise.
3040         * modules/fcntl-safer (Makefile.am): Likewise.
3041         * modules/fcntl (Makefile.am): Likewise.
3042         * modules/file-type (Makefile.am): Likewise.
3043         * modules/fileblocks (Makefile.am): Likewise.
3044         * modules/filemode (Makefile.am): Likewise.
3045         * modules/filenamecat (Makefile.am): Likewise.
3046         * modules/fnmatch (Makefile.am): Likewise.
3047         * modules/fopen-safer (Makefile.am): Likewise.
3048         * modules/fpending (Makefile.am): Likewise.
3049         * modules/fprintftime (Makefile.am): Likewise.
3050         * modules/free (Makefile.am): Likewise.
3051         * modules/fsusage (Makefile.am): Likewise.
3052         * modules/ftruncate (Makefile.am): Likewise.
3053         * modules/fts (Makefile.am): Likewise.
3054         * modules/gc-arcfour (Makefile.am): Likewise.
3055         * modules/gc-des (Makefile.am): Likewise.
3056         * modules/gc-hmac-md5 (Makefile.am): Likewise.
3057         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
3058         * modules/gc-md4 (Makefile.am): Likewise.
3059         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
3060         * modules/gc-sha1 (Makefile.am): Likewise.
3061         * modules/gc (Makefile.am): Likewise.
3062         * modules/getaddrinfo (Makefile.am): Likewise.
3063         * modules/getcwd (Makefile.am): Likewise.
3064         * modules/getdelim (Makefile.am): Likewise.
3065         * modules/getdomainname (Makefile.am): Likewise.
3066         * modules/getgroups (Makefile.am): Likewise.
3067         * modules/gethostname (Makefile.am): Likewise.
3068         * modules/gethrxtime (Makefile.am): Likewise.
3069         * modules/getline (Makefile.am): Likewise.
3070         * modules/getloadavg (Makefile.am): Likewise.
3071         * modules/getlogin_r (Makefile.am): Likewise.
3072         * modules/getndelim2 (Makefile.am): Likewise.
3073         * modules/getopt (Makefile.am): Likewise.
3074         * modules/getpagesize (Makefile.am): Likewise.
3075         * modules/getpass-gnu (Makefile.am): Likewise.
3076         * modules/getpass (Makefile.am): Likewise.
3077         * modules/getsubopt (Makefile.am): Likewise.
3078         * modules/gettime (Makefile.am): Likewise.
3079         * modules/gettimeofday (Makefile.am): Likewise.
3080         * modules/getugroups (Makefile.am): Likewise.
3081         * modules/getusershell (Makefile.am): Likewise.
3082         * modules/glob (Makefile.am): Likewise.
3083         * modules/group-member (Makefile.am): Likewise.
3084         * modules/hard-locale (Makefile.am): Likewise.
3085         * modules/hash (Makefile.am): Likewise.
3086         * modules/hmac-md5 (Makefile.am): Likewise.
3087         * modules/hmac-sha1 (Makefile.am): Likewise.
3088         * modules/human (Makefile.am): Likewise.
3089         * modules/idcache (Makefile.am): Likewise.
3090         * modules/imaxabs (Makefile.am): Likewise.
3091         * modules/imaxdiv (Makefile.am): Likewise.
3092         * modules/inet_ntop (Makefile.am): Likewise.
3093         * modules/inet_pton (Makefile.am): Likewise.
3094         * modules/intprops (Makefile.am): Likewise.
3095         * modules/inttostr (Makefile.am): Likewise.
3096         * modules/inttypes (Makefile.am): Likewise.
3097         * modules/isapipe (Makefile.am): Likewise.
3098         * modules/javaversion (Makefile.am): Likewise.
3099         * modules/lchmod (Makefile.am): Likewise.
3100         * modules/lchown (Makefile.am): Likewise.
3101         * modules/localcharset (Makefile.am): Likewise.
3102         * modules/long-options (Makefile.am): Likewise.
3103         * modules/lstat (Makefile.am): Likewise.
3104         * modules/malloc (Makefile.am): Likewise.
3105         * modules/mathl (Makefile.am): Likewise.
3106         * modules/mbchar (Makefile.am): Likewise.
3107         * modules/md2 (Makefile.am): Likewise.
3108         * modules/md4 (Makefile.am): Likewise.
3109         * modules/md5 (Makefile.am): Likewise.
3110         * modules/memcasecmp (Makefile.am): Likewise.
3111         * modules/memchr (Makefile.am): Likewise.
3112         * modules/memcmp (Makefile.am): Likewise.
3113         * modules/memcoll (Makefile.am): Likewise.
3114         * modules/memcpy (Makefile.am): Likewise.
3115         * modules/memmem (Makefile.am): Likewise.
3116         * modules/memmove (Makefile.am): Likewise.
3117         * modules/mempcpy (Makefile.am): Likewise.
3118         * modules/memrchr (Makefile.am): Likewise.
3119         * modules/memset (Makefile.am): Likewise.
3120         * modules/memxor (Makefile.am): Likewise.
3121         * modules/mkancesdirs (Makefile.am): Likewise.
3122         * modules/mkdir-p (Makefile.am): Likewise.
3123         * modules/mkdir (Makefile.am): Likewise.
3124         * modules/mkdtemp (Makefile.am): Likewise.
3125         * modules/mkstemp (Makefile.am): Likewise.
3126         * modules/mktime (Makefile.am): Likewise.
3127         * modules/modechange (Makefile.am): Likewise.
3128         * modules/mountlist (Makefile.am): Likewise.
3129         * modules/nanosleep (Makefile.am): Likewise.
3130         * modules/obstack (Makefile.am): Likewise.
3131         * modules/openat (Makefile.am): Likewise.
3132         * modules/pagealign_alloc (Makefile.am): Likewise.
3133         * modules/pathmax (Makefile.am): Likewise.
3134         * modules/physmem (Makefile.am): Likewise.
3135         * modules/poll (Makefile.am): Likewise.
3136         * modules/posixtm (Makefile.am): Likewise.
3137         * modules/posixver (Makefile.am): Likewise.
3138         * modules/putenv (Makefile.am): Likewise.
3139         * modules/quote (Makefile.am): Likewise.
3140         * modules/quotearg (Makefile.am): Likewise.
3141         * modules/raise (Makefile.am): Likewise.
3142         * modules/read-file (Makefile.am): Likewise.
3143         * modules/readline (Makefile.am): Likewise.
3144         * modules/readlink (Makefile.am): Likewise.
3145         * modules/readtokens (Makefile.am): Likewise.
3146         * modules/readutmp (Makefile.am): Likewise.
3147         * modules/realloc (Makefile.am): Likewise.
3148         * modules/regex (Makefile.am): Likewise.
3149         * modules/rename-dest-slash (Makefile.am): Likewise.
3150         * modules/rename (Makefile.am): Likewise.
3151         * modules/rijndael (Makefile.am): Likewise.
3152         * modules/rmdir (Makefile.am): Likewise.
3153         * modules/rpmatch (Makefile.am): Likewise.
3154         * modules/safe-read (Makefile.am): Likewise.
3155         * modules/safe-write (Makefile.am): Likewise.
3156         * modules/same-inode (Makefile.am): Likewise.
3157         * modules/same (Makefile.am): Likewise.
3158         * modules/save-cwd (Makefile.am): Likewise.
3159         * modules/savedir (Makefile.am): Likewise.
3160         * modules/setenv (Makefile.am): Likewise.
3161         * modules/settime (Makefile.am): Likewise.
3162         * modules/sha1 (Makefile.am): Likewise.
3163         * modules/sig2str (Makefile.am): Likewise.
3164         * modules/snprintf (Makefile.am): Likewise.
3165         * modules/stat-macros (Makefile.am): Likewise.
3166         * modules/stat-time (Makefile.am): Likewise.
3167         * modules/stdbool (Makefile.am): Likewise.
3168         * modules/stdint (Makefile.am): Likewise.
3169         * modules/stdlib-safer (Makefile.am): Likewise.
3170         * modules/stpcpy (Makefile.am): Likewise.
3171         * modules/stpncpy (Makefile.am): Likewise.
3172         * modules/strcase (Makefile.am): Likewise.
3173         * modules/strcasestr (Makefile.am): Likewise.
3174         * modules/strchrnul (Makefile.am): Likewise.
3175         * modules/strcspn (Makefile.am): Likewise.
3176         * modules/strdup (Makefile.am): Likewise.
3177         * modules/strerror (Makefile.am): Likewise.
3178         * modules/strftime (Makefile.am): Likewise.
3179         * modules/strndup (Makefile.am): Likewise.
3180         * modules/strnlen (Makefile.am): Likewise.
3181         * modules/strpbrk (Makefile.am): Likewise.
3182         * modules/strsep (Makefile.am): Likewise.
3183         * modules/strstr (Makefile.am): Likewise.
3184         * modules/strtod (Makefile.am): Likewise.
3185         * modules/strtoimax (Makefile.am): Likewise.
3186         * modules/strtok_r (Makefile.am): Likewise.
3187         * modules/strtol (Makefile.am): Likewise.
3188         * modules/strtoll (Makefile.am): Likewise.
3189         * modules/strtoul (Makefile.am): Likewise.
3190         * modules/strtoull (Makefile.am): Likewise.
3191         * modules/strtoumax (Makefile.am): Likewise.
3192         * modules/strverscmp (Makefile.am): Likewise.
3193         * modules/sys_socket (Makefile.am): Likewise.
3194         * modules/sys_stat (Makefile.am): Likewise.
3195         * modules/sysexits (Makefile.am): Likewise.
3196         * modules/time_r (Makefile.am): Likewise.
3197         * modules/timegm (Makefile.am): Likewise.
3198         * modules/timespec (Makefile.am): Likewise.
3199         * modules/tmpfile-safer (Makefile.am): Likewise.
3200         * modules/trim (Makefile.am): Likewise.
3201         * modules/unistd-safer (Makefile.am): Likewise.
3202         * modules/unlinkdir (Makefile.am): Likewise.
3203         * modules/unlocked-io (Makefile.am): Likewise.
3204         * modules/userspec (Makefile.am): Likewise.
3205         * modules/utime (Makefile.am): Likewise.
3206         * modules/utimecmp (Makefile.am): Likewise.
3207         * modules/utimens (Makefile.am): Likewise.
3208         * modules/vasnprintf (Makefile.am): Likewise.
3209         * modules/vasprintf (Makefile.am): Likewise.
3210         * modules/vsnprintf (Makefile.am): Likewise.
3211         * modules/xalloc (Makefile.am): Likewise.
3212         * modules/xgetcwd (Makefile.am): Likewise.
3213         * modules/xnanosleep (Makefile.am): Likewise.
3214         * modules/xreadlink (Makefile.am): Likewise.
3215         * modules/xstrtod (Makefile.am): Likewise.
3216         * modules/xstrtol (Makefile.am): Likewise.
3217         * modules/xstrtold (Makefile.am): Likewise.
3218         * modules/yesno (Makefile.am): Likewise.
3219         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
3220
3221 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
3222
3223         * modules/error (Makefile.am): Distribute files through
3224         EXTRA_DIST, not lib_SOURCES.
3225
3226 2006-10-12  Eric Blake  <ebb9@byu.net>
3227
3228         * modules/error (Makefile.am): Distribute files in /lib.
3229         * modules/obstack (Makefile.am): Likewise.
3230
3231 2006-10-12  Bruno Haible  <bruno@clisp.org>
3232
3233         * modules/acl (Makefile.am): Distribute all files in lib/ through
3234         EXTRA_DIST.
3235         * modules/arcfour (Makefile.am): Likewise.
3236         * modules/arctwo (Makefile.am): Likewise.
3237         * modules/argmatch (Makefile.am): Likewise.
3238         * modules/argz (Makefile.am): Likewise.
3239         * modules/atexit (Makefile.am): Likewise.
3240         * modules/backupfile (Makefile.am): Likewise.
3241         * modules/c-strtod (Makefile.am): Likewise.
3242         * modules/c-strtold (Makefile.am): Likewise.
3243         * modules/calloc (Makefile.am): Likewise.
3244         * modules/canon-host (Makefile.am): Likewise.
3245         * modules/canonicalize (Makefile.am): Likewise.
3246         * modules/chdir-long (Makefile.am): Likewise.
3247         * modules/chdir-safer (Makefile.am): Likewise.
3248         * modules/check-version (Makefile.am): Likewise.
3249         * modules/chown (Makefile.am): Likewise.
3250         * modules/cloexec (Makefile.am): Likewise.
3251         * modules/close-stream (Makefile.am): Likewise.
3252         * modules/closeout (Makefile.am): Likewise.
3253         * modules/crc (Makefile.am): Likewise.
3254         * modules/cycle-check (Makefile.am): Likewise.
3255         * modules/des (Makefile.am): Likewise.
3256         * modules/dirfd (Makefile.am): Likewise.
3257         * modules/dirname (Makefile.am): Likewise.
3258         * modules/dup2 (Makefile.am): Likewise.
3259         * modules/euidaccess (Makefile.am): Likewise.
3260         * modules/exclude (Makefile.am): Likewise.
3261         * modules/exitfail (Makefile.am): Likewise.
3262         * modules/fcntl-safer (Makefile.am): Likewise.
3263         * modules/file-type (Makefile.am): Likewise.
3264         * modules/fileblocks (Makefile.am): Likewise.
3265         * modules/filemode (Makefile.am): Likewise.
3266         * modules/filenamecat (Makefile.am): Likewise.
3267         * modules/fnmatch (Makefile.am): Likewise.
3268         * modules/fopen-safer (Makefile.am): Likewise.
3269         * modules/fpending (Makefile.am): Likewise.
3270         * modules/fprintftime (Makefile.am): Likewise.
3271         * modules/free (Makefile.am): Likewise.
3272         * modules/fsusage (Makefile.am): Likewise.
3273         * modules/ftruncate (Makefile.am): Likewise.
3274         * modules/fts (Makefile.am): Likewise.
3275         * modules/gc (Makefile.am): Likewise.
3276         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
3277         * modules/getaddrinfo (Makefile.am): Likewise.
3278         * modules/getcwd (Makefile.am): Likewise.
3279         * modules/getdelim (Makefile.am): Likewise.
3280         * modules/getdomainname (Makefile.am): Likewise.
3281         * modules/getgroups (Makefile.am): Likewise.
3282         * modules/gethostname (Makefile.am): Likewise.
3283         * modules/gethrxtime (Makefile.am): Likewise.
3284         * modules/getline (Makefile.am): Likewise.
3285         * modules/getloadavg (Makefile.am): Likewise.
3286         * modules/getlogin_r (Makefile.am): Likewise.
3287         * modules/getopt (Makefile.am): Likewise.
3288         * modules/getpass (Makefile.am): Likewise.
3289         * modules/getpass-gnu (Makefile.am): Likewise.
3290         * modules/getsubopt (Makefile.am): Likewise.
3291         * modules/gettime (Makefile.am): Likewise.
3292         * modules/gettimeofday (Makefile.am): Likewise.
3293         * modules/getugroups (Makefile.am): Likewise.
3294         * modules/getusershell (Makefile.am): Likewise.
3295         * modules/glob (Makefile.am): Likewise.
3296         * modules/group-member (Makefile.am): Likewise.
3297         * modules/hard-locale (Makefile.am): Likewise.
3298         * modules/hash (Makefile.am): Likewise.
3299         * modules/hmac-md5 (Makefile.am): Likewise.
3300         * modules/hmac-sha1 (Makefile.am): Likewise.
3301         * modules/human (Makefile.am): Likewise.
3302         * modules/idcache (Makefile.am): Likewise.
3303         * modules/imaxabs (Makefile.am): Likewise.
3304         * modules/imaxdiv (Makefile.am): Likewise.
3305         * modules/inet_ntop (Makefile.am): Likewise.
3306         * modules/inet_pton (Makefile.am): Likewise.
3307         * modules/inttostr (Makefile.am): Likewise.
3308         * modules/isapipe (Makefile.am): Likewise.
3309         * modules/lchown (Makefile.am): Likewise.
3310         * modules/long-options (Makefile.am): Likewise.
3311         * modules/lstat (Makefile.am): Likewise.
3312         * modules/malloc (Makefile.am): Likewise.
3313         * modules/mathl (Makefile.am): Likewise.
3314         * modules/mbchar (Makefile.am): Likewise.
3315         * modules/md2 (Makefile.am): Likewise.
3316         * modules/md4 (Makefile.am): Likewise.
3317         * modules/md5 (Makefile.am): Likewise.
3318         * modules/memcasecmp (Makefile.am): Likewise.
3319         * modules/memchr (Makefile.am): Likewise.
3320         * modules/memcmp (Makefile.am): Likewise.
3321         * modules/memcoll (Makefile.am): Likewise.
3322         * modules/memcpy (Makefile.am): Likewise.
3323         * modules/memmem (Makefile.am): Likewise.
3324         * modules/memmove (Makefile.am): Likewise.
3325         * modules/mempcpy (Makefile.am): Likewise.
3326         * modules/memrchr (Makefile.am): Likewise.
3327         * modules/memset (Makefile.am): Likewise.
3328         * modules/memxor (Makefile.am): Likewise.
3329         * modules/mkancesdirs (Makefile.am): Likewise.
3330         * modules/mkdir (Makefile.am): Likewise.
3331         * modules/mkdir-p (Makefile.am): Likewise.
3332         * modules/mkdtemp (Makefile.am): Likewise.
3333         * modules/mkstemp (Makefile.am): Likewise.
3334         * modules/mktime (Makefile.am): Likewise.
3335         * modules/modechange (Makefile.am): Likewise.
3336         * modules/mountlist (Makefile.am): Likewise.
3337         * modules/nanosleep (Makefile.am): Likewise.
3338         * modules/openat (Makefile.am): Likewise.
3339         * modules/pagealign_alloc (Makefile.am): Likewise.
3340         * modules/physmem (Makefile.am): Likewise.
3341         * modules/poll (Makefile.am): Likewise.
3342         * modules/posixtm (Makefile.am): Likewise.
3343         * modules/posixver (Makefile.am): Likewise.
3344         * modules/putenv (Makefile.am): Likewise.
3345         * modules/quote (Makefile.am): Likewise.
3346         * modules/quotearg (Makefile.am): Likewise.
3347         * modules/raise (Makefile.am): Likewise.
3348         * modules/read-file (Makefile.am): Likewise.
3349         * modules/readline (Makefile.am): Likewise.
3350         * modules/readlink (Makefile.am): Likewise.
3351         * modules/readtokens (Makefile.am): Likewise.
3352         * modules/readutmp (Makefile.am): Likewise.
3353         * modules/realloc (Makefile.am): Likewise.
3354         * modules/regex (Makefile.am): Likewise.
3355         * modules/rename (Makefile.am): Likewise.
3356         * modules/rename-dest-slash (Makefile.am): Likewise.
3357         * modules/rijndael (Makefile.am): Likewise.
3358         * modules/rmdir (Makefile.am): Likewise.
3359         * modules/rpmatch (Makefile.am): Likewise.
3360         * modules/safe-read (Makefile.am): Likewise.
3361         * modules/safe-write (Makefile.am): Likewise.
3362         * modules/same (Makefile.am): Likewise.
3363         * modules/save-cwd (Makefile.am): Likewise.
3364         * modules/savedir (Makefile.am): Likewise.
3365         * modules/setenv (Makefile.am): Likewise.
3366         * modules/settime (Makefile.am): Likewise.
3367         * modules/sha1 (Makefile.am): Likewise.
3368         * modules/sig2str (Makefile.am): Likewise.
3369         * modules/snprintf (Makefile.am): Likewise.
3370         * modules/stdlib-safer (Makefile.am): Likewise.
3371         * modules/stpcpy (Makefile.am): Likewise.
3372         * modules/stpncpy (Makefile.am): Likewise.
3373         * modules/strcase (Makefile.am): Likewise.
3374         * modules/strcasestr (Makefile.am): Likewise.
3375         * modules/strchrnul (Makefile.am): Likewise.
3376         * modules/strcspn (Makefile.am): Likewise.
3377         * modules/strdup (Makefile.am): Likewise.
3378         * modules/strerror (Makefile.am): Likewise.
3379         * modules/strftime (Makefile.am): Likewise.
3380         * modules/strndup (Makefile.am): Likewise.
3381         * modules/strnlen (Makefile.am): Likewise.
3382         * modules/strpbrk (Makefile.am): Likewise.
3383         * modules/strsep (Makefile.am): Likewise.
3384         * modules/strstr (Makefile.am): Likewise.
3385         * modules/strtod (Makefile.am): Likewise.
3386         * modules/strtoimax (Makefile.am): Likewise.
3387         * modules/strtok_r (Makefile.am): Likewise.
3388         * modules/strtol (Makefile.am): Likewise.
3389         * modules/strtoll (Makefile.am): Likewise.
3390         * modules/strtoul (Makefile.am): Likewise.
3391         * modules/strtoull (Makefile.am): Likewise.
3392         * modules/strtoumax (Makefile.am): Likewise.
3393         * modules/strverscmp (Makefile.am): Likewise.
3394         * modules/time_r (Makefile.am): Likewise.
3395         * modules/timegm (Makefile.am): Likewise.
3396         * modules/tmpfile-safer (Makefile.am): Likewise.
3397         * modules/unistd-safer (Makefile.am): Likewise.
3398         * modules/unlinkdir (Makefile.am): Likewise.
3399         * modules/userspec (Makefile.am): Likewise.
3400         * modules/utime (Makefile.am): Likewise.
3401         * modules/utimecmp (Makefile.am): Likewise.
3402         * modules/utimens (Makefile.am): Likewise.
3403         * modules/vasnprintf (Makefile.am): Likewise.
3404         * modules/vasprintf (Makefile.am): Likewise.
3405         * modules/vsnprintf (Makefile.am): Likewise.
3406         * modules/xalloc (Makefile.am): Likewise.
3407         * modules/xgetcwd (Makefile.am): Likewise.
3408         * modules/xnanosleep (Makefile.am): Likewise.
3409         * modules/xreadlink (Makefile.am): Likewise.
3410         * modules/xstrtod (Makefile.am): Likewise.
3411         * modules/xstrtol (Makefile.am): Likewise.
3412         * modules/xstrtold (Makefile.am): Likewise.
3413         * modules/yesno (Makefile.am): Likewise.
3414
3415 2006-10-12  Jim Meyering  <jim@meyering.net>
3416
3417         * m4/getloadavg.m4: Revert the change below.
3418
3419         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
3420         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
3421         fail with a symlink, which is what coreutils' ./bootstrap now
3422         creates by default.
3423
3424 2006-10-12  Bruno Haible  <bruno@clisp.org>
3425
3426         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
3427         mingw.
3428         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
3429         MSVC and mingw explicitly.
3430
3431 2006-10-11  Simon Josefsson  <jas@extundo.com>
3432             Bruno Haible  <bruno@clisp.org>
3433
3434         Add support for multiple gnulib-tool invocations in the scope of a
3435         single configure.ac file.
3436         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
3437         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
3438         with the same contents as the _LIBADD variable.
3439         (func_emit_initmacro_start, func_emit_initmacro_end,
3440         func_emit_initmacro_done): New functions.
3441         (func_import, func_create_testdir): Invoke them. Allow the identifiers
3442         gl_LIBOBJS and gl_LTLIBOBJS.
3443
3444 2006-10-11  Bruno Haible  <bruno@clisp.org>
3445
3446         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
3447         (func_create_testdir): Don't create po/Makefile.am, don't invoke
3448         autoreconf. Instead, invoke autopoint explicitly but move back the
3449         *.m4 files from gnulib.
3450
3451 2006-10-11  Bruno Haible  <bruno@clisp.org>
3452
3453         * gnulib-tool (func_usage): Make module names after --create-testdir
3454         optional.
3455         (func_create_testdir): If no module was specified, use nearly all
3456         modules.
3457
3458 2006-10-12  Jim Meyering  <jim@meyering.net>
3459
3460         Big performance improvement for fts-based tools that use FTS_NOSTAT.
3461         Avoid spurious inode-mismatch problems on non-POSIX file systems.
3462         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
3463         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
3464         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
3465         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
3466         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
3467         (fts_set_stat_required): New function.
3468         (fts_open): Defer the calls to fts_stat, if possible or requested.
3469         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
3470         into fts_stat itself.
3471         (fts_read): Perform any required (deferred) fts_stat call.
3472         (fts_build): Likewise, for the directory we're about to open and read.
3473         In the readdir loop, carefully decide whether each entry will require
3474         an eventual call to fts_stat, using dirent.d_type info if available.
3475         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
3476         a command line argument into this function.  Update all callers.
3477         Map a return value of FTS_DOT to FTS_D for a command line argument.
3478         * modules/fts (Depends-on): Add d-type.  Alphabetize.
3479         Thanks to Miklos Szeredi for his tenacity and for the initial
3480         bug report about "find" failing on a FUSE-based file system.
3481
3482         * lib/fts.c (fts_open): Use consistent indentation.
3483
3484 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
3485
3486         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
3487         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
3488         reported by Jim Meyering.  All uses of cache variables renamed
3489         to match Autoconf's.
3490         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
3491         the other one.
3492
3493         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
3494         Fix misspelling in diagnostic.
3495
3496 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
3497
3498         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
3499         defined.  Problem reported by Matthew Woehlke.
3500
3501         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
3502         Add support for Tandem NonStop R series.
3503         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
3504         Use new macro.
3505
3506         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
3507         (has_trailing_slash): Omit size arg; all callers changed.
3508         Omit 'inline', since it doesn't help performance and we'd
3509         need to configure it.
3510         Don't count //, ///, etc. as having a trailing slash.
3511         As a side effect, this removes a C99ism reported by Matthew Woehlke.
3512         (rpl_rename_dest_slash): On failure, use rename's errno rather
3513         than (in some cases) an incorrect or junk errno.
3514         Simplify code by removing need to compute length; this does
3515         cause it to make two passes instead of one over the file name,
3516         but it's worth it.
3517
3518         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
3519         change, since Autoconf's version may no longer be appropriate now
3520         that we are using CVS Autoconf's version.  Add support for Tandem.
3521
3522 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
3523             Bruno Haible  <bruno@clisp.org>
3524
3525         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
3526         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
3527         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
3528         gl_AC_TYPE_LONG_LONG.
3529
3530         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
3531         instead of HAVE_LONG_LONG.
3532         * lib/printf-args.c (printf_fetchargs): Likewise.
3533         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
3534         * lib/vasnprintf.c (VASNPRINTF): Likewise.
3535         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
3536         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
3537         gl_AC_TYPE_LONG_LONG.
3538
3539 2006-10-11  Bruno Haible  <bruno@clisp.org>
3540
3541         * m4/longlong.m4: Add comments.
3542         * m4/ulonglong.m4: Likewise.
3543
3544 2006-10-10  Bruno Haible  <bruno@clisp.org>
3545
3546         Make it possible to #define stpcpy, strdup to aliases.
3547         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
3548         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
3549
3550 2006-10-10  Bruno Haible  <bruno@clisp.org>
3551
3552         Make it possible to #define gcd to an alias.
3553         * lib/gcd.c: Include config.h.
3554
3555 2006-10-10  Bruno Haible  <bruno@clisp.org>
3556
3557         Make it possible to #define c_isascii to an alias.
3558         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
3559         defined. Undefine the macros before defining them, to avoid gcc
3560         warnings.
3561         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
3562         define NO_C_CTYPE_MACROS early.
3563
3564 2006-10-10  Bruno Haible  <bruno@clisp.org>
3565
3566         Make it possible to #define set_program_name to an alias.
3567         * lib/progname.c: Don't undefine set_program_name; instead, undefine
3568         ENABLE_RELOCATABLE early.
3569
3570 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
3571
3572         Port to Tandem NSK OSS, which has 64-bit signed int but at most
3573         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
3574         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
3575         More generally, don't assume that 64-bit signed int is available
3576         if unsigned int is, and vice versa.
3577         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
3578         unsigned symbols, not on their signed counterparts.
3579         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
3580         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
3581         (UINT64_C, UINTMAX_C):
3582         Likewise.
3583         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
3584         unsigned counterparts.
3585         (Have_long_long, Unsigned): New macros.
3586         (Int): Renamed from INT.
3587         (strtoimax): Use the new macros.
3588         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
3589         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
3590         * modules/inttypes (inttypes.h): Substitute
3591         HAVE_UNSIGNED_LONG_LONG_INT.
3592         * modules/stdint (stdint.h): Likewise.
3593         (Files): Add m4/ulonglong.m4.
3594
3595 2006-10-10  Bruno Haible  <bruno@clisp.org>
3596
3597         Fix a gcc -Wshadow warning.
3598         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
3599         to 'bucket'.
3600         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
3601         gl_linked_indexof_from_to): Likewise.
3602         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
3603         Likewise.
3604         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
3605         Likewise.
3606         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
3607         Reported by Eric Blake.
3608
3609 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
3610
3611         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
3612         for NetBSD.  Problem reported by Bruno Haible.
3613
3614 2006-10-09  Jim Meyering  <jim@meyering.net>
3615
3616         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
3617         Patch from Bruno Haible.
3618
3619 2006-10-09  Jim Meyering  <jim@meyering.net>
3620
3621         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
3622         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
3623         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
3624
3625 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
3626
3627         Don't include <config.h> twice; this doesn't work in some cases,
3628         e.g., when config.h has "#define intmax_t long long int" and
3629         we include <config.h>, <inttypes.h>, <config.h> in that order.
3630         Problem reported by Matthew Woehlke in:
3631         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
3632         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
3633         * lib/fts-cycle.c: Don't include config.h.
3634         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
3635         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
3636         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
3637         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
3638         inttypes.h.
3639         * lib/xstrtoumax.c: Likewise.
3640         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
3641         __strtol and the like, so that this module is more like its siblings.
3642         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
3643         Remove; no longer needed now that we assume gnulib inttypes.h.
3644
3645 2006-10-08  Bruno Haible  <bruno@clisp.org>
3646
3647         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
3648         option.
3649
3650 2006-10-07  Jim Meyering  <jim@meyering.net>
3651
3652         * modules/inttypes (inttypes.h): Revert what seems to have been
3653         an inadvertent part of today's change: use "|", not "/" in the
3654         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
3655
3656 2006-10-07  Bruno Haible  <bruno@clisp.org>
3657
3658         * modules/sublist: New file.
3659
3660 2006-10-07  Bruno Haible  <bruno@clisp.org>
3661
3662         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
3663         * modules/argz (argz.h): Likewise.
3664         * modules/arpa_inet (arpa/inet.h): Likewise.
3665         * modules/byteswap (byteswap.h): Likewise.
3666         * modules/configmake (configmake.h): Likewise.
3667         * modules/fcntl (fcntl.h): Likewise.
3668         * modules/fnmatch (fnmatch.h): Likewise.
3669         * modules/getopt (getopt.h): Likewise.
3670         * modules/glob (glob.h): Likewise.
3671         * modules/inttypes (inttypes.h): Likewise.
3672         * modules/netinet_in (netinet/in.h): Likewise.
3673         * modules/poll (poll.h): Likewise.
3674         * modules/stdbool (stdbool.h): Likewise.
3675         * modules/stdint (stdint.h): Likewise.
3676         * modules/sys_select (sys/select.h): Likewise.
3677         * modules/sys_socket (sys/socket.h): Likewise.
3678         * modules/sys_stat (sys/stat.h): Likewise.
3679         * modules/sysexits (sysexits.h): Likewise.
3680         * modules/unistd (unistd.h): Likewise.
3681         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3682         Add a "DO NOT EDIT" comment to the generated file.
3683         (func_import): Likewise for gnulib-comp.m4.
3684
3685 2006-10-07  Bruno Haible  <bruno@clisp.org>
3686
3687         * lib/gl_sublist.h: New file.
3688         * lib/gl_sublist.c: New file.
3689
3690 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
3691
3692         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
3693         name (relative to the original working directory) and the file
3694         name component (relative to the temporary working directory).  All
3695         callers changed.
3696         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
3697         * lib/mkdir-p.c (make_dir_parents): Likewise.
3698         * lib/mkdir-p.h (make_dir_parents): Likewise.
3699
3700 2006-10-06  Eric Blake  <ebb9@byu.net>
3701
3702         Define several macros for use by the clean-temp module.
3703         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
3704         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
3705         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
3706
3707         * lib/clean-temp.h (close_stream_temp): New declaration.
3708         * lib/clean-temp.c (includes): Pull in headers according to what
3709         other modules are in use.
3710         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
3711
3712 2006-10-06  Bruno Haible  <bruno@clisp.org>
3713
3714         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
3715         instead of fopen, fwriteerror.
3716
3717 2006-10-06  Bruno Haible  <bruno@clisp.org>
3718
3719         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
3720         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
3721         int.
3722         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
3723         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
3724         Return an error indicator.
3725         Suggested by Eric Blake.
3726
3727 2006-10-06  Bruno Haible  <bruno@clisp.org>
3728
3729         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
3730         Reported by Eric Blake.
3731
3732 2006-10-06  Bruno Haible  <bruno@clisp.org>
3733
3734         * modules/closeout (Description): Mention stderr too.
3735
3736 2006-10-06  Bruno Haible  <bruno@clisp.org>
3737         and Paul Eggert  <eggert@cs.ucla.edu>
3738
3739         * lib/closeout.c (close_stdout): Also close stderr.
3740         * lib/closeout.h: Update comment.
3741
3742 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
3743
3744         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
3745         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
3746         * lib/dirchownmod.c: Include lchown.h.
3747         * lib/lchown.c: Don't include files that lchown.h now includes.
3748         Don't declare chown, since lchown.h now does that.
3749         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
3750         (lchown): Define to rpl_chown if lchown is declared but
3751         does not exist.  Declare using a prototype if lchown is not
3752         declared.  Add a copyright notice.
3753         * lib/mkstemp.h: Include <unistd.h>.
3754         * lib/openat.c: Include lchown.h.
3755
3756         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
3757         we now test for that separately.
3758         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
3759         rather than O_NOFOLLOW, when testing whether it's possible to
3760         avoid a race condition reliably.
3761         * lib/savewd.c (savewd_chdir): Likewise.
3762
3763         Remove macros that are no longer needed now that stdint.h is
3764         reliable.
3765         * lib/fsusage.c (UINTMAX_MAX): Remove.
3766         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
3767         * lib/utimecmp.c (SIZE_MAX): Remove.
3768
3769         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
3770
3771         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
3772         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
3773         O_NOATIME works.
3774
3775 2006-10-05  Bruno Haible  <bruno@clisp.org>
3776
3777         * lib/gl_list.h (gl_sortedlist_search_from_to,
3778         gl_sortedlist_indexof_from_to): New declarations.
3779         (gl_list_implementation): New fields sortedlist_search_from_to,
3780         sortedlist_indexof_from_to.
3781         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
3782         inline functions.
3783         * lib/gl_list.c (gl_sortedlist_search_from_to,
3784         gl_sortedlist_indexof_from_to): New functions.
3785         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
3786         function.
3787         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
3788         (gl_array_sortedlist_search_from_to): New function.
3789         (gl_array_list_implementation): Update.
3790         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
3791         function.
3792         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
3793         (gl_carray_sortedlist_search_from_to): New function.
3794         (gl_carray_list_implementation): Update.
3795         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
3796         gl_linked_sortedlist_indexof_from_to): New functions.
3797         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
3798         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
3799         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
3800         gl_tree_sortedlist_indexof_from_to): New functions.
3801         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
3802         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
3803         Update.
3804         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
3805         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
3806         Update.
3807
3808 2006-10-05  Bruno Haible  <bruno@clisp.org>
3809
3810         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
3811         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
3812         (struct gl_list_implementation): Add fields search_from_to,
3813         indexof_from_to. Remove fields search, indexof.
3814         (gl_list_search): Use the search_from_to method.
3815         (gl_list_search_from, gl_list_search_from_to): New functions.
3816         (gl_list_indexof): Use the indexof_from_to method.
3817         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
3818         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
3819         (gl_list_search_from, gl_list_search_from_to): New functions.
3820         (gl_list_indexof): Use the indexof_from_to method.
3821         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
3822         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
3823         gl_array_indexof. Add start_index, end_index arguments.
3824         (gl_array_search_from_to): Renamed from gl_array_search. Add
3825         start_index, end_index arguments.
3826         (gl_array_remove, gl_array_list_implementation): Update.
3827         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
3828         gl_carray_indexof. Add start_index, end_index arguments.
3829         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
3830         start_index, end_index arguments.
3831         (gl_carray_remove, gl_carray_list_implementation): Update.
3832         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
3833         gl_linked_search. Add start_index, end_index arguments.
3834         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
3835         start_index, end_index arguments.
3836         (gl_linked_remove): Update.
3837         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
3838         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
3839         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
3840         field to 'size_t'.
3841         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
3842         gl_tree_search. Add start_index, end_index arguments.
3843         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
3844         start_index, end_index arguments.
3845         (gl_tree_remove): Update.
3846         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
3847         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
3848         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
3849         function.
3850         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
3851         gl_tree_search. Add start_index, end_index arguments.
3852         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
3853         start_index, end_index arguments.
3854         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
3855         Update.
3856         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
3857
3858 2006-10-05  Bruno Haible  <bruno@clisp.org>
3859
3860         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
3861
3862         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
3863         fwriteerror_temp): New declarations.
3864         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
3865         (descriptors): New variable.
3866         (cleanup): First, close the descriptors.
3867         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
3868         fclose_temp, fwriteerror_temp): New functions.
3869
3870 2006-10-04  Jim Meyering  <jim@meyering.net>
3871
3872         * lib/fts.c (fts_open): Tiny comment change.
3873
3874 2006-10-04  Bruno Haible  <bruno@clisp.org>
3875
3876         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
3877         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
3878         gl_LOCK_BODY.
3879         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
3880         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
3881         gl_LOCK_EARLY_BODY.
3882         (gl_LOCK): Require gl_LOCK_BODY.
3883
3884 2006-10-04  Bruno Haible  <bruno@clisp.org>
3885
3886         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
3887         (gl_oset_search_atleast): New declaration.
3888         (struct gl_oset_implementation): Add field 'search_atleast'.
3889         (gl_oset_search_atleast): New inline function.
3890         * lib/gl_oset.c (gl_oset_search_atleast): New function.
3891         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
3892         (gl_array_oset_implementation): Update.
3893         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
3894         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
3895         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
3896
3897 2006-10-04  Bruno Haible  <bruno@clisp.org>
3898
3899         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
3900
3901 2006-10-03  Bruno Haible  <bruno@clisp.org>
3902
3903         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
3904         from gl_avltreehash_list_implementation.
3905
3906 2006-10-03  Bruno Haible  <bruno@clisp.org>
3907
3908         * lib/gl_oset.c (gl_oset_add): Fix return type.
3909
3910 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
3911
3912         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
3913
3914 2006-10-02  Eric Blake  <ebb9@byu.net>
3915
3916         * modules/strnlen (Depends-on): Add extensions.
3917
3918 2006-10-02  Eric Blake  <ebb9@byu.net>
3919
3920         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
3921         definition in 2.60+.
3922
3923 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
3924
3925         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
3926         checks.
3927
3928 2006-10-02  Bruno Haible  <bruno@clisp.org>
3929
3930         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
3931         to the AUTOMAKE_OPTIONS.
3932         Reported by Jim Meyering.
3933
3934 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
3935
3936         Work around bug in Solaris 10 /proc file system:
3937         /proc/self/fd/NNN/.. isn't the parent directory of
3938         the directory whose file descriptor is NNN.  This needs to
3939         be worked around at run time, not compile time, since a
3940         program might be built on Solaris 8, where things work, and
3941         run on Solaris 10.
3942         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
3943         to use the following interface instead:
3944         (OPENAT_BUFFER_SIZE): New macro.
3945         (openat_proc_name): New function.
3946         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
3947         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
3948         Likewise.
3949         * lib/openat-proc.c: New file.
3950         * modules/openat (Files): Add lib/openat-proc.c.
3951         (Depends-on): Add same-inode, stdbool.
3952         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
3953
3954 2006-09-29  Bruno Haible  <bruno@clisp.org>
3955
3956         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
3957         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
3958         argument. Set stdout_closed before testing for ferror, not after.
3959         (fwriteerror, fwriteerror_no_ebadf): New functions.
3960
3961 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3962
3963         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
3964
3965 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
3966
3967         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
3968         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
3969
3970 2006-09-28  Jim Meyering  <jim@meyering.net>
3971
3972         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
3973         Include <unistd.h>.
3974
3975 2006-09-28  Bruno Haible  <bruno@clisp.org>
3976
3977         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
3978         * modules/linkedhash-list (Depends-on): Likewise.
3979         * modules/rbtreehash-list (Depends-on): Likewise.
3980
3981 2006-09-28  Bruno Haible  <bruno@clisp.org>
3982
3983         * lib/strndup.h: Simplify the redefinition of strndup.
3984         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
3985         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
3986
3987 2006-09-28  Bruno Haible  <bruno@clisp.org>
3988
3989         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
3990         * lib/gl_linkedhash_list.c: Likewise.
3991         * lib/gl_rbtreehash_list.c: Likewise.
3992
3993 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
3994
3995         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
3996         getaddrinfo.
3997
3998         * lib/__fpending.h: Don't include <stdio_ext.h> unless
3999         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
4000         it causes <stdio_ext.h> to cause a compile-time error.
4001         Problem reported by Nelson H. F. Beebe.
4002         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
4003         of HAVE_DECL___PENDING.
4004
4005         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
4006         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
4007         declaration.
4008
4009 2006-09-27  Jim Meyering  <jim@meyering.net>
4010
4011         This file could end up with a definition for a function
4012         named __strndup, rather than rpl_strndup on a system with
4013         incomplete weak_alias support.
4014         * lib/strndup.c (strndup): Rename from __strndup.
4015         Remove #defines that used to map __strndup to strndup.
4016         Don't use K&R prototypes.
4017         Remove LIBC-related code, since this file is not sync'd with glibc.
4018         * lib/strndup.h: Revamp, accordingly.
4019         * m4/strndup.m4: Modernize.
4020
4021 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4022
4023         * modules/savewd (Depends-on): Add 'raise'.
4024         * lib/savewd.c: Include <signal.h>, for 'raise'.
4025
4026 2006-09-26  Jim Meyering  <jim@meyering.net>
4027
4028         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
4029         when we detect Darwin 8.7.0's acl_get_file bug.
4030         Rearrange to perform the new (below) run-test while $LIBS
4031         contains any acl-related library.  Set USE_ACL at the end.
4032         (gl_ACL_GET_FILE): New function.
4033
4034 2006-09-26  Eric Blake  <ebb9@byu.net>
4035
4036         * lib/verror.c: Include <config.h> unconditionally.
4037
4038 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
4039
4040         * modules/clock-time (Maintainer): Add self.
4041         * modules/getlogin_r (Depends-on): Add extensions.
4042
4043 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4044
4045         * modules/clock-time: New module.
4046         * modules/nanosleep (Depends-on): Add clock-time.
4047         * modules/gethrxtime (Depends-on): Likewise.
4048         * modules/gettime (Depends-on): Likewise.
4049         * modules/settime (Depends-on): Likewise.
4050
4051         * modules/fts-lgpl: Depend on openat.
4052         * modules/mkancesdirs: Depend on savewd.
4053         * modules/mkdir-p: Likewise.
4054
4055 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4056
4057         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
4058
4059         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
4060         `gl_have_arbitrary_file_name_length_limit' to
4061         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
4062         actually works between configure runs.
4063
4064 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4065             Bruno Haible  <bruno@clisp.org>
4066
4067         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
4068
4069 2006-09-25  Jim Meyering  <jim@meyering.net>
4070
4071         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
4072         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
4073
4074 2006-09-25  Eric Blake  <ebb9@byu.net>
4075
4076         * gnulib-tool (func_import, func_create_testdir): Fix typos in
4077         exec's in 2006-09-18 patch when shuffling fds.
4078
4079 2006-09-25  Bruno Haible  <bruno@clisp.org>
4080
4081         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
4082         Reported by Jim Meyering.
4083
4084 2006-09-24  Jim Meyering  <jim@meyering.net>
4085
4086         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
4087         compare a pointer against a literal "0".  That caused failures with
4088         at least HP-UX's hpcc.
4089
4090 2006-09-22  Simon Josefsson  <jas@extundo.com>
4091
4092         * modules/gc-sha1:
4093         * modules/gc-md4:
4094         * modules/gc-hmac-sha1:
4095         * modules/gc-hmac-md5:
4096         * modules/gc-des:
4097         * modules/gc-arcfour: Distribute more files.
4098
4099 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4100
4101         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
4102         (gl_linked_iterator_from_to): Initialize struct completely.
4103         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
4104         (gl_tree_iterator_from_to): Likewise
4105         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
4106         * lib/gl_array_list.c [lint] (gl_array_iterator)
4107         (gl_array_iterator_from_to): Likewise.
4108         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
4109         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
4110         (gl_carray_iterator_from_to): Likewise.
4111
4112         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
4113         * lib/md4.c (md4_process_block): Remove unused variable.
4114         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
4115         parentheses for clarity.
4116
4117 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4118
4119         * modules/bison-i18n (Depends-on): Add gettext.
4120
4121 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4122
4123         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
4124         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
4125         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
4126         also add missing comma that caused broken test.
4127         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
4128         stdlib.h, for `abort'.
4129         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
4130         variables.
4131         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
4132         include unistd.h if present, for `rmdir'.
4133         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
4134         variables.
4135         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
4136         in the process include standard headers for prototypes.
4137         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
4138         gets declared on GNU/Linux.
4139         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
4140         unistd.h, for `rmdir'.
4141         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
4142
4143         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
4144         always true.
4145         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
4146
4147         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
4148
4149 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4150
4151         * gnulib-tool (func_version): Create output all at once.  This
4152         may help avoid triggering unnecessary SIGPIPEs, and at any
4153         rate it doesn't hurt.
4154
4155 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4156             Bruno Haible  <bruno@clisp.org>
4157
4158         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
4159         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
4160         * m4/signed.m4 (bh_C_SIGNED): Likewise.
4161
4162         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
4163         (gl_FUNC_VASPRINTF): Invoke it.
4164
4165 2006-09-22  Bruno Haible  <bruno@clisp.org>
4166
4167         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
4168         getloadavg.c as first argument.
4169
4170 2006-09-22  Bruno Haible  <bruno@clisp.org>
4171
4172         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
4173         at the beginning of the gl_INIT macro.
4174         * modules/getloadavg (configure.ac): Pass $gl_source_base to
4175         gl_GETLOADAVG.
4176
4177 2006-09-22  Bruno Haible  <bruno@clisp.org>
4178
4179         * gnulib-tool (func_create_megatestdir): Don't include the config-h
4180         module.
4181         Suggested by Ralf Wildenhues.
4182
4183 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
4184
4185         Import this patch from libc:
4186
4187         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
4188
4189         * lib/regex_internal.c (re_string_reconstruct): Handle
4190         offset < pstr->valid_raw_len && pstr->offsets_needed case.
4191         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
4192         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
4193         re_string_context_at.
4194
4195         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
4196         now requires it.
4197         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
4198         gl_REGEX now does it for us.
4199         (gl_REGEX): Add test taken from
4200         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
4201
4202         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
4203         Check that large offsets work.  Modernize Autoconf usages.
4204         Prefer "yes" to mean a good thing rather than a bad.
4205         Don't put "#define mkstemp" in config.h, as this might interfere
4206         with standard system headers that "#define mkstemp mkstemp64".
4207
4208         * modules/mkstemp (Depends-on): Add extensions, so that
4209         mkstemp is visible on some platforms.
4210         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
4211         (Include): Change to "mkstemp.h" from <stdlib.h>.
4212         (Files): Add mkstemp.h.
4213
4214         * lib/mkstemp.h: New file, since some standard headers
4215         #define mkstemp.
4216         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
4217         Include "mkstemp.h".
4218         Make the _LIBC code resemble glibc original more,
4219         e.g., use K&R style.
4220         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
4221         (mkstemp): Remove, since mkstemp.h does this for us.
4222         * lib/stdlib--.h: Include mkstemp.h.
4223
4224         Import this patch from libc:
4225
4226         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
4227
4228         * lib/tempname.c (__gen_tempname): Change attempts_min
4229         into a macro.  Use preprocessor to decide how to initialize
4230         attempts [Coverity CID 67].
4231
4232 2006-09-20  Bruno Haible  <bruno@clisp.org>
4233
4234         * lib/mkdtemp.c: Import from libc.
4235         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
4236                 * sysdeps/posix/tempname.c (__gen_tempname): Change
4237                 attempts_min into a macro.  Use preprocessor to decide how to
4238                 initialize attempts [Coverity CID 67].
4239         2001-11-27  Paul Eggert  <eggert@twinsun.com>
4240                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
4241                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
4242
4243 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4244
4245         * gnulib-tool (func_exit): New function, to allow to pass the
4246         exit status portably through the trap.  Use everywhere.
4247         (--help, --version): Signal a write error.
4248         (trap): catch SIGPIPE, for write errors.
4249         Exit at the end of the trap, with the correct exit status.
4250
4251 2006-09-19  Karl Berry  <karl@gnu.org>
4252
4253         * doc/gnulib.texi: note about the license texinfo files.
4254
4255 2006-09-19  Eric Blake  <ebb9@byu.net>
4256
4257         * gnulib-tool: Avoid space-tab.
4258
4259 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
4260
4261         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
4262         that prevented coreutils 6.1 from building.  Problem reported
4263         by Petter Reinholdtsen.
4264
4265 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
4266
4267         * gnulib-tool (avoidlist): Fix typo that broke options like
4268         --avoid=lock that are used by coreutils bootstrap.
4269
4270 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
4271
4272         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
4273         more systematically.
4274
4275 2006-09-18  Jim Meyering  <jim@meyering.net>
4276
4277         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
4278
4279 2006-09-18  Bruno Haible  <bruno@clisp.org>
4280
4281         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
4282
4283 2006-09-18  Bruno Haible  <bruno@clisp.org>
4284
4285         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
4286         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
4287         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
4288         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
4289         * m4/gettext.m4: Require autoconf >= 2.52.
4290         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
4291         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
4292         of gl_cv_header_inttypes_h.
4293
4294 2006-09-18  Bruno Haible  <bruno@clisp.org>
4295
4296         * lib/javaversion.c: Include configmake.h.
4297
4298 2006-09-18  Bruno Haible  <bruno@clisp.org>
4299
4300         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
4301         avoid that the while loops be executed in a subshell.
4302
4303 2006-09-18  Bruno Haible  <bruno@clisp.org>
4304
4305         * MODULES.html.sh (func_module): Break long lines.
4306         Suggested by Bruce Korb <bkorb@gnu.org>.
4307
4308 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4309
4310         Speed up by a factor of 1.12.
4311         * gnulib-tool (nl): New variable.
4312         (func_import): Rewrite include directive extraction to only read each
4313         directive once.
4314
4315 2006-09-17  Bruno Haible  <bruno@clisp.org>
4316
4317         * modules/javaversion (Makefile.am): Remove DEFS setting.
4318         (Depends-on): Add configmake, for PKGDATADIR definition.
4319
4320 2006-09-17  Bruno Haible  <bruno@clisp.org>
4321
4322         * gnulib-tool (func_create_testdir): Rewrite all files at once.
4323
4324 2006-09-17  Bruno Haible  <bruno@clisp.org>
4325
4326         * gnulib-tool (func_append): New function, stolen from libtool.m4.
4327         (func_modules_transitive_closure, func_modules_add_dummy,
4328         func_modules_to_filelist, func_import, func_create_testdir,
4329         func_create_megatestdir, ...): Use it wherever possible.
4330         Suggested by Ralf Wildenhues.
4331
4332 2006-09-16  Karl Berry  <karl@gnu.org>
4333
4334         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
4335         to avoid sectioning errors.
4336         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
4337         [ifinfo]: blank line after @center-ed titles.
4338         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
4339         Spell FSF address consistently with others.
4340         (These changes approved by rms.)
4341
4342 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4343
4344         Speed up by a factor of 1.61.
4345         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
4346         already checked module names again.
4347
4348 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4349
4350         Speed up by a factor of 1.13.
4351         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
4352         for new_files, and the input to func_add_or_update.
4353
4354 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4355
4356         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
4357         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
4358
4359 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4360
4361         * modules/mkancesdirs (Depends-on): Add fcntl.
4362         * modules/savewd: New file.
4363         * MODULES.html.sh (File system functions): Add savewd.
4364
4365         * modules/configmake (Makefile.am): Add support for the
4366         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
4367
4368 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4369
4370         * m4/savewd.m4: New file.
4371
4372 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4373
4374         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
4375         (dirchownmod): New arg FD.  All callers changed.
4376         Use FD rather than opening the directory ourself, as opening is
4377         now the caller's responsibility.
4378         * lib/dirchownmod.h: Likewise.
4379         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
4380         hosts that require <sys/types.h> before <sys/stat.h>.  Include
4381         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
4382         (test_dir): Remove.
4383         (mkancesdirs): Return length of prefix of FILE that has already
4384         been made, or -2 if there is a child doing the work.  Redo
4385         algorithm so that it is O(N) rather than O(N**2).  Optimize away
4386         ".", and treat ".." specially since it might stray back into
4387         already-created areas.  Use a subprocess if necessary.  New arg
4388         WD; all users changed.  MAKE_DIR function should now return 1
4389         if it creates a directory that is not readable.  Return -2 if
4390         a child process is spun off.
4391         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
4392         Adjust signature to match code.
4393         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
4394         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
4395         all users changed.
4396         * lib/savewd.c, lib/savewd.h: New files.
4397
4398 2006-09-15  Jim Meyering  <jim@meyering.net>
4399
4400         * modules/rename-dest-slash: New module.
4401         * MODULES.html.sh (posix_compat): Add it here.
4402
4403         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
4404
4405 2006-09-15  Jim Meyering  <jim@meyering.net>
4406
4407         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
4408         file.
4409
4410         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
4411
4412 2006-09-15  Jim Meyering  <jim@meyering.net>
4413
4414         * lib/rename-dest-slash.c (has_trailing_slash): Use
4415         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
4416         (rpl_rename_dest_slash): Perform the cheaper trailing slash
4417         test before testing whether SRC is a directory.
4418         Suggestions from Bruno Haible.
4419
4420         Avoid a warning about an unused variable.
4421         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
4422         into the #ifdef block where it's used.
4423
4424         * lib/rename-dest-slash.c: New file.
4425
4426 2006-09-14  Bruno Haible  <bruno@clisp.org>
4427
4428         * lib/allocsa.c: Include <config.h> unconditionally.
4429         * lib/asnprintf.c: Likewise.
4430         * lib/asprintf.c: Likewise.
4431         * lib/c-strcasecmp.c: Likewise.
4432         * lib/c-strcasestr.c: Likewise.
4433         * lib/c-strncasecmp.c: Likewise.
4434         * lib/c-strstr.c: Likewise.
4435         * lib/classpath.c: Likewise.
4436         * lib/clean-temp.c: Likewise.
4437         * lib/concatpath.c: Likewise.
4438         * lib/copy-file.c: Likewise.
4439         * lib/csharpcomp.c: Likewise.
4440         * lib/csharpexec.c: Likewise.
4441         * lib/execute.c: Likewise.
4442         * lib/fatal-signal.c: Likewise.
4443         * lib/findprog.c: Likewise.
4444         * lib/fwriteerror.c: Likewise.
4445         * lib/gl_array_list.c: Likewise.
4446         * lib/gl_array_oset.c: Likewise.
4447         * lib/gl_avltree_list.c: Likewise.
4448         * lib/gl_avltree_oset.c: Likewise.
4449         * lib/gl_avltreehash_list.c: Likewise.
4450         * lib/gl_carray_list.c: Likewise.
4451         * lib/gl_linked_list.c: Likewise.
4452         * lib/gl_linkedhash_list.c: Likewise.
4453         * lib/gl_list.c: Likewise.
4454         * lib/gl_oset.c: Likewise.
4455         * lib/gl_rbtree_list.c: Likewise.
4456         * lib/gl_rbtree_oset.c: Likewise.
4457         * lib/gl_rbtreehash_list.c: Likewise.
4458         * lib/imaxabs.c: Likewise.
4459         * lib/imaxdiv.c: Likewise.
4460         * lib/javacomp.c: Likewise.
4461         * lib/javaexec.c: Likewise.
4462         * lib/javaversion.c: Likewise.
4463         * lib/linebreak.c: Likewise.
4464         * lib/localcharset.c: Likewise.
4465         * lib/lock.c: Likewise.
4466         * lib/mbchar.c: Likewise.
4467         * lib/mbswidth.c: Likewise.
4468         * lib/mkdtemp.c: Likewise.
4469         * lib/pipe.c: Likewise.
4470         * lib/printf-args.c: Likewise.
4471         * lib/printf-parse.c: Likewise.
4472         * lib/progname.c: Likewise.
4473         * lib/progreloc.c: Likewise.
4474         * lib/readlink.c: Likewise.
4475         * lib/sh-quote.c: Likewise.
4476         * lib/stpcpy.c: Likewise.
4477         * lib/stpncpy.c: Likewise.
4478         * lib/strcasecmp.c: Likewise.
4479         * lib/strcasestr.c: Likewise.
4480         * lib/strcspn.c: Likewise.
4481         * lib/striconv.c: Likewise.
4482         * lib/strncasecmp.c: Likewise.
4483         * lib/strnlen1.c: Likewise.
4484         * lib/strstr.c: Likewise.
4485         * lib/strtok_r.c: Likewise.
4486         * lib/tls.c: Likewise.
4487         * lib/tmpdir.c: Likewise.
4488         * lib/unicodeio.c: Likewise.
4489         * lib/unsetenv.c: Likewise.
4490         * lib/vasnprintf.c: Likewise.
4491         * lib/vasprintf.c: Likewise.
4492         * lib/wait-process.c: Likewise.
4493         * lib/xallocsa.c: Likewise.
4494         * lib/xsetenv.c: Likewise.
4495         * lib/xstriconv.c: Likewise.
4496
4497 2006-09-13  Simon Josefsson  <jas@extundo.com>
4498
4499         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
4500         that internally, suggested by Ralf Wildenhues
4501         <Ralf.Wildenhues@gmx.de>.
4502
4503 2006-09-13  Simon Josefsson  <jas@extundo.com>
4504
4505         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
4506         @LIBOBJS@.
4507         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4508
4509 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4510
4511         * lib/_fpending.c: Include <config.h> unconditionally, since we no
4512         longer worry about uses that don't define HAVE_CONFIG_H.
4513         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
4514         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
4515         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
4516         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
4517         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
4518         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
4519         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
4520         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
4521         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
4522         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
4523         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
4524         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
4525         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
4526         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
4527         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
4528         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
4529         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
4530         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
4531         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
4532         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
4533         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
4534         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
4535         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
4536         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
4537         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
4538         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
4539         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
4540         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
4541         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
4542         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
4543         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
4544         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
4545         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
4546         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
4547         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
4548         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
4549         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
4550         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
4551         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
4552         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
4553         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
4554         Likewise.
4555
4556 2006-09-13  Eric Blake  <ebb9@byu.net>
4557
4558         * lib/getopt.c: Fix typo in last commit.
4559
4560 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
4561
4562         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
4563         dgettext.
4564
4565 2006-09-12  Jim Meyering  <jim@meyering.net>
4566
4567         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
4568         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
4569         Reported by Nelson H. F. Beebe.
4570
4571 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
4572
4573         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
4574         program_invocation_name and program_invocation_short_name are
4575         initialized.
4576         * lib/argp-namefrob.h: Move declarations of program_invocation_name
4577         and program_invocation_short_name to argp.h, so they are visible
4578         to user programs.
4579         * lib/argp.h: Likewise
4580
4581 2006-09-10  Bruno Haible  <bruno@clisp.org>
4582
4583         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
4584         m4/inttypes_h.m4, m4/uintmax_t.m4.
4585
4586 2006-09-10  Bruno Haible  <bruno@clisp.org>
4587
4588         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
4589         gl_AC_TYPE_UINTMAX_T.
4590
4591 2006-09-10  Bruno Haible  <bruno@clisp.org>
4592
4593         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
4594
4595 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
4596
4597         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
4598         convention.  Text proposed by Bruno Haible.
4599         (struct argp_option): Document the use of N_() wrappers.
4600
4601         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
4602         '\v', and translate the two parts separately, instead of feeding
4603         the whole string to gettext.  This allows to exclude
4604         '\v' from the strings visible to the translator by writing doc
4605         strings as N_("..") "\v" N_("..").
4606
4607 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
4608
4609         * config/srclist.txt: Undo latest change; the bug was fixed.
4610
4611 2006-09-09  Bruno Haible  <bruno@clisp.org>
4612
4613         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
4614         assignments if building a library without libtool.
4615         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
4616         in func_emit_lib_Makefile_am.
4617         (func_import): When building a static library libfoo.a, arrange to
4618         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
4619         (func_create_testdir): Likewise.
4620         * modules/gc (configure.ac, Makefile.am): If building statically,
4621         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
4622         * modules/iconvme (configure.ac, Makefile.am): Likewise.
4623         * modules/striconv (configure.ac, Makefile.am): Likewise.
4624         Based on a suggestion by Ralf Wildenhues.
4625
4626 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4627
4628         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
4629         Check for unistd.h too, since Autoconf doesn't assume POSIX.
4630         Also:
4631
4632         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4633         Add year_2050_test to catch glibc bug 2821
4634         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
4635
4636         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
4637         Prefer #ifdef to #if.
4638
4639         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
4640         Return from 'main' instead of calling 'exit'.
4641
4642 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4643
4644         * lib/mktime.c (guess_time_tm): Fix bug where mktime
4645         returned the maximum time_t value rather than (time_t) -1.
4646         Problem originally reported by William Bardwell
4647         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
4648
4649         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
4650         Moved to here ...
4651         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
4652         ... from here.
4653
4654 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
4655
4656         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
4657         2821 is fixed.
4658
4659 2006-09-08  Jim Meyering  <jim@meyering.net>
4660
4661         Don't make generated files read-only.  That would bother too many
4662         people.  However, do retain the ability to work when targets are
4663         read-only: remove the destination and temporary files before writing
4664         them (when generated via sed or echo), or by using the -f option for
4665         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
4666         * modules/alloca-opt, modules/argz, modules/arpa_inet:
4667         * modules/byteswap, modules/configmake, modules/fcntl:
4668         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
4669         * modules/localcharset, modules/netinet_in, modules/poll:
4670         * modules/stdbool, modules/stdint, modules/sys_select:
4671         * modules/sys_socket, modules/sys_stat, modules/sysexits:
4672
4673 2006-09-08  Jim Meyering  <jim@meyering.net>
4674
4675         Avoid new build failure on FreeBSD 6.0.
4676         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
4677         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
4678         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
4679
4680 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4681
4682         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
4683
4684 2006-09-07  Jim Meyering  <jim@meyering.net>
4685
4686         Fix global typo in last change: use chmod u-w, not chmod u-x.
4687         Spotted by Paul Eggert and Bruce Korb.
4688         * modules/alloca-opt, modules/argz, modules/arpa_inet:
4689         * modules/byteswap, modules/configmake, modules/fcntl:
4690         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
4691         * modules/localcharset, modules/netinet_in, modules/poll:
4692         * modules/stdbool, modules/stdint, modules/sys_select:
4693         * modules/sys_socket, modules/sys_stat, modules/sysexits:
4694
4695 2006-09-06  Jim Meyering  <jim@meyering.net>
4696
4697         Make generated files be read-only.
4698         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
4699         Ensure that each generated file is now read-only.
4700         * modules/argz: Likewise.
4701         * modules/arpa_inet: Likewise.
4702         * modules/byteswap: Likewise.
4703         * modules/configmake: Likewise.
4704         * modules/fcntl: Likewise.
4705         * modules/fnmatch: Likewise.
4706         * modules/getopt: Likewise.
4707         * modules/glob: Likewise.
4708         * modules/inttypes: Likewise.
4709         * modules/netinet_in: Likewise.
4710         * modules/poll: Likewise.
4711         * modules/stdbool: Likewise.
4712         * modules/stdint: Likewise.
4713         * modules/sys_select: Likewise.
4714         * modules/sys_socket: Likewise.
4715         * modules/sys_stat: Likewise.
4716         * modules/sysexits: Likewise.
4717         * modules/localcharset: Same as above, but continue using temporary
4718         file named "t-$@" (why different?) rather than the "$@-t" used
4719         everywhere else.
4720
4721         * modules/sysexits (Makefile.am): Replace literal occurrences
4722         of "sysexit.h" more readable, and more consistent, "$@".
4723
4724 2006-09-06  Bruno Haible  <bruno@clisp.org>
4725
4726         * modules/striconv: New file.
4727         * modules/xstriconv: New file.
4728         * MODULES.html.sh (Internationalization functions): Add striconv,
4729         xstriconv.
4730
4731 2006-09-06  Bruno Haible  <bruno@clisp.org>
4732
4733         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
4734         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
4735         not using libtool correctly.
4736
4737 2006-09-06  Bruno Haible  <bruno@clisp.org>
4738
4739         * lib/striconv.h: New file.
4740         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
4741         iconvstring.c.
4742         * lib/xstriconv.h: New file.
4743         * lib/xstriconv.c: New file.
4744
4745 2006-09-06  Bruno Haible  <bruno@clisp.org>
4746
4747         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
4748         lib_..._LDFLAGS.
4749
4750 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4751
4752         * lib/argz_.h: Sync from Libtool.
4753
4754         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
4755                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4756
4757         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
4758
4759 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
4760
4761         * modules/trim: New file.
4762
4763 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
4764
4765         * lib/trim.h: New file.
4766         * lib/trim.c: New file.
4767
4768 2006-09-05  Bruno Haible  <bruno@clisp.org>
4769
4770         * MODULES.html.sh (String handling): Add trim.
4771
4772 2006-09-04  Karl Berry  <karl@gnu.org>
4773
4774         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
4775         until next release.
4776
4777 2006-09-03  Bruno Haible  <bruno@clisp.org>
4778
4779         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
4780         correctly.
4781
4782 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4783
4784         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
4785         not gl_GETLOADAVG.  Omit unneeded semicolons.
4786         Problems reported by Ralf Wildenhues in
4787         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
4788         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
4789         at the end, which is the usual gnulib style.
4790
4791         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
4792         of doing all the work ourselves.
4793         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
4794         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
4795
4796 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4797
4798         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
4799         Problem reported by Ralf Wildenhues in
4800         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
4801
4802         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
4803         HAVE_STRUCT_STATFS_F_FSTYPENAME.
4804
4805 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4806
4807         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
4808         yesterday's patch by changing test -n to test -z.
4809
4810 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4811
4812         * modules/getloadavg (Files): Add m4/getloadavg.m4.
4813         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
4814         the former is now obsolescent.
4815
4816         * modules/chdir-long (Depends-on): Add fcntl.
4817
4818 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4819
4820         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
4821         obsolescent, and programs should use gnulib instead.
4822         * m4/getloadavg.m4: New file, with contents taken from Autoconf
4823         but with prefixes changed.
4824
4825 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4826
4827         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
4828         or stdbool.h, because they might not exist while configuring.
4829
4830         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
4831         Don't include unistd.h or limits.h; not needed, since chdir-long.h
4832         does that for us.
4833         (O_DIRECTORY): Remove.
4834
4835 2006-08-31  Eric Blake  <ebb9@byu.net>
4836
4837         * gnulib-tool: Don't let emacs change spaces to TAB.
4838
4839 2006-08-31  Bruno Haible  <bruno@clisp.org>
4840
4841         * gnulib-tool: When calling func_import more than once, do it in a
4842         subshell.
4843         Reported by Eric Blake <ebb9@byu.net>.
4844
4845 2006-08-31  Bruno Haible  <bruno@clisp.org>
4846
4847         * gnulib-tool (nl): Remove variable.
4848         (sed_transform_lib_file): Use more robust test for config-h module.
4849         (func_import): Fix typo in 2006-08-25 patch.
4850
4851 2006-08-31  Bruno Haible  <bruno@clisp.org>
4852
4853         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
4854         specified, augment Makefile.am variables instead of assigning them.
4855
4856 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4857
4858         Work around a bug in both the Linux and SunOS 64-bit kernels:
4859         nanosleep mishandles sleeps for longer than 2**31 seconds.
4860         Problem reported by Frank v Waveren in
4861         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
4862         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
4863         Check for nanosleep bug.
4864         (LIB_NANOSLEEP): Append clock_gettime library if needed.
4865
4866 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4867
4868         Work around a bug in both the Linux and SunOS 64-bit kernels:
4869         nanosleep mishandles sleeps for longer than 2**31 seconds.
4870         Problem reported by Frank v Waveren in
4871         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
4872         * lib/nanosleep.c (BILLION): New constant.
4873         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
4874         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
4875         implementation.
4876
4877 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4878
4879         * modules/nanosleep (Depends-on): Add gettime.
4880
4881 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
4882         and Simon Josefsson  <jas@extundo.com>
4883         and Oskar Liljeblad  <oskar@osk.mine.nu>
4884
4885         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
4886         * gnulib-tool (func_import): New license type 'unmodifiable license
4887         text'.
4888         * modules/fdl: Use it.  Longer description.
4889         * module/gpl, module/lgpl: New files.
4890
4891 2006-08-30  Jim Meyering  <jim@meyering.net>
4892
4893         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
4894         shadowing the parameter.
4895
4896 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4897
4898         Sync from Libtool:
4899
4900         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4901
4902         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
4903         sharing with gnulib.  Report by Eric Blake.
4904
4905 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4906
4907         * modules/isapipe: New file.
4908         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
4909
4910 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4911
4912         * modules/configmake (Makefile.am): Add a comment, and omit
4913         the CONFIGMAKE_ prefix from generated macro names.  Suggested
4914         by Bruno Haible.
4915
4916 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4917
4918         * m4/isapipe.m4: New file.
4919
4920 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
4921
4922         * lib/isapipe.c, lib/isapipe.h: New files.
4923
4924 2006-08-29  Jim Meyering  <jim@meyering.net>
4925
4926         * modules/configmake (Makefile.am): Make configmake.h depend on
4927         Makefile.  Otherwise, a stale configmake.h could hang around.
4928
4929 2006-08-29  Eric Blake  <ebb9@byu.net>
4930
4931         * lib/error.c (error_at_line, print_errno_message): Match libc, after
4932         resolution of upstream bug 3044.
4933
4934 2006-08-29  Bruno Haible  <bruno@clisp.org>
4935
4936         * modules/localcharset (Depends-on): Add configmake.
4937         (Makefile.am): Remove setting of LIBDIR through DEFS.
4938
4939 2006-08-29  Bruno Haible  <bruno@clisp.org>
4940
4941         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
4942         defined.
4943
4944 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4945
4946         * modules/fcntl: New file.
4947         * modules/chdir-safer (Depends-on): Add fcntl.
4948         * modules/fts: Likewise.
4949         * modules/mkdir-p: Likewise.
4950
4951         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
4952         This undoes the most recent change, since we're now addressing the
4953         problem in a different way.
4954
4955         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
4956         into output, since the output might be called Makefile.am even
4957         if $makefile_name is something different.
4958         (func_import): Use $makefile_am rather than
4959         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
4960         empty.
4961
4962         * modules/inttypes (Files): Add m4/inttypes-h.m4.
4963
4964 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4965
4966         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
4967         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
4968         recent change to stdint.m4, since we're now addressing the problem in a
4969         different way.
4970
4971 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4972
4973         * m4/fcntl_h.m4: New file.
4974
4975 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
4976
4977         * lib/fcntl_.h: New file.
4978         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
4979         the fcntl module.
4980         * lib/dirchownmod.c: Likewise.
4981         * lib/fts.c: Likewise.
4982
4983         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
4984         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
4985         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
4986         just before including <inttypes.h>, to avoid circular inclusion.
4987
4988 2006-08-28  Jim Meyering  <jim@meyering.net>
4989
4990         * doc/visibility.texi: Actually read and correct the grammar of the
4991         sentence affected by yesterday's change.
4992
4993 2006-08-28  Eric Blake  <ebb9@byu.net>
4994
4995         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
4996         needs wrapper.
4997
4998 2006-08-28  Eric Blake  <ebb9@byu.net>
4999
5000         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
5001
5002 2006-08-28  Eric Blake  <ebb9@byu.net>
5003
5004         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
5005
5006 2006-08-28  Bruno Haible  <bruno@clisp.org>
5007
5008         * modules/c-strstr: New file, from GNU gettext.
5009         * MODULES.html.sh (String handling): Add c-strstr.
5010
5011 2006-08-28  Bruno Haible  <bruno@clisp.org>
5012
5013         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
5014         macros.
5015         Reported by Eric Blake.
5016
5017 2006-08-28  Bruno Haible  <bruno@clisp.org>
5018
5019         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
5020         (VASNPRINTF): Return a string of length > INT_MAX without failing.
5021         * lib/vasprintf.c: Include errno.h, limits.h.
5022         (EOVERFLOW): New fallback definition.
5023         (vasprintf): Test here whether the string length is > INT_MAX.
5024         * lib/vsnprintf.c: Include errno.h, limits.h.
5025         (EOVERFLOW): New fallback definition.
5026         (vsnprintf): Fix bug when generated string was too long for the buffer.
5027         Test here whether the string length is > INT_MAX.
5028
5029 2006-08-28  Bruno Haible  <bruno@clisp.org>
5030
5031         * lib/inttypes_.h (SCNX*): Remove definitions.
5032         Reported by Eric Blake.
5033
5034 2006-08-28  Bruno Haible  <bruno@clisp.org>
5035
5036         * lib/c-strstr.h: New file, from GNU gettext.
5037         * lib/c-strstr.c: New file, from GNU gettext.
5038
5039 2006-08-28  Bruno Haible  <bruno@clisp.org>
5040
5041         * gnulib-tool: Reorder some statements.
5042
5043 2006-08-28  Bruno Haible  <bruno@clisp.org>
5044
5045         * gnulib-tool: New option --makefile-name.
5046         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
5047         $makefile_name.
5048         (func_import): Write $makefile_name to the cache file, and read it from
5049         there unless explicitly specified. Use $makefile_name as file name
5050         instead of Makefile.am. Adjust the recommendations accordingly.
5051
5052 2006-08-28  Bruno Haible  <bruno@clisp.org>
5053
5054         * gnulib-tool (func_verify_module): Check against misapplying patch.
5055
5056 2006-08-28  Bruno Haible  <bruno@clisp.org>
5057
5058         * gnulib-tool (func_relativize, func_relconcat): New functions.
5059         Give an error if --local-dir is given with --update.
5060         Remove trailing slashes from $local_gnulib_dir.
5061         (func_import): Store the relativized $local_gnulib_dir in
5062         gnulib-cache.m4, and read it from there if not specified explicitly.
5063
5064 2006-08-28  Bruno Haible  <bruno@clisp.org>
5065
5066         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
5067         is the current directory. Respect also $local_gnulib_dir.
5068
5069 2006-08-28  Bruno Haible  <bruno@clisp.org>
5070             Simon Josefsson  <jas@extundo.com>
5071
5072         BeOS portability.
5073         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
5074
5075 2006-08-27  Jim Meyering  <jim@meyering.net>
5076
5077         * doc/visibility.texi: Remove duplicate word: "pointer".
5078
5079 2006-08-26  Bruno Haible  <bruno@clisp.org>
5080
5081         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
5082         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
5083         (Makefile.am): Create inttypes.h from inttypes_.h.
5084         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
5085
5086         * modules/imaxabs: New file.
5087
5088         * modules/imaxdiv: New file.
5089
5090 2006-08-26  Bruno Haible  <bruno@clisp.org>
5091
5092         * m4/inttypes.m4: New file.
5093         * m4/_inttypes_h.m4: Remove file.
5094         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
5095         PRI_MACROS_BROKEN.
5096         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
5097
5098         * m4/imaxabs.m4: New file.
5099
5100         * m4/imaxdiv.m4: New file.
5101
5102 2006-08-26  Bruno Haible  <bruno@clisp.org>
5103
5104         * lib/inttypes_.h: New file.
5105         * lib/inttypes.h: Remove file.
5106         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
5107
5108         * lib/imaxabs.c: New file.
5109
5110         * lib/imaxdiv.c: New file.
5111
5112 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
5113
5114         New config-h module, so that "make" output needn't be cluttered
5115         by -DHAVE_CONFIG_H.
5116         * MODULES.html.sh (Support for building libraries and executables):
5117         Add config-h.
5118         * modules/config-h: New file.
5119         * gnulib-tool (nl, sed_transform_lib_file): New vars.
5120         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
5121         the config-h module is used.
5122
5123         New configmake module, so that "make" output needn't be cluttered
5124         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
5125         * MODULES.html.sh (Support for building libraries and executables):
5126         Add configmake.
5127         * modules/configmake: New file.
5128
5129 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
5130
5131         * m4/config-h.m4: New file.
5132
5133 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5134
5135         * config/srclist.txt: Add elisp-comp.
5136
5137 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5138
5139         * MODULES.html.sh (Support for building libraries and executables):
5140         Add elisp-comp.
5141         * build-aux/elisp-comp: New file.
5142         * modules/elisp-comp: New file.
5143
5144 2006-08-24  Bruno Haible  <bruno@clisp.org>
5145
5146         * gnulib-tool (func_create_testdir): Use non-default values of
5147         sourcebase and m4base.
5148
5149 2006-08-24  Bruno Haible  <bruno@clisp.org>
5150
5151         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
5152         HTML structure.
5153
5154 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
5155
5156         * modules/openat (Depends-on): Add lchown.
5157
5158 2006-08-23  Bruno Haible  <bruno@clisp.org>
5159
5160         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
5161         of gl_LOCK_EARLY instead of gl_LOCK.
5162
5163 2006-08-23  Bruno Haible  <bruno@clisp.org>
5164
5165         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
5166         on OSF/1 to no.
5167         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
5168
5169 2006-08-23  Bruno Haible  <bruno@clisp.org>
5170
5171         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
5172         as unusable.
5173
5174         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
5175         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
5176         (gl_LOCK): New macro.
5177
5178 2006-08-22  Simon Josefsson  <jas@extundo.com>
5179
5180         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
5181         to md5 module.
5182
5183 2006-08-22  Simon Josefsson  <jas@extundo.com>
5184
5185         * MODULES.html.sh: Add "Support for maintaining and release
5186         projects".
5187
5188         * build-aux/gnupload: New file, from coreutils.
5189
5190 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
5191
5192         Avoid the need for AC_LIBSOURCES in m4 macros.
5193         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
5194         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
5195         * modules/check-version (EXTRA_DIST): Add check-version.h.
5196         * modules/crc (EXTRA_DIST): Add crc.h.
5197         * modules/des (EXTRA_DIST): Add des.h.
5198         * modules/gc (EXTRA_DIST): Add gc.h.
5199         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
5200         * modules/getline (EXTRA_DIST): Add getline.h.
5201         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
5202         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
5203         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
5204         * modules/md2 (EXTRA_DIST): Add md2.h.
5205         * modules/md4 (EXTRA_DIST): Add md4.h.
5206         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
5207         * modules/read-file (EXTRA_DIST): Add read-file.h.
5208         * modules/readline (EXTRA_DIST): Add readline.h.
5209         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
5210         rijndael-api-fst.h.
5211
5212 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
5213
5214         * m4/rijndael.m4 (gl_ARCFOUR):
5215         * m4/arctwo.m4 (gl_ARCTWO):
5216         * m4/check-version.m4 (gl_CHECK_VERSION):
5217         * m4/crc.m4 (gl_CRC):
5218         * m4/des.m4 (gl_DES):
5219         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
5220         * m4/gc.m4 (gl_GC):
5221         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
5222         * m4/getline.m4 (gl_FUNC_GETLINE):
5223         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
5224         * m4/hmac-md5.m4 (gl_HMAC_MD5):
5225         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
5226         * m4/md2.m4 (gl_MD2):
5227         * m4/md4.m4 (gl_MD4):
5228         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
5229         * m4/read-file.m4 (gl_FUNC_READ_FILE):
5230         * m4/readline.m4 (gl_FUNC_READLINE):
5231         * m4/rijndael.m4 (gl_RIJNDAEL):
5232         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
5233         to get the necessary .h files and whatnot.
5234
5235 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
5236
5237         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
5238         gnulib rather than the other way around.
5239         * config/srclistvars.sh (COREUTILS): Remove.
5240
5241 2006-08-22  Jim Meyering  <jim@meyering.net>
5242
5243         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
5244
5245         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
5246
5247 2006-08-22  Eric Blake  <ebb9@byu.net>
5248
5249         * modules/regexprops-generic: New file.
5250         * MODULES.html.sh (Support for building documentation): List it.
5251
5252 2006-08-22  Eric Blake  <ebb9@byu.net>
5253
5254         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
5255         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
5256         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
5257         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
5258
5259 2006-08-22  Bruno Haible  <bruno@clisp.org>
5260
5261         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
5262         and lib_LTLIBRARIES like the other lib_* variables.
5263
5264 2006-08-22  Bruno Haible  <bruno@clisp.org>
5265
5266         * build-aux/x-to-1.in: New file, from GNU gettext.
5267
5268 2006-08-22  Bruno Haible  <bruno@clisp.org>
5269
5270         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
5271         <utmpx.h> exists.
5272
5273 2006-08-22  Bruno Haible  <bruno@clisp.org>
5274
5275         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
5276         <utmpx.h> exists.
5277
5278 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5279
5280         BeOS portability.
5281         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
5282         exist.
5283         Problem reported by Bruno Haible.
5284
5285 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5286
5287         Avoid the need for AC_LIBSOURCES in m4 macros.
5288         * modules/acl (EXTRA_DIST): Add acl.h.
5289         * modules/argmatch (Files): Add m4/argmatch.m4.
5290         (configure.ac): Add gl_ARGMATCH.
5291         (EXTRA_DIST): Renamed from lib_SOURCES, for
5292         consistency with the other modules.  Remove argmatch.c.
5293         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
5294         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
5295         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
5296         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
5297         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
5298         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
5299         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
5300         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
5301         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
5302         * modules/closeout (EXTRA_DIST): Add closeout.h.
5303         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
5304         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
5305         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
5306         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
5307         dirname.h; remove basename.c and stripslash.c.
5308         * modules/exclude (EXTRA_DIST): Add exclude.h.
5309         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
5310         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
5311         * modules/file-type (EXTRA_DIST): Add file-type.h.
5312         * modules/filemode (EXTRA_DIST): Add filemode.h.
5313         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
5314         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
5315         * modules/fpending (EXTRA_DIST): Add __fpending.h.
5316         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
5317         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
5318         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
5319         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
5320         * modules/getdate (EXTRA_DIST): Add getdate.c.
5321         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
5322         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
5323         * modules/getpass (EXTRA_DIST): Add getpass.h.
5324         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
5325         * modules/group-member (EXTRA_DIST): Add group-member.h.
5326         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
5327         * modules/hash (EXTRA_DIST): Add hash.h.
5328         * modules/human (EXTRA_DIST): Add human.h.
5329         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
5330         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
5331         * modules/lchown (EXTRA_DIST): Add lchown.h.
5332         * modules/long-options (EXTRA_DIST): Add long-options.h.
5333         * modules/lstat (EXTRA_DIST): Add lstat.h.
5334         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
5335         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
5336         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
5337         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
5338         * modules/memxor (EXTRA_DIST): Add memxor.h.
5339         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
5340         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
5341         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
5342         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
5343         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
5344         * modules/physmem (EXTRA_DIST): Add physmem.h.
5345         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
5346         * modules/posixver (EXTRA_DIST): Add posixver.h.
5347         * modules/quote (EXTRA_DIST): Add quote.h.
5348         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
5349         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
5350         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
5351         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
5352         regex_internal.h regexec.c.
5353         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
5354         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
5355         * modules/same (EXTRA_DIST): Add same.h.
5356         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
5357         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
5358         * modules/savedir (EXTRA_DIST): Add savedir.h.
5359         * modules/sha1 (EXTRA_DIST): Add sha1.h.
5360         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
5361         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
5362         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
5363         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
5364         * modules/strdup (EXTRA_DIST): Add strdup.h.
5365         * modules/strftime (EXTRA_DIST): Add strftime.h.
5366         * modules/strndup (EXTRA_DIST): Add strndup.h.
5367         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
5368         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
5369         * modules/time_r (EXTRA_DIST): Add time_r.h.
5370         * modules/timespec (EXTRA_DIST): Add timespec.h.
5371         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
5372         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
5373         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
5374         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
5375         * modules/userspec (EXTRA_DIST): Add userspec.h.
5376         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
5377         * modules/utimens (EXTRA_DIST): Add utimens.h.
5378         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
5379         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
5380         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
5381         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
5382         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
5383         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
5384         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
5385         * modules/yesno (EXTRA_DIST): Add yesno.h.
5386
5387 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5388
5389         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
5390
5391         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
5392         * m4/dev-ino.m4, same-inode.m4: Remove.
5393
5394         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
5395         * m4/acl.m4 (AC_FUNC_ACL):
5396         * m4/backupfile.m4 (gl_BACKUPFILE):
5397         * m4/c-strtod.m4 (gl_C99_STRTOLD):
5398         * m4/canon-host.m4 (gl_CANON_HOST):
5399         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
5400         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
5401         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
5402         * m4/cloexec.m4 (gl_CLOEXEC):
5403         * m4/close-stream.m4 (gl_CLOSE_STREAM):
5404         * m4/closeout.m4 (gl_CLOSEOUT):
5405         * m4/dirfd.m4 (gl_FUNC_DIRFD):
5406         * m4/dirname.m4 (gl_DIRNAME):
5407         * m4/exclude.m4 (gl_EXCLUDE):
5408         * m4/exitfail.m4 (gl_EXITFAIL):
5409         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
5410         * m4/file-type.m4 (gl_FILE_TYPE):
5411         * m4/filemode.m4 (gl_FILEMODE):
5412         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
5413         * m4/fpending.m4 (gl_FUNC_FPENDING):
5414         * m4/fprintftime.m4 (gl_FPRINTFTIME):
5415         * m4/fts.m4 (gl_FUNC_FTS):
5416         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
5417         * m4/getdate.m4 (gl_GETDATE):
5418         * m4/gethrxtime.m4 (gl_GETHRXTIME):
5419         * m4/getpagesize.m4 (gl_GETPAGESIZE):
5420         * m4/getpass.m4 (gl_FUNC_GETPASS):
5421         * m4/gettime.m4 (gl_GETTIME):
5422         * m4/getugroups.m4 (gl_GETUGROUPS):
5423         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
5424         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
5425         * m4/hard-locale.m4 (gl_HARD_LOCALE):
5426         * m4/hash.m4 (gl_HASH):
5427         * m4/idcache.m4 (gl_IDCACHE):
5428         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
5429         * m4/lchown.m4 (gl_FUNC_LCHOWN):
5430         * m4/long-options.m4 (gl_LONG_OPTIONS):
5431         * m4/lstat.m4 (gl_FUNC_LSTAT):
5432         * m4/md5.m4 (gl_MD5):
5433         * m4/memcasecmp.m4 (gl_MEMCASECMP):
5434         * m4/memcoll.m4 (gl_MEMCOLL):
5435         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
5436         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
5437         * m4/memxor.m4 (gl_MEMXOR):
5438         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
5439         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
5440         * m4/modechange.m4 (gl_MODECHANGE):
5441         * m4/mountlist.m4 (gl_MOUNTLIST):
5442         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
5443         * m4/openat.m4 (gl_FUNC_OPENAT):
5444         * m4/pathmax.m4 (gl_PATHMAX):
5445         * m4/physmem.m4 (gl_PHYSMEM):
5446         * m4/posixtm.m4 (gl_POSIXTM):
5447         * m4/posixver.m4 (gl_POSIXVER):
5448         * m4/quote.m4 (gl_QUOTE):
5449         * m4/quotearg.m4 (gl_QUOTEARG):
5450         * m4/readtokens.m4 (gl_READTOKENS):
5451         * m4/readutmp.m4 (gl_READUTMP):
5452         * m4/regex.m4 (gl_REGEX):
5453         * m4/safe-read.m4 (gl_SAFE_READ):
5454         * m4/safe-write.m4 (gl_SAFE_WRITE):
5455         * m4/same.m4 (gl_SAME):
5456         * m4/save-cwd.m4 (gl_SAVE_CWD):
5457         * m4/savedir.m4 (gl_SAVEDIR):
5458         * m4/settime.m4 (gl_SETTIME):
5459         * m4/sha1.m4 (gl_SHA1):
5460         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
5461         * m4/stat-macros.m4 (gl_STAT_MACROS):
5462         * m4/stat-time.m4 (gl_STAT_TIME):
5463         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
5464         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
5465         * m4/strdup.m4 (gl_FUNC_STRDUP):
5466         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
5467         * m4/strndup.m4 (gl_FUNC_STRNDUP):
5468         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
5469         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
5470         * m4/time_r.m4 (gl_TIME_R):
5471         * m4/timespec.m4 (gl_TIMESPEC):
5472         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
5473         * m4/unlinkdir.m4 (gl_UNLINKDIR):
5474         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
5475         * m4/userspec.m4 (gl_USERSPEC):
5476         * m4/utimecmp.m4 (gl_UTIMECMP):
5477         * m4/utimens.m4 (gl_UTIMENS):
5478         * m4/xalloc.m4 (gl_XALLOC):
5479         * m4/xgetcwd.m4 (gl_XGETCWD):
5480         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
5481         * m4/xreadlink.m4 (gl_XREADLINK):
5482         * m4/xstrtod.m4 (gl_XSTRTOD):
5483         * m4/yesno.m4 (gl_YESNO):
5484         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
5485         to get the necessary .h files and whatnot.
5486
5487 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
5488             Bruno Haible  <bruno@clisp.org>
5489
5490         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
5491         /bin/sh understanding of '!' conditional negation.
5492
5493 2006-08-21  Jim Meyering  <jim@meyering.net>
5494
5495         * modules/openat (Depends-on): Really alphabetize.
5496
5497         * modules/acl (Depends-on): Add error and quote.
5498
5499         * check-module (find_included_lib_files): Add at-func.c to the
5500         ok-to-include-more-than-once white list.
5501
5502         * modules/openat (Depends-on): Add lstat.  Alphabetize.
5503
5504 2006-08-21  Bruno Haible  <bruno@clisp.org>
5505
5506         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5507         Emit a pkgdata_DATA variable only if some snippets add contents to it.
5508         Reported by Martin Lambers <marlam@marlam.de>.
5509
5510 2006-08-21  Bruno Haible  <bruno@clisp.org>
5511
5512         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
5513         specify an installation location, don't emit a noinst_LIBRARIES or
5514         noinst_LTLIBRARIES assignment.
5515
5516 2006-08-21  Bruno Haible  <bruno@clisp.org>
5517
5518         BeOS portability.
5519         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
5520         BeOS has mbrtowc() but no <wctype.h>.
5521
5522 2006-08-21  Bruno Haible  <bruno@clisp.org>
5523
5524         BeOS portability.
5525         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
5526         exist.
5527
5528 2006-08-21  Bruno Haible  <bruno@clisp.org>
5529
5530         BeOS portability.
5531         * lib/mbchar.h: Include <wctype.h> only if it exists.
5532
5533 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5534
5535         Remove files that are no longer needed by their respective modules.
5536         * m4/obstack.m4: Remove.
5537         * m4/strerror_r.m4: Remove.
5538         * m4/uint32_t.m4: Remove.
5539         * m4/uintptr_t.m4: Remove.
5540         * m4/ullong_max.m4: Remove.
5541         * m4/xstrtoimax.m4: Remove.
5542         * m4/xstrtoumax.m4: Remove.
5543
5544         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
5545         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
5546         dependencies now capture this.
5547
5548         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
5549         Do not use AC_LIBSOURCES, since gnulib modules now do this.
5550         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
5551         * m4/human.m4 (gl_HUMAN): Likewise.
5552         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
5553         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
5554
5555         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
5556
5557         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
5558         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
5559         stdint.
5560         * m4/human.m4 (gl_HUMAN): Likewise.
5561         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
5562         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
5563         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
5564         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
5565         * m4/xstrtol (gl_XSTRTOL): Likewise.
5566
5567         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
5568         AC_TYPE_LONG_LONG_INT.
5569         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
5570         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
5571         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
5572         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
5573
5574         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
5575         on stdbool.
5576
5577         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
5578         (gl_PREREQ_XSTRTOUL): Remove.
5579
5580         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
5581
5582         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
5583         mode.
5584
5585 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5586
5587         Add and change modules to make it easier for coreutils to use
5588         gnulib-tool.
5589         * modules/backupfile (Files): Remove m4/d-ino.m4.
5590         (Depends-on): Add d-ino.
5591         * modules/cycle-check (Depends-on): Add stdint.
5592         (lib_SOURCES): Add cycle-check.h.
5593         * modules/d-ino: New module.
5594         * modules/d-type: New module.
5595         * modules/error (Files): Remove m4/strerror_r.m4.
5596         * modules/filemode (Files): Add m4/st_dm_mode.m4.
5597         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
5598         m4/inttypes_h.m4, m4/uintmax_t.m4.
5599         (Depends-on): Add stdint.
5600         (lib_SOURCES): Add fsusage.h.
5601         * modules/getcwd (Files): Remove d-ino.m4.
5602         (Depends-on): Add d-ino.
5603         * modules/getndelim2 (Depends-on): Add stdint.
5604         * modules/glob (Files): Remove m4/d-type.m4.
5605         (Depends-on): Add d-type.
5606         * modules/host-os: New module.
5607         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
5608         m4/inttypes_h.m4, m4/uintmax_t.m4.
5609         * Depends-on: Add stdint.
5610         (lib_SOURCES): Add human.h.
5611         * modules/inttostr (Files): Remove m4/intmax_t.m4,
5612         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
5613         m4/uintmax_t.m4, m4/ulonglong.m4.
5614         (Depends-on): Add stdint.
5615         (EXTRA_DIST): Add inttostr.h.
5616         * modules/lchmod: New module.
5617         * modules/link-follow: New module.
5618         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
5619         (Depends-on): Add lchmod.
5620         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
5621         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
5622         (Depends-on): Add stdint.
5623         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
5624         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
5625         (Depends-on): Add stdint.
5626         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
5627         * modules/perl: New module.
5628         * modules/regex (Depends-on): Add stdint.
5629         * modules/rmdir-errno: New module.
5630         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
5631         m4/intmax_t.m4.
5632         (Depends-on): Add stdint.
5633         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
5634         m4/uintmax_t.m4.
5635         (Depends-on): Add stdint.
5636         * modules/unlink-busy: New module.
5637         * modules/utimecmp (Depends-on): Add stdint.
5638         * modules/uptime: New module.
5639         * modules/winsz-ioctl: New module.
5640         * modules/winsz-termios: New module.
5641         * modules/xnanosleep (Depends-on): Add nanosleep.
5642         * modules/ullong_max: Remove.
5643         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
5644         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
5645         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
5646         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
5647         (Depends-on): Add inttypes.
5648         (lib_SOURCES): Add xstrtol.h.
5649         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
5650         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
5651         * MODULES.html.sh: Move 'assert' into the assert section.
5652         Move 'dummy' into the linking section.
5653         Remove ullong_max.
5654         Add section for compatibility checks for POSIX:2001 functions,
5655         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
5656         winsz-ioctl, and winsz-termios into it.
5657         Add lchmod.
5658         Add top-level Misc section and put host-os, perl, and uptime
5659         into it.
5660
5661 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5662
5663         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
5664         now assume the stdint module.  Do not include inttypes.h.
5665         * lib/fsusage.h: Likewise.
5666         * lib/getndelim2.c: Likewise.
5667         * lib/human.h: Likewise.
5668         * lib/inttostr.h: Likewise.
5669         * lib/obstack.c: Likewise.
5670         * lib/regex_internal.h: Likewise.
5671         * lib/tempname.c: Likewise.
5672         * lib/utimecmp.c: Likewise.
5673         * lib/xstrtol.h: Likewise.
5674
5675         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
5676
5677         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
5678         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
5679         * lib/xtime.h: Likewise.
5680
5681 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5682
5683         * modules/openat (Files): Add lib/fchmodat.c.
5684         Fixes problem reported by Jay Youngman.
5685
5686 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
5687
5688         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
5689         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
5690
5691 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
5692             Bruno Haible  <bruno@clisp.org>
5693
5694         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
5695         and is a script that invokes bison. Tighten the code. Add comments.
5696
5697 2006-08-18  Jim Meyering  <jim@meyering.net>
5698
5699         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
5700         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
5701         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
5702         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
5703
5704 2006-08-18  Bruno Haible  <bruno@clisp.org>
5705
5706         * modules/bison-i18n: New file.
5707         * MODULES.html.sh (Internationalization functions): Add it.
5708
5709 2006-08-18  Bruno Haible  <bruno@clisp.org>
5710
5711         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
5712         sys/statvfs.h. When getmntinfo was found, check its declaration and
5713         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
5714
5715 2006-08-18  Bruno Haible  <bruno@clisp.org>
5716
5717         * m4/bison-i18n.m4: New file, from bison.
5718
5719 2006-08-18  Bruno Haible  <bruno@clisp.org>
5720
5721         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
5722         (ME_DUMMY): Treat "kernfs" as a dummy.
5723         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
5724
5725 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
5726
5727         Update from coreutils.
5728
5729         2006-08-15  Jim Meyering  <jim@meyering.net>
5730
5731         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
5732
5733         2006-01-17  Jim Meyering  <jim@meyering.net>
5734
5735         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
5736
5737         2006-01-11  Jim Meyering  <jim@meyering.net>
5738
5739         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
5740         Check for the lchmod function.
5741
5742 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
5743
5744         Update from coreutils.
5745
5746         * lib/__fpending.h: Add copyright notice.
5747         * lib/fprintftime.h: Likewise.
5748         * lib/savedir.c: Use (C) in copyright notice.
5749         * lib/savedir.h: Likewise.
5750
5751         2006-08-15  Jim Meyering  <jim@meyering.net>
5752
5753         * lib/at-func.c: New file, with the logic of all emulated at-functions.
5754         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
5755         in support of the EXPECTED_ERRNO macro.
5756         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
5757         definitions.  Instead, define the appropriate symbols and include
5758         "at-func.c".
5759         * lib/mkdirat.c (mkdirat): Likewise.
5760         * lib/fchmodat.c (fchmodat): Likewise.
5761         (ENOSYS): Remove definition.
5762         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
5763         it.  Don't include "unistd--.h" -- it wasn't ever used.
5764
5765         2006-01-17  Jim Meyering  <jim@meyering.net>
5766
5767         Rewrite fts.c not to change the current working directory,
5768         by using openat, fstatat, fdopendir, etc..
5769
5770         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
5771         (HAVE_OPENAT_SUPPORT): Define.
5772         [_LIBC] (fchdir): Don't undef or define; no longer used.
5773         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
5774         Now, this `function' always succeeds, and consumes its file descriptor
5775         parameter -- so callers must not close such FDs.  Update callers.
5776         (diropen_fd, opendirat, cwd_advance_fd): New functions.
5777         (diropen): Add parameter, SP.  Adjust all callers.
5778         Implement using diropen_fd, rather than open.
5779         (fts_open): Initialize new member, fts_cwd_fd.
5780         Remove fts_rft-setting code.
5781         (fts_close): Close fts_cwd_fd, if necessary.
5782         (__opendir2): Define in terms of opendir or opendirat,
5783         depending on whether the FST_NOCHDIR flag is set.
5784         (fts_build): Since fts_safe_changedir consumes its FD, and since
5785         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
5786         and close the dup'd file descriptor upon failure.
5787         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
5788         (fts_safe_changedir): Tweak semantics to reflect that this function
5789         now calls cwd_advance_fd and hence consumes its FD argument.
5790         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
5791         [struct FTS] (fts_rft): Remove now-unused member.
5792         [struct FTS] (fts_cycle.state): Improve comment.
5793
5794         * lib/openat.c (openat_needs_fchdir): New function.
5795         * lib/openat.h (openat_needs_fchdir): Declare it.
5796
5797 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
5798
5799         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
5800         Problem and fix reported by Pádraig Brady in
5801         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
5802
5803 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5804
5805         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
5806
5807 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5808
5809         * lib/memcoll.c (memcoll): Optimize for the common case where the
5810         arguments are bytewise equal.
5811
5812 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5813
5814         * doc/regexprops-generic.texi: Add a copyright notice.
5815
5816 2006-08-15  Bruno Haible  <bruno@clisp.org>
5817
5818         * modules/tmpdir (License): Change to LGPL.
5819
5820 2006-08-15  Bruno Haible  <bruno@clisp.org>
5821
5822         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
5823         module.
5824
5825 2006-08-14  Simon Josefsson  <jas@extundo.com>
5826
5827         * config/srclist.txt: Add gnupload.
5828
5829 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5830
5831         Change copyright notice from LGPL 2 to GPL 2, since that's the
5832         standard form used in the gnulib repository.
5833         * tests/test-lock.c: Likewise.
5834         * tests/test-stdint.c: Likewise.
5835         * tests/test-tls.c: Likewise.
5836
5837         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
5838         prelude-manager.  User shorter URLs for GNU projects, without '?'.
5839         Add copyright notice.
5840
5841         * check-module: Add copyright notice.  Output a copyright
5842         notice if "--version" is specified.
5843         * modules/COPYING: New file.
5844         * tests/test-getaddrinfo.c: Add copyright notice.
5845         * tests/test-verify.c: Likewise.
5846
5847 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5848
5849         Change copyright notice from LGPL 2 to GPL 2, since that's the
5850         standard form used in the gnulib repository.
5851         * lib/lock.c: LGPL -> GPL.
5852         * lib/lock.h: Likewise.
5853         * lib/strnlen1.c: Likewise.
5854         * lib/strnlen1.h: Likewise.
5855         * lib/tls.c: Likewise.
5856         * lib/tls.h: Likewise.
5857         * lib/tmpdir.c: Likewise.
5858
5859         * lib/TODO: Remove; this belongs only in coreutils.
5860
5861 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5862
5863         Add copyright notices to long-enough files that lack them, since
5864         otherwise the files aren't clearly free.  Use the same notice that
5865         getdate.texi already uses.
5866         * doc/alloca-opt.texi: Add copyright notice.
5867         * doc/alloca.texi: Likewise.
5868         * doc/ctime.texi: Likewise.
5869         * doc/functions.texi: Likewise.
5870         * doc/gcd.texi: Likewise.
5871         * doc/gnulib-tool.texi: Likewise.
5872         * doc/inet_ntoa.texi: Likewise.
5873         * doc/visibility.texi: Likewise.
5874
5875         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
5876         * doc/quote.texi: Add copyright notice.
5877
5878         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
5879         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
5880         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
5881         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
5882         is now obsolete, and give a pointer to the Sun list.
5883         Add copyright notice.
5884
5885 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5886
5887         * config/srclistvars.sh: Add copyright notice.
5888
5889 2006-08-14  Eric Blake  <ebb9@byu.net>
5890
5891         Import the following change from libc:
5892
5893         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
5894
5895         Upstream bug 2997.
5896         * lib/misc/error.c: Add space between program name and message if file
5897         name is missing.
5898
5899 2006-08-12  Karl Berry  <karl@gnu.org>
5900
5901         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
5902         remove, these originate in gnulib now.
5903
5904 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5905
5906         * doc/Makefile (standards.info standards.html standards.dvi):
5907         Also depend on make-stds.texi.
5908
5909 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
5910
5911         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
5912         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
5913
5914         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
5915         in wchar_t.  Problem reported by Eric Blake.
5916
5917         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
5918         LEN is smaller than SIZE.  Suggested by Bruno Haible.
5919         Also, help the compiler to keep LEN in a register.
5920
5921 2006-08-11  Eric Blake  <ebb9@byu.net>
5922
5923         * users.txt: Sort.  Add tar.
5924
5925 2006-08-11  Bruno Haible  <bruno@clisp.org>
5926
5927         * users.txt: New file.
5928
5929 2006-08-11  Bruno Haible  <bruno@clisp.org>
5930
5931         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
5932         before <wchar.h>. Needed for OSF/1 and BSD/OS.
5933
5934 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5935
5936         * modules/snprintf (Depends-on): Remove minmax.
5937         (Maintainer): Add self and Bruno.
5938
5939 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5940
5941         * lib/.cppi-disable: Add snprintf.h, socket_.h.
5942         * lib/snprintf.c: Include <errno.h> and <limits.h>.
5943         (EOVERFLOW): Define if the system does not.
5944         Do not include "minmax.h"; it wasn't used.
5945         (snprintf): Don't assume size_t promotes to an unsigned type.
5946         Fix bug when generated string was too long for the buffer: the
5947         buffer's contents are supposed to be the initial prefix of the
5948         output.  Don't assume vasnprintf returns EOVERFLOW if the size
5949         exceeds INT_MAX; do the check ourselves.
5950
5951         Import the following changes from libc:
5952
5953         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
5954
5955         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
5956         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
5957         set wc to the byte which couldn't be converted.
5958         (re_string_reconstruct): Don't clear valid_raw_len before calling
5959         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
5960         tip_context using re_string_context_at.
5961
5962         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
5963
5964         * lib/posix/regex.h: g++ still cannot handled [restrict].
5965
5966         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
5967
5968         * lib/posix/regex.h: Remove special handling for VMS.
5969
5970 2006-08-10  Jim Meyering  <jim@meyering.net>
5971
5972         * modules/same-inode: New module.
5973         * modules/dev-ino: New module.
5974         * modules/cycle-check: Depend on these modules, rather than simply
5975         including their .h files.
5976         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
5977         required via m4/cycle-check.m4.
5978         * modules/same: Depend on new same-inode module, rather than
5979         including same-inode.h.
5980         * modules/chdir-safer: New file.
5981
5982         * modules/chown (Depends-on): Add stat-macros.
5983
5984 2006-08-10  Jim Meyering  <jim@meyering.net>
5985
5986         * m4/cycle-check.m4: New file.
5987         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
5988         * m4/dev-ino.m4, m4/same-inode.m4: New files.
5989
5990 2006-08-10  Eric Blake  <ebb9@byu.net>
5991
5992         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
5993         in from original proposal.
5994
5995 2006-08-10  Eric Blake  <ebb9@byu.net>
5996         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5997
5998         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
5999         namespace.
6000
6001 2006-08-10  Bruno Haible  <bruno@clisp.org>
6002
6003         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
6004         as well.
6005
6006 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6007
6008         Sync from coreutils.
6009
6010         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
6011
6012         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
6013         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
6014
6015 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6016
6017         * modules/restrict: Remove; no longer needed now that we assume
6018         Autoconf 2.59 or later.
6019         * MODULES.html.sh: Remove 'restrict'.
6020         * modules/argp (Depends-on): Remove 'restrict'.
6021         * modules/base64 (Depends-on): Likewise.
6022         * modules/gc (Depends-on): Likewise.
6023         * modules/getaddrinfo (Depends-on): Likewise.
6024         * modules/glob (Depends-on): Likewise.
6025         * modules/inet_ntop (Depends-on): Likewise.
6026         * modules/inet_pton (Depends-on): Likewise.
6027         * modules/memxor (Depends-on): Likewise.
6028         * modules/regex (Depends-on): Likewise.
6029         * modules/strtok_r (Depends-on): Likewise.
6030         * modules/time_r (Depends-on): Likewise.
6031
6032 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6033
6034         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
6035         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
6036         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
6037         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
6038         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
6039         * m4/memxor.m4 (gl_MEMXOR): Likewise.
6040         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
6041         gl_C_RESTRICT replaced by AC_C_RESTRICT.
6042
6043         Merge from coreutils.
6044         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
6045         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
6046         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
6047         * m4/time_r.m4 (gl_TIME_R): Likewise.
6048
6049 2006-08-09  Karl Berry  <karl@gnu.org>
6050
6051         * config/srclist.txt: no more gettext-tools, per Bruno.
6052
6053 2006-08-08  Eric Blake  <ebb9@byu.net>
6054
6055         * modules/verror: New module.
6056         * MODULES.html.sh: Document it.
6057
6058 2006-08-08  Eric Blake  <ebb9@byu.net>
6059
6060         * lib/verror.h, lib/verror.c: New files.
6061
6062 2006-08-08  Eric Blake  <ebb9@byu.net>
6063
6064         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
6065         verror_at_line output complies with GNU Coding Standards even when
6066         file is NULL.
6067
6068 2006-08-07  Bruno Haible  <bruno@clisp.org>
6069
6070         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
6071         versions of AIX.
6072         Reported by Ralf Wildenhues.
6073
6074 2006-08-07  Bruno Haible  <bruno@clisp.org>
6075
6076         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
6077         in an AC_DEFUN. Needed so that the autoconf snippets can use
6078         AC_REQUIRE.
6079
6080 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6081
6082         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6083         Initialize pkgdata_DATA.
6084         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
6085         overriding it.
6086
6087 2006-08-06  Eric Blake  <ebb9@byu.net>
6088
6089         * lib/error.h: Fold in some upstream changes from glibc.
6090         * lib/error.c: Likewise.
6091
6092 2006-08-04  Bruno Haible  <bruno@clisp.org>
6093
6094         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6095         Make the mostlyclean-local rule depend on mostlyclean-generic.
6096         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
6097
6098 2006-07-31  Bruno Haible  <bruno@clisp.org>
6099
6100         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
6101         <stdlib.h>, <string.h>.
6102
6103 2006-07-30  Bruno Haible  <bruno@clisp.org>
6104
6105         * modules/readlink (License): Change to LGPL.
6106
6107 2006-07-30  Bruno Haible  <bruno@clisp.org>
6108
6109         * modules/javaversion (Makefile.am): Distribute javaversion.java and
6110         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
6111         set PKGDATADIR to point to it.
6112
6113 2006-07-30  Bruno Haible  <bruno@clisp.org>
6114
6115         * modules/csharpexec (configure.ac): Comment out macro invocation.
6116         * modules/javaexec (configure.ac): Likewise.
6117         * modules/javacomp-script (configure.ac): Likewise.
6118
6119         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
6120
6121 2006-07-30  Bruno Haible  <bruno@clisp.org>
6122
6123         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
6124         linked-list.
6125
6126 2006-07-30  Bruno Haible  <bruno@clisp.org>
6127
6128         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
6129
6130 2006-07-30  Bruno Haible  <bruno@clisp.org>
6131
6132         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6133         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
6134         get removed.
6135
6136 2006-07-29  Bruno Haible  <bruno@clisp.org>
6137
6138         Make it possible for gnulib-tool to work with locally modified or
6139         augmented gnulib repositories.
6140         * gnulib-tool (func_usage): Document --local-dir option.
6141         (local_gnulib_dir): New variable.
6142         Handle --local-dir option.
6143         (func_lookup_file): New function.
6144         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
6145         (func_get_description, func_get_filelist, func_get_description,
6146         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
6147         func_get_automake_snippet, func_get_include_directive,
6148         func_get_license, func_get_maintainer): Use func_lookup_file.
6149         (func_import, func_create_testdir): Use func_lookup_file.
6150
6151 2006-07-29  Bruno Haible  <bruno@clisp.org>
6152
6153         * modules/setenv (Depends-on): Add unistd.
6154
6155 2006-07-29  Bruno Haible  <bruno@clisp.org>
6156
6157         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
6158
6159 2006-07-29  Bruno Haible  <bruno@clisp.org>
6160
6161         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
6162
6163 2006-07-29  Bruno Haible  <bruno@clisp.org>
6164
6165         * gnulib-tool (import, update): If there is no Makefile.am, look at
6166         aclocal.m4, instead of bailing out.
6167
6168 2006-07-29  Bruno Haible  <bruno@clisp.org>
6169
6170         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
6171         Categorize the options by when they are useful.
6172
6173 2006-07-29  Bruno Haible  <bruno@clisp.org>
6174
6175         * gnulib-tool (func_usage): Document option --no-libtool.
6176         Handle option --no-libtool.
6177         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
6178         for changed semantics of $libtool variable.
6179         (func_import): Likewise. If libtool is not used, show this through
6180         an option --no-libtool.
6181         (func_create_testdir): Update.
6182
6183 2006-07-29  Bruno Haible  <bruno@clisp.org>
6184
6185         * gnulib-tool (func_import): Extend error message about missing
6186         --doc-base.
6187
6188 2006-07-29  Bruno Haible  <bruno@clisp.org>
6189
6190         * gnulib-tool (func_import): Don't create the $docbase directory if
6191         there is no file to store there.
6192
6193 2006-07-29  Bruno Haible  <bruno@clisp.org>
6194
6195         * gnulib-tool (autoconf_minversion): If a --dir option is given and
6196         relevant, look for configure.ac there, not in the current directory.
6197         Also use a simple search for AC_PREREQ, not "autoconf --trace".
6198
6199 2006-07-29  Bruno Haible  <bruno@clisp.org>
6200
6201         * gnulib-tool (SORT): New variable.
6202         (func_usage): Undocument --assume-autoconf option.
6203         Remove --assume-autoconf option handling.
6204         (autoconf_minversion): Determine from the contents of configure.ac.
6205         (func_import): Remove autoconf_minversion handling.
6206         Suggested by Eric Blake.
6207
6208 2006-07-29  Bruno Haible  <bruno@clisp.org>
6209
6210         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
6211
6212 2006-07-29  Bruno Haible  <bruno@clisp.org>
6213
6214         * config/srclist.txt (*setenv.[ch]): Remove rules.
6215
6216 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6217
6218         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
6219
6220 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6221
6222         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
6223         arpa/inet.h.
6224
6225 2006-07-28  Simon Josefsson  <jas@extundo.com>
6226
6227         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
6228         * modules/inet_pton (Depends-on): Likewise.
6229
6230 2006-07-28  Simon Josefsson  <jas@extundo.com>
6231
6232         * m4/netinet_in_h.m4: New file.
6233
6234 2006-07-28  Simon Josefsson  <jas@extundo.com>
6235
6236         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
6237         #include's.
6238
6239 2006-07-28  Simon Josefsson  <jas@extundo.com>
6240
6241         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
6242         #include's.
6243
6244 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
6245
6246         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
6247         setgid on directories only if they set these bits.
6248         * lib/modechange.h: Remove obsolete comment about masks.
6249
6250 2006-07-28  Eric Blake  <ebb9@byu.net>
6251
6252         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
6253         macro expansion.
6254
6255 2006-07-28  Bruno Haible  <bruno@clisp.org>
6256
6257         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
6258
6259 2006-07-28  Bruno Haible  <bruno@clisp.org>
6260
6261         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
6262
6263 2006-07-28  Bruno Haible  <bruno@clisp.org>
6264
6265         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
6266         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
6267         Define fallbacks.
6268         Avoids link error on FreeBSD 4.x.
6269         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
6270
6271         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
6272         encoding.
6273         * lib/mbswidth.c (iswcntrl): Likewise.
6274
6275 2006-07-27  Bruno Haible  <bruno@clisp.org>
6276
6277         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
6278         test.
6279
6280 2006-07-27  Bruno Haible  <bruno@clisp.org>
6281
6282         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
6283         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
6284         defined.
6285
6286 2006-07-26  Eric Blake  <ebb9@byu.net>
6287
6288         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
6289
6290 2006-07-26  Eric Blake  <ebb9@byu.net>
6291
6292         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
6293         like mingw that lack mkstemp.
6294         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
6295         avoid compilation warning on mingw.
6296
6297 2006-07-26  Bruno Haible  <bruno@clisp.org>
6298
6299         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
6300         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
6301         INT_FAST*_MIN, INTPTR_MIN.
6302
6303 2006-07-25  Bruno Haible  <bruno@clisp.org>
6304
6305         * modules/version-etc (Depends-on): Add stdarg.
6306
6307 2006-07-25  Bruno Haible  <bruno@clisp.org>
6308
6309         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
6310         complex commands.
6311
6312 2006-07-25  Bruno Haible  <bruno@clisp.org>
6313
6314         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
6315         defined in <stdarg.h> or config.h.
6316
6317 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
6318
6319         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
6320         (gl_STDIO_SAFER): Remove.
6321
6322 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
6323
6324         * MODULES.html.sh (File stream based Input/Output):
6325         Add fopen-safer, tmpfile-safer; remove stdio-safer.
6326         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
6327         * modules/fopen-safer, modules/tmpfile-safer: New files.
6328         * modules/stdio-safer: Remove.
6329
6330 2006-07-24  Bruno Haible  <bruno@clisp.org>
6331
6332         * modules/tmpdir: New file.
6333         * MODULES.html.sh (File system functions): Add it.
6334
6335 2006-07-24  Bruno Haible  <bruno@clisp.org>
6336
6337         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
6338         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
6339
6340 2006-07-24  Bruno Haible  <bruno@clisp.org>
6341
6342         * modules/clean-temp: New file.
6343
6344 2006-07-24  Bruno Haible  <bruno@clisp.org>
6345
6346         * m4/tmpdir.m4: New file, from GNU gettext.
6347
6348 2006-07-24  Bruno Haible  <bruno@clisp.org>
6349
6350         * lib/tmpdir.h: New file, from GNU gettext.
6351         * lib/tmpdir.c: New file, from GNU gettext.
6352
6353 2006-07-24  Bruno Haible  <bruno@clisp.org>
6354
6355         * lib/clean-temp.h: New file, from GNU gettext.
6356         * lib/clean-temp.c: New file, from GNU gettext.
6357
6358 2006-07-23  Eric Blake  <ebb9@byu.net>
6359
6360         * modules/stdio-safer (Files): Add tmpfile-safer.c.
6361         (Depends-on): Add binary-io.
6362
6363 2006-07-23  Eric Blake  <ebb9@byu.net>
6364
6365         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
6366
6367 2006-07-23  Eric Blake  <ebb9@byu.net>
6368
6369         * lib/tmpfile-safer.c: New file.
6370         * lib/stdio-safer.h (fopen_safer): Add prototype.
6371         * lib/stdio--.h (tmpfile): Make safer.
6372
6373 2006-07-23  Bruno Haible  <bruno@clisp.org>
6374
6375         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
6376         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
6377         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
6378         gl_linked_remove_at): Use it.
6379
6380 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6381         and Simon Josefsson <jas@extundo.com>
6382
6383         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
6384
6385         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
6386
6387 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
6388
6389         * modules/close-stream: New file.
6390         * modules/closeout (Description): Make it clear that it exits
6391         with a diagnostic on error.
6392         (Depends-on): Add close-stream.  Remove fpending, stdbool.
6393         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
6394
6395 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
6396
6397         * m4/close-stream.m4: New file.
6398
6399 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
6400
6401         * lib/close-stream.c, lib/close-stream.h: New files.
6402
6403 2006-07-22  Bruno Haible  <bruno@clisp.org>
6404
6405         Merge from GNU gettext 0.15.
6406
6407         2006-05-01  Bruno Haible  <bruno@clisp.org>
6408
6409                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
6410
6411         2006-07-22  Bruno Haible  <bruno@clisp.org>
6412
6413                 * modules/javaversion: New file.
6414                 * MODULES.html.sh (Java): Add javaversion.
6415
6416         2006-03-12  Bruno Haible  <bruno@clisp.org>
6417
6418                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
6419
6420         2005-12-04  Bruno Haible  <bruno@clisp.org>
6421
6422                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
6423                 (untested).
6424
6425         2006-06-21  Bruno Haible  <bruno@clisp.org>
6426
6427                 Avoid warnings from recent versions of mcs.
6428                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
6429                 -o, -L, -r any more. Use options documented since mcs-1.0
6430                 instead. Similarly for -g.
6431
6432         2005-12-04  Bruno Haible  <bruno@clisp.org>
6433
6434                 * build-aux/csharpcomp.sh.in: Suffix for resources is
6435                 .resources, not .resource.
6436
6437         2005-07-09  Bruno Haible  <bruno@clisp.org>
6438
6439                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
6440                 add a .dll suffix.
6441                 Reported by Mark Junker <mjscod@gmx.de>.
6442
6443         2006-07-22  Bruno Haible  <bruno@clisp.org>
6444
6445                 * modules/gettext: Upgrade to gettext-0.15.
6446                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
6447                 m4/visibility.m4.
6448                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
6449
6450 2006-07-22  Bruno Haible  <bruno@clisp.org>
6451
6452         Merge from GNU gettext 0.15.
6453
6454         2006-03-25  Bruno Haible  <bruno@clisp.org>
6455
6456                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
6457
6458         2006-07-21  Bruno Haible  <bruno@clisp.org>
6459
6460                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
6461                 "1.1".
6462
6463         2006-05-09  Bruno Haible  <bruno@clisp.org>
6464
6465                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
6466                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
6467                 for the conftestver execution.
6468
6469         2006-05-01  Bruno Haible  <bruno@clisp.org>
6470
6471                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
6472                 optional target-version argument. Verify that the compiler
6473                 groks source of the specified source-version, or add -source
6474                 option as necessary. Verify that the compiler produces
6475                 bytecode in the specified target-version, or add -target and
6476                 -source options as necessary. Make the result of the test
6477                 available as variable CONF_JAVAC. Also log error output in
6478                 config.log.
6479
6480         2006-03-11  Bruno Haible  <bruno@clisp.org>
6481
6482                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
6483
6484         2006-05-09  Bruno Haible  <bruno@clisp.org>
6485
6486                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
6487                 CLASSPATH_SEPARATOR to a semicolon.
6488
6489         2006-03-12  Bruno Haible  <bruno@clisp.org>
6490
6491                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
6492                 available as variable CONF_JAVA, for subsequent autoconf
6493                 tests. Also log error output in config.log.
6494
6495         2006-07-19  Bruno Haible  <bruno@clisp.org>
6496
6497                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
6498                 that getline works on glibc2 systems. Needed to avoid trouble
6499                 in relocatable.c.
6500                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
6501
6502         2005-12-04  Bruno Haible  <bruno@clisp.org>
6503
6504                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
6505                 launcher (untested).
6506
6507         2005-12-04  Bruno Haible  <bruno@clisp.org>
6508
6509                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
6510
6511         2006-07-22  Bruno Haible  <bruno@clisp.org>
6512
6513                 * gettext.m4: Update from GNU gettext-0.15.
6514                 * nls.m4: Likewise.
6515                 * po.m4: Likewise.
6516                 * inttypes-pri.m4: Likewise.
6517                 * inttypes-h.m4: Renamed from inttypes.m4.
6518                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
6519
6520 2006-07-22  Bruno Haible  <bruno@clisp.org>
6521
6522         Merge from GNU gettext 0.15.
6523
6524         2005-07-05  Bruno Haible  <bruno@clisp.org>
6525
6526                 * printf-args.c (printf_fetchargs): Work around broken
6527                 definition of wint_t on mingw.
6528
6529         2005-02-12  Bruno Haible  <bruno@clisp.org>
6530
6531                 * xallocsa.h: Add extern "C" for C++.
6532
6533         2006-05-17  Bruno Haible  <bruno@clisp.org>
6534
6535                 Cygwin portability.
6536                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
6537
6538         2006-04-30  Bruno Haible  <bruno@clisp.org>
6539
6540                 * progreloc.c: Include <mach-o/dyld.h> if available.
6541                 (find_executable): Use _NSGetExecutablePath when possible.
6542
6543         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
6544
6545                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
6546                 function.
6547
6548         2005-12-29  Bruno Haible  <bruno@clisp.org>
6549
6550                 * progreloc.c (set_program_name_and_installdir): Fix
6551                 compilation error.
6552
6553         2005-12-04  Bruno Haible  <bruno@clisp.org>
6554
6555                 Cygwin portability.
6556                 * progreloc.c: Include <windows.h> also on Cygwin.
6557                 (find_executable): Add support for Cygwin.
6558                 (set_program_name_and_installdir): Handle also platforms with
6559                 nonempty EXEEXT.
6560
6561         2006-07-11  Bruno Haible  <bruno@clisp.org>
6562
6563                 * javacomp.c: Fix a comment.
6564                 Reported by Jim Meyering.
6565
6566         2006-04-30  Bruno Haible  <bruno@clisp.org>
6567
6568                 * javacomp.h (compile_java_class): Add source_version,
6569                 target_version arguments.
6570                 * javacomp.c: Rewritten to choose only a compiler that
6571                 respects the specified source_version and target_version.
6572
6573         2006-06-27  Bruno Haible  <bruno@clisp.org>
6574
6575                 Assume correct S_ISDIR macro.
6576                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
6577
6578         2006-07-22  Bruno Haible  <bruno@clisp.org>
6579
6580                 * javaversion.h: New file, from GNU gettext.
6581                 * javaversion.c: New file, from GNU gettext.
6582                 * javaversion.java: New file, from GNU gettext.
6583                 * javaversion.class: New file, from GNU gettext.
6584
6585         2006-05-17  Bruno Haible  <bruno@clisp.org>
6586
6587                 Cygwin portability.
6588                 * javaexec.c (execute_java_class): Test for jview program
6589                 also on Cygwin.
6590
6591         2006-04-09  Bruno Haible  <bruno@clisp.org>
6592
6593                 * fatal-signal.c: Don't include string.h.
6594                 (at_fatal_signal): Use a copying loop instead of memcpy.
6595
6596         2005-12-04  Bruno Haible  <bruno@clisp.org>
6597
6598                 * csharpexec.c: Add support for 'clix' launcher (untested).
6599                 (execute_csharp_using_sscli): New function.
6600                 (execute_csharp_program): Call it.
6601
6602         2006-06-21  Bruno Haible  <bruno@clisp.org>
6603
6604                 Avoid warnings from recent versions of mcs.
6605                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
6606                 -o, -L, -r any more. Use options documented since mcs-1.0
6607                 instead. Similarly for -g.
6608
6609         2005-07-09  Bruno Haible  <bruno@clisp.org>
6610
6611                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
6612                 add a .dll suffix.
6613                 Reported by Mark Junker <mjscod@gmx.de>.
6614
6615         2006-06-17  Bruno Haible  <bruno@clisp.org>
6616
6617                 * config.charset: Update for NetBSD 3.0.
6618
6619         2006-05-17  Bruno Haible  <bruno@clisp.org>
6620
6621                 Cygwin portability.
6622                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
6623
6624         2006-05-16  Bruno Haible  <bruno@clisp.org>
6625
6626                 * localcharset.c [CYGWIN]: Include <windows.h>.
6627                 (get_charset_aliases): For Cygwin, return the same CPxxx
6628                 aliases list as under WIN32.
6629                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
6630                 the environment variables. Fall back to GetACP().
6631
6632         2006-04-05  Bruno Haible  <bruno@clisp.org>
6633
6634                 * config.charset: Update Juan Manuel Guerrero's address.
6635
6636         2005-02-12  Bruno Haible  <bruno@clisp.org>
6637
6638                 * allocsa.h: Add extern "C" for C++.
6639
6640         2005-02-10  Bruno Haible  <bruno@clisp.org>
6641
6642                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
6643                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
6644
6645         2006-07-22  Bruno Haible  <bruno@clisp.org>
6646
6647                 * gettext.h: Update to GNU gettext-0.15.
6648
6649 2006-07-22  Bruno Haible  <bruno@clisp.org>
6650
6651         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
6652         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
6653         lib-prefix.m4, longdouble.m4, ssize_t.m4.
6654
6655 2006-07-21  Eric Blake  <ebb9@byu.net>
6656
6657         * modules/stdlib-safer: New file.
6658         * MODULES.html.sh (File stream based Input/Output): Add
6659         stdlib-safer.
6660
6661 2006-07-21  Eric Blake  <ebb9@byu.net>
6662
6663         * lib/stdlib-safer.h: New file from coreutils, required by
6664         stdlib--.h.
6665
6666 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
6667
6668         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
6669
6670 2006-07-20  Bruno Haible  <bruno@clisp.org>
6671
6672         * gnulib-tool: Recognize new option --assume-autoconf.
6673         (autoconf_minversion): New variable.
6674         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
6675
6676 2006-07-20  Bruno Haible  <bruno@clisp.org>
6677
6678         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
6679
6680 2006-07-19  Derek R. Price  <derek@ximbiot.com>
6681
6682         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
6683         Reindent and repaginate.
6684
6685 2006-07-19  Derek Price  <derek@ximbiot.com>
6686
6687         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
6688         Correct grammar.
6689
6690 2006-07-17  Bruno Haible  <bruno@clisp.org>
6691
6692         * modules/list: New file.
6693         * modules/array-list: New file.
6694         * modules/carray-list, modules/carray-list-tests: New files.
6695         * modules/linked-list, modules/linked-list-tests: New files.
6696         * modules/avltree-list, modules/avltree-list-tests: New files.
6697         * modules/rbtree-list, modules/rbtree-list-tests: New files.
6698         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
6699         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
6700         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
6701         * modules/oset: New file.
6702         * modules/array-oset: New file.
6703         * modules/avltree-oset, modules/avltree-oset-tests: New files.
6704         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
6705         * tests/test-carray_list.c: New file.
6706         * tests/test-linked_list.c: New file.
6707         * tests/test-avltree_list.c: New file.
6708         * tests/test-rbtree_list.c: New file.
6709         * tests/test-linkedhash_list.c: New file.
6710         * tests/test-avltreehash_list.c: New file.
6711         * tests/test-rbtreehash_list.c: New file.
6712         * tests/test-avltree_oset.c: New file.
6713         * tests/test-rbtree_oset.c: New file.
6714         * MODULES.html.sh (Container data structures): New section.
6715
6716 2006-07-17  Bruno Haible  <bruno@clisp.org>
6717
6718         * m4/gl_list.m4: New file.
6719
6720 2006-07-17  Bruno Haible  <bruno@clisp.org>
6721
6722         * lib/gl_list.h: New file.
6723         * lib/gl_list.c: New file.
6724         * lib/gl_array_list.h: New file.
6725         * lib/gl_array_list.c: New file.
6726         * lib/gl_carray_list.h: New file.
6727         * lib/gl_carray_list.c: New file.
6728         * lib/gl_linked_list.h: New file.
6729         * lib/gl_linked_list.c: New file.
6730         * lib/gl_anylinked_list1.h: New file.
6731         * lib/gl_anylinked_list2.h: New file.
6732         * lib/gl_avltree_list.h: New file.
6733         * lib/gl_avltree_list.c: New file.
6734         * lib/gl_anyavltree_list1.h: New file.
6735         * lib/gl_anyavltree_list2.h: New file.
6736         * lib/gl_rbtree_list.h: New file.
6737         * lib/gl_rbtree_list.c: New file.
6738         * lib/gl_anyrbtree_list1.h: New file.
6739         * lib/gl_anyrbtree_list2.h: New file.
6740         * lib/gl_anytree_list1.h: New file.
6741         * lib/gl_anytree_list2.h: New file.
6742         * lib/gl_linkedhash_list.h: New file.
6743         * lib/gl_linkedhash_list.c: New file.
6744         * lib/gl_anyhash_list1.h: New file.
6745         * lib/gl_anyhash_list2.h: New file.
6746         * lib/gl_avltreehash_list.h: New file.
6747         * lib/gl_avltreehash_list.c: New file.
6748         * lib/gl_rbtreehash_list.h: New file.
6749         * lib/gl_rbtreehash_list.c: New file.
6750         * lib/gl_anytreehash_list1.h: New file.
6751         * lib/gl_anytreehash_list2.h: New file.
6752
6753         * lib/gl_oset.h: New file.
6754         * lib/gl_oset.c: New file.
6755         * lib/gl_array_oset.h: New file.
6756         * lib/gl_array_oset.c: New file.
6757         * lib/gl_avltree_oset.h: New file.
6758         * lib/gl_avltree_oset.c: New file.
6759         * lib/gl_rbtree_oset.h: New file.
6760         * lib/gl_rbtree_oset.c: New file.
6761         * lib/gl_anytree_oset.h: New file.
6762
6763 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6764
6765         * m4/mkancesdirs.m4: New file.
6766         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
6767         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
6768         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
6769         it.
6770
6771 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6772
6773         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
6774         * lib/mkancesdirs.h: New files.
6775         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
6776         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
6777         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
6778         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
6779         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
6780         callers changed.  Revamp internals significantly, by not
6781         attempting to create directories that are temporarily more
6782         permissive than the final results.  Do not attempt to use
6783         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
6784         This removes some race conditions, fixes some bugs, and simplifies
6785         things.  Use new dirchownmod function to do owner and mode changes.
6786         * lib/mkdir-p.h: Likewise.
6787         * lib/modechange.c (octal_to_mode): New function.
6788         (struct mode_change): New member mentioned.
6789         (make_node_op_equals): New arg mentioned.  All callers changed.
6790         (mode_compile): Keep track of which mode bits the user has explicitly
6791         mentioned.
6792         (mode_adjust): New arg DIR, so that we implement the X op correctly.
6793         New arg PMODE_BITS, to keep track of which mode bits the user
6794         mentioned; it treats S_ISUID and S_ISGID speciall.
6795         All callers changed.
6796         * lib/modechange.h: Likewise.
6797
6798 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6799
6800         * MODULES.html.sh: Add mkancestors.
6801         * modules/mkancesdirs: New module.
6802         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
6803         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
6804         The chdir-safer and afs files are now orphans; I'll remove them
6805         unless someone speaks up.
6806         Add lib/dirchownmod.c, lib/dirchownmod.h.
6807         (Depends-on): Remove alloca, chown, save-cwd, dirname.
6808         Add lchown, mkancesdirs.
6809         (Maintainer): Add self.
6810
6811 2006-07-15  Karl Berry  <karl@gnu.org>
6812
6813         * gnulib-tool: help message wording/arrangement.
6814
6815 2006-07-14  Simon Josefsson  <jas@extundo.com>
6816
6817         * doc/gnulib.texi (Libtool and Windows): New section.
6818
6819 2006-07-12  Simon Josefsson  <jas@extundo.com>
6820
6821         * modules/gendocs (License): Fix license, approved by Karl.
6822
6823 2006-07-12  Eric Blake  <ebb9@byu.net>
6824
6825         * MODULES.html.sh: Add gendocs.
6826
6827 2006-07-11  Eric Blake  <ebb9@byu.net>
6828
6829         * modules/fdl: New module, to install doc/fdl.texi.
6830         * MODULES.html.sh: Add new section for documentation modules.
6831         * gnulib-tool: Avoid space-tab.
6832         (--doc-base): New option, to manage files from doc.
6833
6834 2006-07-11  Eric Blake  <ebb9@byu.net>
6835
6836         * m4/absolute-header.m4: Fix comments to match recent change.
6837
6838 2006-07-11  Eric Blake  <ebb9@byu.net>
6839
6840         * gnulib-tool: List --doc-base before --tests-base.
6841
6842 2006-07-11  Derek R. Price  <derek@ximbiot.com>
6843
6844         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
6845
6846 2006-07-11  Bruno Haible  <bruno@clisp.org>
6847
6848         * README: Mention where to put documentation.
6849
6850 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6851
6852         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
6853
6854 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
6855
6856         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
6857         to stdint.m4.
6858
6859 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
6860
6861         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
6862         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
6863         "no/such/file/stdint.h" when there is no such file, so that
6864         the resulting C code can be parsed by dodgy compilers.
6865         Problems reported by Bob Proulx.
6866
6867 2006-07-10  Derek R. Price  <derek@ximbiot.com>
6868
6869         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
6870         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
6871         macros into the GNU _D_EXACT_NAMLEN.
6872         * lib/savedir.c:  Likewise.
6873         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
6874
6875 2006-07-10  Derek R. Price  <derek@ximbiot.com>
6876         and Paul Eggert  <eggert@cs.ucla.edu>
6877
6878         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
6879         * m4/savedir.m4:
6880         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
6881         macros into the GNU _D_EXACT_NAMLEN.
6882
6883 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6884
6885         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
6886         around the absolute name, to work around a problem with the HP-UX
6887         11.23 native C compiler, reported by Bob Proulx.
6888
6889 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6890
6891         * doc/maintain.texi, make-stds.texi: Sync from
6892         <http://savannah.gnu.org/projects/gnustandards>.
6893
6894 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
6895
6896         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
6897
6898 2006-07-09  Jim Meyering  <jim@meyering.net>
6899
6900         * m4/glob.m4: Remove a doubled word in a comment.
6901
6902 2006-07-09  Jim Meyering  <jim@meyering.net>
6903
6904         * lib/argp-pv.c: Remove a doubled word in a comment.
6905         * lib/check-version.c (check_version): Likewise.
6906         * lib/javacomp.c (compile_java_class): Likewise.
6907
6908 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
6909
6910         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
6911         for the benefit of people using Autoconf 2.60.  If you want to
6912         support older Autoconf versions you can copy m4/onceonly_2_57.m4
6913         (or m4/onceonly.m4, if pre-2.57) manually.
6914
6915 2006-07-08  Jim Meyering  <jim@meyering.net>
6916
6917         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
6918         comment.
6919         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
6920         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
6921         comment.
6922
6923 2006-07-08  Jim Meyering  <jim@meyering.net>
6924
6925         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
6926
6927 2006-07-07  Simon Josefsson  <jas@extundo.com>
6928
6929         * tests/test-crc.c: Change expected crc value, the test vector
6930         were probably computed using the old broken crc.c?
6931
6932 2006-07-06  Simon Josefsson  <jas@extundo.com>
6933
6934         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
6935         now the canonical place for the M4 file).
6936
6937         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
6938         from the sys_socket dependency now.
6939
6940         * modules/inet_pton (Files): Ditto.
6941
6942         * modules/inet_ntop (Files): Ditto.
6943
6944 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
6945
6946         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
6947         not gl_PREREQ_GETUSERSHELL.
6948
6949 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6950
6951         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
6952         with only one argument, for Autoconf 2.60.
6953         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
6954         expand to nothing, so add a shell command to avoid syntax error.
6955         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
6956
6957 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6958
6959         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
6960
6961 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6962
6963         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
6964         no longer needed.  Check for isblank decl.
6965         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
6966         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
6967         of existence.
6968
6969 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6970
6971         * lib/getloadavg.c: Use __VMS, not VMS.
6972         * lib/getopt.c: Likewise.
6973         * lib/getpagesize.h: Likewise.
6974         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
6975         and probably does not work.
6976
6977 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6978
6979         * lib/.cppi-disable: Add wcwidth.
6980         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
6981         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
6982         (ISGRAPH): Remove.  All uses changed to isgraph.
6983         (FOLD) [!defined _LIBC]: Remove special case.
6984         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
6985         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
6986         HAVE_ISBLANK.
6987         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
6988         case.
6989
6990 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
6991
6992         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
6993         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
6994         brackets.  Other minor changes to suppress some compiler
6995         warnings.
6996
6997 2006-07-06  Derek R. Price  <derek@ximbiot.com>
6998         and Paul Eggert  <eggert@cs.ucla.edu>
6999
7000         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
7001         of invoking obsolescent AC_HEADER_DIRENT macro.
7002         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
7003         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
7004         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7005         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
7006         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
7007         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
7008         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
7009         * m4/readdir.m4: Remove; no longer needed.
7010
7011 2006-07-06  Derek R. Price  <derek@ximbiot.com>
7012         and Paul Eggert  <eggert@cs.ucla.edu>
7013
7014         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
7015         Don't worry about this obsolete case any more.
7016         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
7017         directories.
7018         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
7019         worry about this obsolete case any more.
7020         * lib/fts.c: Likewise.
7021         * lib/getcwd.c: Likewise.
7022         * lib/glob.h: Likewise.
7023         * lib/savedir.c: Likewise.
7024
7025 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
7026
7027         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
7028         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
7029         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
7030         needed.
7031         All uses removed.
7032         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
7033         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
7034         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
7035         needed.
7036         * m4/getdate.m4 (gl_GETDATE): Likewise.
7037         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
7038         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
7039         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
7040         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
7041         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
7042         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
7043         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
7044         needed.
7045
7046 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
7047
7048         * lib/memcasecmp.c: Include <limits.h>.
7049         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
7050         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
7051         Don't assume isdigit succeeds only on '0' through '9'.
7052
7053 2006-07-05  Eric Blake  <ebb9@byu.net>
7054
7055         * modules/getaddrinfo (Depends-on): Add snprintf.
7056
7057 2006-07-05  Eric Blake  <ebb9@byu.net>
7058
7059         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
7060         to avoid 'header present but could not be compiled' on cygwin.
7061
7062 2006-07-05  Eric Blake  <ebb9@byu.net>
7063
7064         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
7065         missing from netdb.h.
7066         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
7067
7068 2006-07-05  Derek R. Price  <derek@ximbiot.com>
7069
7070         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
7071         no longer needed.
7072         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
7073         * m4/getdate.m4 (gl_GETDATE): Likewise.
7074         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
7075         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
7076         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
7077         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
7078         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
7079
7080 2006-07-05  Derek R. Price  <derek@ximbiot.com>
7081
7082         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
7083         All uses of is_space replaced by isspace.
7084         * lib/exit.h: Don't talk about STDC_HEADERS.
7085         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
7086         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
7087         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
7088         replaced by isprint etc.
7089         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
7090         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
7091         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
7092         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
7093         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
7094         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
7095
7096 2006-07-05  Bruno Haible  <bruno@clisp.org>
7097
7098         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
7099         the function exists, before testing against AIX.
7100         Reported by Martin Lambers <marlam@marlam.de>.
7101
7102 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
7103
7104         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
7105         From Mark D. Baushke.
7106
7107 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
7108
7109         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
7110         to the absolute name, not just one, to bypass Sun C 5.8's
7111         "warning: #include of /usr/include/... may be non-portable".
7112
7113 2006-07-04  Eric Blake  <ebb9@byu.net>
7114
7115         * modules/dirname-tests: New test module.
7116         * tests/test-dirname.c: New file, replacing dirname.c
7117         TEST_DIRNAME section that was recently deleted.
7118
7119 2006-07-04  Bruno Haible  <bruno@clisp.org>
7120
7121         Assume ANSI C header files and <ctype.h> functions.
7122         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
7123         (mbsnwidth): Use isprint, iscntrl instead.
7124
7125 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
7126
7127         Merge from coreutils.
7128         * MODULES.html.sh: Add xstrtold.
7129         * modules/xstrtold: New file.
7130         * modules/cycle-check (Files): Add lib/same-inode.h.
7131         * modules/dirname (Files): Add m4/double-slash-root.m4.
7132         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
7133         * modules/mkdir-p (Files): Add lib/same-inode.h.
7134         * modules/same (Files): Add lib/same-inode.h.
7135
7136 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
7137
7138         * m4/absolute-header.m4: Renamed from full-header-path.m4.
7139         This is to keep the terminology clean; POSIX talks about
7140         "absolute pathnames", not "full pathnames", but the GNU
7141         Coding Standards say to use "path" for something else;
7142         so use "absolute" to keep both sides happy.
7143         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
7144         Set gl_absolute_header, not gl_full_header_path.
7145         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
7146         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
7147         All uses changed.
7148
7149         Merge from coreutils.
7150
7151         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
7152
7153         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
7154         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
7155         want to require the building of c-strtod.o.
7156         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
7157         needs -lm directly.
7158         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
7159
7160         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
7161
7162         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
7163         --as-needed option if available.  Problem reported by Albert Chin in
7164         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
7165         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
7166         cc merely issues a bunch of annoying warnings for --as-needed
7167         (this problem was reported by Bob Proulx).  Also, try linking with
7168         -lm to detect a bug in binutils 2.16 (this problem was reported
7169         by Ralf Wildenhues).
7170
7171         2006-06-18  Jim Meyering  <jim@meyering.net>
7172
7173         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
7174         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
7175         macro.
7176         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
7177         also check for glibc-2.4's abort-inducing bug.
7178
7179         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
7180         Low-probability clean-up should be to use rmdir to get rid of
7181         the just-created directory, not unlink.
7182
7183         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
7184         configure fail, and request a bug report to inform us about it.
7185         Add a comment that, barring reports to the contrary, in 2007 we'll
7186         assume ftruncate is universally available.
7187
7188         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
7189
7190         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
7191
7192         2006-03-12  Jim Meyering  <jim@meyering.net>
7193
7194         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
7195         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
7196         * m4/same.m4 (gl_SAME): Likewise.
7197         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
7198
7199         2006-03-11  Eric Blake  <ebb9@byu.net>
7200
7201         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
7202         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
7203         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
7204         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
7205
7206 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
7207
7208         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
7209         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
7210         reported by Mark D. Baushke, one in
7211         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
7212
7213         Merge from coreutils.
7214
7215         * lib/.cppi-disable: Add stdint_.h.
7216         * lib/.cvsignore: Add stdint.h.
7217
7218         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
7219
7220         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
7221         both double and long double versions.
7222         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
7223         * lib/xstrtold.c: New file.
7224         * lib/xstrtod.h (xstrtold): New decl.
7225
7226         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
7227
7228         * lib/filemode.c (setst): Remove.
7229         (strmode): Rewrite to avoid setst.  This makes the code shorter,
7230         (arguably) clearer, and the generated code is a bit smaller on my
7231         Debian GNU/Linux stable x86 host.
7232
7233         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
7234
7235         * lib/filemode.c: Include "filemode.h" first, to test the interface.
7236         Assume that filemode.h includes sys/types.h and sys/stat.h.
7237         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
7238         (ftypelet): Reorder to put common cases first, for efficiency.
7239         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
7240         to do 'M'.
7241         (strmode): Renamed from mode_string, and now stores 12 bytes instead
7242         of 10, for compatibility with FreeBSD.  All callers changed.
7243         (filemodestring): Now stores 12 bytes instead of 10, and sets file
7244         types that can't be deduced solely from st_mode.  First arg is now a
7245         const pointer.
7246         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
7247         (strmode): Renamed from mode_string.
7248         (filemodestring): New decl.
7249         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
7250         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
7251         needed.
7252         (S_ISPORT, S_ISWHT): New macros, if not already defined.
7253
7254         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
7255
7256         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
7257         fsusage.h now does that.  Include fsusage.h first, to test interface.
7258         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
7259         at most one method (the old code could have generated decls that
7260         didn't conform to C89, not that this was ever exercised).
7261         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
7262
7263         2006-03-19  Jim Meyering  <jim@meyering.net>
7264
7265         Work even in a chroot where d_ino values for entries in "/"
7266         don't match the stat.st_ino values for the same names.
7267         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
7268         number, iterate through all entries again, using lstat instead.
7269         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
7270         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
7271
7272         * lib/getcwd.c (__getcwd): Clarify a comment.
7273         Use memcpy in place of a call to strcpy.
7274
7275         2006-03-12  Jim Meyering  <jim@meyering.net>
7276
7277         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
7278         matches that of the current directory (which we're about to chdir ".."
7279         out of), then save the dev-ino of the parent, instead.
7280
7281         * lib/same-inode.h (SAME_INODE): New file/macro.
7282         * lib/chdir-safer.c (SAME_INODE): Remove definition.
7283         Include "same-inode.h", instead.
7284         * lib/same.c: Likewise.
7285         * lib/cycle-check.h: Include "same-inode.h".
7286         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
7287         * lib/cycle-check.c (SAME_INODE): Remove definition.
7288         * lib/root-dev-ino.h: Include "same-inode.h".
7289
7290         2006-03-11  Eric Blake  <ebb9@byu.net>
7291
7292         * lib/same.c (same_name): s/base_name/last_component/
7293         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
7294         * lib/filenamecat.c (file_name_concat): Likewise.
7295
7296         2006-03-11  Eric Blake  <ebb9@byu.net>,
7297                     Paul Eggert  <eggert@cs.ucla.edu>
7298
7299         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
7300         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
7301         drive prefix.
7302         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
7303         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
7304         (last_component): New method.
7305         * lib/dirname.c (dir_len): Determine when drive letters need a
7306         subsequent slash.  Preserve // when it is special.
7307         (dir_name): Don't append dot when drive letter is absolute.
7308         [TEST_DIRNAME]: Move into a full-blown gnulib test.
7309         * lib/basename.c (base_name): New semantics - malloc the result.
7310         Preserve // when it is special.  Preserve relative files that look
7311         like drive letters.
7312         (base_len): Preserve // when it is special.
7313         (last_component): New method, similar to old base_name semantics.
7314         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
7315         base_name.  Strip redundant slashes from ///.
7316
7317 2006-07-03  Jim Meyering  <jim@meyering.net>
7318
7319         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
7320         macro is used before the first cycle_check call.
7321
7322 2006-07-03  Eric Blake  <ebb9@byu.net>
7323
7324         * modules/dirname (Depends-on): Add xstrndup.
7325
7326 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
7327
7328         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
7329         test cases, so that config.log is a bit easier to follow.
7330
7331 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
7332
7333         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
7334         both are 64 bits, since this seems to be the tradition, and this
7335         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
7336         we ever run into a host that prefers long long to long in this
7337         case, we'll need another configure-time test.  Problem reported by
7338         Jim Meyering.
7339
7340 2006-07-02  Eric Blake  <ebb9@byu.net>
7341
7342         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
7343
7344 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
7345
7346         * modules/inttypes (Depends-on): No longer depends on stdint.
7347         * modules/stdint (Description): Say more about assumptions.
7348         Say that the fast types might differ.  Say macros are used.
7349         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
7350         (Makefile.am): Revise list of substituted symbols to match
7351         new stdint.m4.
7352         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
7353         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
7354         * tests/test-stdint.c (verify_same_types)
7355         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
7356         the code conforms to C99/C89.
7357         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
7358         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
7359
7360 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
7361
7362         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
7363         but fix a bug, by requiring at least 64 bits.
7364         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
7365         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
7366         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
7367         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
7368
7369         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
7370         changes.  Make 2.59 a prerequisite.  Check and substitute for
7371         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
7372         inttypes.h.  Do not use special include files; just use the
7373         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
7374         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
7375         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
7376         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
7377         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
7378         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
7379         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
7380         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
7381         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
7382         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
7383         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
7384         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
7385         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
7386         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
7387         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
7388         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
7389         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
7390         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
7391         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
7392         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
7393         WINT_MAX.  Check for C99 conformance more strictly, by detecting
7394         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
7395         not check for things that C99 does not require, e.g., int8_t.  If
7396         a test isn't needed unless <stdint.h> isn't working, and is
7397         unlikely to be needed for any other reason, then don't do it
7398         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
7399         size_t, since we assume C89 freestanding at least.  Do not check
7400         for sig_atomic_t, wchar_t, or wint_t, since the code now does
7401         the right thing even if the types are not defined.  Instead use:
7402         (gl_STDINT_TYPE_PROPERTIES): New macro.
7403         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
7404         testing whether <sys/types.h> clashes, as Autoconf does this for
7405         us now.  All uses removed.
7406         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
7407         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
7408         (gl_CHECK_TYPE_SAME):
7409         Remove; no longer needed.
7410         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
7411         exists, since we'll return 0 anyway in that case.
7412         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
7413
7414 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
7415
7416         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
7417         possible collision with system files.
7418         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
7419         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
7420         WCHAR_MIN and WCHAR_MAX in this case.
7421         (<stddef.h>): Do not include; no longer needed.
7422         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
7423         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
7424         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
7425         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
7426         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
7427         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
7428         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
7429         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
7430         !defined(__c99))]: Include in this case too, since it's harmless
7431         now.
7432         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
7433         dangerous to do so.
7434         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
7435         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
7436         (_STDINT_MIN, _STDINT_MAX): New macros.
7437         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
7438         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
7439         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
7440         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
7441         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
7442         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
7443         macros, not typedefs; this simplifies things quite a bit.
7444         Use long int for all types narrower than int64_t.
7445         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
7446         Define in terms of long long int or int64_t or long int,
7447         not int64_t or int32_t.  This saves some compile-time testing.
7448         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
7449         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
7450         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
7451         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
7452         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
7453         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
7454         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
7455         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
7456         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
7457         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
7458         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
7459         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
7460         undef any previous version and define our own version, for
7461         simplicity and consistency with the new macros for types.
7462         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
7463         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
7464         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
7465         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
7466         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
7467         @WINT_T_SUFFIX@ to keep things simple here.
7468         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
7469         Simplify by assuming typical 8/16/32/64 host, since we're
7470         already doing that elsewhere anyway.
7471         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
7472         and assume long long int is 64 bits if available.  This
7473         speeds up 'configure'.
7474
7475 2006-07-01  Eric Blake  <ebb9@byu.net>
7476
7477         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
7478         Reported by Andreas Buening.
7479
7480 2006-07-01  Eric Blake  <ebb9@byu.net>
7481
7482         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
7483
7484 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
7485
7486         * lib/getaddrinfo.c: fixed typo
7487
7488 2006-06-29  Jim Meyering  <jim@meyering.net>
7489
7490         * modules/strftime (Maintainer): Add my name, since with the
7491         FPRINTFTIME changes strftime.c has forked from glibc.
7492
7493 2006-06-29  Eric Blake  <ebb9@byu.net>
7494
7495         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
7496
7497 2006-06-29  Eric Blake  <ebb9@byu.net>
7498
7499         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
7500
7501 2006-06-29  Eric Blake  <ebb9@byu.net>
7502
7503         * lib/stat_.h: New file.
7504
7505 2006-06-29  Eric Blake  <ebb9@byu.net>
7506
7507         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
7508         unused static function.
7509
7510 2006-06-29  Eric Blake  <ebb9@byu.net>
7511
7512         * doc/functions.texi (Function Portability): Document missing lstat
7513         on mingw.
7514
7515 2006-06-29  Eric Blake  <ebb9@byu.net>
7516
7517         * MODULES.html.sh: Add sys_stat.
7518         * modules/sys_stat: New module.
7519         * modules/mkstemp (Depends-on): Add sys_stat.
7520
7521 2006-06-29  Derek R. Price  <derek@ximbiot.com>
7522
7523         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
7524
7525 2006-06-29  Derek R. Price  <derek@ximbiot.com>
7526
7527         * m4/c-bs-a.m4: Removed.
7528
7529 2006-06-29  Derek R. Price  <derek@ximbiot.com>
7530
7531         * lib/strftime.c: Assume strftime() exists.
7532
7533 2006-06-29  Derek Price  <derek@ximbiot.com>
7534
7535         * modules/c-bs-a: Removed - \a is C89.
7536         * MODULES.html.sh: Remove c-bs-a.
7537
7538 2006-06-29  Bruno Haible  <bruno@clisp.org>
7539
7540         * modules/wcwidth (License): Change to LGPL.
7541
7542 2006-06-28  Simon Josefsson  <jas@extundo.com>
7543
7544         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
7545         on _WIN32.
7546
7547         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
7548         getnameinfo.
7549
7550 2006-06-28  Simon Josefsson  <jas@extundo.com>
7551
7552         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
7553
7554 2006-06-28  Simon Josefsson  <jas@extundo.com>
7555
7556         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
7557         functions there.  It will succeed on Windows XP, but on Windows
7558         2000 and (presumably) earlier, it will fail, and use the internal
7559         re-implementation.
7560         (use_win32_p): New function.
7561         (getaddrinfo): Use strtoul on servname, to support numeric ports.
7562         Support AI_NUMERICSERV to disable getservbyname.
7563         (getnameinfo): New function, only supports
7564         NI_NUMERICHOST|NI_NUMERICSERV for now.
7565
7566         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
7567         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
7568         getnameinfo.
7569
7570 2006-06-28  Eric Blake  <ebb9@byu.net>
7571
7572         * modules/wcwidth: New file.
7573         * modules/mbchar (Depends-on): Add wcwidth.
7574         * modules/mbswidth (Depends-on): Add wcwidth.
7575         * MODULES.html.sh: Add wcwidth.
7576
7577 2006-06-28  Eric Blake  <ebb9@byu.net>
7578
7579         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
7580         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
7581
7582 2006-06-28  Eric Blake  <ebb9@byu.net>
7583
7584         * lib/xvasprintf.h: Fix comments.
7585
7586 2006-06-28  Eric Blake  <ebb9@byu.net>
7587
7588         * lib/mbchar.h (wcwidth): Include wcwidth.h.
7589         * lib/mbswidth.c (wcwidth): Move from here...
7590         * lib/wcwidth.h: ...to this new file.
7591
7592 2006-06-28  Derek R. Price  <derek@ximbiot.com>
7593
7594         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
7595
7596         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
7597         it's obsolete.
7598         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
7599
7600 2006-06-28  Derek R. Price  <derek@ximbiot.com>
7601
7602         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
7603         Autoconf 2.60 says this stuff was obsolete.
7604
7605 2006-06-28  Bruno Haible  <bruno@clisp.org>
7606
7607         * modules/wcwidth (Files): Add m4/wchar_t.m4.
7608
7609 2006-06-28  Bruno Haible  <bruno@clisp.org>
7610
7611         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
7612         gt_TYPE_WCHAR_T.
7613
7614 2006-06-28  Bruno Haible  <bruno@clisp.org>
7615
7616         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
7617         declaration for wcwidth.
7618         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
7619
7620 2006-06-28  Bruno Haible  <bruno@clisp.org>
7621
7622         * lib/mkdtemp.c [MINGW]: Include <io.h>.
7623         (mkdir): Define using _mkdir.
7624
7625 2006-06-28  Bruno Haible  <bruno@clisp.org>
7626
7627         * lib/getaddrinfo.h: Fix POSIX URL.
7628         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
7629         _WIN32.
7630         (use_win32_p): Make static.
7631         (getaddrinfo): Reject service name if it is empty or does not consist
7632         solely of decimal digits, or if its value is > 65535.
7633         (getnameinfo): Remove useless casts.
7634
7635 2006-06-27  Simon Josefsson  <jas@extundo.com>
7636
7637         * modules/sys_select: New file, suggested by Bruno Haible, Paul
7638         Eggert and Martin Lambers.
7639
7640 2006-06-27  Simon Josefsson  <jas@extundo.com>
7641
7642         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
7643         Eggert and Martin Lambers.
7644
7645 2006-06-27  Bruno Haible  <bruno@clisp.org>
7646
7647         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
7648         result to 0, not to empty.
7649         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
7650
7651 2006-06-27  Bruno Haible  <bruno@clisp.org>
7652
7653         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
7654
7655 2006-06-26  Simon Josefsson  <jas@extundo.com>
7656
7657         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
7658         present.
7659
7660 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
7661
7662         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
7663         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
7664         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
7665
7666 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
7667
7668         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
7669
7670 2006-06-26  Bruno Haible  <bruno@clisp.org>
7671
7672         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
7673
7674 2006-06-26  Bruno Haible  <bruno@clisp.org>
7675
7676         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
7677
7678 2006-06-26  Bruno Haible  <bruno@clisp.org>
7679
7680         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
7681         SGI C compiler in pre-C99 mode.
7682         Suggested by Mark D. Baushke and Larry Jones.
7683
7684 2006-06-26  Bruno Haible  <bruno@clisp.org>
7685
7686         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
7687         WCHAR_MAX.
7688         Reported by Mark D. Baushke and Larry Jones.
7689
7690 2006-06-26  Bruno Haible  <bruno@clisp.org>
7691
7692         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
7693         in pre-C99 mode.
7694         Suggested by Mark D. Baushke and Larry Jones.
7695
7696 2006-06-23  Simon Josefsson  <jas@extundo.com>
7697             Bruno Haible  <bruno@clisp.org>
7698
7699         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
7700         Emit mostlyclean-local rule.
7701         (func_emit_tests_Makefile_am): Likewise.
7702         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
7703
7704 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
7705
7706         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
7707
7708 2006-06-23  Bruno Haible  <bruno@clisp.org>
7709
7710         * tests/test-stdint.c: Update to match ISO C 99 Technical
7711         Corrigendum 1.
7712
7713 2006-06-23  Bruno Haible  <bruno@clisp.org>
7714
7715         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
7716
7717 2006-06-23  Bruno Haible  <bruno@clisp.org>
7718
7719         * lib/stdint_.h: Treat IRIX like OpenBSD.
7720
7721 2006-06-23  Bruno Haible  <bruno@clisp.org>
7722
7723         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
7724         ISO C 99 Technical Corrigendum 1.
7725
7726 2006-06-22  Simon Josefsson  <jas@extundo.com>
7727
7728         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
7729         MinGW.
7730
7731 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
7732
7733         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
7734         needed.  Some compiler complained about some of them.  Problem reported
7735         by Larry Jones in
7736         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
7737
7738 2006-06-21  Simon Josefsson  <jas@extundo.com>
7739
7740         * tests/test-getaddrinfo.c: New file.
7741
7742         * modules/getaddrinfo-tests: New file.
7743
7744         * MODULES.html.sh: Add inet_pton.
7745
7746         * modules/inet_pton: New file.
7747
7748 2006-06-21  Simon Josefsson  <jas@extundo.com>
7749
7750         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
7751         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
7752         of using the (limited) gnulib implementation on Windows XP.
7753
7754         * m4/inet_pton.m4: New file.
7755
7756 2006-06-21  Simon Josefsson  <jas@extundo.com>
7757
7758         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
7759         variable.
7760
7761         * lib/socket_.h: Don't define WINVER.
7762
7763         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
7764         slightly modified to work in gnulib.
7765
7766 2006-06-21  Simon Josefsson  <jas@extundo.com>
7767
7768         * doc/gnulib.texi (Windows sockets): Add.
7769
7770 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
7771
7772         * lib/read-file.c (fread_file): Start with buffer allocation of
7773         0 bytes rather than 1 byte; this simplifies the code.
7774         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
7775         code to free buffer and save/restore errno.
7776         (internal_read_file): Remove unused local.
7777
7778 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
7779
7780         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
7781         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
7782         Problem reported by Denis Excoffier in
7783         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
7784
7785 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7786
7787         * modules/sys_socket, modules/socklen: Include sys/types since
7788         FreeBSD 4.x's sys/socket.h needs it.
7789
7790 2006-06-19  Simon Josefsson  <jas@extundo.com>
7791
7792         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
7793
7794 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
7795
7796         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
7797
7798 2006-06-19  Bruno Haible  <bruno@clisp.org>
7799
7800         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
7801         and FULL_PATH_INTTYPES_H in angle brackets.
7802         Reported by Mark D. Baushke <mdb@gnu.org>.
7803
7804 2006-06-17  Eric Blake  <ebb9@byu.net>
7805
7806         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
7807         errno.
7808
7809 2006-06-17  Bruno Haible  <bruno@clisp.org>
7810
7811         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
7812         <sys/inttypes.h>.
7813
7814 2006-06-17  Bruno Haible  <bruno@clisp.org>
7815
7816         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
7817         whether errno is declared. Assume <errno.h> declares errno.
7818
7819 2006-06-17  Bruno Haible  <bruno@clisp.org>
7820
7821         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
7822
7823 2006-06-17  Bruno Haible  <bruno@clisp.org>
7824
7825         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
7826         problem on Solaris 2.5.1.
7827
7828 2006-06-16  Eric Blake  <ebb9@byu.net>
7829
7830         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
7831         * lib/unicodeio.c [!defined errno]: Likewise.
7832         * lib/strtol.c [!defined errno]: Likewise.
7833         * lib/strtod.c [!defined errno]: Likewise.
7834
7835 2006-06-15  Eric Blake  <ebb9@byu.net>
7836
7837         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
7838
7839 2006-06-15  Eric Blake  <ebb9@byu.net>
7840
7841         * config/srclist.txt (ssize_t.m4): Lose sync.
7842
7843 2006-06-15  Bruno Haible  <bruno@clisp.org>
7844
7845         * modules/stdint (Files): Include m4/full-header-path.m4,
7846         m4/size_max.m4, m4/wchar_t.m4.
7847         (Makefile.am): Many more substitutions.
7848         * modules/stdint-tests: New file.
7849         * tests/test-stdint.c: New file.
7850
7851 2006-06-15  Bruno Haible  <bruno@clisp.org>
7852
7853         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
7854         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
7855         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
7856         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
7857         gl_CHECK_TYPE_SAME): New macros.
7858
7859 2006-06-15  Bruno Haible  <bruno@clisp.org>
7860
7861         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
7862
7863 2006-06-15  Bruno Haible  <bruno@clisp.org>
7864
7865         * lib/stdint_.h: Rewritten to be fully auto-configured.
7866         Fixes bug on HP-UX/IA64.
7867
7868 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
7869
7870         * lib/getdate.y (__attribute__): Don't define if already defined.
7871         Problem reported by Larry Jones.
7872         * lib/utimens.c (__attribute__): Likewise.
7873
7874 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
7875
7876         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
7877         reported by Andreas Schwab.
7878
7879 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7880             Bruno Haible  <bruno@clisp.org>
7881
7882         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
7883         check for the declaration of strnlen and a run test that exposes the
7884         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
7885         rpl_strndup.
7886
7887 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7888             Bruno Haible  <bruno@clisp.org>
7889
7890         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
7891
7892 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7893
7894         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
7895         compile test, for Tru64 4.0D.
7896
7897 2006-05-28  Karl Berry  <karl@gnu.org>
7898
7899         * config/srclist.txt (printf-args.c): lose sync.
7900
7901 2006-05-26  Martin Lambers  <marlam@marlam.de>
7902
7903         * lib/getpass.c: Updates the test for the native W32 API, and adds
7904         missing includes, thus fixing compilation warnings.
7905
7906 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
7907
7908         * lib/exclude.c (exclude_fnmatch): New function.
7909         (excluded_file_name): Call exclude_fnmatch.
7910         * lib/exclude.h (excluded_file_name): New prototype
7911
7912 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7913
7914         * lib/tempname.c (small_open, large_open): New macros.
7915         (__open, __open64) [!_LIBC]: Remove.
7916         (__gen_tempname): Use small_open and large_open instead of __open
7917         and __open64.  This fixes a portability bug on HP-UX 11.11i
7918         reported by Simon Wing-Tang in
7919         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
7920
7921 2006-05-24  Bruno Haible  <bruno@clisp.org>
7922
7923         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
7924         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
7925         Reported by Thorsten Maerz <torte@netztorte.de> via
7926         Aaron Stone <aaron@serendipity.cx>.
7927
7928 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7929
7930         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
7931         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
7932         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
7933         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
7934         not really conditional on the cache.
7935         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
7936
7937 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7938
7939         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
7940         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
7941         (my_usleep): Don't mishandle maximum value.
7942
7943 2006-05-19  Jim Meyering  <jim@meyering.net>
7944
7945         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
7946
7947 2006-05-17  Bruno Haible  <bruno@clisp.org>
7948
7949         Cygwin portability.
7950         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
7951
7952 2006-05-17  Bruno Haible  <bruno@clisp.org>
7953
7954         * lib/stdint_.h: Fix recognition of Cygwin.
7955
7956 2006-05-15  Bruno Haible  <bruno@clisp.org>
7957
7958         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
7959         on libtool patch by Ralf Wildenhues.
7960
7961 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
7962
7963         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
7964         test for C99 conformance; (bool) 0.5 is an integer constant
7965         expression, but (bool) -0.5 is not.  Problem reported by Fedor
7966         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
7967
7968 2006-05-11  Simon Josefsson  <jas@extundo.com>
7969
7970         * m4/xvasprintf.m4: Fix obvious typo.
7971
7972 2006-05-11  Jim Meyering  <jim@meyering.net>
7973
7974         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
7975         James Lemley.
7976
7977 2006-05-10  Simon Josefsson  <jas@extundo.com>
7978
7979         * lib/md4.c: Typo fix, update copyright years.
7980         (K1, K2): Don't use L because it turn computations into 64-bit on
7981         64-bit platforms.
7982
7983 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
7984
7985         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
7986         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
7987         unwanted sign propagation, e.g., on hosts with 64-bit int.
7988         There still are some problems with reeelly weird theoretical hosts
7989         (e.g., 33-bit int) but it's not worth worrying about now.
7990         * lib/sha1.c (rol): Likewise.
7991         (K1, K2, K3, K4): Remove unnecessary L suffix.
7992
7993 2006-05-10  Bruno Haible  <bruno@clisp.org>
7994
7995         * lib/des.c: Cast to avoid warnings.
7996
7997 2006-05-09  Bruno Haible  <bruno@clisp.org>
7998
7999         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
8000         (Depends-on): Depend also on xsize, stdarg.
8001         (configure.ac): Add gl_XVASPRINTF.
8002
8003 2006-05-09  Bruno Haible  <bruno@clisp.org>
8004
8005         * m4/xvasprintf.m4: New file.
8006
8007 2006-05-09  Bruno Haible  <bruno@clisp.org>
8008
8009         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
8010         (EOVERFLOW): Define fallback value.
8011         (xstrcat): New function.
8012         (xvasprintf): Recognize the special case of a string concatenation.
8013
8014 2006-05-08  Eric Blake  <ebb9@byu.net>
8015
8016         * gnulib-tool (func_version): Base copyright year on CVS date.
8017         (func_emit_copyright_notice): New function.
8018         (func_emit_lib_Makefile_am): Use it.
8019         (func_emit_tests_Makefile_am): Likewise.
8020         (func_import): Likewise.
8021
8022 2006-05-08  Bruno Haible  <bruno@clisp.org>
8023
8024         * modules/stdarg: New file.
8025         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
8026
8027 2006-05-08  Bruno Haible  <bruno@clisp.org>
8028
8029         * m4/stdarg.m4: New file, from GNU gettext.
8030
8031 2006-05-08  Bruno Haible  <bruno@clisp.org>
8032
8033         * config/srclist.txt (build-aux/config.rpath): different from latest
8034         release.
8035
8036 2006-05-08  Bruno Haible  <bruno@clisp.org>
8037
8038         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
8039
8040 2006-05-05  Jim Meyering  <jim@meyering.net>
8041
8042         * m4/warning.m4: New file, derived from bison's file by the same name.
8043
8044 2006-05-03  Bruno Haible  <bruno@clisp.org>
8045
8046         * lib/stdint_.h: Shorter URL.
8047         * lib/inttypes.h: Likewise.
8048
8049 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
8050
8051         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
8052
8053 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
8054
8055         * lib/verify.h: Document the internals better.  Most of this change
8056         was written by Bruno Haible.
8057
8058 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
8059
8060         * doc/verify.texi: New file, partly based on a proposal by
8061         Bruno Haible.
8062
8063 2006-05-02  Bruno Haible  <bruno@clisp.org>
8064
8065         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
8066         test from here...
8067         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
8068
8069 2006-04-29  Bruno Haible  <bruno@clisp.org>
8070
8071         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
8072         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
8073
8074 2006-04-29  Bruno Haible  <bruno@clisp.org>
8075
8076         * gnulib-tool: Make --update option actually work.
8077
8078 2006-04-29  Bruno Haible  <bruno@clisp.org>
8079
8080         * doc/gcd.texi: New file.
8081         * doc/gnulib.texi: Include it.
8082
8083 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
8084
8085         * lib/getdate.y (get_date): When adding relative date, start with the
8086         initial time, not with the result of the first mktime call.
8087
8088 2006-04-25  Bruno Haible  <bruno@clisp.org>
8089
8090         * gnulib-tool (func_import): Output the include directives in three
8091         blocks, sorted separately.
8092         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8093
8094 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
8095
8096         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
8097         to define main with arguments, for C++.  Reported by Eric Blake.
8098         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
8099         Prefer 'int main ()' to 'int main (void)', for C++.
8100         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8101         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
8102         for 'main', for C99 and C++.
8103
8104 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
8105
8106         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
8107         Don't assume that exit status -1 is valid.
8108         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8109         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
8110         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
8111         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
8112         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
8113         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
8114         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
8115         functions can be used without declaring them, or that you can
8116         exit with status -1.
8117         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
8118
8119 2006-04-24  Karl Berry  <karl@gnu.org>
8120
8121         * config/srclist.txt (longdouble.m4): sync lost.
8122
8123 2006-04-24  Eric Blake  <ebb9@byu.net>
8124
8125         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
8126
8127 2006-04-24  Bruno Haible  <bruno@clisp.org>
8128
8129         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
8130         poll() implementation in AIX.
8131         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8132
8133 2006-04-24  Bruno Haible  <bruno@clisp.org>
8134
8135         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
8136         assigned exactly once.
8137
8138 2006-04-23  Claudio Fontana  <claudio@gnu.org>
8139             Bruno Haible  <bruno@clisp.org>
8140
8141         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
8142         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
8143         for AM_CPPFLAGS.
8144
8145 2006-04-23  Bruno Haible  <bruno@clisp.org>
8146
8147         * modules/copy-file: Depend on unistd.
8148         * modules/execute: Likewise.
8149         * modules/fatal-signal: Likewise.
8150         * modules/findprog: Likewise.
8151         * modules/mkdtemp : Likewise.
8152         * modules/pipe: Likewise.
8153         * modules/wait-process: Likewise.
8154
8155 2006-04-23  Bruno Haible  <bruno@clisp.org>
8156
8157         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
8158         condition was already detected.
8159         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8160
8161 2006-04-23  Bruno Haible  <bruno@clisp.org>
8162
8163         * lib/copy-file.c: Include <unistd.h> unconditionally.
8164         * lib/execute.c: Likewise.
8165         * lib/fatal-signal.c: Likewise.
8166         * lib/findprog.c: Likewise.
8167         * lib/mkdtemp.c: Likewise.
8168         * lib/pipe.h: Likewise.
8169         * lib/pipe.c: Likewise.
8170         * lib/wait-process.h: Likewise.
8171
8172 2006-04-23  Bruno Haible  <bruno@clisp.org>
8173
8174         * gnulib-tool (func_usage): Fix --import description. Document
8175         --update.
8176         (func_import): Create temporary file in a temporary directory, if
8177         --dry-run is specified. Silence errors from 'grep' when there are no
8178         m4 files in $m4dir.
8179         (func_create_testdir): Silence errors from 'grep' when there are no
8180         m4 files in $m4dir.
8181         Reported by Karl Berry <karl@freefriends.org>.
8182
8183 2006-04-20  Bruno Haible  <bruno@clisp.org>
8184
8185         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
8186         one argument, so that the code will be portable to Autoconf 2.60.
8187         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
8188         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8189         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
8190
8191 2006-04-19  Derek Price  <derek@ximbiot.com>
8192             Eric Blake  <ebb9@byu.net>
8193
8194         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
8195         rather than "/full/path.h".  Update comment to match.  Shorten &
8196         generalize m4_translit call via AS_TR_CPP.
8197
8198 2006-04-19  Derek Price  <derek@ximbiot.com>
8199             Eric Blake  <ebb9@byu.net>
8200
8201         * lib/inttypes.h: Correct grammar in comment.
8202
8203 2006-04-18  Derek Price  <derek@ximbiot.com>
8204             Paul Eggert  <eggert@cs.ucla.edu>
8205
8206         * modules/inttypes: New file.
8207         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
8208
8209 2006-04-18  Derek Price  <derek@ximbiot.com>
8210             Paul Eggert  <eggert@cs.ucla.edu>
8211
8212         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
8213         New files.
8214
8215 2006-04-18  Derek Price  <derek@ximbiot.com>
8216             Paul Eggert  <eggert@cs.ucla.edu>
8217
8218         * lib/inttypes.h: New file.
8219         * lib/strtoimax.c: Assume <inttypes.h>.
8220
8221 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8222
8223         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
8224         isn't mounted.  Problem reported by Kir Kolyshkin.
8225
8226 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8227
8228         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
8229         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
8230         Derek R. Price.
8231         * lib/regex.h (RE_DUP_MAX): Update comment to match current
8232         implementation.
8233
8234 2006-04-12  Eric Blake  <ebb9@byu.net>
8235
8236         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
8237         is now done automatically by the corresponding Autoconf macro.
8238
8239 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8240
8241         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
8242         time_r.h.
8243
8244 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8245
8246         Merge regex changes from libc, removing some of our
8247         POSIX-conformance changes that were rejected and redoing them in a
8248         less-intrusive way.
8249
8250         * lib/regcomp.c (re_compile_internal, init_dfa):
8251         Length arg is now size_t, not Idx.  All uses changed.
8252         (peek_token): Forward decl now says internal_function.
8253         (__re_error_msgid, __re_error_msgid_idx):
8254         Now static rather than extern with attribute_hidden.
8255         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
8256         For some reason libc prefers K&R style defns for external functions.
8257         (regerror) [!defined _LIBC]: Likewise.
8258         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
8259         (seek_collating_symbol_entry, lookup_collation_sequence_value):
8260         (build_range_exp, build_collating_symbol):
8261         Use K&R-style defn.
8262         (re_compile_fastmap): Use '\0' to memset, not 0.
8263         (utf8_sb_map): Make the calculations more obvious.
8264         (init_dfa, parse_bracket_exp, build_charclass_op):
8265         Call calloc and cast result, as glibc does.
8266         (init_word_char, fetch_token, peek_token, peek_token_bracket):
8267         (build_range_exp, build_collating_symbol):
8268         Now internal functions.
8269
8270         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
8271
8272         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
8273         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
8274         Don't depend on VMS; depend on __VMS instead, for POSIX
8275         namespace cleanness.
8276         (regoff_t): Define to ssize_t, not long int.
8277
8278         Remove the REG_ macros named below.  Instead, make the old names
8279         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
8280         __USE_GNU_REGEX.
8281         (REG_BACKSLASH_ESCAPE_IN_LISTS):
8282         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
8283         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
8284         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
8285         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
8286         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
8287         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
8288         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
8289         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
8290         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
8291         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
8292         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
8293         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
8294         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
8295         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
8296         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
8297         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
8298         (REG_NREGS):
8299         Remove.  All uses replaced by the old RE_* names.
8300         (RE_BACKSLASH_ESCAPE_IN_LISTS):
8301         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
8302         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
8303         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
8304         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
8305         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
8306         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
8307         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
8308         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
8309         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
8310         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
8311         Don't bother having these macros be independent of each others'
8312         values, since they no longer exist in the POSIX name space.
8313
8314         Rename the following member names back to their old names,
8315         unless !__USE_GNU_REGEX.  All uses changed back.
8316         (buffer): Renamed from re_buffer.
8317         (allocated): Renamed from re_allocated.
8318         (used): Renamed from re_used.
8319         (syntax): Renamed from re_syntax.
8320         (fastmap): Renamed from re_fastmap.
8321         (translate): Renamed from re_translate.
8322         (can_be_null): Renamed from re_can_be_null.
8323         (regs_allocated): Renamed from re_regs_allocated.
8324         (fastmap_accurate): Renamed from re_fastmap_accurate.
8325         (no_sub): Renamed from re_no_sub.
8326         (not_bol): Renamed from re_not_bol.
8327         (not_eol): Renamed from re_not_eol.
8328         (newline_anchor): Renamed from re_newline_anchor.
8329         (num_regs): Renamed from rm_num_regs.
8330         (start): Renamed from rm_start.
8331         (end): Renamed from rm_end.
8332
8333         (free_state): Move up a bit.
8334
8335         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
8336         #define to be empty.
8337         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
8338         when that is what is intended.
8339         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
8340         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
8341         (MAX): New macro.
8342         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
8343         All uses changed back to re_malloc, etc.  It's now the caller's
8344         responsibility to check for overflow; all callers changed.
8345         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
8346         (re_x2nrealloc): Remove.
8347         (free_state): Remove decl.
8348
8349         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
8350         (re_set_registers, re_exec):
8351         Use K&R-style defn.
8352
8353         2006-01-31  Roland McGrath  <roland@redhat.com>
8354
8355         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
8356         Reported by Mike Frysinger <vapier@gentoo.org>.
8357
8358         2006-01-15  Andreas Jaeger  <aj@suse.de>
8359
8360         [BZ #1950]
8361         * lib/regex_internal.c (re_string_reconstruct): Adjust for
8362         build_wcs_upper_buffer change.
8363         (build_wcs_upper_buffer): Change return type.
8364
8365         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
8366
8367         * lib/regex_internal.h: Include <stdint.h> if available.
8368
8369         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
8370
8371         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
8372
8373         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
8374
8375         * lib/regcomp.c: Adjust for changed secondary hash function.
8376
8377         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
8378
8379         * lib/regex.h: Pretty printing.
8380         Clean up namespace a bit.
8381
8382         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
8383
8384         * lib/regexec.c (update_cur_sifted_state, check_arrival,
8385         check_arrival_add_next_nodes): Avoid using uninitialized variable.
8386
8387         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
8388                     Ulrich Drepper  <drepper@redhat.com>
8389
8390         [BZ #1302]
8391         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
8392         changed.
8393         (bitset_word_t): Renamed from bitset_word.  All uses changed.
8394
8395         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
8396
8397         [BZ #281]
8398         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
8399         * lib/regcomp.c: Remove unnecessary uses of
8400         unsigned RE_TRANSLATE_TYPE.
8401         * lib/regex_internal.h: Likewise.
8402         * lib/regex_internal.c: Likewise.
8403         * lib/regexec.c: Likewise.
8404         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
8405
8406         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
8407
8408         * lib/regexec.c (find_recover_state): Remove unnecessary
8409         initialization.
8410         (transit_state_bkref): Make DFA a const pointer.
8411         (get_subexp): Likewise.
8412         (check_arrival): Likewise.
8413         (update_cur_sifted_state): Likewise.
8414         (re_search_internal): Likewise.
8415         (prune_impossible_nodes): Likewise.
8416         (acquire_init_state_context): Likewise.
8417         (proceed_next_node): Likewise.
8418         (set_regs): Likewise.
8419         (free_fail_stack_return): Likewise.
8420         (check_arrival_expand_ecl): Mark DFA parameter as const.
8421         (check_arrival_expand_ecl_sub): Likewise.
8422         (check_subexp_limits): Likewise.
8423         (sub_epsilon_src_nodes):  Likewise.
8424         (add_epsilon_src_nodes):  Likewise.
8425         (merge_state_array): Likewise.
8426         (update_regs): Likewise.
8427         (build_trtable): Likewise.
8428         (sift_states_backward): Mark MCTX parameter as const.
8429         (build_sifted_states): Likewise.
8430         (update_cur_sifted_state): Likewise.
8431         (sift_states_mkref): Likewise.
8432         (check_arrival_expand_ecl): Mark eclosure as const.
8433         (check_dst_limits_calc_pos_1): Likewise.
8434         * lib/regex_internal.h (re_match_context_t): Make dfa a const
8435         pointer.
8436
8437         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
8438
8439         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
8440         (transit_state_sb): Likewise.
8441         (transit_state_mb): Likewise.
8442         (sift_states_iter_mb): Likewise.
8443         (check_arrival_add_next_nodes): Likewise.
8444         (check_node_accept_bytes): Change first parameter to pointer-to-const.
8445         [_LIBC] (re_search_2_stub): Use mempcpy.
8446
8447         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
8448         mbrtowc for very simple UTF-8 case.
8449
8450         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
8451         a pointer-to-const.
8452         (re_acquire_state_context): Likewise.
8453         * lib/regex_internal.h: Adjust prototypes.
8454
8455         * lib/regex.c: Prevent using C++ compilers.
8456
8457         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
8458         (re_acquire_state_context): Likewise.
8459
8460 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8461
8462         * modules/regex (Depends-on): Add ssize_t.
8463
8464 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8465
8466         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
8467         translation table.
8468
8469 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8470
8471         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
8472
8473 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
8474             Bruno Haible  <bruno@clisp.org>
8475
8476         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
8477         <sys/types.h> and <inttypes.h>.
8478
8479 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8480
8481         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
8482         `__error_t_defined', so argp.h will not typedef the former.
8483
8484 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
8485
8486         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
8487         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
8488         glibc names.  Even if glibc is changed to conform to POSIX, the
8489         traditional names will be available anyway, since regex depends on
8490         the extensions module.  Also, fix a longstanding typo in the
8491         implementation of Spencer ERE test #75 from grep 2.3.  Problems
8492         reported by Emanuele Giaquinta.  Also, change sense of cached
8493         variable, so that the message makes sense.
8494
8495 2006-03-24  Simon Josefsson  <jas@extundo.com>
8496
8497         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
8498         including some doc fixes.
8499         (base64_encode_alloc): Fix +1 bug on allocation failures.
8500
8501 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8502
8503         * lib/base64.c (base64_encode): Do not read past end of array with
8504         unsanitized input on systems with CHAR_BIT > 8.
8505
8506 2006-03-24  Eric Blake  <ebb9@byu.net>
8507
8508         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
8509
8510 2006-03-22  Karl Berry  <karl@gnu.org>
8511
8512         * config/srclist.txt (*setenv.[ch]): get from coreutils.
8513         * config/srclistvars.sh (COREUTILS): new var.
8514
8515 2006-03-17  Jim Meyering  <jim@meyering.net>
8516
8517         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
8518         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
8519
8520 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
8521
8522         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
8523         no longer needs it.  Instead, check that regoff_t is as least
8524         as wide as ptrdiff_t.
8525
8526         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
8527         so that our regex.h stays compatible with the installed regex.
8528         This is helpful for installers who configure --without-included-regex.
8529         Problem reported by Emanuele Giaquinta.
8530
8531 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
8532
8533         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
8534         Typedef to long int, not to off_, as POSIX will likely change
8535         in that direction.
8536
8537 2006-03-15  Eric Blake  <ebb9@byu.net>
8538
8539         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
8540
8541 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
8542
8543         * lib/argp-help.c (validate_uparams): Fix typo
8544         * lib/argp-parse.c (argp_default_options): Consistently begin help
8545         messages with a lowercase letter.
8546
8547 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
8548
8549         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
8550         overrun buffers and shouldn't be used (much as gets shouldn't be
8551         used).
8552         * lib/time_r.c (asctime_r, ctime_r): Likewise.
8553
8554 2006-03-08  Simon Josefsson  <jas@extundo.com>
8555
8556         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
8557         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8558
8559 2006-03-08  Simon Josefsson  <jas@extundo.com>
8560
8561         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
8562         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8563
8564 2006-03-08  Simon Josefsson  <jas@extundo.com>
8565
8566         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
8567         signal that configure disabled the device.
8568
8569 2006-03-08  Simon Josefsson  <jas@extundo.com>
8570
8571         * build-aux/maint.mk: Fix refresh-po, to handle no translated
8572         languages.
8573
8574 2006-03-07  Simon Josefsson  <jas@extundo.com>
8575
8576         * modules/getopt (Depends-on): Add unistd.
8577
8578         * modules/unistd: New file.
8579
8580 2006-03-07  Simon Josefsson  <jas@extundo.com>
8581
8582         * modules/gc-random: New file.
8583
8584 2006-03-07  Simon Josefsson  <jas@extundo.com>
8585
8586         * m4/unistd_h.m4: New file.
8587
8588 2006-03-07  Simon Josefsson  <jas@extundo.com>
8589
8590         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
8591         test to be side-effect free by storing the result in the cache
8592         variable gl_cv_lib_readline, and moving the assignment of
8593         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
8594         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8595
8596 2006-03-07  Simon Josefsson  <jas@extundo.com>
8597
8598         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
8599         error on missing devices (the functions will return an error).
8600
8601         * m4/gc.m4: Move random stuff to gc-random.m4
8602
8603 2006-03-07  Simon Josefsson  <jas@extundo.com>
8604
8605         * lib/unistd_.h: New file.
8606
8607 2006-03-07  Simon Josefsson  <jas@extundo.com>
8608
8609         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
8610
8611 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8612
8613         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
8614         Problem reported by Juan Manuel Guerrero.
8615
8616 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8617
8618         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
8619         the unistd module.
8620         * lib/getlogin_r.c: Likewise.
8621         * lib/getlogin_r.h: Likewise.
8622         * lib/glob.c: Likewise.
8623         * lib/pagealign_alloc.c: Likewise.
8624         * lib/unistd_.h: Remove; no longer needed.
8625
8626 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
8627
8628         * MODULES.html.sh (Support for systems lacking POSIX:2001):
8629         Add unistd.
8630         * modules/c-stack (Depends-on): Add unistd.
8631         * modules/getlogin_r: Likewise.
8632         * modules/glob: Likewise.
8633         * modules/pagealign_alloc: Likewise.
8634         * modules/unistd (Files): Remove lib/unistd_.h.
8635         (EXTRA_DIST): Remove.
8636         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
8637         need unistd_.h.
8638         (MOSTLYCLEANFILES): Remove unistd.h-t.
8639
8640 2006-03-03  Simon Josefsson  <jas@extundo.com>
8641
8642         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
8643
8644 2006-03-03  Simon Josefsson  <jas@extundo.com>
8645
8646         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
8647         libidn and bison.
8648
8649 2006-03-03  Simon Josefsson  <jas@extundo.com>
8650
8651         * build-aux/maint.mk: Add indent target.
8652
8653 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
8654
8655         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
8656         our replacement poll.h in any case, to avoid a differing
8657         declaration from a system header.  Seen on AIX.
8658
8659 2006-03-01  Simon Josefsson  <jas@extundo.com>
8660
8661         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
8662         <kasal@ucw.cz>.
8663
8664 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
8665
8666         * modules/gettime (Depends-on): Add extensions module.
8667         * modules/nanosleep (Depends-on): Likewise.
8668         * modules/settime (Depends-on): Likewise.
8669
8670 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
8671
8672         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
8673         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
8674         pedantically.
8675         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8676         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
8677
8678         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
8679         not "==".  Reported by Ralf Wildenhues.
8680
8681 2006-03-01  Karl Berry  <karl@gnu.org>
8682
8683         * doc/Copyright/request-*: new files, synced from gnuorg.
8684
8685 2006-03-01  Karl Berry  <karl@gnu.org>
8686
8687         * config/srclist.txt (Copyright/*): new entries.
8688
8689 2006-02-28  Simon Josefsson  <jas@extundo.com>
8690
8691         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
8692
8693 2006-02-27  Simon Josefsson  <jas@extundo.com>
8694
8695         * lib/base64.h: Indent #define's.  From Jim Meyering
8696         <jim@meyering.net>.
8697
8698 2006-02-27  Jim Meyering  <jim@meyering.net>
8699
8700         Revert the change of 2006-02-24, so these files can continue
8701         to be sync'd from gettext.
8702         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
8703         of `config.h'.
8704
8705 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
8706
8707         * modules/intprops: New file.
8708         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
8709         Add intprops.
8710         * modules/getloadavg (Files): Remove lib/intprops.h.
8711         (Depends-on): Add intprops.
8712         * modules/human: Likewise.
8713         * modules/inttostr: Likewise.
8714         * modules/openat: Likewise.
8715         * modules/sig2str: Likewise.
8716         * modules/userspec: Likewise.
8717         * modules/utimecmp: Likewise.
8718         * modules/xnanosleep: Likewise.
8719         * modules/xstrtol: Likewise.
8720
8721 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
8722
8723         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
8724         * modules/lock-tests (TESTS): Use $(EXEEXT).
8725         * modules/tls-tests: Likewise.
8726         * modules/argp-tests: Likewise.
8727         (check_PROGRAMS): New var, replacing...
8728         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
8729
8730 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8731
8732         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
8733         `config.h'.
8734
8735 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8736
8737         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
8738
8739 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8740
8741         Sync from coreutils.
8742         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
8743         gl_CHDIR_SAFER.
8744
8745 2006-02-22  Jim Meyering  <jim@meyering.net>
8746
8747         Sync from coreutils.
8748         * m4/chdir-safer.m4: New file.
8749
8750 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
8751
8752         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
8753         AT_FDCWD exceeds INT_MAX.
8754         * lib/openat.h (AT_FDCWD): Likewise.
8755
8756 2006-02-17  Eric Blake  <address@hidden>
8757
8758         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
8759
8760 2006-02-16  Simon Josefsson  <jas@extundo.com>
8761
8762         * modules/getaddrinfo (Depends-on): Add sys_socket.
8763
8764 2006-02-15  Simon Josefsson  <jas@extundo.com>
8765
8766         * build-aux/maint.mk: Add dsyntax-check rule.
8767
8768 2006-02-15  Eric Blake  <ebb9@byu.net>
8769
8770         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
8771         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
8772         'present but cannot compile' warnings on cygwin.
8773         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
8774         use ws2tcpip.h if sys/socket.h works.
8775         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
8776         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
8777
8778 2006-02-14  Simon Josefsson  <jas@extundo.com>
8779
8780         * modules/maintainer-makefile (Files): Rename.
8781
8782         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
8783         and (the local) Makefile.cfg to maint-cfg.mk.
8784
8785         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
8786         to the latter.
8787
8788         * modules/maintainer-makefile: New module.
8789
8790         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
8791         severaly stripped to make it possible to build it up from scratch
8792         with reliable tests.
8793
8794         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
8795         fixes to permit overriding the default actions when configure and
8796         makefile are not available.
8797
8798 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
8799
8800         Sync from coreutils.
8801         * modules/lstat (Depends-on): Don't depend on xalloc.
8802         (License): Change from GPL to LGPL, since this is now simply a
8803         replacement for a libc function.
8804
8805 2006-02-14  Jim Meyering  <jim@meyering.net>
8806
8807         Sync from coreutils.
8808
8809         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
8810         failure on deficient systems, and simplify gnulib lgpl dependencies.
8811         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
8812         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
8813
8814         * lib/xalloc-die.c: Remove unused definition of N_.
8815
8816 2006-02-14  Jim Meyering  <jim@meyering.net>
8817
8818         Sync from coreutils.
8819         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
8820         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
8821         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
8822         double-quote uses of that variable, to accommodate the rare case in
8823         which getmntent is available in none of the libraries checked.  This
8824         happens at least on FreeBSD 5.0.
8825
8826 2006-02-13  Simon Josefsson  <jas@extundo.com>
8827
8828         * gnulib-tool (Usage): Fix --import, from
8829         karl@freefriends.org (Karl Berry).
8830
8831 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
8832
8833         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
8834
8835 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
8836
8837         * lib/argp-namefrob.h: Restore changes accidentally lost during the
8838         "autoupdate" on 2005-12-12.
8839
8840 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8841
8842         * modules/closeout (Depends-on): Remove atexit.
8843
8844 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8845
8846         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
8847         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
8848
8849 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
8850
8851         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
8852         __EXTENSIONS__ if this causes compilation to fail.  Problem
8853         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
8854         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
8855
8856 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8857
8858         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
8859         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
8860         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
8861         All uses changed.
8862
8863 2006-01-26  Simon Josefsson  <jas@extundo.com>
8864
8865         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
8866         prototype is visible on mingw32.
8867
8868         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
8869         for mingw32.
8870
8871         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
8872         mingw32).
8873
8874 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
8875
8876         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
8877         attempt to open for write; this always fails, at least on POSIX
8878         hosts.  This reinstates the 2006-01-09 change, which was
8879         inadvertently removed.
8880
8881 2006-01-26  Bruno Haible  <bruno@clisp.org>
8882
8883         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
8884         Reported by Paul Eggert.
8885
8886 2006-01-26  Bruno Haible  <bruno@clisp.org>
8887             Paul Eggert  <eggert@cs.ucla.edu>
8888
8889         * lib/stdbool_.h (_Bool)
8890         [(! (defined __cplusplus || defined __BEOS__)
8891           && !defined __GNUC__
8892           && !(defined __HP_cc || defined __xlc__
8893                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
8894                || defined __sgi))]:
8895         #define to signed char in these cases too; this simplifies
8896         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
8897         etc., separately) and makes it more conservative.
8898
8899 2006-01-25  Simon Josefsson  <jas@extundo.com>
8900
8901         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
8902         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
8903         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
8904
8905 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
8906
8907         * lib/argp-namefrob.h: Bugfix. Remove stray #
8908
8909 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8910
8911         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
8912         so that we test the test.
8913         Check for yet another HP-UX cc bug involving *bool |= bool.
8914
8915 2006-01-25  Karl Berry  <karl@gnu.org>
8916
8917         * config/srclist.txt (vasnprintf.c): sync lost.
8918
8919 2006-01-25  Jim Meyering  <jim@meyering.net>
8920
8921         Sync from the stable (b5) branch of coreutils:
8922
8923         * lib/fts.c (fts_children): Don't let close() clobber errno from
8924         failed fchdir().
8925
8926         * lib/fts.c (fts_stat): When following a symlink-to-directory,
8927         don't necessarily interpret stat-fails+lstat-succeeds as indicating
8928         a dangling symlink.  That can also happen at least for ELOOP.
8929         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
8930         FYI, this bug predates the inclusion of fts.c in coreutils.
8931
8932         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
8933         in their own block, so pre-c99 compilers don't object.
8934
8935         Avoid the double-free (first in fts_read, second in fts_close) that
8936         would occur when an `active' directory is made inaccessible (e.g.,
8937         via chmod a-x) during a traversal.
8938         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
8939         before returning.  Reproduce this failure by
8940         mkdir -p a/b; cd a; chmod a-x . b
8941         Reported by Stavros Passas.
8942
8943 2006-01-25  Jim Meyering  <jim@meyering.net>
8944
8945         * lib/fileblocks.c: Remove more useless parentheses.
8946         * lib/readutmp.h: Likewise.
8947
8948 2006-01-25  Bruno Haible  <bruno@clisp.org>
8949
8950         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
8951         warnings.
8952         Reported by Paul Eggert.
8953
8954 2006-01-25  Bruno Haible  <bruno@clisp.org>
8955
8956         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
8957         rid of a trap command. For Solaris sh.
8958         Reported by Mark D. Baushke <mdb@gnu.org>.
8959
8960 2006-01-24  Simon Josefsson  <jas@extundo.com>
8961
8962         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
8963         Bruno.
8964
8965 2006-01-24  Karl Berry  <karl@gnu.org>
8966
8967         * config/srclist.txt (argp-namefrob.h): sync lost.
8968
8969 2006-01-24  Jim Meyering  <jim@meyering.net>
8970
8971         * modules/openat (Files): Add lib/intprops.h.
8972         From Mark D. Baushke.
8973
8974 2006-01-24  Jim Meyering  <jim@meyering.net>
8975
8976         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
8977         Reported by Mark D. Baushke.
8978
8979 2006-01-24  Jim Meyering  <jim@meyering.net>
8980
8981         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
8982
8983 2006-01-24  Bruno Haible  <bruno@clisp.org>
8984
8985         * modules/strnlen (Maintainer): Change from glibc to all.
8986
8987 2006-01-24  Bruno Haible  <bruno@clisp.org>
8988
8989         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
8990         Patch by Paul Eggert.
8991
8992 2006-01-24  Bruno Haible  <bruno@clisp.org>
8993
8994         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
8995         already has it.
8996         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
8997         2005-11-26.
8998
8999         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
9000         'signed char' to avoid problems with the built-in _Bool type.
9001         Reported by Paul Eggert on 2005-11-26.
9002
9003 2006-01-24  Bruno Haible  <bruno@clisp.org>
9004
9005         * gnulib-tool (func_import): Avoid constructing complicated sed
9006         expressions inside backquote.
9007         Report and solution by Mark D. Baushke <mdb@gnu.org>.
9008
9009 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
9010
9011         These changes imported from libc.
9012         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
9013         test and two separate function calls.
9014         * lib/strndup.c (__strndup): Add libc_hidden_def.
9015
9016 2006-01-23  Simon Josefsson  <jas@extundo.com>
9017
9018         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
9019         Remove the test_*_SOURCES variable: automake infers it by default.
9020         * modules/tls-tests: Likewise.
9021
9022 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9023
9024         Work around porting bugs reported by Dieter in
9025         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
9026         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
9027         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
9028         Include "getopt.h" first, to check interface.
9029         (getenv): Declare only if defined HAVE_DECL_GETENV &&
9030         !HAVE_DECL_GETENV.
9031         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
9032         (__strndup): Revert to K&R-style function dfns, the glibc style.
9033         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
9034         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
9035         Include strnlen.h first, to get prototype properly.
9036         (strnlen): Renamed from __strnlen.
9037         Remove weak alias.
9038
9039 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9040
9041         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
9042
9043 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9044
9045         * config/srclist.txt: Adjust to reflect glibc reorganization.
9046         This affects only comments.
9047
9048 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
9049
9050          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
9051          Reported by Bruce Korb <bkorb@gnu.org>.
9052
9053 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
9054
9055         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
9056         to pacify gcc -Wswitch-default.
9057
9058 2006-01-22  Bruno Haible  <bruno@clisp.org>
9059
9060         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
9061         temporary buffer for sprintf, take into account the precision also
9062         for 'd', 'i', 'u', 'o', 'x', 'X'.
9063
9064 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
9065
9066         * modules/argp-tests: New module
9067         * tests/test-argp.c: New file
9068         * tests/test-argp-2.sh: New file
9069
9070 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
9071
9072         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
9073         (__argp_base_name): Removed
9074         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
9075         typo.
9076         (__argp_base_name): Provide macro definition or extern declaration
9077         depending on the configuration
9078
9079 2006-01-20  Simon Josefsson  <jas@extundo.com>
9080
9081         * modules/inet_ntop (Depends-on): Depend on sys_socket.
9082
9083 2006-01-20  Simon Josefsson  <jas@extundo.com>
9084
9085         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
9086
9087 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
9088
9089         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
9090         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
9091         Suggested by Bruno Haible.
9092
9093 2006-01-20  Karl Berry  <karl@gnu.org>
9094
9095         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
9096         until changes propagate, I guess.
9097
9098 2006-01-19  Simon Josefsson  <jas@extundo.com>
9099
9100         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
9101
9102 2006-01-19  Simon Josefsson  <jas@extundo.com>
9103
9104         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
9105
9106 2006-01-19  Simon Josefsson  <jas@extundo.com>
9107
9108         * gnulib-tool: Set check_PROGRAMS.
9109
9110         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
9111         modules/des-tests, modules/gc-arcfour-tests,
9112         modules/gc-arctwo-tests, modules/gc-des-tests,
9113         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
9114         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
9115         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
9116         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
9117         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
9118         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
9119         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
9120         test_*_SOURCES.
9121
9122 2006-01-18  Simon Josefsson  <jas@extundo.com>
9123
9124         * modules/socklen (Depends-on): Depend on sys_socket.
9125
9126 2006-01-18  Simon Josefsson  <jas@extundo.com>
9127
9128         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
9129         modules/des-tests, modules/gc-arcfour-tests,
9130         modules/gc-arctwo-tests, modules/gc-des-tests,
9131         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
9132         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
9133         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
9134         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
9135         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
9136         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
9137         $(EXEEXT) to automake TESTS variable, for mingw32.
9138
9139 2006-01-17  Simon Josefsson  <jas@extundo.com>
9140
9141         * modules/socklen (Include): Need sys/socket.h.
9142
9143 2006-01-17  Bruno Haible  <bruno@clisp.org>
9144
9145         * modules/ssize_t (Include): Add <sys/types.h>.
9146
9147 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
9148
9149         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
9150         it's not portable and it doesn't work with cross-compiles.
9151         Problem reported by Bruno Haible.  Fix missing-$ typo in
9152         'test "gl_cv_ignore_unused_libraries" ...' that prevented
9153         -zignore from being used with Sun's C compiler.
9154
9155 2006-01-12  Simon Josefsson  <jas@extundo.com>
9156
9157         * lib/base64.c: Fix warning, reported by Bruno Haible
9158         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
9159
9160 2006-01-12  Bruno Haible  <bruno@clisp.org>
9161
9162         * modules/ldd: New file.
9163         * build-aux/ldd.sh.in: New file.
9164         * MODULES.html.sh (Support for building libraries and executables): Add
9165         ldd.
9166
9167 2006-01-12  Bruno Haible  <bruno@clisp.org>
9168
9169         * m4/ldd.m4: New file.
9170
9171 2006-01-12  Bruno Haible  <bruno@clisp.org>
9172
9173         * gnulib-tool (func_import, func_create_testdir): Don't go into an
9174         endless loop while replacing $auxdir with build-aux.
9175
9176 2006-01-11  Simon Josefsson  <jas@extundo.com>
9177
9178         * lib/stdint_.h (SIZE_MAX): Add missing (.
9179
9180 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
9181
9182         Sync from coreutils.
9183         * lib/md5.c: Fix commentary typos.
9184         (alignof, UNALIGNED_P): No need for a GCC-specific version.
9185         * lib/md5.h (__attribute__): Remove; unused.
9186         * lib/sha1.c: Fix commentary to match md5 better.
9187         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
9188         so that we don't need to worry about alignment.  All uses changed.
9189         This merges the 2005-10-28 md5 change into sha1.
9190
9191 2006-01-11  Jim Meyering  <jim@meyering.net>
9192
9193         Sync from coreutils.
9194         * lib/md5.c (OP): Fix spacing.
9195
9196 2006-01-11  Bruno Haible  <bruno@clisp.org>
9197
9198         Ensure automatic ordering between gl_LOCK and gl_ARGP.
9199         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
9200         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
9201
9202 2006-01-11  Bruno Haible  <bruno@clisp.org>
9203
9204         Ensure automatic ordering between gl_LOCK and gl_ARGP.
9205         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
9206         the "early" section as well.
9207
9208 2006-01-11  Bruno Haible  <bruno@clisp.org>
9209
9210         Avoid "ar: no archive members specified" error on MacOS X.
9211         * gnulib-tool (func_modules_add_dummy): New function.
9212         (func_import, func_create_testdir): Invoke it.
9213
9214 2006-01-11  Bruno Haible  <bruno@clisp.org>
9215
9216         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
9217         with $auxdir in AC_CONFIG_FILES statements.
9218
9219 2006-01-11  Bruno Haible  <bruno@clisp.org>
9220
9221         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9222         Initialize also noinst_HEADERS to empty.
9223
9224 2006-01-11  Bruno Haible  <bruno@clisp.org>
9225
9226         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
9227         variables.
9228         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
9229         autoreconf.
9230
9231 2006-01-11  Bruno Haible  <bruno@clisp.org>
9232
9233         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
9234         overridable by the user.
9235         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9236
9237 2006-01-10  Simon Josefsson  <jas@extundo.com>
9238
9239         * modules/sys_socket: New file.
9240
9241 2006-01-10  Simon Josefsson  <jas@extundo.com>
9242
9243         * m4/sys_socket_h.m4: New file.
9244
9245 2006-01-10  Simon Josefsson  <jas@extundo.com>
9246
9247         * lib/socket_.h: New file.
9248
9249 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9250
9251         * modules/readutmp (Maintainer): Add myself.
9252
9253 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9254
9255         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
9256         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
9257         People who are still concerned with buggy memcmp implementations
9258         can invoke gl_FUNC_MEMCMP themselves.
9259
9260 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9261
9262         * lib/regex_internal.h (BITSET_WORD_BITS):
9263         Work around a bug in 64-bit PGC (before version 6.1-2), where the
9264         preprocessor mishandles large unsigned values as if they were signed.
9265         Problem reported by Claudio Fontana in
9266         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
9267
9268 2006-01-10  Jim Meyering  <jim@meyering.net>
9269
9270         Avoid the double-free (first in fts_read, second in fts_close) that
9271         would occur when an `active' directory is made inaccessible (e.g.,
9272         via chmod a-x) during a traversal.
9273         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
9274         before returning.  Reproduce this failure by
9275         mkdir -p a/b; cd a; chmod a-x . b
9276         Reported by Stavros Passas.
9277
9278         Sync from coreutils.
9279         * lib/sha1.c: Tweak grammar in a comment.
9280
9281 2006-01-10  Jim Meyering  <jim@meyering.net>
9282
9283         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
9284         Patch by Joerg Sonnenberger.
9285
9286 2006-01-10  Bruno Haible  <bruno@clisp.org>
9287
9288         * modules/readutmp: Depend on module free.
9289         * modules/strtok_r: Depend on module restrict.
9290
9291 2006-01-10  Bruno Haible  <bruno@clisp.org>
9292
9293         * modules/gettext (configure.ac): Add an invocation of
9294         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
9295
9296 2006-01-10  Bruno Haible  <bruno@clisp.org>
9297
9298         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
9299         Reported by Werner Lemberg <wl@gnu.org>.
9300
9301 2006-01-10  Bruno Haible  <bruno@clisp.org>
9302
9303         * lib/localcharset.c: Update from GNU gettext.
9304
9305 2006-01-10  Bruno Haible  <bruno@clisp.org>
9306
9307         * lib/argp.h (__const): Remove macro. Use const instead.
9308         * lib/argp-fmtstream.h (__const): Likewise.
9309         * lib/glob_.h (__const): Remove macro.
9310         * lib/glob-libc.h: Use const instead of __const.
9311
9312 2006-01-10  Bruno Haible  <bruno@clisp.org>
9313
9314         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
9315         variable.
9316         Needed to avoid an automake error regarding the 'gettext' module.
9317
9318 2006-01-09  Simon Josefsson  <jas@extundo.com>
9319
9320         * modules/inet_ntop (Depends-on): Add restrict.
9321
9322 2006-01-09  Simon Josefsson  <jas@extundo.com>
9323
9324         * modules/gc-rijndael-tests (License): Put under LGPL.
9325
9326         * modules/gc-des-tests (License): Likewise.
9327
9328         * modules/gc-arcfour-tests (License): Likewise.
9329
9330         * modules/gc-arctwo-tests (License): Likewise.
9331
9332         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
9333
9334         * modules/gc-hmac-sha1-tests (Files): Likewise.
9335
9336         * modules/gc-hmac-md5-tests (License): Likewise.
9337
9338         * modules/gc-sha1-tests (License): Likewise.
9339
9340         * modules/gc-md5-tests (License): Likewise.
9341
9342         * modules/gc-md4-tests (License): Likewise.
9343
9344         * modules/gc-md2-tests (License): Likewise.
9345
9346         * modules/gc-tests (License): Likewise.
9347
9348         * modules/des-tests (License): Likewise.
9349
9350         * modules/md4-tests (License): Likewise.
9351
9352         * modules/md2-tests (License): Likewise.
9353
9354 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
9355
9356         Sync from coreutils:
9357
9358         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
9359         * modules/lib-ignore: New file.
9360         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
9361         chdir-safer.m4, lchmod.m4.
9362         * modules/openat: Add mkdirat.c, openat-priv.h.
9363
9364 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
9365
9366         Sync from coreutils.
9367         * m4/lib-ignore.m4: New file.
9368         * m4/lchmod.m4: New file.
9369
9370 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
9371
9372         Sync from coreutils.
9373         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
9374         for write access: POSIX says that must fail.
9375         * lib/fts.c (diropen): Likewise.
9376         * lib/save-cwd.c (save_cwd): Likewise.
9377         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
9378         well, for minor improvements on hosts that lack O_DIRECTORY.
9379         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
9380         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
9381         Fall back on chown if open failed with EACCES.
9382
9383         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
9384         Report an error at compile-time if only a 1-second nominal clock
9385         resolution is found.
9386
9387         * lib/lchmod.h: New file.
9388         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
9389         (make_dir_parents): Use lchown rather than chown, and
9390         lchmod rather than chmod.
9391
9392         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
9393         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
9394         "proc" reported by n0dalus.
9395
9396         * lib/mountlist.c: Include <limits.h>.
9397         (dev_from_mount_options)
9398         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
9399         New function.  It no longer assumes "dev=" has the System V meaning
9400         on Linux (since it doesn't).  It also parses "dev=" more carefully.
9401         (read_file_system_list)
9402         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
9403         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
9404         dev= in that case.
9405
9406         * lib/posixtm.h (PDS_PRE_2000): New macro.
9407         * lib/posixtm.c (year): Arg is now syntax_bits rather than
9408         allow_century.  All usages changed.  Reject dates outside the range
9409         1969-1999 if PDS_PRE_2000 is used.
9410
9411 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
9412
9413         Sync from coreutils.
9414         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
9415         (Time of day items): Mention the possibility of leap seconds.
9416         Problem reported by Dr. David Alan Gilbert.
9417
9418 2006-01-09  Jim Meyering  <jim@meyering.net>
9419
9420         Sync from coreutils.
9421
9422         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
9423
9424         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
9425
9426         * lib/modechange.c (mode_compile): Reject an invalid mode string
9427         that starts with an octal digit.  From Andreas Gruenbacher.
9428
9429         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
9430         and dup to open_safer and dup_safer, respectively.
9431         (openat_permissive): Fix typo in comment.
9432
9433         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
9434         "gettext.h"; either no longer needed or are guaranteed by openat.h.
9435         (_): Remove; no longer needed.
9436         (openat): Renamed from rpl_openat; no need for rpl_openat
9437         since openat.h renames openat for us.
9438         Replace most of the body with a call to openat_permissive,
9439         to avoid duplicate code.
9440         Port to (probably hypothetical) environments were mode_t is
9441         wider than int.
9442         (openat_permissive): Require mode arg, so that we can check
9443         types better.  Put it just after flags.  Change cwd failure
9444         indicator from pointer-to-bool to pointer-to-errno-value.
9445         All callers changed.
9446         Invoke openat_save_fail and/or openat_restore_fail if
9447         cwd_errno is null, so that openat can call us.
9448         (openat_permissive, fdopendir, fstatat, unlinkat):
9449         Simplify errno handling to avoid some duplicate code,
9450         as it's OK to set errno on success.
9451         * lib/openat.h: Revamp code so that function macros depend on
9452         __OPENAT_PREFIX only, not also on AT_FDCWD.
9453         (openat_ro): Remove.  Caller changed to use openat_permissive.
9454         (openat_permissive): Now a macro, if not a function.
9455         (openat_restore_fail, openat_save_fail): Now always functions,
9456         since mkdirat needs them even if __OPENAT_PREFIX is defined.
9457
9458         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
9459         and openat.c.
9460         * lib/mkdirat.c: Include openat-priv.h.
9461         Remove definitions of macros defined therein.
9462         * lib/openat.c: Likewise.
9463
9464         * lib/mkdirat.c (mkdirat): New file and function.
9465         * lib/openat.h (mkdirat): Declare.
9466
9467         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
9468
9469         * lib/openat.h (openat_permissive): Declare.
9470         (openat_ro): Define.
9471
9472         * lib/openat.c (EXPECTED_ERRNO): New macro.
9473         (openat_permissive): New function -- used in remove.c rewrite.
9474         (all functions): Set errno just before returning, only if there
9475         was an actual failure.
9476         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
9477
9478         Emulate openat-family functions using Linux's procfs, if possible.
9479         Idea and some code based on Ulrich Drepper's glibc changes.
9480
9481         * lib/openat.c: (BUILD_PROC_NAME): New macro.
9482         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
9483         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
9484         before falling back on save_cwd and restore_cwd.
9485         (fdopendir, fstatat, unlinkat): Likewise.
9486
9487         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
9488         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
9489
9490         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
9491         as second argument to va_arg.  Otherwise, some versions of gcc
9492         warn that `if this code is reached, the program will abort'.
9493
9494 2006-01-09  Jim Meyering  <jim@meyering.net>
9495
9496         Sync from coreutils.
9497         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
9498         Require openat-priv.h.
9499
9500 2006-01-09  Bruno Haible  <bruno@clisp.org>
9501
9502         * modules/strnlen (Include): Use strnlen.h.
9503
9504 2006-01-09  Bruno Haible  <bruno@clisp.org>
9505
9506         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
9507
9508 2006-01-09  Bruno Haible  <bruno@clisp.org>
9509
9510         * lib/sysexit_.h (EX_OK): New macro.
9511         Suggested by Martin Lambers <marlam@marlam.de>.
9512
9513 2006-01-09  Bruno Haible  <bruno@clisp.org>
9514
9515         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
9516         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
9517
9518 2006-01-09  Bruno Haible  <bruno@clisp.org>
9519
9520         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
9521         numbers.
9522
9523 2006-01-09  Bruno Haible  <bruno@clisp.org>
9524
9525         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
9526         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
9527         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
9528         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
9529
9530 2006-01-09  Bruno Haible  <bruno@clisp.org>
9531
9532         * build-aux/javacomp.sh.in: New file, moved from lib/.
9533         * modules/javacomp-script (Files): Update.
9534         (configure.ac): Add AC_CONFIG_FILES invocation.
9535         (EXTRA_DIST): Remove variable.
9536
9537         * build-aux/javaexec.sh.in: New file, moved from lib/.
9538         * modules/javaexec (Files): Update.
9539         (configure.ac): Add AC_CONFIG_FILES invocation.
9540         (EXTRA_DIST): Remove javaexec.sh.in.
9541
9542         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
9543         * modules/csharpcomp-script (Files): Update.
9544         (configure.ac): Add AC_CONFIG_FILES invocation.
9545         (EXTRA_DIST): Remove variable.
9546
9547         * build-aux/csharpexec.sh.in: New file, moved from lib/.
9548         * modules/csharpexec (Files): Update.
9549         (configure.ac): Add AC_CONFIG_FILES invocation.
9550         (EXTRA_DIST): Remove csharpexec.sh.in.
9551
9552 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
9553
9554         Sync from coreutils.
9555
9556         Add POSIX ACL support
9557         * lib/acl.h (copy_acl, set_acl): Add declarations.
9558         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
9559         systems other than Linux.
9560         (chmod_or_fchmod): New function: use fchmod when possible,
9561         and chmod otherwise.
9562         (file_has_acl): Add a POSIX ACL implementation, with a
9563         Linux-specific subcase.
9564         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
9565         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
9566         acls are unsupported.
9567         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
9568         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
9569         are unsupported.
9570
9571 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
9572
9573         Sync from coreutils.
9574         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
9575
9576 2006-01-07  Bruno Haible  <bruno@clisp.org>
9577
9578         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
9579         gl_EARLY.
9580
9581 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9582
9583         * lib/strftime.c (tzname): Don't declare if it is already #defined.
9584         Problem reported for Mingw by Mark Junker.
9585
9586 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9587
9588         * README: Gnulib normally doesn't generate a tarball.
9589
9590 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
9591
9592         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
9593         long int, not int, for nanosecond counts, so that people who are
9594         used to POSIX struct timespec won't be surprised.  Reported by Jim
9595         Meyering.
9596
9597 2005-12-28  Bruno Haible  <bruno@clisp.org>
9598
9599         * build-aux/config.rpath: Update from GNU gettext.
9600
9601 2005-12-16  Jim Meyering  <jim@meyering.net>
9602
9603         * modules/fprintftime: New module.
9604         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
9605
9606 2005-12-16  Jim Meyering  <jim@meyering.net>
9607
9608         * m4/fprintftime.m4: New file.
9609
9610 2005-12-16  Jim Meyering  <jim@meyering.net>
9611
9612         * lib/fprintftime.c, lib/fprintftime.h: New files.
9613
9614 2005-12-15  Simon Josefsson  <jas@extundo.com>
9615
9616         * modules/socklen (configure.ac): Fix M4 macro name, to align with
9617         new m4/socklen.m4.
9618
9619 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
9620
9621         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
9622         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
9623
9624 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
9625
9626         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
9627         * lib/argp-help.c (fill_in_uparams): Check if the constructed
9628         struct uparams is valid. Fall back to the default values if it is
9629         not.
9630
9631 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9632
9633         * modules/argp (Files): Add argp-pin.c
9634         (Depends-on): dirname
9635         (lib_SOURCES): Add argp-pin.c
9636
9637 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9638
9639         * m4/argp.m4:  Check if program_invocation_name and
9640         program_invocation_short_name are declared and define appropriate
9641         macros if they are not.
9642
9643 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
9644
9645         * lib/argp-help.c (__argp_base_name): New function
9646         (__argp_short_program_name): Rewrite using __argp_base_name
9647         * lib/argp-namefrob.h: Define program_invocation_name and
9648         program_invocation_short_name if requested
9649         (__argp_base_name): Add prototype
9650         * lib/argp-parse.c (argp_def): Use gettext wrappers
9651         (argp_default_parser): Use __argp_base_name
9652         * lib/argp-pin.c: New file. Defines program_invocation_name and
9653         program_invocation_short_name on systems that lack them.
9654
9655 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
9656
9657         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
9658         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
9659         porting problem reported by Georg Schwarz in
9660         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
9661
9662 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
9663
9664         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
9665         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
9666         porting problem reported by Georg Schwarz in
9667         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
9668
9669 2005-12-05  Bruno Haible  <bruno@clisp.org>
9670
9671         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
9672         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
9673         Reported by Mark Junker <mjscod@gmx.de>.
9674
9675 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9676
9677         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
9678         Use implementation from Albert Chin, with some
9679         comments/corrections by Stepan Kasal and myself.
9680
9681 2005-12-02  Bruno Haible  <bruno@clisp.org>
9682
9683         * gnulib-tool (func_import): Accept GPLed build tool modules when
9684         --lgpl is given.
9685         * modules/csharpcomp-script: New file.
9686         * modules/csharpcomp: Depend on it.
9687         * modules/javacomp-script: New file.
9688         * modules/javacomp: Depend on it.
9689         Suggested by Simon Josefsson.
9690
9691 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
9692
9693         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
9694         statement, to work around an HP-UX 10.20 compiler bug reported by
9695         Peter O'Gorman.
9696
9697 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
9698
9699         * modules/savedir (Depends-on): Add openat.
9700
9701 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
9702
9703         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
9704         (uintmax_t) [defined uintmax_t]: Do not declare.
9705         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
9706         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
9707         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
9708         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
9709         sake of portability to weird hosts that C allows (though we don't
9710         know of any practical examples).
9711
9712         * lib/savedir.h (fdsavedir): New decl.
9713         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
9714         contains most of the former guts of savedir.
9715         (savedir): Use savedirstream.
9716         Include "openat.h".
9717
9718 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9719
9720         * modules/obstack (Files): Add m4/ulonglong.m4.
9721         Problem reported by Davide Angelocola.
9722
9723 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
9724
9725         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
9726         coreutils no longer futzes with rounding modes.
9727
9728 2005-11-14  Jim Meyering  <jim@meyering.net>
9729
9730         * lib/mkstemp-safer.c: Include <config.h>, required for possible
9731         replacement of mkstemp.
9732
9733 2005-11-10  Simon Josefsson  <jas@extundo.com>
9734
9735         * lib/readline.c: Remove EOL.
9736
9737 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9738
9739         * modules/gethrxtime (Depends-on): Add gettime.
9740
9741 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9742
9743         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
9744         or gettimeofday; no longer needed.
9745
9746 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
9747
9748         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
9749         time business.
9750         (gethrxtime) [! (HAVE_NANOUPTIME
9751         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
9752         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
9753         our own approximation.
9754
9755 2005-11-08  Eric Blake  <ebb9@byu.net>
9756
9757         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
9758
9759 2005-11-08  Eric Blake  <ebb9@byu.net>
9760
9761         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
9762
9763 2005-11-04  Bruno Haible  <bruno@clisp.org>
9764
9765         * gnulib-tool: Implement --update mode.
9766
9767 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
9768
9769         Fix porting problem reported by Theodoros V. Kalamatianos.
9770         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
9771         Don't assume that futimes failing means we must fail.
9772
9773 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
9774
9775         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
9776         variables to suggest the intended function of the PATH_MAX check.
9777
9778 2005-10-30  Kean Johnston  <jkj@sco.com>
9779
9780         Trivial changes to support SCO systems.
9781         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
9782         as PATH_MAX.
9783         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
9784         where __ptr is null when no I/O is pending.
9785
9786 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
9787
9788         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
9789         leave errno alone.  Problem reported by Dmitry V. Levin.
9790
9791 2005-10-28  Simon Josefsson  <jas@extundo.com>
9792
9793         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
9794         Test more.
9795
9796         * tests/test-gc-md2.c, tests/test-md2.c: New files.
9797
9798         * modules/md2, modules/md2-tests: New files.
9799
9800 2005-10-28  Simon Josefsson  <jas@extundo.com>
9801
9802         * m4/inet_ntop.m4: More tests.
9803
9804         * m4/gc-md2.m4, md2.m4: New file.
9805
9806 2005-10-28  Simon Josefsson  <jas@extundo.com>
9807
9808         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
9809         "restrict" keywords, as per POSIX.  Protect the function
9810         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
9811         Don't use K&R prototypes.  Check the sprintf return values.
9812         Re-define EAFNOSUPPORT if not present.  Indent.
9813
9814         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
9815         suggested by Bruno Haible <bruno@clisp.org>.
9816
9817         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
9818
9819         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
9820
9821         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
9822         libgcrypt).
9823
9824         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
9825
9826         * lib/md2.h, lib/md2.c: New files.
9827
9828 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
9829
9830         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
9831         errno alone.  Problem reported by Frederic Jolliton.
9832
9833 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
9834
9835         * modules/verify (License): Change from GPL to LGPL.  This is a
9836         tiny module and there are apparently near-equivalents that are
9837         under the BSD license.
9838
9839 2005-10-24  Simon Josefsson  <jas@extundo.com>
9840
9841         * modules/sha1: Relicense to LGPL.
9842
9843 2005-10-24  Simon Josefsson  <jas@extundo.com>
9844
9845         * lib/md4.h: Shrink buffer size, now that we changed the type.
9846
9847 2005-10-23  Simon Josefsson  <jas@extundo.com>
9848
9849         * gnulib-tool (func_import): Fix --tests-base.
9850
9851 2005-10-22  Simon Josefsson  <jas@extundo.com>
9852
9853         * modules/arcfour (Depends-on): Need stdint.
9854
9855 2005-10-22  Simon Josefsson  <jas@extundo.com>
9856
9857         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
9858         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
9859
9860 2005-10-22  Simon Josefsson  <jas@extundo.com>
9861
9862         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
9863         suggested by Bruno Haible <bruno@clisp.org>.
9864
9865 2005-10-22  Simon Josefsson  <jas@extundo.com>
9866
9867         * lib/crc.h: Include stddef.h, for size_t.
9868
9869 2005-10-22  Simon Josefsson  <jas@extundo.com>
9870
9871         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
9872         arcfour_context struct (simplify test vector testing in GNU
9873         Shishi).
9874
9875 2005-10-21  Simon Josefsson  <jas@extundo.com>
9876
9877         * modules/des, modules/des-tests: New files.
9878
9879         * modules/gc-des, modules/gc-des-tests: New files.
9880
9881         * tests/test-des.c, tests/test-gc-des.c: New file.
9882
9883 2005-10-21  Simon Josefsson  <jas@extundo.com>
9884
9885         * modules/arctwo, modules/arctwo-tests: New files.
9886
9887         * tests/test-arctwo.c: New file.
9888
9889         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
9890
9891         * tests/test-gc-arctwo.c: New file.
9892
9893 2005-10-21  Simon Josefsson  <jas@extundo.com>
9894
9895         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
9896         Bruno Haible <bruno@clisp.org>.
9897
9898         * m4/gc-des.m4: New file.
9899
9900 2005-10-21  Simon Josefsson  <jas@extundo.com>
9901
9902         * m4/arctwo.m4: New file.
9903
9904         * m4/gc-arctwo.m4: New file.
9905
9906 2005-10-21  Simon Josefsson  <jas@extundo.com>
9907
9908         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
9909         block.
9910
9911 2005-10-21  Simon Josefsson  <jas@extundo.com>
9912
9913         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
9914         <bruno@clisp.org>.
9915
9916         * lib/hmac-sha1.c (hmac_sha1): Likewise.
9917
9918         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
9919         Bruno Haible <bruno@clisp.org>.
9920
9921         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
9922         <bruno@clisp.org>.
9923
9924 2005-10-21  Simon Josefsson  <jas@extundo.com>
9925
9926         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
9927
9928 2005-10-21  Simon Josefsson  <jas@extundo.com>
9929
9930         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
9931
9932 2005-10-21  Simon Josefsson  <jas@extundo.com>
9933
9934         * lib/des.h, lib/des.c: New files.
9935
9936         * lib/gc-gnulib.c: Support DES.c
9937
9938 2005-10-21  Simon Josefsson  <jas@extundo.com>
9939
9940         * lib/arctwo.h, lib/arctwo.c: New files.
9941
9942         * lib/gc-gnulib.c: Support ARCTWO.
9943
9944 2005-10-21  Simon Josefsson  <jas@extundo.com>
9945
9946         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
9947         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9948
9949 2005-10-21  Simon Josefsson  <jas@extundo.com>
9950
9951         * gnulib-tool (func_import, func_create_testdir): Define automake
9952         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
9953         Makefile.am snippet),
9954         suggested by Bruno Haible <bruno@clisp.org>.
9955
9956         * modules/gc (Makefile.am): Use it.
9957
9958 2005-10-21  Bruno Haible  <bruno@clisp.org>
9959
9960         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
9961         patch.
9962
9963 2005-10-19  Simon Josefsson  <jas@extundo.com>
9964
9965         * tests/test-gc-rijndael.c: New file.
9966
9967         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
9968
9969 2005-10-19  Simon Josefsson  <jas@extundo.com>
9970
9971         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
9972         interface too.
9973
9974 2005-10-19  Simon Josefsson  <jas@extundo.com>
9975
9976         * tests/test-gc-arcfour.c: New file.
9977
9978         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
9979
9980 2005-10-19  Simon Josefsson  <jas@extundo.com>
9981
9982         * modules/gc-md4, modules/gc-md4-tests: New file.
9983
9984         * tests/test-gc-md4.c: New file.
9985
9986 2005-10-19  Simon Josefsson  <jas@extundo.com>
9987
9988         * m4/gc-md4.m4: New file.
9989
9990 2005-10-19  Simon Josefsson  <jas@extundo.com>
9991
9992         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
9993         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
9994         <kasal@ucw.cz>.
9995
9996 2005-10-19  Simon Josefsson  <jas@extundo.com>
9997
9998         * m4/gc-arcfour.m4: New file.
9999
10000         * m4/gc-rijndael.m4: New file.
10001
10002 2005-10-19  Simon Josefsson  <jas@extundo.com>
10003
10004         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
10005
10006 2005-10-19  Simon Josefsson  <jas@extundo.com>
10007
10008         * lib/gc-gnulib.c: Support ARCFOUR.
10009
10010 2005-10-19  Simon Josefsson  <jas@extundo.com>
10011
10012         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
10013         support.
10014
10015         * lib/gc.h: Add ECB enum type.
10016
10017         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
10018
10019 2005-10-18  Simon Josefsson  <jas@extundo.com>
10020
10021         * tests/test-md5.c: New file.
10022
10023         * modules/md5-tests: New file.
10024
10025 2005-10-18  Simon Josefsson  <jas@extundo.com>
10026
10027         * tests/test-md4.c: New file.
10028
10029         * modules/md4, modules/md4-tests: New files.
10030
10031 2005-10-18  Simon Josefsson  <jas@extundo.com>
10032
10033         * m4/md4.m4: New file.
10034
10035 2005-10-18  Simon Josefsson  <jas@extundo.com>
10036
10037         * lib/md4.h, lib/md4.c: New files, based on md5.?.
10038
10039 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
10040
10041         * gnulib-tool (func_create_testdir): Omit the second check whether
10042         BUILT_SOURCES in nonempty.
10043
10044 2005-10-17  Simon Josefsson  <jas@extundo.com>
10045
10046         * tests/test-rijndael.c: New file.
10047
10048 2005-10-17  Simon Josefsson  <jas@extundo.com>
10049
10050         * modules/sha1: Depend on stdint instead of md5.
10051
10052         * modules/md5: Depend on stdint, remove uint32_t.
10053
10054 2005-10-17  Simon Josefsson  <jas@extundo.com>
10055
10056         * modules/gc-sha1-tests: New file.
10057
10058         * tests/test-gc-sha1.c: New file.
10059
10060 2005-10-17  Simon Josefsson  <jas@extundo.com>
10061
10062         * m4/md5.m4: Remove call to uint32_t.m4.
10063
10064 2005-10-17  Simon Josefsson  <jas@extundo.com>
10065
10066         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
10067
10068         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
10069         md5.h.
10070
10071         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
10072
10073         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
10074
10075 2005-10-17  Simon Josefsson  <jas@extundo.com>
10076
10077         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
10078
10079 2005-10-17  Simon Josefsson  <jas@extundo.com>
10080
10081         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
10082
10083 2005-10-17  Simon Josefsson  <jas@extundo.com>
10084
10085         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
10086
10087         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
10088
10089 2005-10-17  Bruno Haible  <bruno@clisp.org>
10090
10091         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
10092         that it can also be used in a test.
10093
10094 2005-10-16  Bruno Haible  <bruno@clisp.org>
10095
10096         * gnulib-tool (func_emit_tests_Makefile_am): Also define
10097         TESTS_ENVIRONMENT, so that individual tests can augment it.
10098
10099         * gnulib-tool (func_create_testdir): Use an intermediate target for
10100         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
10101         macros, like $(ALLOCA_H), which cannot be passed through the command
10102         line.
10103
10104 2005-10-15  Simon Josefsson  <jas@extundo.com>
10105
10106         * modules/rijndael-tests: New file.
10107
10108         * modules/rijndael: New file.
10109
10110 2005-10-15  Simon Josefsson  <jas@extundo.com>
10111
10112         * m4/rijndael.m4: New file.
10113
10114 2005-10-15  Simon Josefsson  <jas@extundo.com>
10115
10116         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
10117
10118         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
10119
10120 2005-10-14  Simon Josefsson  <jas@extundo.com>
10121
10122         * tests/test-arcfour.c: New file.
10123
10124         * modules/arcfour, modules/arcfour-tests: New files.
10125
10126 2005-10-14  Simon Josefsson  <jas@extundo.com>
10127
10128         * m4/arcfour.m4: New file.
10129
10130 2005-10-14  Simon Josefsson  <jas@extundo.com>
10131
10132         * lib/arcfour.h, lib/arcfour.c: New files.
10133
10134 2005-10-14  Roland McGrath  <roland@redhat.com>
10135
10136         Import from libc.  [BZ #1331]
10137         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
10138         macro argument.
10139         Reported by Matej Vela <vela@debian.org>.
10140
10141 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
10142
10143         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
10144         include <wchar.h>; no longer needed.
10145
10146 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
10147
10148         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
10149
10150 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
10151         and  Ulrich Drepper  <drepper@redhat.com>
10152
10153         Import from libc.
10154         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
10155         instead of inline stream orientation test and two separate
10156         function calls.  Pay no attention to USE_IN_LIBIO.
10157
10158 2005-10-13  Simon Josefsson  <jas@extundo.com>
10159
10160         * modules/gc-hmac-md5-tests: New file.
10161
10162         * tests/test-gc-hmac-sha1.c: New file.
10163
10164         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
10165
10166         * modules/gc-hmac-md5-tests: New file.
10167
10168         * tests/test-gc-md5.c: New file.
10169
10170         * modules/gc-md5-tests: New file.
10171
10172 2005-10-13  Simon Josefsson  <jas@extundo.com>
10173
10174         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
10175         Move memory allocation outside of loop.
10176
10177 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
10178
10179         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
10180         intermediate directory is in a read-only file system.  Problem
10181         reported by Eric Blake.
10182
10183 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
10184
10185         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
10186
10187 2005-10-12  Simon Josefsson  <jas@extundo.com>
10188
10189         * tests/test-hmac-sha1.c: New file.
10190
10191         * modules/hmac-sha1-tests: New file.
10192
10193         * modules/hmac-sha1: New file.
10194
10195 2005-10-12  Simon Josefsson  <jas@extundo.com>
10196
10197         * modules/gc-sha1: New file.
10198
10199 2005-10-12  Simon Josefsson  <jas@extundo.com>
10200
10201         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
10202
10203         * tests/test-gc-pbkdf2-sha1.c: New file.
10204
10205 2005-10-12  Simon Josefsson  <jas@extundo.com>
10206
10207         * modules/gc-md5, modules/gc-hmac-md5: New files.
10208
10209         * modules/gc (Files): Remove md5, memxor and hmac files.
10210
10211 2005-10-12  Simon Josefsson  <jas@extundo.com>
10212
10213         * m4/gc-pbkdf2-sha1.m4: New file.
10214
10215         * m4/gc-hmac-sha1.m4: New file.
10216
10217         * m4/gc-sha1: New file.
10218
10219         * m4/hmac-sha1.m4: New file.
10220
10221 2005-10-12  Simon Josefsson  <jas@extundo.com>
10222
10223         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
10224
10225         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
10226
10227 2005-10-12  Simon Josefsson  <jas@extundo.com>
10228
10229         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
10230         suggested by Bruno Haible <bruno@clisp.org>.
10231
10232 2005-10-12  Simon Josefsson  <jas@extundo.com>
10233
10234         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
10235
10236 2005-10-12  Simon Josefsson  <jas@extundo.com>
10237
10238         * lib/gc-pbkdf2-sha1.c: New file.
10239
10240         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
10241
10242 2005-10-12  Simon Josefsson  <jas@extundo.com>
10243
10244         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
10245
10246         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
10247
10248 2005-10-12  Simon Josefsson  <jas@extundo.com>
10249
10250         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
10251         GC_USE_HMAC_MD5, respectively.
10252
10253         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
10254         (gc_md5): Fix typo.
10255
10256         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
10257
10258         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
10259
10260         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
10261
10262 2005-10-12  Bruno Haible  <bruno@clisp.org>
10263
10264         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
10265         Reported by Stepan Kasal <kasal@ucw.cz>.
10266
10267 2005-10-11  Simon Josefsson  <jas@extundo.com>
10268
10269         * tests/test-crc.c: New file.
10270
10271         * modules/crc, modules/crc-tests: New files.
10272
10273 2005-10-11  Simon Josefsson  <jas@extundo.com>
10274
10275         * m4/crc.m4: New file.
10276
10277 2005-10-11  Simon Josefsson  <jas@extundo.com>
10278
10279         * lib/gc.h: Add gc_hash and gc_hash_buffer.
10280
10281         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
10282
10283         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
10284
10285 2005-10-11  Simon Josefsson  <jas@extundo.com>
10286
10287         * lib/crc.h, lib/crc.c: New files.
10288
10289         * lib/gc.h (gc_hash_buffer): Add doc.
10290
10291 2005-10-11  Bruno Haible  <bruno@clisp.org>
10292
10293         * modules/c-strcasestr: New file.
10294         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
10295
10296 2005-10-11  Bruno Haible  <bruno@clisp.org>
10297
10298         * modules/c-strcase: New file.
10299         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
10300
10301 2005-10-11  Bruno Haible  <bruno@clisp.org>
10302
10303         * lib/strcasecmp.c: Include limits.h.
10304         (strcasecmp): Avoid integer overflow on exotic platforms.
10305         * lib/strncasecmp.c: Include limits.h.
10306         (strncasecmp): Avoid integer overflow on exotic platforms.
10307         Reported by Paul Eggert.
10308
10309 2005-10-11  Bruno Haible  <bruno@clisp.org>
10310
10311         * lib/c-strcasestr.h: New file, from GNU gettext.
10312         * lib/c-strcasestr.c: New file, from GNU gettext.
10313
10314 2005-10-11  Bruno Haible  <bruno@clisp.org>
10315
10316         * lib/c-strcase.h: New file, from GNU gettext.
10317         * lib/c-strcasecmp.c: New file, from GNU gettext.
10318         * lib/c-strncasecmp.c: New file, from GNU gettext.
10319
10320 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10321
10322         * modules/mempcpy (License): GPL -> LGPL.
10323         * modules/strchrnul (License): Likewise.
10324         * modules/sysexits (License): Likewise.
10325
10326 2005-10-08  Simon Josefsson  <jas@extundo.com>
10327
10328         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
10329
10330 2005-10-07  Simon Josefsson  <jas@extundo.com>
10331
10332         * m4/memxor.m4: Remove gl_C_RESTRICT call.
10333
10334 2005-10-06  Simon Josefsson  <jas@extundo.com>
10335
10336         * tests/test-hmac-md5.c: New file.
10337
10338         * modules/hmac-md5-tests: New file.
10339
10340         * modules/hmac-md5: New file.
10341
10342 2005-10-06  Simon Josefsson  <jas@extundo.com>
10343
10344         * m4/hmac-md5.m4: New file.
10345
10346         * m4/memxor.m4: Require gl_C_RESTRICT.
10347
10348 2005-10-06  Simon Josefsson  <jas@extundo.com>
10349
10350         * lib/memxor.c (memxor): Avoid casts and warnings.
10351
10352 2005-10-06  Simon Josefsson  <jas@extundo.com>
10353
10354         * lib/hmac-md5.c: New file.
10355
10356         * lib/hmac.h: New file.
10357
10358 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
10359
10360         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
10361         promotes to int, not unsigned int, to catch the AIX 5.3
10362         compiler bug.
10363
10364 2005-10-05  Simon Josefsson  <jas@extundo.com>
10365
10366         * modules/memxor: New file.
10367
10368         * modules/iconv (Files): Move config.rpath to havelib, it is used
10369         there.
10370
10371         * modules/havelib (Files): Add config.rpath.
10372
10373 2005-10-05  Simon Josefsson  <jas@extundo.com>
10374
10375         * m4/memxor.m4: New file.
10376
10377 2005-10-05  Simon Josefsson  <jas@extundo.com>
10378
10379         * lib/memxor.c (memxor): Fix compiler error.
10380
10381         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
10382         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
10383
10384         * lib/memxor.h, lib/memxor.c: New files.
10385
10386         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
10387         we assume all systems have it, suggested by Jim Meyering
10388         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
10389         any systems lack sys/socket.h; mingw32 is known to lack it, but we
10390         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
10391         same reasons.
10392
10393 2005-10-05  Simon Josefsson  <jas@extundo.com>
10394
10395         * config/srclist.txt: Add glibc bug 1423 for md5.h.
10396
10397 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10398
10399         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
10400         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
10401         needed, since the source code now assumes these .h files.
10402
10403 2005-10-05  Derek Price  <derek@ximbiot.com>
10404
10405         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
10406
10407 2005-10-05  Bruno Haible  <bruno@clisp.org>
10408
10409         * modules/stdint (License): Change to LGPL.
10410
10411 2005-10-04  Simon Josefsson  <jas@extundo.com>
10412
10413         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
10414         D. Baushke" <mdb@gnu.org>.
10415
10416 2005-10-04  Bruno Haible  <bruno@clisp.org>
10417
10418         * lib/verify.h (verify_true): Provide alternative definition for C++.
10419
10420 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
10421
10422         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
10423         (SSIZE_MAX): New macro, if not already defined.
10424         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
10425         than 2 GiB.
10426
10427 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10428
10429         Sync from coreutils.
10430         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
10431         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
10432         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
10433         ULLONG_MAX doesn't work with 2.7.2.1.
10434
10435 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10436
10437         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
10438         From Ben Pfaff.
10439
10440         * modules/exclude (Depends-on): Depend on verify.
10441         * modules/strtoimax (Depends-on): Likewise.
10442         * modules/utimecmp (Depends-on): Likewise.
10443
10444 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10445
10446         * lib/exclude.c: Include verify.h.
10447         (verify): Remove.  All callers changed to use verify.h's version.
10448         * lib/strtoimax.c: Likewise.
10449         * lib/utimecmp.c: Likewis.e
10450
10451         Sync from coreutils.
10452         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
10453         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
10454         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
10455         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
10456         bother returning ENOSYS if settimeofday or stime fails; just let
10457         them return whatever errno they want to return.
10458         * lib/utimens.c: Include unistd.h, for dup2.
10459         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
10460         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
10461
10462 2005-10-02  Jim Meyering  <jim@meyering.net>
10463
10464         Sync from coreutils.
10465         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
10466         from glibc-2.2.5 that fails for read-only files.
10467
10468 2005-10-02  Jim Meyering  <jim@meyering.net>
10469
10470         Sync from coreutils.
10471         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
10472         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
10473         `#if HAVE_CONFIG_H'.
10474         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
10475         Remove AT_FDCWD test.
10476         Do not consume the fd unless successful.
10477         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
10478         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
10479         block, so that we don't even try to compile it if settimeofday is
10480         available.  This works around a compilation failure on OSF1 V5.1,
10481         due to stime requiring a `long int*' while tv_sec is `int'.
10482
10483 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
10484
10485         Sync from coreutils.
10486         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
10487         against `yes', rather than just testing for nonempty.
10488
10489 2005-10-01  Simon Josefsson  <jas@extundo.com>
10490
10491         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
10492         and Darwin.
10493
10494         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
10495         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
10496         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
10497         freeaddrinfo and gai_strerror are declared by the POSIX headers.
10498         Check if struct addrinfo is declared.
10499
10500 2005-10-01  Simon Josefsson  <jas@extundo.com>
10501
10502         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
10503         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
10504         AI_* and EAI_* definitions.  Protect function declarations.
10505
10506 2005-10-01  Jim Meyering  <jim@meyering.net>
10507
10508         Sync from coreutils.
10509
10510         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
10511         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
10512         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
10513         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
10514         in the inet and nsl libraries.  Required on Solaris 5.7.
10515
10516 2005-10-01  Jim Meyering  <jim@meyering.net>
10517
10518         Sync from coreutils.
10519         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
10520         in the inet and nsl libraries.  Required on Solaris 5.7.
10521
10522 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
10523
10524         * lib/getdelim.c (getdelim): Remove unused variables.
10525
10526 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
10527
10528         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
10529         so that the code works even with ancient cpp.  Portability problem
10530         with GCC 2.7.2.1 reported by Thomas M.Ott.
10531
10532 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
10533
10534         * modules/regex (Depends-on): Add strcase.
10535
10536         * modules/gethostname (Licence): Change from GPL to LGPL, since
10537         gethostname.c is a trivial implementation of a standard library
10538         function.
10539         * modules/poll (License): Change from GPL to LGPL, since it's
10540         derived from LGPL code.
10541
10542 2005-09-27  Jim Meyering  <jim@meyering.net>
10543
10544         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
10545         HAVE_CONFIG_H.
10546
10547         * lib/intprops.h (signed_type_or_expr__): Define.
10548         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
10549         for unsigned types.
10550
10551 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10552
10553         * lib/verify.h (verify_expr): Remove, replacing with:
10554         (verify_true): New macro that returns true instead of void.
10555         (verify_type__): Remove.
10556         (verify): Use verify_true rather than verify_type__.
10557
10558 2005-09-26  Bruno Haible  <bruno@clisp.org>
10559
10560         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
10561         is necessary.
10562         (lib_SOURCES): Remove mbchar.c.
10563         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
10564         (Files): Add m4/mbrtowc.m4.
10565         * modules/mbiter: Likewise.
10566         * modules/mbuiter: Likewise.
10567
10568 2005-09-26  Bruno Haible  <bruno@clisp.org>
10569
10570         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
10571         compile mbchar.c if they are not both present.
10572         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
10573         * m4/mbiter.m4 (gl_MBITER): Likewise.
10574         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
10575         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
10576         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
10577
10578 2005-09-25  Jim Meyering  <jim@meyering.net>
10579
10580         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
10581         also uses socklen_t.
10582
10583 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10584
10585         * lib/utimens.c (ENOSYS): Define if not already defined.
10586         (futimens): Support having a null PATH if the file descriptor
10587         is nonnegative.
10588
10589         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
10590         Remove.
10591         (__attribute): Define to empty unless GCC 3.1 or later.
10592         This works around a core dump on OpenBSD 3.4, which has GCC
10593         2.95.3, which dumps core when given __attribute__(()).  It also
10594         simplifies other tests, since we really don't want to bother with
10595         worrying about which ancient version of GCC supported what.
10596         Original problem reported by Yoann Vandoorselaere, with part of
10597         the fix suggested by Derek Price.
10598
10599 2005-09-24  Jim Meyering  <jim@meyering.net>
10600
10601         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
10602         so we can once again use a positive bitfield width of 1 -- now we
10603         don't have to explain why we were using a bitfield width of 2.
10604
10605 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10606
10607         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
10608         and similarly for the other external symbols.  Problem reported
10609         by James Gallager.
10610
10611         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
10612         bug reported by Jim Meyering.
10613
10614         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
10615         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
10616         not needed, since socklen is a prerequisite module.
10617
10618 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10619
10620         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
10621         Problem reported by Eric Blake.
10622         (getaddrinfo): Initialize se so that it's not garbage.
10623         Redo internal storage allocation so that it doesn't make unportable
10624         assumptions about alignment.
10625         Fix a memory leak.
10626
10627         * lib/utimens.c (futimens): Use futimesat if available.
10628         Prefer it to futimes since it doesn't have the futimes bug.
10629
10630         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
10631         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
10632         Instead, declare a function that returns a pointer to an array,
10633         and use verify_type__ to declare the size of the array.
10634         Problem and germ of a solution reported by Bruno Haible.
10635         (verify_type__): Use 2, not 1, for bitfield size, to avoid
10636         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
10637
10638 2005-09-23  Jim Meyering  <jim@meyering.net>
10639
10640         Sync from coreutils.
10641         Correct build failure (socklen_t not defined) on at least
10642         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
10643         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
10644
10645 2005-09-23  Jim Meyering  <jim@meyering.net>
10646
10647         * modules/getaddrinfo (Depends-on): Add socklen.
10648
10649 2005-09-23  Bruno Haible  <bruno@clisp.org>
10650
10651         * tests/test-verify.c: New file.
10652
10653 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10654
10655         Sync from coreutils.
10656
10657         * modules/argmatch (Depends-on): Add verify.
10658         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
10659         unistd-safer.
10660         * modules/save-cwd (Depends-on): Likewise.
10661
10662         * modules/openat (Files): Add lib/openat-die.c.
10663         (Depends-on): Remove error, exitfail.
10664         Add dirname.
10665
10666         * modules/verify: New file.
10667         * MODULES.html.sh (Diagnostics <assert.h>): New section,
10668         with "verify" module.
10669
10670 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10671
10672         Sync from coreutils.
10673
10674         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
10675         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
10676         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
10677         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
10678         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
10679         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
10680         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
10681         Don't bother checking for string.h, stdlib.h, unistd.h.
10682         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
10683         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
10684         module's job.
10685         * m4/jm-macros.m4 (gl_MACROS): Likewise.
10686         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
10687
10688         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
10689         (gl_GETDATE): Use it.
10690
10691         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
10692
10693 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10694
10695         Sync from coreutils.
10696
10697         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
10698         stat-time.h.
10699         * lib/argmatch.h: Include verify.h
10700         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
10701         (ARGMATCH_ASSERT): Remove; unused.
10702         * lib/canonicalize.c: Assume STDC_HEADERS.
10703         * lib/exclude.c: Include "strcase.h".
10704         * lib/regex_internal.h [!defined _LIBC]: Likewise.
10705         * lib/getusershell.c: Include stdio--.h rather than stdio.h
10706         and stdio-safer.h.
10707         (getusershell): Call fopen, not fopen_safer.
10708         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
10709         Do not include unistd-safer.h.
10710         (save_cwd): Don't call fd_safer; no longer needed
10711         now that we include fcntl--.h.
10712
10713         * lib/getdate.y (relative_time): New type.
10714         (RELATIVE_TIME_0): New constant.
10715         (parser_control): Use relative_time instead of doing it ourselves.
10716         (%union): Add new relative_time rel member.
10717         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
10718         Now typeless.
10719         (relunit, relunit_snumber): Now of type rel.
10720         (zone, rel, relunit, get_date): Adjust to above changes.
10721
10722         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
10723         Do not include unistd-safer.h.
10724         (getloadavg): Don't call fd_safer; no longer needed
10725         now that we include fcntl--.h.
10726
10727         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
10728         (make_dir_parents): Treat ENOSYS like EEXIST.
10729
10730         Improve quality of diagnostics on restore_cwd failure.
10731         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
10732         (make_dir_parents): Last arg is now int * (for errno), not bool *.
10733         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
10734         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
10735         each time through the loop.  Do not diagnose restore_cwd failure;
10736         that is the caller's job (and perhaps the caller does not care).
10737
10738         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
10739         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
10740         If the file already exists but is not a directory, don't bother
10741         to try to make its parents.
10742         Close potential file descriptor leak if we can't chdir("/") (!).
10743         Don't always return true if chdir($PWD) fails; return true only
10744         if the requested action was done successfully (except for the
10745         chdir($PWD)).
10746         Don't log final directory unless we actually made it.
10747         Refactor to avoid duplicate code to fix up permissions.
10748         Don't attempt to fix up parent permissions if chdir($PWD) fails.
10749
10750         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
10751         to make it a bit faster and (I hope) clearer.
10752         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
10753         Fix bug in formats like %2N.
10754
10755         * lib/verify.h: New file.
10756
10757 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10758
10759         Sync from coreutils.
10760         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
10761
10762 2005-09-22  Jim Meyering  <jim@meyering.net>
10763
10764         Sync from coreutils.
10765
10766         * m4/lstat.m4 (gl_FUNC_LSTAT):
10767         Use AC_LIBSOURCES to require lstat.c and lstat.h.
10768         Remove obsolete comment.
10769         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
10770         * m4/xstrtod.m4: Likewise.
10771
10772         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
10773
10774 2005-09-22  Jim Meyering  <jim@meyering.net>
10775
10776         Sync from coreutils.
10777
10778         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
10779
10780         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
10781         the .tm_year member, since otherwise gcc-4.0 would now warn about
10782         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
10783
10784         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
10785         order to avoid an unsuppressible warning from gcc on 64-bit systems.
10786
10787         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
10788         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
10789         when run in a time zone for which daylight savings time is in effect
10790         for the starting date.
10791
10792         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
10793         stop us from restricting permissions of just-created absolute-named
10794         directories.
10795         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
10796         to restore initial working directory.
10797         * lib/mkdir-p.c (make_dir_parents): New parameter:
10798         different_working_dir, to tell caller if/when we change the working
10799         directory and are unable to return to the initial one.
10800         * lib/mkdir-p.h (make_dir_parents): Update prototype.
10801         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
10802         `return false'.  This fixes a bug introduced on 2004-07-30.
10803
10804         * lib/openat.c (fdopendir): Be sure to close the supplied
10805         file descriptor before returning.  This makes our replacement
10806         implementation a little closer to Solaris's, where fdopendir
10807         ties the file descriptor to the returned DIR* pointer.
10808         * lib/openat.c (unlinkat): New function.
10809         * lib/openat.h (unlinkat): Add prototype.
10810         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
10811         (openat_restore_fail): Rename from openat_restore_die.
10812         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
10813
10814         Provide an alternative to exiting immediately upon save_cwd or
10815         restore_cwd failure.  Now, an application can arrange e.g.,
10816         to perform a longjump in that case.
10817         * lib/openat.c: Include dirname.h.
10818         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
10819         (rpl_openat, fdopendir, fstatat): Call openat_save_die
10820         and openat_restore_die rather than calling error directly.
10821         Don't include "error.h" or "exitfail.h"; they're no longer needed.
10822
10823         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
10824         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
10825         define.
10826
10827         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
10828         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
10829                             int utc, int nanoseconds);
10830         Background:
10831         date should not have to allocate a megabyte of virtual memory to
10832         handle a format argument like +%1048575T.  When implemented with
10833         strftime, it must allocate such a buffer, use strftime to fill it
10834         in, print it, then free it.
10835         With fprintftime, it simply prints everything and exits.
10836         With no need for memory allocation, that's one fewer way to fail.
10837         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
10838         optional field width, not before, so we accept %9:z, not %:9z.
10839         (my_strftime): Be sure to use L_('x') for literals.
10840
10841         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
10842         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
10843         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
10844         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
10845         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
10846         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
10847         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
10848         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
10849         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
10850         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
10851         * lib/xgethostname.c, lib/xreadlink.c:
10852         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
10853
10854         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
10855         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
10856         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
10857         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
10858         and don't include <sys/file.h>).
10859
10860 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
10861
10862         Sync from coreutils.
10863
10864         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
10865         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
10866         [!LDAV_DONE]: Avoid unused variable warning.
10867
10868 2005-09-21  Bruno Haible  <bruno@clisp.org>
10869
10870         * lib/unicodeio.h (unicode_to_mb): New declaration.
10871
10872 2005-09-20  Derek Price  <derek@ximbiot.com>
10873
10874         * lib/getaddrinfo.c: Don't include <netdb.h> included from
10875         getaddrinfo.h.
10876
10877 2005-09-20  Bruno Haible  <bruno@clisp.org>
10878
10879         * gnulib-tool: Remove trailing slashes from the values specified for
10880         --source-base, --m4-base, --tests-base, --aux-dir.
10881         Suggested by Simon Josefsson <jas@extundo.com>.
10882
10883 2005-09-20  Bruno Haible  <bruno@clisp.org>
10884
10885         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
10886         func_modules_to_filelist, func_import, func_create_testdir): Make all
10887         sorting results locale-independent, so that gnulib-cache.m4 doesn't
10888         change when gnulib-tool is invoked in a different locale.
10889
10890 2005-09-19  Simon Josefsson  <jas@extundo.com>
10891
10892         * m4/socklen.m4: Fix typo.
10893
10894 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10895
10896         Use a consistent style for including <config.h>.
10897         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
10898         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
10899         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
10900         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
10901         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
10902         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
10903         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
10904         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
10905         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
10906         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
10907         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
10908         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
10909         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
10910         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
10911         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
10912         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
10913         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
10914         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
10915         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
10916         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
10917         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
10918         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
10919         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
10920         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
10921         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
10922         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
10923         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
10924         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
10925         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
10926         lib/xstrtoumax.c, lib/yesno.c:
10927         Standardize inclusion of config.h.
10928         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
10929         lib/inttostr.h:  Removed inclusion of config.h from header files.
10930         * lib/inttostr.c:  Adjusted in-tree users.
10931         * lib/timespec.h: Remove superfluous warning to include config.h.
10932         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
10933         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
10934         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
10935         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
10936         config.h with HAVE_CONFIG_H.
10937
10938 2005-09-19  Jim Meyering  <jim@meyering.net>
10939
10940         * modules/pathmax (License): Change to LGPL.
10941
10942 2005-09-19  Derek Price  <derek@ximbiot.com>
10943
10944         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
10945
10946 2005-09-19  Bruno Haible  <bruno@clisp.org>
10947
10948         * gnulib-tool (import): Provide default for --tests-base.
10949
10950 2005-09-19  Bruno Haible  <bruno@clisp.org>
10951
10952         * doc/quote.texi: New file, extracted from gnulib.texi.
10953         * doc/ctime.texi: New file, extracted from gnulib.texi.
10954         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
10955         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
10956         * doc/gnulib.texi: Include them.
10957
10958 2005-09-18  Bruno Haible  <bruno@clisp.org>
10959
10960         Portability fix.
10961         * gnulib-tool (func_readlink): New function.
10962         (func_ln_if_changed): Use it.
10963
10964 2005-09-18  Bruno Haible  <bruno@clisp.org>
10965
10966         * gnulib-tool: Support --with-tests also with --import.
10967         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
10968         (func_import): Use variables $testsbase and $inctests. Emit a
10969         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
10970         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
10971         SUBDIRS += $testsdir.
10972         (func_create_testdir): Update.
10973
10974 2005-09-18  Bruno Haible  <bruno@clisp.org>
10975
10976         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
10977         instead of $dry_run.
10978         (func_cp_if_changed, func_mv_if_changed): Remove functions.
10979         (func_ln_if_changed): Don't handle dry-run here.
10980         (func_import): In dry-run mode, detect more precisely which actions
10981         would be performed, and don't use "...ing" verbs.
10982
10983 2005-09-18  Bruno Haible  <bruno@clisp.org>
10984
10985         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
10986         (func_import): Use join on two temporary files instead of three nested
10987         loops, in order to determine which files are new or old.
10988
10989 2005-09-18  Bruno Haible  <bruno@clisp.org>
10990
10991         * gnulib-tool (func_import): Comment out code that spits out the
10992         new files with --dry-run.
10993
10994 2005-09-18  Bruno Haible  <bruno@clisp.org>
10995
10996         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
10997
10998 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10999
11000         * lib/stat-time.h: New file.
11001         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
11002         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
11003         in a different way.
11004         (timespec_cmp): New function.
11005         * lib/utimecmp.c: Include stat-time.h.
11006         (SYSCALL_RESOLUTION): Depend on whether various struct stat
11007         members exist, not on the obsolescent ST_MTIM_NSEC.
11008         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
11009
11010 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
11011
11012         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
11013
11014 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
11015
11016         * MODULES.html.sh (File system functions): Add stat-time.
11017         * modules/stat-time: New file.
11018         * modules/timespec (Files): Remove m4/st_mtim.m4; this
11019         is now done in a different way, by the stat-time module.
11020         * modules/utimecmp (Depends-on): Add stat-time.
11021
11022 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
11023
11024         * m4/st_mtim.m4: Remove.  Superseded by...
11025         * m4/stat-time.m4: New file.
11026         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
11027         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
11028
11029 2005-09-15  Derek Price  <derek@ximbiot.com>
11030
11031         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
11032
11033 2005-09-15  Derek Price  <derek@ximbiot.com>
11034
11035         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
11036         * lib/regex_internal.c: Ditto, using this...
11037         (__GNUC_PREREQ): ...new macro.
11038         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
11039         using...
11040         (__GNUC_PREREQ): ...this new macro.
11041
11042         * lib/strstr.h: Include string.h. Define strstr as a macro here.
11043
11044 2005-09-15  Derek Price  <derek@ximbiot.com>
11045             Paul Eggert  <eggert@cs.ucla.edu>
11046
11047         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
11048         changes, consolidating in...
11049         * lib/regex_internal.h: ...this file.
11050
11051 2005-09-13  Jim Meyering  <jim@meyering.net>
11052
11053         * lib/canon-host.c: Filter through gnu indent and reword comments
11054         slightly.
11055         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
11056
11057 2005-09-13  Derek Price  <derek@ximbiot.com>
11058
11059         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
11060         failure.
11061         Reported by Jim Meyering  <jim@meyering.net>.
11062
11063 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
11064
11065         * lib/base64.c: Typo.
11066         (base64_encode): Put b64str in initialized data section.
11067
11068 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11069
11070         Merge glibc and coreutils changes into gnulib, plus a few
11071         extra fixes.
11072         * lib/md5.c: Use #error rather than a string.
11073         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
11074         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
11075         (__attribute__): Define to empty for non recent-GCC.
11076         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
11077         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
11078         Renamed from their non-__ counterparts, with new macros replacing
11079         them if not _LIBC.  Add __THROW attribute.
11080         (rol): Remove.
11081         (struct md5_ctx): Align buffer if using GCC.
11082         * lib/sha1.h (struct sha1_ctx): Likewise.
11083         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
11084         The old name was backwards.
11085         (NOTSWAP): Remove; not used.
11086         (rol): New macro, moved here from md5.h.
11087         (sha1_process_block): Remove a FIXME that doesn't make sense.
11088
11089 2005-09-12  Derek Price  <derek@ximbiot.com>
11090
11091         Return usable errors from canon-host.
11092         * lib/canon-host.h: New file.
11093         * lib/canon-host.c (canon_host): Wrap...
11094         (canon_host_r): ...this new function, which now relies exclusively on
11095         getaddrinfo.
11096         (ch_strerror): New function.
11097         (last_cherror): New global.
11098         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
11099         interface.
11100         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
11101         void *.
11102         (freeaddrinfo): Free ai->ai_canonname when set.
11103
11104 2005-09-12  Derek Price  <derek@ximbiot.com>
11105
11106         Make canon-host require getaddrinfo.
11107         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
11108         AC_LIBSOURCE canon-host.h.  Call...
11109         (gl_PREREQ_CANON_HOST): ...this new function, which requires
11110         gl_GETADDRINFO.
11111         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
11112
11113 2005-09-12  Derek Price  <derek@ximbiot.com>
11114
11115         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
11116         LGPL.
11117         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
11118
11119 2005-09-12  Derek Price  <derek@ximbiot.com>
11120
11121         * lib/gai_strerror.c: Include config.h when available.  Include
11122         getaddrinfo.h before other headers to test interface.
11123         Reported by Larry Jones <lawrence.jones@ugs.com>.
11124
11125 2005-09-12  Derek Price  <derek@ximbiot.com>
11126             Paul Eggert  <eggert@cs.ucla.edu>
11127
11128         * modules/glob (Files): Add glob-libc.h.
11129
11130 2005-09-12  Derek Price  <derek@ximbiot.com>
11131             Paul Eggert  <eggert@cs.ucla.edu>
11132
11133         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
11134         glob_.h, glob-libc.h.
11135         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
11136
11137 2005-09-12  Derek Price  <derek@ximbiot.com>
11138             Paul Eggert  <eggert@cs.ucla.edu>
11139
11140         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
11141         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
11142         protecting things that should be done only in gnulib contexts.
11143         * lib/glob_.h: New file, containing only the glob things needed for
11144         gnulib.
11145         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
11146         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
11147         (glob, globfree, glob_pattern_p): Now defined simply in terms of
11148         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
11149         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
11150         and to respect the namespace rules better.
11151
11152 2005-09-08  Simon Josefsson  <jas@extundo.com>
11153
11154         * modules/socklen: New file.
11155
11156 2005-09-08  Simon Josefsson  <jas@extundo.com>
11157
11158         * m4/socklen.m4: New file.
11159
11160 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11161
11162         * modules/utimens (Files): Add m4/utimbuf.m4, since
11163         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
11164         Reported by Sergey Poznyakoff.
11165
11166 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11167
11168         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
11169         definitions, since that's the preferred style in glibc.
11170         Fix a minor spacing issue, and update copyright notice to match
11171         glibc's.
11172
11173 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11174
11175         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
11176
11177 2005-09-06  Simon Josefsson  <jas@extundo.com>
11178
11179         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
11180         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
11181
11182 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
11183
11184         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
11185         warning.
11186
11187 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
11188
11189         * config/srclist.txt: Add glibc bug 1302.
11190
11191 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
11192
11193         Change bitset word type from unsigned int to unsigned long int,
11194         as this has better performance on typical 64-bit hosts.
11195         Port bitset code to hosts with unusual word sizes.
11196         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
11197         (build_collating_symbol):
11198         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
11199         argument is a bitset.  This is merely a style issue, but it makes
11200         it clearer that an entire array is expected.
11201         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
11202         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
11203         Port to the case where bitset_word is not the same as unsigned int.
11204         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
11205         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
11206         Likewise.
11207         * lib/regexec.c (check_dst_limits_calc_pos_1,
11208         check_subexp_matching_top):
11209         (build_trtable, group_nodes_into_DFAstates):
11210         Likewise.
11211         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
11212         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
11213         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
11214         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
11215         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
11216         * lib/regcomp.c (optimize_subexps, lower_subexp):
11217         Work even if bitset_word has holes in its bitwise representation.
11218         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
11219         * lib/regexec.c (check_dst_limits_calc_pos_1,
11220         check_subexp_matching_top):
11221         Likewise.
11222         * lib/regex_internal.c (re_string_reconstruct):
11223         Don't assume UCHAR_MAX == 255.
11224         * lib/regex_internal.h (bitset_set_all): Likewise.
11225         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
11226         All uses changed.
11227         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
11228         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
11229         All uses changed.
11230         (BITSET_WORD_MAX): New macro.
11231         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
11232         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
11233         (bitset_empty, bitset_copy):
11234         Prefer sizeof (bitset) to multiplying it out ourselves.
11235         (bitset_not_merge): Remove; unused.
11236         (bitset_contain): Return bool, not unsigned int with one bit on.
11237         All callers changed.
11238         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
11239         alignment than re_node_set; do this by defining a new internal
11240         type struct dests_alloc and using it to allocate memory.
11241
11242 2005-09-05  Bruno Haible  <bruno@clisp.org>
11243
11244         * gnulib-tool (func_import): Fix comparison in handling of symbolic
11245         links.
11246
11247 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
11248
11249         * modules/size_max (Makefile.am): Add size_max.h
11250
11251 2005-09-04  Derek Price  <derek@ximbiot.com>
11252
11253         * gnulib-tool (func_import): Fix reversed $symbolic logic.
11254
11255 2005-09-03  Simon Josefsson  <jas@extundo.com>
11256
11257         * gnulib-tool: Fix typo.
11258
11259 2005-09-03  Simon Josefsson  <jas@extundo.com>
11260
11261         * config/srclist.txt: Add glibc bug 1293.
11262
11263 2005-09-03  Derek Price  <derek@ximbiot.com>
11264
11265         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
11266         From Larry Jones <lawrence.jones@ugs.com>.
11267
11268 2005-09-02  Simon Josefsson  <jas@extundo.com>
11269
11270         * modules/socklen: New file.
11271
11272 2005-09-02  Simon Josefsson  <jas@extundo.com>
11273
11274         * modules/havelib: New module.
11275
11276         * modules/gettext, modules/iconv, modules/lock, modules/readline:
11277         Use havelib.
11278
11279 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
11280
11281         Check for arithmetic overflow when calculating sizes, to prevent
11282         some buffer-overflow issues.  These patches are conservative, in the
11283         sense that when I couldn't determine whether an overflow was possible,
11284         I inserted a run-time check.
11285         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
11286         macros.
11287         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
11288         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
11289         (re_xnrealloc, re_x2nrealloc): New inline functions.
11290         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
11291         parse_bracket_exp):
11292         (build_equiv_class, build_charclass): Check for arithmetic overflow
11293         in size expression calculations.
11294         * lib/regex_internal.c (re_string_realloc_buffers):
11295         (build_wcs_upper_buffer, re_node_set_add_intersect):
11296         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
11297         (re_dfa_add_node, register_state): Likewise.
11298         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
11299         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
11300         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
11301         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
11302
11303 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
11304
11305         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
11306         m4/ulonglong.m4.  Problem reported by Martin Lambers.
11307
11308 2005-09-02  Bruno Haible  <bruno@clisp.org>
11309
11310         Support for lib vs. lib64 distinction on biarch platforms.
11311         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
11312         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
11313         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
11314
11315 2005-09-02  Bruno Haible  <bruno@clisp.org>
11316
11317         * gnulib-tool (import): In the other first-use case, provide defaults
11318         as well.
11319
11320 2005-09-02  Bruno Haible  <bruno@clisp.org>
11321
11322         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
11323         patches not yet found in the latest gettext release.
11324
11325 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11326
11327         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
11328         to avoid a collision with bits/local_lim.h in glibc.
11329         All uses changed.  Problem reported by Dmitry V. Levin in
11330         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
11331
11332         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
11333         bugs in int versus size_t comparisons.
11334         (re_string_context_at): Fix bug where the code assumed that
11335         Idx is signed.
11336
11337         Use bool where appropriate.
11338         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
11339         All callers changed.
11340         (calc_eclosure_iter): Likewise, for ROOT arg.
11341         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
11342         (build_charclass_op): Likewise, for NON_MATCH arg.
11343         * lib/regex_internal.c (re_string_allocate, re_string_construct):
11344         (re_string_construct_common): Likewise, for ICASE arg.
11345         * lib/regexec.c (re_search_2_stub, re_search_stub):
11346         Likewise, for RET_LEN arg.
11347         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
11348         (set_regs): Likewise, for FL_BACKTRACK arg.
11349         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
11350         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
11351         (calc_eclosure_iter, parse_bracket_exp):
11352         Use bool for internal variables that are booleans.
11353         * lib/regexec.c (re_search_internal, check_matching,
11354         proceed_next_node):
11355         (set_regs, build_sifted_states, sift_states_bkref):
11356         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
11357         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
11358         (find_collation_sequence_value):
11359         Likewise.
11360         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
11361         (re_node_set_compare):
11362         Return bool, not int. All callers changed.
11363         * lib/regexec.c (check_halt_node_context, check_dst_limits):
11364         (build_trtable, check_node_accept): Likewise.
11365         * lib/regex_internal.h: Include stdbool.h.
11366
11367         Fix bugs uncovered when converting to bool.
11368         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
11369         failure instead of charging ahead blindly.
11370         * lib/regex_internal.c (register_state): Likewise.
11371         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
11372         for freeing internal storage.
11373         (group_nodes_into_DFA_states): Use unsigned int, not int, for
11374         bitset pieces used as boolean, to avoid undefined behavior
11375         on hosts that do int overflow checking.
11376
11377 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11378
11379         * config/srclist.txt: Add glibc bugs 1285-1287.
11380
11381 2005-09-01  Jim Meyering  <jim@meyering.net>
11382
11383         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
11384         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
11385         Require gl_STAT_MACROS, too.
11386
11387 2005-09-01  Bruno Haible  <bruno@clisp.org>
11388
11389         * gnulib-tool (import): In the first-use case, provide defaults.
11390
11391 2005-09-01  Bruno Haible  <bruno@clisp.org>
11392
11393         * gnulib-tool (func_import): Remove the .tmp files.
11394
11395 2005-09-01  Bruno Haible  <bruno@clisp.org>
11396
11397         * gnulib-tool (func_import): Fix handling of symbolic links.
11398
11399 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11400
11401         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
11402         old glibc regex code mishandles strings longer than 2**31 bytes.
11403         This patch fixes this when the regex code is used in gnulib
11404         (i.e., outside glibc).
11405
11406         This patch should not affect the use of the regex code inside
11407         glibc.  No doubt this problem also needs to be handled for glibc
11408         as well, but the result will be an incompatible change to the
11409         glibc ABI, and the old ABI will have to be supported too.  That
11410         can be the the subject for another patch.
11411
11412         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
11413         governing whether the rest of this patch is active.  By default,
11414         the macro is disabled and the patch has no effect.
11415         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
11416         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
11417         (struct re_pattern_buffer, re_search, re_search_2, re_match):
11418         (re_match_2, re_set_registers): Use the new types.
11419         * lib/regex_internal.h (Idx, re_hashval_t): New types.
11420         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
11421         New macros.
11422         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
11423         (re_string_context_at, bin_tree_t, re_dfastate_t):
11424         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
11425         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
11426         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
11427         (re_string_char_size_at, re_string_wchar_at):
11428         (re_string_elem_size_at):
11429         Use the new types and macros to port to 64-bit hosts.
11430         Use unsigned types for internal values, so that the code
11431         mostly works even for arrays larger than SSIZE_MAX.
11432         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
11433         (search_duplicated_node, calc_eclosure_iter, fetch_number):
11434         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
11435         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
11436         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
11437         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
11438         (calc_inveclosure, parse_dup_op, build_range_exp):
11439         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
11440         (fetch_number, create_token_tree, mark_opt_subexp):
11441         Likewise.
11442         * lib/regex_internal.c (re_string_construct_common,
11443         create_ci_newstate):
11444         (create_cd_newstate, re_string_allocate, re_string_construct):
11445         (re_string_realloc_buffers, build_wcs_upper_buffer):
11446         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
11447         (re_string_reconstruct, re_string_peek_byte_case):
11448         (re_string_fetch_byte_case, re_string_context_at):
11449         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
11450         (re_node_set_init_copy, re_node_set_add_intersect):
11451         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
11452         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
11453         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
11454         (re_acquire_state, re_acquire_state_context, register_state):
11455         Likewise.
11456         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
11457         search_cur_bkref_entry):
11458         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
11459         (re_search_internal, re_search_2_stub, re_search_stub)
11460         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
11461         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
11462         (update_cur_sifted_state, check_dst_limits):
11463         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
11464         (check_subexp_limits, sift_states_bkref, merge_state_array):
11465         (check_subexp_matching_top, get_subexp, get_subexp_sub):
11466         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
11467         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
11468         (expand_bkref_cache, check_node_accept_bytes):
11469         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
11470         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
11471         (acquire_init_state_context, check_halt_node_context):
11472         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
11473         (sift_states_backward, clean_state_log_if_needed):
11474         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
11475         (find_recover_state, transit_state_sb, transit_state_mb):
11476         (transit_state_bkref, build_trtable, match_ctx_clean):
11477         Likewise.
11478         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
11479         to work around an assumption that REG_MISSING is negative.
11480
11481         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
11482         (seek_collating_symbol_entry) [defined _LIBC]:
11483         (lookup_collation_sequence_value) [defined _LIBC]:
11484         (build_range_exp, build_collating_symbol) [defined _LIBC]:
11485         Use prototypes rather than old-style function definitions.
11486         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
11487         (transit_state_sb) [0]:
11488         (find_collation_sequence_value) [defined _LIBC]: Likewise.
11489
11490         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
11491         rm_eo.
11492
11493         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
11494         (optimize_subexps, lower_subexp):
11495         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
11496         since the signed shift might overflow.  Use 1u<<31 instead.
11497         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
11498         Likewise.
11499         * lib/regexec.c (check_dst_limits_calc_pos_1,
11500         check_subexp_matching_top): Likewise.
11501
11502         * lib/regcomp.c (optimize_subexps, lower_subexp):
11503         Use CHAR_BIT rather than 8, for clarity.
11504         * lib/regexec.c (check_dst_limits_calc_pos_1):
11505         (check_subexp_matching_top): Likewise.
11506         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
11507         have to worry about portability issues when shifting it left.
11508         Remove no-longer-needed test for table_size > 0.
11509         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
11510         in a word, as the resulting behavior is undefined.
11511         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
11512         in one case, a <= should have been an <, and in another case the
11513         whole test was missing.
11514         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
11515         the standard name CHAR_BIT.
11516         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
11517         this is not true on one's complement and signed-magnitude hosts.
11518
11519         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
11520         next_last_offset.
11521         (struct re_dfa_t): Remove unused member states_alloc.
11522         * lib/regcomp.c (init_dfa): Don't initialize unused members.
11523
11524 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11525
11526         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
11527         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
11528         and large-file glibc and in 32-bit large-file Solaris.
11529
11530 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11531
11532         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
11533         lengths fit in regoff_t; this isn't true if regoff_t is the same
11534         width as size_t.
11535         * lib/regex.c (re_search_internal): 5th arg is LAST_START
11536         (= START + RANGE) instead of RANGE.  This avoids overflow
11537         problems when regoff_t is the same width as size_t.
11538         All callers changed.
11539         (re_search_2_stub): Check for overflow when adding the
11540         sizes of the two strings.
11541         (re_search_stub): Check for overflow when adding START
11542         to RANGE; if it occurs, substitute the extreme value.
11543
11544 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11545
11546         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
11547
11548 2005-08-31  Jim Meyering  <jim@meyering.net>
11549
11550         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
11551         a pointer-to-const.
11552         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
11553         (register_state): Likewise.
11554         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
11555         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
11556         (group_nodes_into_DFAstates): Likewise.
11557
11558 2005-08-31  Jim Meyering  <jim@meyering.net>
11559
11560         * check-module: Add a FIXME comment.
11561
11562 2005-08-31  Eric Blake  <ebb9@byu.net>
11563
11564         * modules/unistd-safer (Files): Add unistd--.h.
11565         * modules/stdio-safer (Files): Add stdio--.h.
11566
11567 2005-08-31  Derek Price  <derek@ximbiot.com>
11568
11569         * lib/getdelim.c (getdelim): Return EOF on EOF.
11570         Reported by Larry Jones <lawrence.jones@ugs.com>.
11571
11572 2005-08-31  Bruno Haible  <bruno@clisp.org>
11573
11574         Avoid unnecessary diffs in the generated lib/Makefile.am.
11575         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
11576         the generated files.
11577         (func_import): Don't set cmd.
11578
11579 2005-08-31  Bruno Haible  <bruno@clisp.org>
11580
11581         * lib/strstr.c: Include <stddef.h>, for NULL.
11582         * lib/strcasestr.c: Likewise.
11583         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
11584
11585 2005-08-31  Bruno Haible  <bruno@clisp.org>
11586
11587         * gnulib-tool: New option --macro-prefix.
11588         (func_import): Use macro_prefix.
11589         (import): Handle option --macro-prefix.
11590
11591 2005-08-31  Bruno Haible  <bruno@clisp.org>
11592
11593         * gnulib-tool (import): Rename most ac_* variables to cached_*.
11594         Also use new variables cached_lgpl, cached_libtool.
11595
11596 2005-08-31  Bruno Haible  <bruno@clisp.org>
11597
11598         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
11599         always instantiating them.
11600
11601 2005-08-31  Bruno Haible  <bruno@clisp.org>
11602
11603         * gnulib-tool (func_import): Read the previous cached settings
11604         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
11605         earlier added by gnulib but are now dropped. Warn when a gnulib file
11606         overwrites a non-gnulib file.
11607
11608 2005-08-31  Bruno Haible  <bruno@clisp.org>
11609
11610         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
11611         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
11612         projects that don't keep autogenerated files in CVS. Put into
11613         actioncmd only the specified modules, not the transitive closure.
11614
11615 2005-08-31  Bruno Haible  <bruno@clisp.org>
11616
11617         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
11618         Create directories that shall be filled.
11619         (import): Don't look for gl_* macros in configure.ac. Recurse across
11620         all directories containing a gnulib-cache.m4 files, if meaningful.
11621
11622 2005-08-31  Bruno Haible  <bruno@clisp.org>
11623
11624         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
11625         (import): Set seen_libtool when we see gl_LIBTOOL.
11626
11627 2005-08-31  Bruno Haible  <bruno@clisp.org>
11628
11629         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
11630         declaration macro definitions from generated gnulib.m4.
11631
11632 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
11633
11634         * lib/iconvme.h: Add prototype for iconv_alloc.
11635
11636 2005-08-29  Simon Josefsson  <jas@extundo.com>
11637
11638         * lib/iconvme.c: Fix errno.
11639
11640 2005-08-29  Bruno Haible  <bruno@clisp.org>
11641
11642         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
11643         that it works when the directory contains spaces.
11644
11645 2005-08-29  Bruno Haible  <bruno@clisp.org>
11646
11647         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
11648
11649 2005-08-29  Bruno Haible  <bruno@clisp.org>
11650
11651         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
11652         Emit more advice.
11653
11654 2005-08-29  Bruno Haible  <bruno@clisp.org>
11655         and Stepan Kasal  <kasal@ucw.cz>
11656
11657         * check-module: If more parameters are given, check each of them
11658         separately; add more exceptions, as noted by Jim Meyering.
11659         (check_module): New procedure.
11660         (%exempt_header): Now contains all exceptions.
11661
11662 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
11663
11664         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
11665
11666 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
11667
11668         * lib/iconvme.c: Split iconv_string into iconv_alloc.
11669
11670 2005-08-28  Bruno Haible  <bruno@clisp.org>
11671
11672         * m4/gnulib-tool.m4: New file.
11673
11674 2005-08-27  Jim Meyering  <jim@meyering.net>
11675
11676         * modules/unistd-safer (Files): Add pipe-safer.c.
11677         * modules/fcntl-safer (Files): Add creat-safer.c.
11678
11679 2005-08-27  Jim Meyering  <jim@meyering.net>
11680
11681         * m4/stdlib-safer.m4: New file.  From coreutils.
11682         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
11683         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
11684         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
11685         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
11686         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
11687
11688 2005-08-27  Jim Meyering  <jim@meyering.net>
11689
11690         * lib/fopen-safer.c: Merge minor changes from coreutils.
11691         * lib/dup-safer.c: Likewise.
11692         * lib/fd-safer.c: Likewise.
11693
11694         Merge from coreutils.
11695         * lib/stdio--.h: New file.
11696         * lib/stdlib--.h: New file.
11697         * lib/mkstemp-safer.c: New file.
11698
11699         GNU tar needs these.
11700         * lib/pipe-safer.c: New file.
11701         * lib/creat-safer.c: New file.
11702         * lib/fcntl--.h (creat): Define to creat_safer.
11703         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
11704         * lib/unistd--.h (pipe): Define to pipe_safer.
11705         * lib/unistd-safer.h: Declare pipe_safer.
11706
11707 2005-08-26  Simon Josefsson  <jas@extundo.com>
11708
11709         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
11710         Haible <bruno@clisp.org>.
11711
11712 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
11713
11714         * lib/regex_internal.h: Remove all references to
11715         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
11716         or better.
11717         (bitset_not, bitset_merge, bitset_not_merge):
11718         (bitset_mask, re_string_allocate, re_string_construct):
11719         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
11720         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
11721         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
11722         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
11723         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
11724         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
11725         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
11726         (re_acquire_state_context):
11727         Remove unnecessary forward decls.
11728         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
11729         Put __attribute at function definition,
11730         now that the function decl has been removed.
11731         * lib/regex_internal.c (re_string_peek_byte_case):
11732         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
11733         Likewise.
11734
11735 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
11736
11737         * m4/regex.m4: Add AC_PREREQ(2.50).
11738         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
11739
11740 2005-08-25  Simon Josefsson  <jas@extundo.com>
11741
11742         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
11743         __fsetlocking.
11744
11745 2005-08-25  Simon Josefsson  <jas@extundo.com>
11746
11747         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
11748         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
11749         GLIBC specific code.
11750
11751 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11752
11753         Make regex safe for g++.  This fixes one real bug (an "err"
11754         that should have been "*err").  g++ problem reported by
11755         Sam Steingold.
11756         * lib/regex_internal.h (re_calloc): New macro, consistent with
11757         re_malloc etc.  All callers of calloc changed to use re_calloc.
11758         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
11759         not int.  All callers changed.
11760         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
11761         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
11762         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
11763         (find_recover_state): Change "err" to "*err"; this fixes what
11764         appears to be a real bug.
11765         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
11766         versus int.
11767
11768 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11769
11770         * modules/regex (Depends-on): Add malloc, since the code
11771         assumes that !malloc(0) means failure.
11772
11773 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11774
11775         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
11776
11777         alloca modernization/simplification for regex.
11778         * lib/regex.c: Remove portability cruft for alloca.  This no longer
11779         needs to be at the start of the file, and can be moved into
11780         regex_internal.h and simplified.
11781         * lib/regex_internal.h: Include <alloca.h>.
11782         (__libc_use_alloca) [!defined _LIBC]: New macro.
11783         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
11784         now works outside glibc.
11785
11786 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
11787
11788         * config/srclist.txt: Add glibc bugs 1241, 1245.
11789
11790 2005-08-25  Jim Meyering  <jim@meyering.net>
11791
11792         * lib/open-safer.c: Include <config.h>.
11793         Otherwise, we'd lose LARGEFILE support in any file using
11794         e.g. "fcntl--.h"
11795
11796 2005-08-25  Bruno Haible  <bruno@clisp.org>
11797
11798         * m4/minmax.m4: Require autoconf 2.52.
11799         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
11800         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
11801         alternatives of translit over the alphabet.
11802         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
11803
11804 2005-08-24  Simon Josefsson  <jas@extundo.com>
11805
11806         * tests/test-getpass.c: New file.
11807
11808 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11809
11810         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
11811         for GNU regex features.
11812
11813 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11814
11815         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
11816         * lib/regex.h (regerror): Likewise.
11817
11818         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
11819         requires this.  (The code never needed it.)
11820
11821         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
11822         All uses of recently-renamed identifiers changed to use the new,
11823         POSIX-compliant names.  The code will build and run just fine
11824         without these changes, but it's better to eat our own dog food
11825         and use the standard-conforming names.
11826
11827         * lib/regex.h: Fix a multitude of POSIX name space violations.
11828         These changes have an effect only for programs that define
11829         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
11830         do not change anything for programs compiled in the normal way.
11831         Also, there is no effect on the ABI.
11832
11833         (_REGEX_SOURCE): New macro.
11834         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
11835         defined and _GNU_SOURCE is not; this fixes a name space violation.
11836
11837         Rename the following macros to obey POSIX requirements.
11838         The old names are still visible as macros if _REGEX_SOURCE is defined.
11839         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
11840         RE_BACKSLASH_ESCAPE_IN_LISTS.
11841         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
11842         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
11843         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
11844         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
11845         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
11846         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
11847         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
11848         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
11849         (REG_INTERVALS): renamed from RE_INTERVALS.
11850         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
11851         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
11852         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
11853         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
11854         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
11855         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
11856         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
11857         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
11858         RE_UNMATCHED_RIGHT_PAREN_ORD.
11859         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
11860         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
11861         (REG_DEBUG): renamed from RE_DEBUG.
11862         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
11863         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
11864         unusual, since we can't clash with the POSIX REG_ICASE.
11865         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
11866         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
11867         (REG_NO_SUB): renamed from RE_NO_SUB.
11868         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
11869         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
11870         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
11871         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
11872         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
11873         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
11874         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
11875         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
11876         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
11877         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
11878         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
11879         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
11880         RE_SYNTAX_POSIX_MINIMAL_BASIC.
11881         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
11882         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
11883         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
11884         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
11885         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
11886         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
11887         (REG_FIXED): Renamed from REGS_FIXED.
11888         (REG_NREGS): Renamed from RE_NREGS.
11889
11890         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
11891         of other REG_* macros, since POSIX says the user is allowed to
11892         #undef these macros selectively.
11893
11894         (reg_errcode_t): Update comment stating what other tables need
11895         to be consistent.
11896
11897         Rename the following enum values to obey POSIX requirements.
11898         The old names are still visible as macros.
11899         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
11900         is not defined, since GNU is supposed to be a superset of POSIX as
11901         much as possible, and since we want reg_errcode_t to be a signed
11902         type for implementation consistency.
11903         (_REG_NOERROR): Renamed from REG_NOERROR.
11904         (_REG_NOMATCH): Renamed from REG_NOMATCH.
11905         (_REG_BADPAT): Renamed from REG_BADPAT.
11906         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
11907         (_REG_ECTYPE): Renamed from REG_ECTYPE.
11908         (_REG_EESCAPE): Renamed from REG_EESCAPE.
11909         (_REG_ESUBREG): Renamed from REG_ESUBREG.
11910         (_REG_EBRACK): Renamed from REG_EBRACK.
11911         (_REG_EPAREN): Renamed from REG_EPAREN.
11912         (_REG_EBRACE): Renamed from REG_EBRACE.
11913         (_REG_BADBR): Renamed from REG_BADBR.
11914         (_REG_ERANGE): Renamed from REG_ERANGE.
11915         (_REG_ESPACE): Renamed from REG_ESPACE.
11916         (_REG_BADRPT): Renamed from REG_BADRPT.
11917         (_REG_EEND): Renamed from REG_EEND.
11918         (_REG_ESIZE): Renamed from REG_ESIZE.
11919         (_REG_ERPAREN): Renamed from REG_ERPAREN.
11920         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
11921         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
11922         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
11923         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
11924
11925         (_REG_RE_NAME, _REG_RM_NAME): New macros.
11926         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
11927         changed.  But support the old name if the new one is not defined
11928         and if _REGEX_SOURCE.
11929
11930         Change the following member names in struct re_pattern_buffer.
11931         The old names are still supported if !_REGEX_SOURCE.
11932         The new names are always supported, regardless of _REGEX_SOURCE.
11933         (re_buffer): Renamed from buffer.
11934         (re_allocated): Renamed from allocated.
11935         (re_used): Renamed from used.
11936         (re_syntax): Renamed from syntax.
11937         (re_fastmap): Renamed from fastmap.
11938         (re_translate): Renamed from translate.
11939         (re_can_be_null): Renamed from can_be_null.
11940         (re_regs_allocated): Renamed from regs_allocated.
11941         (re_fastmap_accurate): Renamed from fastmap_accurate.
11942         (re_no_sub): Renamed from no_sub.
11943         (re_not_bol): Renamed from not_bol.
11944         (re_not_eol): Renamed from not_eol.
11945         (re_newline_anchor): Renamed from newline_anchor.
11946
11947         Change the following member names in struct re_registers.
11948         The old names are still supported if !_REGEX_SOURCE.
11949         The new names are always supported, regardless of _REGEX_SOURCE.
11950         (rm_num_regs): Renamed from num_regs.
11951         (rm_start): Renamed from start.
11952         (rm_end): Renamed from end.
11953
11954         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
11955         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
11956         Prepend __ to parameter names.
11957
11958         Undo yesterday's changes.
11959
11960 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11961
11962         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
11963         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
11964         lib/regex.c.
11965
11966 2005-08-24  Jim Meyering  <jim@meyering.net>
11967
11968         Sync from coreutils.
11969         * m4/fcntl-safer.m4: New file.
11970
11971         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
11972         and object files for this module.
11973
11974 2005-08-24  Jim Meyering  <jim@meyering.net>
11975
11976         Sync from coreutils.
11977         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
11978
11979 2005-08-24  Jim Meyering  <jim@meyering.net>
11980
11981         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
11982         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
11983
11984 2005-08-24  Jim Meyering  <jim@meyering.net>
11985
11986         * modules/fcntl-safer: New module.
11987         * modules/fts (Depends-on): Add fcntl-safer.
11988         * MODULES.html.sh (File descriptor based Input/Output):
11989         Add fcntl-safer.
11990
11991 2005-08-24  Bruno Haible  <bruno@clisp.org>
11992
11993         Support for unit test modules.
11994         * modules/README: Mention tests modules.
11995         * modules/TEMPLATE-TESTS: New file.
11996         * gnulib-tool: New options --extract-tests-module, --with-tests and
11997         --tests-base (unused for the moment).
11998         (testsbase, inctests): New variables.
11999         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
12000         (func_verify_module): Exclude TEMPLATE-TESTS.
12001         (func_verify_nontests_module, func_verify_tests_module): New functions.
12002         (func_get_dependencies): Add implicit dependency for tests modules.
12003         (func_get_tests_module): New function.
12004         (func_modules_transitive_closure): When --with-tests was specified,
12005         include the unit tests as well, unless explicitly avoided.
12006         (func_emit_lib_Makefile_am): Ignore the tests modules here.
12007         (func_emit_tests_Makefile_am): New function.
12008         (func_create_testdir): When --with-tests was specified, emit a
12009         tests/ directory.
12010         * MODULES.html.sh (Future developments): Update.
12011
12012 2005-08-24  Bruno Haible  <bruno@clisp.org>
12013
12014         * modules/tls-tests: New file.
12015         * tests/test-tls.c: New file, from GNU gettext.
12016
12017 2005-08-24  Bruno Haible  <bruno@clisp.org>
12018
12019         * modules/lock-tests: New file.
12020         * tests/test-lock.c: New file, from GNU gettext.
12021
12022 2005-08-24  Bruno Haible  <bruno@clisp.org>
12023
12024         * lib/lock.h: Add multiple inclusion guard.
12025         * lib/tls.h: Add multiple inclusion guard.
12026
12027 2005-08-24  Bruno Haible  <bruno@clisp.org>
12028
12029         * gnulib-tool: Add support for the --aux-dir option to
12030         --create-testdir, --create-megatestdir, --test, --megatest.
12031         (func_create_testdir, func_create_megatestdir): Optionally emit a
12032         AC_CONFIG_AUX_DIR directive.
12033         (create-testdir, create-megatestdir, test, megatest): Provide a
12034         default value for $auxdir.
12035
12036 2005-08-24  Bruno Haible  <bruno@clisp.org>
12037
12038         * gnulib-tool (import): Use compound statement instead of subshell
12039         where possible.
12040
12041 2005-08-24  Bruno Haible  <bruno@clisp.org>
12042
12043         * gnulib-tool (import): Change --aux-dir default to "build-aux".
12044
12045 2005-08-24  Bruno Haible  <bruno@clisp.org>
12046
12047         * gnulib-tool (func_version): Update.
12048
12049 2005-08-24  Bruno Haible  <bruno@clisp.org>
12050
12051         * gnulib-tool (func_import, func_create_testdir,
12052         func_create_megatestdir): Quote all autoconf macro arguments.
12053
12054 2005-08-24  Bruno Haible  <bruno@clisp.org>
12055
12056         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
12057         option --force, because --force causes the aclocal.m4 of each
12058         subdirectory to be newer than the corresponding config.h.in.
12059
12060 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12061
12062         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
12063         All contents moved to gl_REGEX.
12064         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
12065         assume that it does.
12066
12067 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12068
12069         * lib/regex.h (REG_NOSYS)
12070         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
12071         Define, since POSIX requires it as of 2001.
12072         (_REG_ENOSYS)
12073         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
12074         New private symbol, used to keep the enum signed in all cases.
12075         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
12076         Youngman in
12077         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
12078
12079         * lib/regex_internal.c (re_string_skip_chars, register_state):
12080         (calc_state_hash):
12081         Remove forward decls; no longer needed now that we use prototypes.
12082         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
12083         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
12084         (clean_state_log_if_needed): Likewise.
12085
12086 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12087
12088         * config/srclist.txt: Add glibc bugs 1231-1233.
12089
12090 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12091
12092         Fix problems reported by Sam Steingold in
12093         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
12094         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
12095         assumed that reg_errcode_t is a signed type, which is not
12096         necessarily true if _XOPEN_SOURCE is not defined.
12097         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
12098         since some compilers warn about it otherwise.
12099
12100 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12101
12102         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
12103         (init_word_char, create_initial_state, duplicate_node_closure):
12104         (fetch_token, peek_token_bracket, build_range_exp):
12105         (build_collating_symbol): Remove forward decls; no longer needed
12106         now that we use prototypes.
12107
12108         * lib/regcomp.c:
12109         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
12110         (re_compile_fastmap_iter, regcomp, regerror, regfree):
12111         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
12112         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
12113         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
12114         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
12115         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
12116         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
12117         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
12118         (build_range_exp, build_collating_symbol, parse_bracket_exp):
12119         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
12120         (build_charclass, build_charclass_op, fetch_number, create_tree):
12121         (create_token_tree, mark_opt_subexp, duplicate_tree):
12122         Use prototypes rather than old-style definitions.
12123
12124         * lib/regex_internal.c:
12125         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
12126         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
12127         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
12128         (re_string_reconstruct, re_string_peek_byte_case):
12129         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
12130         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
12131         (re_node_set_init_copy, re_node_set_add_intersect):
12132         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
12133         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
12134         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
12135         (re_acquire_state, re_acquire_state_context, register_state):
12136         (create_ci_newstate, create_cd_newstate, free_state):
12137         Likewise.
12138         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
12139         re_search_2):
12140         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
12141         (re_search_internal, prune_impossible_nodes):
12142         (acquire_init_state_context, check_matching, static):
12143         (check_halt_node_context, check_halt_state_context, proceed_next_node):
12144         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
12145         (update_regs, sift_states_backward, build_sifted_states):
12146         (clean_state_log_if_needed, merge_state_array):
12147         (update_cur_sifted_state, add_epsilon_src_nodes):
12148         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
12149         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
12150         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
12151         (find_recover_state, check_subexp_matching_top, transit_state_mb):
12152         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
12153         (check_arrival, check_arrival_add_next_nodes):
12154         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
12155         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
12156         (check_node_accept_bytes, check_node_accept, extend_buffers):
12157         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
12158         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
12159         (sift_ctx_init):
12160         Likewise.
12161
12162         * lib/regex_internal.h:
12163         (re_string_allocate, re_string_construct, re_string_reconstruct):
12164         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
12165         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
12166         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
12167         (re_string_context_at, re_string_peek_byte_case):
12168         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
12169         is defined, since we now use prototypes always.
12170
12171         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
12172         C89 or better.  All uses removed.
12173
12174 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12175
12176         * config/srclist.txt: Add glibc bugs 1220-1227.
12177
12178 2005-08-20  Jim Meyering  <jim@meyering.net>
12179
12180         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
12181         of unused local, dfa.
12182
12183 2005-08-20  Bruno Haible  <bruno@clisp.org>
12184
12185         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
12186
12187 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12188
12189         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
12190         (re_node_set_insert_last, re_dfa_add_node):
12191         Rename local variables to avoid GCC shadowing warnings.
12192
12193 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12194
12195         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
12196         [defined lint]: Suppress bogus uninitialized-variable warnings.
12197
12198         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
12199         and let the caller return REG_ESPACE if out of space.  This
12200         removes an uninitialied-variable warning with GCC 4.0.1, and also
12201         avoids taking the address of a local variable.  All callers
12202         changed.
12203
12204 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12205
12206         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
12207         $LIBCSRC/posix/regexec.c.
12208         Add glibc bug 1217 for regcomp.c.
12209
12210 2005-08-19  Jim Meyering  <jim@meyering.net>
12211
12212         * lib/regexec.c (proceed_next_node): Redo local variables to
12213         avoid GCC shadowing warnings.
12214
12215 2005-08-18  Bruno Haible  <bruno@clisp.org>
12216
12217         * lib/strstr.c (strstr): Fix return value in multibyte case.
12218         * lib/strcasestr.c (strcasestr): Likewise.
12219
12220 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
12221
12222         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
12223
12224 2005-08-17  Jim Meyering  <jim@meyering.net>
12225
12226         Make the %s format (seconds since the epoch) work for a negative
12227         number and when used with a zero-padded field width, e.g. %015s.
12228
12229         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
12230         label so that it precedes the code to set `digits'.  Otherwise,
12231         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
12232         print `00-22'.  Now, it prints `-0022', as it should.
12233
12234 2005-08-17  Bruno Haible  <bruno@clisp.org>
12235
12236         * modules/strstr (Files): Add m4/mbrtowc.m4.
12237         (Depends-on): Add mbuiter.
12238
12239 2005-08-17  Bruno Haible  <bruno@clisp.org>
12240
12241         * modules/strcasestr: New file.
12242         * MODULES.html.sh (String handling, based on ANSI C 89): Add
12243         strcasestr.
12244
12245 2005-08-17  Bruno Haible  <bruno@clisp.org>
12246
12247         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
12248
12249 2005-08-17  Bruno Haible  <bruno@clisp.org>
12250
12251         * modules/mbuiter: New file.
12252         * MODULES.html.sh (Extended multibyte and wide character utilities):
12253         Add mbuiter.
12254
12255 2005-08-17  Bruno Haible  <bruno@clisp.org>
12256
12257         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
12258         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
12259
12260 2005-08-17  Bruno Haible  <bruno@clisp.org>
12261
12262         * m4/strcasestr.m4: New file.
12263
12264 2005-08-17  Bruno Haible  <bruno@clisp.org>
12265
12266         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
12267         * lib/strstr.c: Completely rewritten, with multibyte locale support.
12268
12269 2005-08-17  Bruno Haible  <bruno@clisp.org>
12270
12271         * lib/strcasestr.h: New file.
12272         * lib/strcasestr.c: New file.
12273
12274 2005-08-17  Bruno Haible  <bruno@clisp.org>
12275
12276         * lib/strcasecmp.c: Use mbuiter.h.
12277
12278 2005-08-17  Bruno Haible  <bruno@clisp.org>
12279
12280         * lib/mbuiter.h: New file.
12281
12282 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
12283
12284         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
12285         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
12286         and gl_GETOPT are both invoked via different paths (as happens
12287         with GNU tar CVS because it uses both argp and getopt), the former
12288         wins.
12289
12290 2005-08-16  Bruno Haible  <bruno@clisp.org>
12291
12292         * modules/tls: New file.
12293         * MODULES.html.sh (Multithreading): Add tls.
12294
12295 2005-08-16  Bruno Haible  <bruno@clisp.org>
12296
12297         * modules/strnlen1: New file.
12298         * MODULES.html.sh (String handling): Add strnlen1.
12299
12300 2005-08-16  Bruno Haible  <bruno@clisp.org>
12301
12302         * modules/strcase (Files): Add m4/mbrtowc.m4.
12303         (Depends-on): Add strnlen1, mbchar.
12304
12305 2005-08-16  Bruno Haible  <bruno@clisp.org>
12306
12307         * modules/mbiter: New file.
12308         * MODULES.html.sh (Extended multibyte and wide character utilities):
12309         Add mbiter.
12310
12311 2005-08-16  Bruno Haible  <bruno@clisp.org>
12312
12313         * modules/mbfile: New file.
12314         * MODULES.html.sh (Extended multibyte and wide character utilities):
12315         Add mbfile.
12316
12317 2005-08-16  Bruno Haible  <bruno@clisp.org>
12318
12319         * modules/mbchar: New file.
12320         * MODULES.html.sh (Extended multibyte and wide character utilities):
12321         New section.
12322
12323 2005-08-16  Bruno Haible  <bruno@clisp.org>
12324
12325         * m4/tls.m4: New file, from GNU gettext.
12326
12327 2005-08-16  Bruno Haible  <bruno@clisp.org>
12328
12329         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
12330         always.
12331         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
12332
12333 2005-08-16  Bruno Haible  <bruno@clisp.org>
12334
12335         * m4/mbiter.m4: New file.
12336
12337 2005-08-16  Bruno Haible  <bruno@clisp.org>
12338
12339         * m4/mbfile.m4: New file.
12340
12341 2005-08-16  Bruno Haible  <bruno@clisp.org>
12342
12343         * m4/mbchar.m4: New file.
12344
12345 2005-08-16  Bruno Haible  <bruno@clisp.org>
12346
12347         * lib/tls.h: New file, from GNU gettext.
12348         * lib/tls.c: New file, from GNU gettext.
12349
12350 2005-08-16  Bruno Haible  <bruno@clisp.org>
12351
12352         * lib/strnlen1.h: New file.
12353         * lib/strnlen1.c: New file.
12354
12355 2005-08-16  Bruno Haible  <bruno@clisp.org>
12356
12357         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
12358         (mbi_init): Update.
12359         (mbi_avail, mbi_advance): Let the iteration end before the terminating
12360         NUL byte, not after it.
12361
12362 2005-08-16  Bruno Haible  <bruno@clisp.org>
12363
12364         * lib/strcase.h (strcasecmp): Add note in comments.
12365         * lib/strncasecmp.c: Use code from strcasecmp.c.
12366         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
12367         (strcasecmp): Work correctly in multibyte locales.
12368
12369 2005-08-16  Bruno Haible  <bruno@clisp.org>
12370
12371         * lib/mbiter.h: New file.
12372
12373 2005-08-16  Bruno Haible  <bruno@clisp.org>
12374
12375         * lib/mbfile.h: New file.
12376
12377 2005-08-16  Bruno Haible  <bruno@clisp.org>
12378
12379         * lib/mbchar.h: New file.
12380         * lib/mbchar.c: New file.
12381
12382 2005-08-16  Bruno Haible  <bruno@clisp.org>
12383
12384         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
12385         the valid ones. Makes the comparison operations transitive:
12386         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
12387         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
12388
12389 2005-08-15  Simon Josefsson  <jas@extundo.com>
12390
12391         * modules/ssize_t (License): Change to 'unlimited'.
12392
12393         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
12394
12395 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
12396
12397         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
12398         Add comments for each pending glibc patch.
12399
12400 2005-08-15  Bruno Haible  <bruno@clisp.org>
12401
12402         * lib/regex.h (__restrict_arr): Don't define to __restrict if
12403         __cplusplus is defined.
12404
12405 2005-08-14  Jim Meyering  <jim@meyering.net>
12406
12407         Sync from coreutils.
12408
12409         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
12410         Use the hash-table-based cycle-detection code not just when
12411         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
12412         Reported by James Youngman in
12413         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
12414         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
12415         FTS_TIGHT_CYCLE_CHECK.
12416         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
12417         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
12418         once again.
12419         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
12420         * lib/fts.c (fd_safer): Remove decl.
12421         Include fcntl--.h rather than unistd-safer.h
12422         (fts_safe_changedir): Don't call fd_safer; no longer needed
12423         now that we include fcntl--.h.
12424
12425 2005-08-12  Simon Josefsson  <jas@extundo.com>
12426
12427         * modules/getndelim2: Use ssize_t module.
12428         * modules/getnline: Likewise.
12429         * modules/safe-read: Likewise.
12430         * modules/xreadlink: Likewise.
12431
12432         * modules/ssize_t: New file.
12433
12434 2005-08-12  Simon Josefsson  <jas@extundo.com>
12435
12436         * m4/readline.m4: Look for termcap, curses or ncurses if required.
12437
12438 2005-08-12  Simon Josefsson  <jas@extundo.com>
12439
12440         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12441         ssize_t.
12442
12443 2005-08-12  Simon Josefsson  <jas@extundo.com>
12444
12445         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
12446         readline, getdelim and check_version.
12447         (Support for systems lacking ISO C 99: Sizes of integer types):
12448         Add size_max.
12449
12450 2005-08-12  Bruno Haible  <bruno@clisp.org>
12451
12452         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
12453
12454 2005-08-11  Simon Josefsson  <jas@extundo.com>
12455
12456         * modules/readline: New file.
12457
12458         * modules/strnlen (Files): Add strnlen.h.
12459
12460 2005-08-11  Simon Josefsson  <jas@extundo.com>
12461
12462         * m4/readline.m4: New file.
12463
12464 2005-08-11  Simon Josefsson  <jas@extundo.com>
12465
12466         * lib/readline.h, readline.c: New file.
12467
12468 2005-08-11  Simon Josefsson  <jas@extundo.com>
12469
12470         * doc/gnulib.texi (Initial import, Finishing touches): Mention
12471         gl_AVOID.
12472
12473 2005-08-11  Bruno Haible  <bruno@clisp.org>
12474
12475         * lib/strnlen.h (strnlen): Change parameter name to match comment.
12476
12477 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
12478
12479         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
12480
12481 2005-08-10  Simon Josefsson  <jas@extundo.com>
12482
12483         * tests/test-iconvme.c: New file.
12484
12485 2005-08-10  Simon Josefsson  <jas@extundo.com>
12486
12487         * m4/strnlen.m4: New file.
12488
12489         * m4/strndup.m4: Don't check for strnlen declaration, done in
12490         strnlen.m4.
12491
12492 2005-08-10  Simon Josefsson  <jas@extundo.com>
12493
12494         * lib/strndup.c: Use strnlen.h.
12495
12496         * lib/strnlen.h: New file.
12497
12498 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
12499
12500         * README: Typos.
12501
12502 2005-08-02  Simon Josefsson  <jas@extundo.com>
12503
12504         * modules/readline: New file.
12505
12506 2005-08-02  Simon Josefsson  <jas@extundo.com>
12507
12508         * modules/getdelim: New file.
12509
12510         * modules/getline: Rewrite, don't use getndelim2.
12511
12512 2005-08-02  Simon Josefsson  <jas@extundo.com>
12513
12514         * m4/getline.m4: Separate out getdelim stuff into separate module.
12515
12516         * m4/getdelim.m4: New file.
12517
12518 2005-08-02  Simon Josefsson  <jas@extundo.com>
12519
12520         * lib/getline.h, getline.c: Rewrite.
12521
12522         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
12523
12524 2005-07-31  Bruno Haible  <bruno@clisp.org>
12525
12526         * lib/lock.h (gl_lock_initializer): New macro.
12527         (gl_lock_define_initialized): Use it.
12528         (gl_rwlock_initializer): New macro.
12529         (gl_rwlock_define_initialized): Use it.
12530         (gl_recursive_lock_initializer): New macro.
12531         (gl_recursive_lock_define_initialized): Use it.
12532
12533 2005-07-30  Karl Berry  <karl@gnu.org>
12534
12535         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
12536         Report from Ben Pfaff, regarding getopt.
12537
12538 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
12539
12540         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
12541         normal way.
12542         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
12543         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
12544         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
12545         (gl_GETOPT): Use the new macros.  Most of the implementation
12546         is moved to the new macros.  This is for programs like Emacs
12547         that don't want all the functionality of gl_GETOPT.
12548
12549 2005-07-26  Bruno Haible  <bruno@clisp.org>
12550
12551         * m4/lock.m4: Update from GNU gettext.
12552
12553 2005-07-26  Bruno Haible  <bruno@clisp.org>
12554
12555         * lib/lock.h: Update from GNU gettext.
12556         * lib/lock.c: Update from GNU gettext.
12557
12558 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12559
12560         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
12561         obsolescent AC_TRY_RUN.  Include the default includes files, for
12562         'exit'.
12563
12564 2005-07-24  Bruno Haible  <bruno@clisp.org>
12565
12566         * modules/visibility: New file.
12567         * MODULES.html.sh (Misc): Add visibility.
12568
12569 2005-07-24  Bruno Haible  <bruno@clisp.org>
12570
12571         * m4/visibility.m4: New file.
12572
12573 2005-07-24  Bruno Haible  <bruno@clisp.org>
12574
12575         * doc/visibility.texi: New file.
12576
12577 2005-07-22  Bruno Haible  <bruno@clisp.org>
12578
12579         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
12580         $(ALLOCA_H), redundant through BUILT_SOURCES.
12581         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
12582         redundant through BUILT_SOURCES.
12583         * modules/byteswap (Makefile.am): Remove explicit dependency on
12584         $(BYTESWAP_H), redundant through BUILT_SOURCES.
12585         * modules/fnmatch (Makefile.am): Remove explicit dependency on
12586         $(FNMATCH_H), redundant through BUILT_SOURCES.
12587         * modules/getopt (Makefile.am): Remove explicit dependency on
12588         $(GETOPT_H), redundant through BUILT_SOURCES.
12589         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
12590         redundant through BUILT_SOURCES.
12591         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
12592         redundant through BUILT_SOURCES.
12593         * modules/stdbool (Makefile.am): Remove explicit dependency on
12594         $(STDBOOL_H), redundant through BUILT_SOURCES.
12595         * modules/stdint (Makefile.am): Remove explicit dependency on
12596         $(STDINT_H), redundant through BUILT_SOURCES.
12597         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
12598         Remove explicit dependency on $(SYSEXITS_H).
12599         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
12600
12601 2005-07-18  Simon Josefsson  <jas@extundo.com>
12602
12603         * lib/check-version.c (check_version): Accept identical versions too.
12604
12605 2005-07-18  Bruno Haible  <bruno@clisp.org>
12606
12607         * modules/lock: New file.
12608         * MODULES.html.sh (Multithreading): New section.
12609
12610 2005-07-18  Bruno Haible  <bruno@clisp.org>
12611
12612         * m4/lock.m4: New file, from GNU gettext.
12613
12614 2005-07-18  Bruno Haible  <bruno@clisp.org>
12615
12616         * lib/lock.h: New file, from GNU gettext.
12617         * lib/lock.c: New file, from GNU gettext.
12618
12619 2005-07-18  Bruno Haible  <bruno@clisp.org>
12620
12621         * lib/lock.h (gl_once_t): New type.
12622         (gl_once_define, gl_once): New macros.
12623         * lib/lock.c (fresh_once): New variable.
12624         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
12625         functions.
12626
12627 2005-07-16  Simon Josefsson  <jas@extundo.com>
12628
12629         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
12630         workaround, suggested by Bruno.
12631
12632 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12633
12634         * modules/xalloc (Depends-on): Add xalloc-die.
12635         * modules/xvasprintf (Depends-on): Add xalloc-die.
12636
12637 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12638
12639         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
12640         with a minor change.
12641
12642 2005-07-15  Bruno Haible  <bruno@clisp.org>
12643
12644         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
12645         When using lib/poll.c, define poll as rpl_poll.
12646
12647 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
12648
12649         * modules/argp (Depends-on): Remove unlocked-io.
12650
12651 2005-07-14  Derek Price  <derek@ximbiot.com>
12652
12653         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
12654         for glob symlink bug.
12655
12656 2005-07-14  Bruno Haible  <bruno@clisp.org>
12657
12658         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
12659         Instead, test for *_unlocked function declarations directly.
12660
12661 2005-07-11  Simon Josefsson  <jas@extundo.com>
12662
12663         * modules/size_max: New file.
12664
12665         * modules/xsize: Depend on size_max module for size_max.m4.
12666
12667 2005-07-11  Simon Josefsson  <jas@extundo.com>
12668
12669         * lib/size_max.h: New file.
12670
12671 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
12672
12673         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
12674         copyright symbol and the year.
12675         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
12676         (version_etc_va): Use parameterized copyright notice.
12677         Reword to conform to the current GNU coding standards.
12678
12679 2005-07-11  Karl Berry  <karl@gnu.org>
12680
12681         * doc/gnulib.texi (Quoting): new node.
12682         (Initial import): more info, from Patrice.
12683
12684 2005-07-11  Bruno Haible  <bruno@clisp.org>
12685
12686         * gnulib-tool (func_usage): Document option --avoid.
12687         (Command line options): Handle --avoid.
12688         (func_acceptable): New function.
12689         (func_modules_transitive_closure): Use it.
12690
12691 2005-07-11  Bruno Haible  <bruno@clisp.org>
12692
12693         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
12694         Reported by Jim Meyering.
12695
12696 2005-07-10  Bruno Haible  <bruno@clisp.org>
12697
12698         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
12699         Needed when size_t is smaller than 'unsigned int'.
12700         Reported by Paul Eggert.
12701
12702 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
12703
12704         * modules/argp (Depends-on): Add unlocked-io
12705
12706 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
12707
12708         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
12709         block of defines.
12710
12711 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12712
12713         * config/srclist.txt: Comment out regcomp.c, since we have a porting
12714         fix now.
12715
12716 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
12717         and Paul Eggert  <eggert@cs.ucla.edu>
12718
12719         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
12720         in wint_t, not wchar_t.  Remove now-unnecessary cast.
12721
12722 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12723
12724         * modules/regex (Files): Add lib/regex_internal.c,
12725         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
12726         (Depends-on): Add extensions.
12727         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
12728
12729 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12730
12731         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
12732         pathconf.
12733         * m4/same.m4 (gl_SAME): Likewise.
12734         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
12735
12736         * m4/regex.m4: Adjust to new libc regex implementation.
12737         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
12738         all the .c and .h parts of (the new) regex.
12739         Quote the m4 stuff better.
12740         Check for RE_ICASE bug of old gnulib.
12741         Check for REG_STARTEND of recent libc.
12742         Rename local variables from jm_* to gl_*.
12743         Quote operand of "test -f".
12744         Say "recent enough" version of libc, not "version 2".
12745         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
12746         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
12747         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
12748         Remove check for btowc, isascii.
12749         Require AM_LANGINFO_CODESET.
12750
12751 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12752
12753         * lib/regex.c, regex.h: Sync from libc.
12754         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
12755         * lib/regexec.c:
12756         New files, synced from libc, except that regex_internal.h
12757         currently has a small porting fix.
12758
12759 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
12760
12761         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
12762         regex_internal.c, regexec.c.
12763         Add regex_internal.h too, but as a comment, since the libc version
12764         is currently broken in gnulib mode.
12765
12766 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12767
12768         Support programs like Emacs that use gnulib but not gettext.
12769         * MODULES.html.sh (Internationalization functions): Add gettext-h.
12770         * modules/gettext-h: New file.
12771         * modules/gettext (Files): Remove lib/gettext.h.
12772         (Depends-on): Add gettext-h.
12773         (Makefile.am): Remove lib_SOURCES.
12774         * modules/argmatch, modules/c-stack, modules/closeout:
12775         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
12776         * modules/execute, modules/file-type, modules/getaddrinfo:
12777         * modules/getopt, modules/human, modules/javacomp:
12778         * modules/javaexec, modules/mkdir-p, modules/obstack:
12779         * modules/openat, modules/pagealign_alloc, modules/pipe:
12780         * modules/quotearg, modules/regex, modules/rpmatch:
12781         * modules/unicodeio, modules/userspec, modules/version-etc:
12782         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
12783         * modules/xsetenv:
12784         Depend on gettext-h, not gettext.
12785
12786 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
12787
12788         * gnulib-tool (func_import): Add support for 'public domain' license.
12789         * modules/alloca, modules/atexit, modules/memmove:
12790         Now public domain, not GPL.
12791         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
12792         * modules/realloc, modules/strerror, modules/strtod:
12793         Now LGPL, not GPL.
12794
12795 2005-07-05  Bruno Haible  <bruno@clisp.org>
12796
12797         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
12798         autoconf CVS. Needed for mingw.
12799
12800 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
12801
12802         Remove the dependency of the strftime module on the tzset module.
12803         * modules/strftime (Depends-on): Remove dependency on tzset.
12804
12805 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
12806
12807         Remove the dependency of the strftime module on the tzset module.
12808         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
12809         gl_FUNC_TZSET_CLOBBER.
12810
12811 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
12812
12813         Remove the dependency of the strftime module on the tzset module.
12814         * lib/strftime.c (my_strftime)
12815         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
12816         Copy the input structure, to work around some of the bug with
12817         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
12818         Solaris releases, you should also use the tzset module, but we won't
12819         require it as a dependency any more since we don't want LGPLed code
12820         to depend on GPLed code.
12821
12822 2005-07-02  Jim Meyering  <jim@meyering.net>
12823
12824         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
12825         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
12826         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
12827         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
12828
12829 2005-07-02  Jim Meyering  <jim@meyering.net>
12830
12831         * lib/backupfile.c (backup_args): Change a `0' to NULL.
12832
12833 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
12834
12835         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
12836         declares only 'struct timespec;' (!).
12837
12838 2005-07-01  Jim Meyering  <jim@meyering.net>
12839
12840         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
12841         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
12842         * lib/save-cwd.c, tempname.c:
12843         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
12844         and don't include <sys/file.h>).
12845
12846 2005-06-29  Jim Meyering  <jim@meyering.net>
12847
12848         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
12849         type name.  Use the variable name instead.
12850         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
12851         Likewise.
12852
12853 2005-06-28  Simon Josefsson  <jas@extundo.com>
12854
12855         * modules/check-version (Files): Add check-version.m4.
12856
12857 2005-06-28  Simon Josefsson  <jas@extundo.com>
12858
12859         * m4/check-version.m4: New file, suggested by Jim Meyering
12860         <jim@meyering.net>.
12861
12862 2005-06-28  Simon Josefsson  <jas@extundo.com>
12863
12864         * lib/check-version.h, lib/check-version.c: New files.
12865
12866 2005-06-28  Simon Josefsson  <jas@extundo.com>
12867
12868         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
12869         collision with global variable.  Better indentation.  Don't
12870         increment buffer pointer beyond buffer end.  Based on comments
12871         from Paul Eggert <eggert@cs.ucla.edu>.
12872
12873         * lib/base64.h: Indent.
12874
12875 2005-06-28  Simon Josefsson  <jas@extundo.com>
12876
12877         * doc/gnulib.texi (Library version handling): New section.
12878
12879 2005-06-28  Jim Meyering  <jim@meyering.net>
12880
12881         * check-module (find_included_lib_files): Hard-code another
12882         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
12883         but modules/fts-lgpl (correctly) does not list those files.
12884
12885         * modules/canonicalize (Files): Add lib/pathmax.h.
12886
12887 2005-06-25  Simon Josefsson  <jas@extundo.com>
12888
12889         * modules/check-version: New file.
12890
12891 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
12892
12893         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
12894         initializer of struct addrinfo, as an indication that we don't
12895         care how many members the structure has.
12896
12897 2005-06-24  Derek Price  <derek@ximbiot.com>
12898         and Bruno Haible  <bruno@clisp.org>
12899
12900         Remove stat module & update lstat.
12901         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
12902         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
12903         * m4/stat.m4: Remove this file.
12904
12905 2005-06-24  Derek Price  <derek@ximbiot.com>
12906         and Bruno Haible  <bruno@clisp.org>
12907
12908         Remove stat module & update lstat.
12909         * lib/stat.c: Remove this file...
12910         (slash_aware_lstat): ...moving this content and its support...
12911         * lib/lstat.c (rpl_lstat): ...into here.
12912         * lib/lstat.h: New file.
12913
12914 2005-06-24  Derek Price  <derek@ximbiot.com>
12915         and Bruno Haible  <bruno@clisp.org>
12916
12917         Remove stat module & update lstat.
12918         * config/srclist.txt (libc sources): Remove stat.
12919
12920 2005-06-24  Derek Price  <derek@ximbiot.com>
12921         and Bruno Haible  <bruno@clisp.org>
12922
12923         Remove stat module & update lstat.
12924         * MODULES.html.sh (stat): Remove.
12925         * MODULES.html: Regenerated.
12926         * modules/lstat (Description): Correct function name.
12927         (Files): Add "lstat.h".
12928         (Depends-on): Remove stat, add xalloc, stat-macros.
12929         * modules/stat: Remove this file.
12930         (Include): Add "lstat.h", remove <sys/stat.h>.
12931
12932 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
12933
12934         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
12935         (ranged_convert): Don't save conversion in a temporary struct.
12936         This causes a warning with GCC 4.0.0, and anyway in the typical
12937         case it's not worth the extra 100 bytes or so of code.
12938         (ranged_convert, __mktime_internal): When calling a function via a
12939         pointer P, use P () rather than (*P) (), as we now assume C89 or
12940         better.
12941
12942 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
12943
12944         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
12945         "who -r" failed to give output.  Problem reported by Tim Waugh.
12946
12947         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
12948         (xcalloc): Use it to avoid needless tests.
12949         Problem reported by Jim Meyering.
12950
12951 2005-06-20  Derek Price  <derek@ximbiot.com>
12952
12953         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
12954         unnecessary for Autoconfs > 2.59c.
12955
12956 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12957
12958         * lib/argp.h (__option_is_short): Check upper limit of
12959         __key. Isprint() requires its argument to have the value
12960         of an unsigned char or EOF.
12961
12962 2005-06-16  Jim Meyering  <jim@meyering.net>
12963
12964         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
12965         when either N or S is zero.
12966
12967 2005-06-16  Derek Price  <derek@ximbiot.com>
12968
12969         * m4/bison.m4: Declare YACC & YFLAGS precious.
12970
12971 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
12972
12973         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
12974         multibyte string or pattern, fall back on unibyte matching.
12975         Problem reported by James Youngman.
12976
12977 2005-06-08  Bruno Haible  <bruno@clisp.org>
12978
12979         * modules/csharpcomp: New file.
12980         * MODULES.html.sh (C#): Add csharpcomp.
12981
12982 2005-06-08  Bruno Haible  <bruno@clisp.org>
12983
12984         * m4/csharpcomp.m4: New file, from GNU gettext.
12985
12986 2005-06-08  Bruno Haible  <bruno@clisp.org>
12987
12988         * lib/csharpcomp.h: New file, from GNU gettext.
12989         * lib/csharpcomp.c: New file, from GNU gettext.
12990         * lib/csharpcomp.sh.in: New file, from GNU gettext.
12991
12992 2005-06-08  Bruno Haible  <bruno@clisp.org>
12993
12994         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
12995         warning on mingw.
12996
12997 2005-06-07  Derek Price  <derek@ximbiot.com>
12998
12999         Sync from CVS.
13000         * lib/glob_.h: Indent nested #ifdef.
13001
13002 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13003
13004         Sync from coreutils.
13005         Use "file name" when talking about file names, instead of "filename"
13006         or "path", as per the GNU coding standards.
13007         * lib/mkdir-p.c: Renamed from makepath.c.
13008         (make_dir_parents): Renamed from make_path.  All callers changed.
13009         * lib/mkdir-p.h: Likewise.  All includers changed.
13010         * lib/filenamecat.c: Renamed from path-concat.c.
13011         (file_name_concat): Renamed from path_concat.  All callers changed.
13012         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
13013         * lib/filenamecat.h: Likewise.  All includers changed.
13014         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
13015         in comments or local variable names.
13016         * lib/basename.c: Likewise.
13017         * lib/canonicalize.c, canonicalize.h: Likewise.
13018         * lib/dirname.c, dirname.h: Likewise.
13019         * lib/euidaccess.c: Likewise.
13020         * lib/exclude.c: Likewise
13021         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
13022         * lib/fsusage.c, fsuage.h: Likewise.
13023         * lib/fts.c, fts_.h: Likewise.
13024         * lib/getcwd.c: Likewise.
13025         * lib/getloadavg.c: Likewise.
13026         * lib/mkstemp.c: Likewise.
13027         * lib/mountlist.c, mountlist.h: Likewise.
13028         * lib/openat.c, openat.h: Likewise.
13029         * lib/readlink-stub.c: Likewise.
13030         * lib/readutmp.c, readutmp.h: Likewise.
13031         * lib/rename.c: Likewise.
13032         * lib/rmdir.c: Likewise.
13033         * lib/same.c: Likewise.
13034         * lib/savedir.c: Likewise.
13035         * lib/stripslash.c: Likewise.
13036         * lib/tempname.c: Likewise.
13037         * lib/xreadlink.c: Likewise.
13038         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
13039         All uses changed.
13040         * lib/exclude.h: Likewise.
13041
13042         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
13043         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
13044         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
13045         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
13046         * lib/pathmax.h: Include <limits.h> unconditionally, since other
13047         files have been getting away with it for years (MORE/BSD 4.3
13048         is extinct now).
13049         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
13050         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
13051
13052         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
13053         Define to 256, not 255, as per modern POSIX.
13054
13055 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13056
13057         Sync from coreutils.
13058         Use "file name" when talking about file names, instead of "filename"
13059         or "path", as per the GNU coding standards.
13060         * MODULES.html.sh: mkdir-p renamed from makepath.
13061         filenamecat renamed from path-concat.
13062         * modules/filenamecat: Renamed from modules/path-concat.
13063         (Files): filenamecat.h and filenamecat.c renamed from
13064         path-concat.h and path-concat.c.
13065         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
13066         (Include): filenamecat.h, not path-concat.h.
13067         * modules/mkdir-p: Renamed from modules/makepath.
13068         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
13069         makepath.c.
13070         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
13071         (Include): mkdir-p.h, not makepath.h.
13072
13073 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13074
13075         Sync from coreutils.
13076         * m4/mkdir-p.m4: Renamed from makepath.m4.
13077         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
13078         Rename files from makepath.c to mkdir-p.c, and from
13079         makepath.h to mkdir-p.h.
13080         * m4/filenamecat.m4: Renamed from path-concat.m4.
13081         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
13082         Rename files from path-concat.c to filenamecat.c,
13083         and from path-concat.h to filenamecat.h.
13084         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
13085         "file name" in local variables or comments.
13086         * m4/rename.m4: Likewise.
13087
13088 2005-06-01  Bruno Haible  <bruno@clisp.org>
13089
13090         * modules/csharpexec: New file.
13091         * MODULES.html.sh (C#): New section.
13092
13093 2005-06-01  Bruno Haible  <bruno@clisp.org>
13094
13095         * m4/csharp.m4: New file, from GNU gettext.
13096         * m4/csharpexec.m4: New file, from GNU gettext.
13097
13098 2005-06-01  Bruno Haible  <bruno@clisp.org>
13099
13100         * lib/csharpexec.h: New file, from GNU gettext.
13101         * lib/csharpexec.c: New file, from GNU gettext.
13102         * lib/csharpexec.sh.in: New file, from GNU gettext.
13103
13104 2005-05-31  Derek Price  <derek@ximbiot.com>
13105             Paul Eggert  <eggert@cs.ucla.edu>
13106
13107         Sync from cvs.
13108         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
13109
13110 2005-05-31  Derek Price  <derek@ximbiot.com>
13111             Paul Eggert  <eggert@cs.ucla.edu>
13112
13113         Sync from cvs.
13114         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
13115
13116 2005-05-29  Derek Price  <derek@ximbiot.com>
13117
13118         * config/srclist.txt (glob_.h, glob.c): Add these files.
13119
13120 2005-05-29  Derek Price  <derek@ximbiot.com>
13121
13122         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
13123         * modules/glob: New file.
13124         * modules/getlogin_r: Add link to POSIX spec in description.
13125
13126 2005-05-29  Derek Price  <derek@ximbiot.com>
13127             Paul Eggert  <eggert@cs.ucla.edu>
13128
13129         * m4/glob.m4: New file.
13130
13131 2005-05-29  Derek Price  <derek@ximbiot.com>
13132             Paul Eggert  <eggert@cs.ucla.edu>
13133
13134         * lib/glob_.h, lib/glob.c: New files.
13135
13136 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13137
13138         * modules/fts (Files): Remove m4/inttypes-pri.m4.
13139         * modules/fts-lgpl (Depends-on): Remove gettext.
13140
13141 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13142
13143         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
13144         and don't require gt_INTTYPES_PRI.
13145
13146 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13147
13148         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
13149
13150         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
13151         the configuration hassle isn't worth it.
13152         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
13153         (LONGEST_MODIFIER, PRIuMAX): Remove.
13154
13155 2005-05-27  Bruno Haible  <bruno@clisp.org>
13156
13157         * lib/getlogin_r.h: Remove second include of <stddef.h>.
13158
13159 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
13160
13161         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
13162         _POSIX_PTHREAD_SEMANTICS for Solaris.
13163
13164 2005-05-25  Derek Price  <derek@ximbiot.com>
13165
13166         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
13167
13168 2005-05-25  Derek Price  <derek@ximbiot.com>
13169             Paul Eggert  <eggert@cs.ucla.edu>
13170
13171         * modules/getlogin_r, m4/getlogin_r.m4: New files.
13172         * lib/getlogin_r.c, getlogin_r.h: New files.
13173
13174 2005-05-25  Bruno Haible  <bruno@clisp.org>
13175             Derek Price  <derek@ximbiot.com>
13176
13177         * lib/getlogin_r.h: Simplify API documentation.
13178
13179 2005-05-23  Derek Price  <derek@ximbiot.com>
13180
13181         * modules/minmax (Files): Add m4/minmax.m4.
13182         (configure.ac): Add gl_MINMAX.
13183
13184 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
13185
13186         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
13187         so that unistd-safer.h (GPL'ed code) need not be included.
13188
13189 2005-05-22  Bruno Haible  <bruno@clisp.org>
13190
13191         * m4/minmax.m4: New file.
13192         Based on a patch by Derek Price <derek@ximbiot.com>.
13193
13194 2005-05-22  Bruno Haible  <bruno@clisp.org>
13195
13196         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
13197         (INT64_MIN): Fix definition.
13198         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
13199
13200         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
13201         NEED_SIGNED_INT_TYPES.
13202
13203         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
13204         HAVE_SYSTEM_INTTYPES.
13205
13206 2005-05-22  Bruno Haible  <bruno@clisp.org>
13207
13208         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
13209         Also include <sys/param.h> if it defines MIN, MAX.
13210         Based on a patch by Derek Price <derek@ximbiot.com>.
13211
13212 2005-05-21  Jim Meyering  <jim@meyering.net>
13213
13214         * modules/fts (Files): Add m4/inttypes-pri.m4.
13215         (Depends-on): Add lstat and remove gettext.  Alphabetize.
13216
13217 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13218
13219         New fts module.
13220         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
13221         (setup_dir, free_dir): New functions.
13222         (enter_dir, leave_dir): Define trivial
13223         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
13224         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
13225         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
13226         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
13227         Move to fts-cycle.c.
13228         (fts_open): Use setup_dir.
13229         (fts_close): Use free_dir.
13230         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
13231         This adds a label and some gotos, but the alternatives were messier.
13232         Check for memory allocation failure when entering a dir.
13233         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
13234         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
13235         (FTS): New member fts_cycle, that is a union that contains the
13236         old active_dir_ht and cycle_state.  All uses changed to mention
13237         fts_cycle.ht and fts_cycle.state.
13238         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
13239         fts.c, with the following changes:
13240         (setup_dir, free_dir): New functions.
13241         (enter_dir): Now returns bool.  Return true if successful, false
13242         if memory exhausted.  All callers changed.
13243         Do not bother partly cleaning up on
13244         memory allocation failure; that is free_dir's job.
13245         However, free ad if hash_insert fails, to avoid memory leak.
13246         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
13247         fts->fts_options to see which union member to use.
13248
13249 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13250
13251         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
13252         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
13253
13254 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13255
13256         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
13257
13258 2005-05-20  Jim Meyering  <jim@meyering.net>
13259
13260         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
13261         Now a macro, to pacify GCC.
13262
13263 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
13264
13265         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
13266         of -1.
13267
13268 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
13269
13270         * lib/chown.c (rpl_chown): Return -1 on failure.
13271
13272 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
13273
13274         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
13275         Don't check for stddef.h.
13276         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
13277         don't use its results.
13278         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
13279         since we include them unconditionally.  Don't require
13280         AM_STDBOOL_H, since stdbool is a prerequisite.
13281         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
13282         since we assume C89 or better.
13283         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
13284         as we don't use their results.
13285         Don't check for fchdir, memmove, memset, strrchr, as we use
13286         them unconditionally.
13287         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
13288         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
13289
13290 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
13291
13292         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
13293         Include <stddef.h> unconditionally, since we assume C89 now.
13294         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
13295         * lib/fts.c: Include fts_.h first, to check interface.
13296         Do not include intprops.h; no longer needed.
13297         Include cycle-check.h and hash.h, since fts_.h no longer does.
13298         Remove unnecessary casts of closedir to void.
13299         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
13300         decide whether to decrement nlinks.
13301         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
13302         (FTS): Use struct hash_table * instead of Hash_table, so that
13303         we no longer need to include hash.h here.
13304
13305 2005-05-18  Jim Meyering  <jim@meyering.net>
13306
13307         * modules/dirfd (License): Change to LGPL.  Most of the code
13308         is already in the public domain.
13309
13310 2005-05-18  Jim Meyering  <jim@meyering.net>
13311
13312         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
13313         Reported by Yoann Vandoorselaere.
13314
13315 2005-05-17  Jim Meyering  <jim@meyering.net>
13316
13317         * m4/fts.m4: New file, from coreutils.
13318
13319 2005-05-17  Jim Meyering  <jim@meyering.net>
13320
13321         * lib/fts.c, lib/fts_.h: New files, from coreutils.
13322
13323 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13324
13325         Sync from coreutils.
13326         * m4/unlinkdir.m4: New file.
13327
13328 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13329
13330         Sync from coreutils.
13331         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
13332         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
13333         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
13334         White space changes only.
13335         * lib/makepath.c (make_path): Port to hosts where leading "//" is
13336         special.
13337         * lib/yesno.c: Include getline.h, not ctype.h.
13338         (yesno): Don't remove leading white space; POSIX doesn't allow it.
13339         Use getline to remove arbitrary restriction on response length.
13340
13341 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13342
13343         * config/srclist-update: Spell out "Street" in FSF postal
13344         mail address; this is the style the FSF seems to prefer.
13345
13346         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
13347         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
13348         this updates FSF postal mail address.
13349
13350         Sync from coreutils.
13351         * modules/unlinkdir: New file.
13352         * modules/yesno (Depends-on): Add getline.
13353         * MODULES.html.sh (File system functions): Add unlinkdir.
13354
13355 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13356
13357         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
13358         lib/strsep.h:
13359         Change the initial comment to refer to GPL, not LGPL.
13360         gnulib-tool will change it to LGPL as needed.
13361
13362         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
13363         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
13364         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
13365         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
13366         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
13367         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
13368         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
13369         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
13370         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
13371         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
13372         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
13373         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
13374         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
13375         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
13376         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
13377         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
13378         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
13379         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
13380         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
13381         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
13382         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
13383         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
13384         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
13385         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
13386         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
13387         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
13388         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
13389         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
13390         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
13391         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
13392         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
13393         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
13394         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
13395         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
13396         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
13397         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
13398         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
13399         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
13400         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
13401         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
13402         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
13403         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
13404         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
13405         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
13406         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
13407         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
13408         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
13409         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
13410         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
13411         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
13412         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
13413         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
13414         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
13415         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
13416         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
13417         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
13418         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
13419         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
13420         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
13421         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
13422         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
13423         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
13424         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
13425         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
13426         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
13427         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
13428         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
13429         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
13430         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
13431         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
13432         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
13433         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
13434         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
13435         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
13436         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
13437         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
13438         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
13439         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
13440         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
13441         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
13442         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
13443         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
13444         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
13445         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
13446         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
13447         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
13448         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
13449         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
13450         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
13451         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
13452         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
13453         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
13454         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
13455         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
13456         lib/yesno.c, lib/yesno.h:
13457         Update FSF postal mail address.
13458
13459 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13460
13461         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
13462         tests/test-memmem.c, tests/test-stpncpy.c:
13463         Update FSF postal mail address.
13464
13465 2005-05-13  Bruno Haible  <bruno@clisp.org>
13466
13467         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
13468         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
13469         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
13470         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
13471         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
13472         Add support for 64-bit integers in the MSVC compiler.
13473
13474 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13475
13476         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
13477
13478 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
13479
13480         * gnulib-tool (func_import): Sort and uniquify recommended includes.
13481
13482 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
13483
13484         * doc/getdate.texi (General date syntax): Don't say that date
13485         date --iso-8601=ns generates acceptable dates; it doesn't yet.
13486         Problem reported by Nic Ferrier.
13487
13488 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13489
13490         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
13491         specified in ai_socktype. Fix invalid ai_protocol
13492         check. ai_protocol is usually set to 0 or depending on
13493         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
13494         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
13495         ai_socktype / ai_protocol in the returned addrinfo structure.
13496
13497 2005-05-10  Simon Josefsson  <jas@extundo.com>
13498
13499         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
13500         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13501
13502 2005-05-10  Karl Berry  <karl@gnu.org>
13503
13504         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
13505         (from http://www.gnu.org/licenses).
13506         * doc/COPYING.LIB: also rename to COPYING.LESSER.
13507         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
13508         fdl.texi suffices.
13509
13510 2005-05-10  Karl Berry  <karl@gnu.org>
13511
13512         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
13513         (COPYING.DOC): remove.
13514
13515         * config/srclist-update: new FSF address.
13516
13517 2005-05-10  Derek Price  <derek@ximbiot.com>
13518
13519         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
13520         possible.
13521
13522 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13523             Bruno Haible  <bruno@clisp.org>
13524
13525         * modules/inet_ntop: New file.
13526         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13527         inet_ntop.
13528
13529 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13530             Bruno Haible  <bruno@clisp.org>
13531
13532         * m4/inet_ntop.m4: New file.
13533
13534 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13535             Bruno Haible  <bruno@clisp.org>
13536
13537         * lib/inet_ntop.h: New file.
13538         * lib/inet_ntop.c: New file, from glibc with modifications.
13539
13540 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
13541
13542         * modules/time_r (License): Change to LGPL.
13543         * modules/extensions (License): Change to LGPL.  Actually,
13544         the license is more permissive than that, but currently gnulib-tool
13545         doesn't know how to handle more-permissive licenses.
13546
13547         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
13548         Problem reported by Dave Love.
13549
13550 2005-05-08  Jim Meyering  <jim@meyering.net>
13551
13552         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
13553         blank.
13554
13555 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
13556
13557         * modules/argmatch (Depends-on): Add stdbool.
13558         * modules/backupfile (Depends-on): Likewise.
13559         * modules/chdir-long (Depends-on): Likewise.
13560         * modules/closeout (Depends-on): Likewise.
13561         * modules/cycle-check (Depends-on): Likewise.
13562         * modules/dirname (Depends-on): Likewise.
13563         * modules/fnmatch (Depends-on): Likewise.
13564         * modules/fsusage (Depends-on): Likewise.
13565         * modules/fwriteerror (Depends-on): Likewise.
13566         * modules/getcwd (Depends-on): Likewise.
13567         * modules/getloadavg (Depends-on): Likewise.
13568         * modules/hard-locale (Depends-on): Likewise.
13569         * modules/makepath (Depends-on): Likewise.
13570         * modules/mountlist (Depends-on): Likewise.
13571         * modules/nanosleep (Depends-on): Likewise.
13572         * modules/posixtm (Depends-on): Likewise.
13573         * modules/quotearg (Depends-on): Likewise.
13574         * modules/readtokens (Depends-on): Likewise.
13575         * modules/readtokens0 (Depends-on): Likewise.
13576         * modules/readutmp (Depends-on): Likewise.
13577         * modules/save-cwd (Depends-on): Likewise.
13578         * modules/strftime (Depends-on): Likewise.
13579         * modules/userspec (Depends-on): Likewise.
13580         * modules/utimecmp (Depends-on): Likewise.
13581         * modules/xgetcwd (Depends-on): Likewise.
13582         * modules/xnanosleep (Depends-on): Likewise.
13583         * modules/xstrtod (Depends-on): Likewise.
13584         * modules/yesno (Depends-on): Likewise.
13585
13586 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13587
13588         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
13589         needless checks.
13590
13591 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13592
13593         Merge from coreutils.  Among other things,
13594         add bulletproofing for cases where stdin, stdout, or stderr are closed.
13595         * lib/fd-safer.c: New file.
13596         * lib/fcntl-safer.h, open-safer.c: Remove.
13597         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
13598         * lib/dup-safer.c: Include unistd-safer.h first.
13599         Don't include errno.h.
13600         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
13601         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
13602         * lib/file-type.c: Rely on file-type.h change.
13603         * lib/getloadavg.c: Include unistd-safer.h.
13604         (getloadavg): Use safer open.
13605         * lib/getusershell.c: Include "stdio-safer.h".
13606         (getusershell): Use safer fopen.
13607         * lib/long-options.c (long_options): Use NULL rather than 0.
13608         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
13609         'free'.
13610         * lib/modechange.c: Likewise.
13611         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
13612         (MODE_DONE): New constant.
13613         (struct mode_change): Remove 'next' member.
13614         (make_node_op_equals): New function; like the old one of the
13615         same name, except it allocates an array.
13616         (mode_compile, mode_create_from_ref): Use it.
13617         (mode_compile): Allocate result as an array, not a linked list.
13618         Parse octal string ourself, so that we catch mistakes like "+0".
13619         (mode_adjust): Arg is an array, not a linked list.
13620         * lib/modechange.c: Include stat-macros.h, xalloc.h.
13621         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
13622         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
13623         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
13624         Remove.  This is now stat-macros.h's job.
13625         (talloc): Remove.  All callers replaced by xalloc, so that
13626         our invokers don't have to worry about reporting memory failures.
13627         (make_node_op_equals): Remove.
13628         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
13629         New constants.
13630         (struct mode_change): Moved here from modechange.h.
13631         (mode_append_entry): Remove.
13632         (mode_compile): Remove MASKED_OPS arg, since it encouraged
13633         apps to have incorrect behavior.  Use simpler algorithm for head
13634         and tail.  Don't futz with umask; that's now the job of mode_adjust.
13635         Detect more invalid usages rather than having somewhat-random behavior.
13636         Don't insert an "a=" action, as that leads to incorrect behavior.
13637         (mode_compile, mode_create_from_ref): Return NULL on error instead
13638         of an enum, since now there's only one way to have an error.  All
13639         callers changed.
13640         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
13641         at the correct time.  Simplify calculation of "+u" and its ilk.
13642         Don't mishandle "+X".
13643         (mode_free): Remove "register" and localize decls.
13644         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
13645         (struct mode_change): Move to modechange.c; callers don't
13646         need to see this stuff.
13647         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
13648         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
13649         (mode_change, mode_adjust): Reflect the new signatures noted above.
13650         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
13651         that might redefine system include files.
13652         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
13653         (my_usleep): Use NULL rather than (void *) 0.
13654         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
13655         Use siginterrupt to specify that system calls should be interrupted.
13656         (rpl_nanosleep): Move initialization of suspended closer to call of
13657         my_usleep.
13658         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
13659         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
13660         (desirable_utmp_entry): New function.
13661         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
13662         using x2nrealloc, to simplify logic.
13663         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
13664         size calculation.  Do not assume utmp file is a regular file.
13665         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
13666         (READ_UTMP_CHECK_PIDS): New constant.
13667         * lib/save-cwd.c: Include unistd-safer.h.
13668         (save_cwd): Use fd_safer.
13669         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
13670         [!_LIBC] Include "stat-macros.h" instead.
13671         * lib/unistd-safer.h (fd_safer): New decl.
13672
13673 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13674
13675         * modules/getloadavg (Depends-on): Add unistd-safer.
13676         * modules/getusershell (Depends-on): Add stdio-safer.
13677         * modules/lstat (Depends-on): Remove xalloc.
13678         * modules/mkstemp (Depends-on): Add stat-macros.
13679         * modules/modechange (Depends-on): Remove xstrtol.
13680         Add stat-macros, xalloc.
13681         * modules/save-cwd (Depends-on): Add unistd-safer.
13682         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
13683         * modules/unistd-safer (Files): Add lib/fd-safer.c
13684         (Makefile.am): Remove lib_SOURCES.
13685
13686         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
13687         Remove fcntl-safer; unistd-safer supersedes it.
13688
13689 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13690
13691         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
13692         AC_HEADER_STAT.
13693         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
13694         (gl_PREREQ_CHOWN): Remove.
13695         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
13696         it.  Don't require AC_HEADER_STAT.
13697         (gl_PREREQ_LSTAT): Remove.
13698         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
13699         Don't require AC_HEADER_STAT.
13700         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
13701         (gl_PREREQ_RMDIR): Remove.
13702         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
13703         mention stat-macros.h or AC_HEADER_STAT, since we'll make
13704         the stat-macros module a prerequisite.
13705         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
13706         * m4/filemode.m4 (gl_FILEMODE): Likewise.
13707         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
13708         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
13709         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
13710         variable names.
13711         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
13712         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
13713         variable prefixes.
13714         * m4/fcntl-safer.m4: Remove.
13715         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
13716         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
13717         Invoke gl_PREREQ_FD_SAFER.
13718         (gl_PREREQ_FD_SAFER): New macro.
13719         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
13720         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
13721         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
13722         Remove duplicate call to AC_LIBOBJ(readutmp).
13723         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
13724
13725         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
13726         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
13727
13728 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
13729
13730         * MODULES.html.sh (Misc): Add byteswap.
13731
13732 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13733
13734         * modules/getcwd (Depends-on): Add extensions.
13735         * modules/openat (Depends-on): Likewise.
13736
13737 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13738
13739         * modules/byteswap: New file.
13740
13741 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13742
13743         * m4/byteswap.m4: New file.
13744
13745 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
13746
13747         * lib/byteswap_.h: New file.
13748
13749 2005-04-25  Karl Berry  <karl@gnu.org>
13750
13751         * m4/gettext.m4: Update from GNU gettext 0.14.4.
13752
13753 2005-04-25  Albert Chin  <china@thewrittenword.com>
13754
13755         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
13756         Toolkit C bug.
13757
13758 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
13759
13760         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
13761         (func_ln_if_changed) Remove forcibly for no error message
13762         in case file does not exist.
13763
13764 2005-04-19  Simon Josefsson  <jas@extundo.com>
13765
13766         * gnulib-tool (Options): Make --symlink mean --symbolic.
13767
13768 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
13769
13770         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
13771
13772 2005-04-16  Simon Josefsson  <jas@extundo.com>
13773
13774         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
13775
13776 2005-04-15  Simon Josefsson  <jas@extundo.com>
13777
13778         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
13779
13780 2005-04-15  Simon Josefsson  <jas@extundo.com>
13781
13782         * gnulib-tool: Rename --symlink to --symbolic.
13783
13784 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
13785
13786         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
13787         symbolic links to files instead of copying/moving.  Add --aux-dir,
13788         specifying directory relative --dir where auxiliary build tools
13789         are placed.
13790
13791 2005-04-14  Bruno Haible  <bruno@clisp.org>
13792
13793         * modules/allocsa (License): Change to LGPL.
13794         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
13795
13796 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
13797
13798         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
13799         that "UTC +1 second" continues to work.  Problem reported
13800         by Dmitry V. Levin.
13801         (relunit_snumber): New rule.
13802         (relunit): Use it.
13803
13804 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
13805
13806         * lib/getdate.y (universal_time_zone_table): New constant.
13807         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
13808         universal_time_zone_table.
13809         (lookup_zone): Prefer universal_time_zone_table to
13810         local_time_zone_table, so that "GMT" time stamps are allowed in
13811         London during the summer.  Problem reported by Ian Abbott.
13812
13813 2005-04-12  Jim Meyering  <jim@meyering.net>
13814
13815         * lib/human.c (humblock): Set *options even when returning due to
13816         xstrtoumax conversion failure.  Thanks to a used-uninitialized
13817         warning from gcc-4.
13818
13819 2005-04-09  Jim Meyering  <jim@meyering.net>
13820
13821         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
13822         -Wuninitialized: initialize tm0.tm_year.
13823
13824 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
13825
13826         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
13827         count, since there's no maximum.  All uses changed.
13828         Add member dsts_seen.
13829         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
13830         not being INT_MAX.
13831         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
13832         Use pc_rels_seen to decide whther a date is absolute.
13833
13834         * lib/getdate.y (number): Don't overwrite year.
13835         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
13836         check.
13837
13838 2005-04-02  Simon Josefsson  <jas@extundo.com>
13839
13840         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
13841         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
13842
13843 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
13844
13845         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
13846         where no absolute path name can be longer than PATH_MAX.
13847
13848 2005-03-27  Jim Meyering  <jim@meyering.net>
13849
13850         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
13851
13852 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
13853
13854         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
13855         "one's complement" -> "ones' complement" in comment, as per Knuth.
13856         "value of type" -> "type or expression" in comment.
13857         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
13858
13859 2005-03-26  Jim Meyering  <jim@meyering.net>
13860
13861         Comment nits.
13862         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
13863         Correct typos: s/or/of/.
13864
13865 2005-03-26  Jim Meyering  <jim@meyering.net>
13866
13867         * modules/check-include-files: Move to ../ and rename to...
13868         * check-module: ...this.
13869
13870 2005-03-25  Jim Meyering  <jim@meyering.net>
13871
13872         * modules/xvasprintf (Files): Add xalloc.h.
13873
13874 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
13875
13876         * modules/gettext (Files): config/config.rpath ->
13877         build-aux/config.rpath
13878         * modules/iconv (Files): Likewise.
13879         Problem reported by Oskar Liljeblad.
13880
13881 2005-03-23  Jim Meyering  <jim@meyering.net>
13882
13883         * modules/check-include-files: New script to check for
13884         missing dependencies, multiple includes, etc.
13885
13886         * modules/c-strtold (Depends-on): Add xalloc.
13887         * modules/c-strtod (Depends-on): Add xalloc.
13888         * modules/hash (Depends-on): Add xalloc.
13889         (Files): Remove lib/xalloc.h.
13890
13891         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
13892         * modules/userspec (Files): Add lib/inttostr.h.
13893
13894 2005-03-23  Jim Meyering  <jim@meyering.net>
13895
13896         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
13897
13898 2005-03-22  Jim Meyering  <jim@meyering.net>
13899
13900         * modules/stat-macros: New module.
13901         * modules/canonicalize, modules/euidaccess, modules/file-type,
13902         * modules/filemode, modules/lchown, modules/makepath,
13903         * modules/rmdir, modules/stat: Depend on new stat-macros module
13904         rather than listing lib/stat-macros.h manually.
13905         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
13906
13907 2005-03-22  Jim Meyering  <jim@meyering.net>
13908
13909         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
13910
13911 2005-03-22  Bruno Haible  <bruno@clisp.org>
13912
13913         * config/srclist.txt: Replace target directory 'config' with
13914         'build-aux'.
13915         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
13916         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
13917         ../build-aux/.
13918
13919 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
13920
13921         * modules/chdir-long (Depends-on): Add mempcpy.
13922
13923         * modules/acl, modules/backupfile, modules/c-strtod,
13924         modules/c-strtold, modules/canon-host, modules/canonicalize,
13925         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
13926         modules/exclude, modules/exitfail, modules/file-type,
13927         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
13928         modules/getdate, modules/getline, modules/getpagesize,
13929         modules/getpass, modules/getugroups, modules/group-member,
13930         modules/hard-locale, modules/hash, modules/human, modules/idcache,
13931         modules/inttostr, modules/long-options, modules/makepath,
13932         modules/md5, modules/memcasecmp, modules/memcoll,
13933         modules/modechange, modules/mountlist, modules/path-concat,
13934         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
13935         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
13936         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
13937         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
13938         modules/strftime, modules/strndup, modules/strverscmp,
13939         modules/timespec, modules/unlocked-io, modules/userspec,
13940         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
13941         modules/yesno:
13942         Remove lib_SOURCES line from Makefile.am section, as this is now
13943         done automatically by the corresponding Autoconf macro.
13944
13945 2005-03-21  Jim Meyering  <jim@meyering.net>
13946
13947         Changes imported from coreutils.
13948
13949         * lib/cycle-check.c: Don't include xalloc.h.
13950
13951         * lib/path-concat.c: Don't include assert.h.
13952         (path_concat): Remove assertion that would have triggered
13953         for ABASE starting with more than one slash.
13954         Reported by Andreas Schwab.
13955
13956         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
13957         properly when ABASE is an absolute file name.
13958         Correct the description of this function.
13959         Include <assert.h>.
13960         Add an assertion and a test driver.
13961         This fixes a bug introduced on 2004-07-02.
13962         Andreas Schwab reported the resulting failure of cp --parents:
13963         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
13964
13965 2005-03-21  Jim Meyering  <jim@meyering.net>
13966
13967         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
13968         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
13969
13970 2005-03-21  Jim Meyering  <jim@meyering.net>
13971         and  Paul Eggert  <eggert@cs.ucla.edu>
13972
13973         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
13974         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
13975         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
13976         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
13977         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
13978         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
13979         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
13980         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
13981         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
13982         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
13983         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
13984         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
13985         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
13986         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
13987         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
13988         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
13989         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
13990         for these modules.
13991
13992 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
13993
13994         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
13995         (which shouldn't happen), generate nothing instead of returning 0
13996         immediately, so that nstrftime (NULL, ...) doesn't return 0.
13997
13998 2005-03-16  Bruno Haible  <bruno@clisp.org>
13999
14000         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
14001         HAVE_LONGLONG_64BIT.
14002
14003 2005-03-16  Bruno Haible  <bruno@clisp.org>
14004
14005         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
14006         HAVE_LONGLONG_64BIT.
14007
14008 2005-03-16  Bruno Haible  <bruno@clisp.org>
14009
14010         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
14011         HAVE_LONGLONG_64BIT.
14012
14013 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
14014
14015         * lib/strftime.c (my_strftime): Prepend space to format so that we can
14016         reliably distinguish strftime failure from empty output on POSIX
14017         hosts.
14018
14019 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
14020
14021         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
14022         (iconv_string): Don't guess a size-zero buffer, as that might cause
14023         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
14024         result would be 'too large', where 'too large' is (heuristically)
14025         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
14026         overflow concerns.  This will prevent some unwanted malloc failures
14027         when the inputs are very large.
14028
14029 2005-03-15  Karl Berry  <karl@gnu.org>
14030
14031         * config/srclist.txt (config.rpath): from gettext.
14032         * config/config.rpath: update.
14033
14034 2005-03-15  Bruno Haible  <bruno@clisp.org>
14035
14036         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
14037         to 'negate'.
14038
14039         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
14040         variable.
14041
14042         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
14043         results.
14044
14045 2005-03-14  Simon Josefsson  <jas@extundo.com>
14046
14047         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
14048         <fx@gnu.org>.
14049
14050 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
14051
14052         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
14053         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
14054         intprops.h.
14055         * lib/strtol.c: Likewise.
14056
14057 2005-03-14  Jim Meyering  <jim@meyering.net>
14058
14059         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
14060         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
14061         to be nonzero so that we (and caller) can detect the difference
14062         between a valid zero-length expansion and an error return, even
14063         when the underlying strftime fails before writing anything into
14064         that location.
14065
14066 2005-03-14  Bruno Haible  <bruno@clisp.org>
14067
14068         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
14069         Update from GNU gettext 0.14.3.
14070
14071 2005-03-10  Jim Meyering  <jim@meyering.net>
14072
14073         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
14074
14075 2005-03-10  Jim Meyering  <jim@meyering.net>
14076
14077         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
14078         so that this module works on systems without fchdir.
14079
14080 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
14081
14082         Factor int-properties macros into a single file, except for
14083         glibc-related files.
14084         * lib/intprops.h: New file.
14085         * lib/getloadavg.c: Include it instead of limits.h.
14086         (INT_STRLEN_BOUND): Remove.
14087         * lib/human.c: Include intprops.h.
14088         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
14089         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
14090         302/1000.
14091         * lib/inttostr.h: Include intprops.h instead of limits.h.
14092         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
14093         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
14094         for consistency with intprops.h.
14095         (time_t_is_integer, twos_complement_arithmetic): Use them.
14096         * lib/sig2str.h: Include <signal.h>, intprops.h.
14097         (INT_STRLEN_BOUND): Remove.
14098         * lib/strftime.c (TYPE_SIGNED): Remove.
14099         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
14100         * lib/strtol.c: Adjust comments to match intprops.h.
14101         * lib/userspec.c: Include intprops.h.
14102         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
14103         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
14104         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
14105         instead of rolling our own expressions.
14106         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
14107
14108         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
14109         instead of int.
14110         (my_strftime): Do not mishandle years close to INT_MAX, by doing
14111         the right thing even if adding 1900 would overflow.  Similarly
14112         for tm_mon + 1 and tm_yday + 1.
14113         Make %Y always equivalent to %C%y, and similarly for %G and %g.
14114         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
14115         (DO_SIGNED_NUMBER): New macro.
14116         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
14117
14118 2005-03-07  Bruno Haible  <bruno@clisp.org>
14119
14120         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
14121
14122 2005-03-07  Bruno Haible  <bruno@clisp.org>
14123
14124         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
14125
14126 2005-03-04  Derek R. Price  <derek@ximbiot.com>
14127
14128         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
14129         (func_import): Only replace files via --import when they have actually
14130         changed.
14131
14132 2005-03-03  Derek R. Price  <derek@ximbiot.com>
14133
14134         * m4/mmap-anon.m4: New file.
14135         * m4/pagealign_alloc.m4: New file.
14136
14137 2005-03-03  Derek R. Price  <derek@ximbiot.com>
14138             Bruno Haible  <bruno@clisp.org>
14139
14140         * modules/pagealign_alloc: New file.
14141         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
14142
14143 2005-03-03  Derek R. Price  <derek@ximbiot.com>
14144             Bruno Haible  <bruno@clisp.org>
14145
14146         * lib/pagealign_alloc.h: New file.
14147         * lib/pagealign_alloc.c: New file.
14148
14149 2005-03-03  Bruno Haible  <bruno@clisp.org>
14150
14151         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
14152         Use an all-permissive copyright notice, recommended by RMS.
14153
14154 2005-03-02  Bruno Haible  <bruno@clisp.org>
14155
14156         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
14157         of AIX, the replacement has to be done only after <string.h> is
14158         included, therefore not in config.h. stpncpy.h does the replacement,
14159         and stpncpy.c uses it.
14160
14161 2005-03-02  Bruno Haible  <bruno@clisp.org>
14162
14163         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
14164         stpncpy.c uses it.
14165
14166 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
14167
14168         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
14169         The workaround isn't strictly needed for POSIX conformance, and
14170         it's too much of a pain to configure and maintain.  We'll ask
14171         people to fix their kernels instead.
14172         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
14173         (NANOSLEEP_BUG_WORKAROUND): Remove.
14174         (xnanosleep): Remove the workaround.
14175
14176 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
14177
14178         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
14179         Reported by Derek Price.
14180         (Include): Add "timespec.h".
14181
14182         * modules/xnanosleep (Depends-on): Remove gethrxtime.
14183
14184 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
14185
14186         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
14187         to detect nanosleep bug.
14188
14189 2005-03-01  Bruno Haible  <bruno@clisp.org>
14190
14191         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
14192
14193 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
14194
14195         * modules/gethrxtime: New file.
14196         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
14197         (Depends-on): Add gethrxtime.
14198         (configure.ac): Add gl_XNANOSLEEP.
14199         (Makefile.am): Remove lib_SOURCES line.
14200
14201 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
14202
14203         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
14204         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
14205
14206 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
14207
14208         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
14209         * lib/timespec.h (gettime): Return void, since it always
14210         succeeds now.  All uses changed.
14211         * lib/gettime.c (gettime) Likewise.
14212         [HAVE_NANOTIME]: Prefer nanotime.
14213         Assume gettimeofday succeeds, as POSIX requires.
14214         Assime time () succeeds, since other code already does.
14215         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
14216         (timespec_subtract): Remove.
14217         (NANOSLEEP_BUG_WORKAROUND): New constant.
14218         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
14219         things considerably.  Use it only on GNU/Linux hosts, since the
14220         workaround shouldn't be needed elsewhere.
14221
14222 2005-02-24  Bruno Haible  <bruno@clisp.org>
14223
14224         * modules/gettext (Files): Add m4/glibc2.m4.
14225
14226 2005-02-24  Bruno Haible  <bruno@clisp.org>
14227
14228         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
14229         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
14230         * m4/progtest.m4:
14231         Update from GNU gettext 0.14.2.
14232         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
14233
14234 2005-02-24  Bruno Haible  <bruno@clisp.org>
14235
14236         * lib/localcharset.c: Update from GNU gettext 0.14.2.
14237         * lib/config.charset: Update from GNU gettext 0.14.2.
14238
14239 2005-02-24  Bruno Haible  <bruno@clisp.org>
14240
14241         * lib/gettext.h: Update from GNU gettext 0.14.2.
14242
14243 2005-02-23  Simon Josefsson  <jas@extundo.com>
14244
14245         * m4/iconvme.m4: New file.
14246
14247 2005-02-23  Jim Meyering  <jim@meyering.net>
14248
14249         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
14250         change.
14251         Thanks to Bruno Haible for catching it.
14252
14253 2005-02-22  Simon Josefsson  <jas@extundo.com>
14254
14255         * modules/iconvme: New file.
14256
14257         * MODULES.html.sh: Add iconvme.
14258
14259 2005-02-22  Simon Josefsson  <jas@extundo.com>
14260
14261         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
14262
14263 2005-02-22  Simon Josefsson  <jas@extundo.com>
14264
14265         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
14266
14267 2005-02-22  Jim Meyering  <jim@meyering.net>
14268
14269         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
14270         s/ifndef/ifdef/.
14271
14272 2005-02-20  Neil Conway  <neilc@samurai.com>
14273
14274         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
14275         returned by OSX/Darwin if the specified buffer is not large
14276         enough for the hostname.
14277
14278 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14279
14280         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
14281         pass it to _help, otherwise the latter coredumps trying to
14282         dereference state.root_argp.
14283
14284 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
14285
14286         * modules/chdir-long (Depends-on): Add memrchr.
14287         * modules/memrchr (Files): Add lib/memrchr.h.
14288         (Include): "memrchr.h".
14289
14290 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
14291
14292         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
14293
14294 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
14295
14296         * lib/memrchr.h: New file.
14297         * lib/chdir-long.c: Include it.
14298         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
14299         Don't bother including stddef.h.
14300
14301 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
14302
14303         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
14304         inclusion.
14305         Include <sys/types.h>, for dev_t.
14306         (ME_DUMMY, ME_REMOTE): Move from here....
14307         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
14308         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
14309         Dmitry V. Levin.
14310         Include mountlist.h first, to test the interface.
14311
14312 2005-01-29  Bruno Haible  <bruno@clisp.org>
14313
14314         * lib/progname.c (program_name): Initialize.
14315         Needed when linking statically on MacOS X.
14316
14317 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14318
14319         Sync from coreutils.
14320         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
14321         (Depends-on): Add c-strtod.
14322         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
14323
14324 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14325
14326         Sync from coreutils.
14327         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
14328
14329         Remove files that are specific to coreutils.
14330         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
14331
14332 2005-01-28  Bruno Haible  <bruno@clisp.org>
14333
14334         * modules/javacomp: New file.
14335         * MODULES.html.sh (Java): Add javacomp.
14336
14337 2005-01-28  Bruno Haible  <bruno@clisp.org>
14338
14339         * m4/javacomp.m4: New file, from GNU gettext.
14340
14341 2005-01-28  Bruno Haible  <bruno@clisp.org>
14342
14343         * lib/javacomp.sh.in: New file, from GNU gettext.
14344         * lib/javacomp.h: New file, from GNU gettext.
14345         * lib/javacomp.c: New file, from GNU gettext.
14346
14347 2005-01-26  Simon Josefsson  <jas@extundo.com>
14348
14349         * lib/gai_strerror.c: Use GPL in header.
14350
14351 2005-01-26  Bruno Haible  <bruno@clisp.org>
14352
14353         * modules/javaexec: New file.
14354         * MODULES.html.sh (Java): Add javaexec.
14355
14356 2005-01-26  Bruno Haible  <bruno@clisp.org>
14357
14358         * m4/javaexec.m4: New file, from GNU gettext.
14359
14360 2005-01-26  Bruno Haible  <bruno@clisp.org>
14361
14362         * lib/javaexec.sh.in: New file, from GNU gettext.
14363         * lib/javaexec.h: New file, from GNU gettext.
14364         * lib/javaexec.c: New file, from GNU gettext.
14365
14366 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14367
14368         * modules/lchown (Depends-on): Remove lchown.h
14369
14370 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14371
14372         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
14373         must be defined if the header file was not found, in order
14374         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
14375
14376 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14377
14378         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
14379         initializers for struct pentry_state.
14380         (__argp_error): Check return value of __asprintf
14381         (__argp_failure): Translate error message
14382
14383         * lib/argp-parse.c: Removed braces around the expansion of N_()
14384
14385 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14386
14387         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
14388         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
14389         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
14390         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
14391         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
14392         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
14393         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
14394         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
14395         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
14396         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
14397         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
14398         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
14399         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
14400         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
14401         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
14402         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
14403         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
14404         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
14405         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
14406         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
14407         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
14408         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
14409         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
14410         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
14411         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
14412         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
14413         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
14414         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
14415         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
14416         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
14417         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
14418         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
14419         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
14420         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
14421         xstrtol.m4, xstrtoumax.m4, yesno.m4:
14422         Use an all-permissive copyright notice, recommended by RMS.
14423
14424 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14425
14426         * modules/chdir-long (Depends-on): Remove mempcpy.
14427
14428 2005-01-21  Jim Meyering  <jim@meyering.net>
14429
14430         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
14431         same value as for Solaris 9.
14432
14433         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
14434         component length.  This included changing the parameter to be
14435         of type `char *' rather than `char const *'.
14436         * lib/chdir-long.h (chdir_long): Update prototype.
14437
14438         * lib/openat.c (fdopendir, fstatat): New functions.
14439         * lib/openat.h: Include headers required for use of DIR and struct
14440         stat.
14441         [AT_SYMLINK_NOFOLLOW]: Define.
14442         (fdopendir, fstatat): Add prototypes.
14443
14444 2005-01-21  Bruno Haible  <bruno@clisp.org>
14445
14446         * modules/classpath: New file.
14447         * MODULES.html.sh (Java): Add classpath.
14448
14449 2005-01-21  Bruno Haible  <bruno@clisp.org>
14450
14451         * lib/classpath.h: New file, from GNU gettext.
14452         * lib/classpath.c: New file, from GNU gettext.
14453
14454 2005-01-20  Simon Josefsson  <jas@extundo.com>
14455
14456         * modules/version-etc-fsf: New file.
14457
14458 2005-01-20  Simon Josefsson  <jas@extundo.com>
14459
14460         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
14461         * lib/version-etc.c: Remove version_etc_copyright.
14462         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
14463         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
14464
14465 2005-01-20  Simon Josefsson  <jas@extundo.com>
14466
14467         * lib/base64.h (isbase64): Add.
14468
14469         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
14470         using a unsigned prototype, don't inline.
14471         (base64_decode): Use it.
14472
14473 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
14474
14475         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
14476         it.
14477
14478 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
14479
14480         * lib/save-cwd.c (save_cwd): Remove code to support the case
14481         where fchdir is missing or flaky.
14482
14483 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
14484
14485         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
14486
14487 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
14488
14489         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
14490         AC_LIBSOURCES now does this.
14491         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
14492         with new ullong_max module.
14493
14494 2005-01-19  Bruno Haible  <bruno@clisp.org>
14495
14496         * modules/sh-quote: New file.
14497         * MODULES.html.sh (Executing programs): Add sh-quote.
14498
14499 2005-01-19  Bruno Haible  <bruno@clisp.org>
14500
14501         * lib/sh-quote.h: New file, from GNU gettext.
14502         * lib/sh-quote.c: New file, from GNU gettext.
14503
14504 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14505
14506         Merge from coreutils.
14507         * m4/ullong_max.m4: New file.
14508         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
14509         (gl_MACROS): Assume localeconv exists.
14510
14511 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14512
14513         Merge changes from coreutils, as described below in several
14514         changelogs dated today.
14515
14516         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
14517         (O_DIRECTORY): Remove; not needed here, since "." must be
14518         a directory.  All uses removed.
14519         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
14520         universal on Suns, and we also need to test for IRIX.
14521         Revamp code to use 'if' rather than '#if'.
14522         Avoid unnecessary comparison of cwd->desc to 0.
14523
14524         * lib/utimens.c (futimens): Robustify the previous patch, by checking
14525         for known valid error numbers rather than observed invalid ones.
14526
14527 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14528
14529         * modules/ullong_max: New file.
14530
14531         * modules/chdir-long, modules/openat: New files.
14532         * modules/save-cwd (Depends-on): Depend on chdir-long.
14533         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
14534
14535 2005-01-18  Jim Meyering  <jim@meyering.net>
14536
14537         Merge from coreutils.
14538         * m4/chdir-long.m4, m4/openat.m4: New files.
14539         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
14540         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
14541         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
14542         is sane and DOES follow symlinks.  Besides, testing 20 different
14543         systems found no broken chown implementations.
14544         Prompted by a change in rsync's copy of this macro.
14545         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
14546
14547         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
14548
14549         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
14550         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
14551         NULL-means-set-to-current-time semantics.
14552         Remove temporary file immediately, rather than waiting
14553         for configure's at-exit trap code to do it.
14554
14555 2005-01-18  Jim Meyering  <jim@meyering.net>
14556
14557         * lib/version-etc.c (version_etc_copyright): Update copyright date.
14558
14559         * lib/utimens.c (futimens): Account for the fact that futimes
14560         can also fail with errno == ENOSYS or errno == ENOENT.
14561         Patch from Dmitry V. Levin.
14562
14563         Change the name of the robust chdir function from chdir to chdir_long.
14564         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
14565         (restore_cwd): Use chdir_long, not chdir.
14566         * lib/chdir-long.c: Renamed from chdir.c.
14567         * lib/chdir-long.h: Renamed from chdir.h.
14568         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
14569         Hurd.
14570
14571 2005-01-18  Bruno Haible  <bruno@clisp.org>
14572
14573         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
14574         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
14575         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
14576         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
14577         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
14578         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
14579         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
14580         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
14581         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
14582         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
14583         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
14584         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
14585         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
14586         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
14587         Use an all-permissive copyright notice, recommended by RMS.
14588
14589 2005-01-18  Bob Proulx  <bob@proulx.com>
14590
14591         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
14592         simplify offsetof() macro construct to avoid compile failure with
14593         native HP-UX 11.0 ANSI C compiler.
14594
14595 2005-01-17  Bruno Haible  <bruno@clisp.org>
14596
14597         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
14598         redundant because stpncpy.m4 takes care of it.
14599
14600 2005-01-17  Bruno Haible  <bruno@clisp.org>
14601
14602         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
14603
14604 2005-01-17  Bruno Haible  <bruno@clisp.org>
14605
14606         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
14607         used.
14608
14609 2005-01-17  Bruno Haible  <bruno@clisp.org>
14610
14611         * lib/fwriteerror.h (fwriteerror): Change specification to include
14612         fclose.
14613         * lib/fwriteerror.c: Include <stdbool.h>.
14614         (fwriteerror): At the end, close the file stream. Record whether
14615         stdout was already closed.
14616
14617 2005-01-17  Bruno Haible  <bruno@clisp.org>
14618
14619         * lib/execute.c (environ): Declare if needed.
14620         * lib/pipe.c (environ): Likewise.
14621         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
14622
14623 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14624
14625         * modules/argp: Depend on vsnprintf
14626
14627 2005-01-10  Jim Meyering  <jim@meyering.net>
14628
14629         * modules/closeout (Depends-on): Add atexit.
14630
14631 2005-01-06  Bruno Haible  <bruno@clisp.org>
14632
14633         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
14634
14635 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
14636
14637         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
14638         definitions to be after all include files, to avoid collisions.
14639         Problem reported by Bob Proulx.
14640
14641 2005-01-04  Jim Meyering  <jim@meyering.net>
14642
14643         Changes imported from coreutils.
14644         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
14645         as the mkstemp template, use a temporary directory and an
14646         8.3-friendly template to avoid trouble on systems like DJGPP.
14647         Reported by Juan M. Guerrero via Stepan Kasal.
14648         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
14649         close. Remove the temporary directory right away, rather than waiting
14650         for configure's at-exit trap code to do it.
14651         Suggestion from Stepan Kasal.
14652
14653 2005-01-01  Simon Josefsson  <jas@extundo.com>
14654
14655         * gnulib-tool: Print #include directives when --import'ing.
14656
14657 2004-12-28  Simon Josefsson  <jas@extundo.com>
14658
14659         * tests/test-base64.c: Include required header files.  Remove
14660         unused variables.
14661
14662 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14663
14664         * modules/error (Depends-on): Remove gettext.
14665
14666 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14667
14668         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
14669         not needed.  This removes a dependency on the gettext module.
14670         [defined _LIBC]: Do not include <libintl.h>; not needed.
14671
14672 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
14673
14674         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
14675         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
14676
14677 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
14678
14679         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
14680         HAVE_DECL_STRTOLD.
14681
14682 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14683
14684         * modules/getdate (Depends-on): Remove alloca-opt.
14685
14686 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14687
14688         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
14689
14690 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14691
14692         * lib/argp-parse.c: Include <stddef.h>.
14693         (alignof, alignto): New macros.
14694         (parser_init): Don't assume that void * is aligned sufficiently
14695         for struct option.
14696
14697         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
14698         need to extend the stack.
14699         (YYINITDEPTH): New macro, so that the initial stack isn't overly
14700         large.
14701
14702 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14703
14704         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
14705
14706 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
14707
14708         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
14709         (2004-10-24) change.  Apparently this was a false alarm.
14710
14711         * modules/getdate: Depend on alloca-opt, not alloca.
14712
14713 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
14714
14715         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
14716         Remove now-obsolete comment about AIX.
14717         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
14718         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
14719         (YYMAXDEPTH): New macro.
14720
14721 2004-12-18  Simon Josefsson  <jas@extundo.com>
14722
14723         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
14724
14725 2004-12-18  Bruno Haible  <bruno@clisp.org>
14726
14727         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
14728
14729 2004-12-18  Bruno Haible  <bruno@clisp.org>
14730
14731         * lib/fatal-signal.c (fatal_signals): Make non-const.
14732         (init_fatal_signals): New function.
14733         (uninstall_handlers, install_handlers): Ignore signals that were set to
14734         SIG_IGN.
14735         (at_fatal_signal): Call init_fatal_signals.
14736         (init_fatal_signal_set): Likewise. Ignore signals that were set to
14737         SIG_IGN.
14738         Reported by Paul Eggert.
14739
14740 2004-12-18  Bruno Haible  <bruno@clisp.org>
14741
14742         * doc/alloca.texi: New file.
14743         * doc/alloca-opt.texi: New file.
14744
14745 2004-12-17  Jim Meyering  <jim@meyering.net>
14746
14747         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
14748         Otherwise, install-sh could exit with improper exit status when
14749         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
14750
14751 2004-12-16  Simon Josefsson  <jas@extundo.com>
14752
14753         * tests/test-base64.c: Add license.
14754
14755 2004-12-15  Stepan Kasal  <address@hidden>
14756
14757         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
14758
14759 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
14760
14761         * modules/getcwd (Files): Add m4/d-ino.m4.
14762         Suggested by Mark D. Baushke.
14763
14764 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
14765
14766         * lib/getdate.y (textint): New member "negative".
14767         (time_zone_hhmm): New function.
14768         Expect 14 shift-reduce conflicts, not 13.
14769         (o_colon_minutes): New rule.
14770         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
14771         (yylex): Set the "negative" member of signed numbers.
14772
14773 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
14774
14775         * doc/getdate.texi (Time of day items, Time zone items):
14776         Describe new formats +00:00, UTC+00:00.
14777
14778 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
14779
14780         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
14781         spurious "-l"s.  Problem reported by Stepan Kasal.
14782
14783 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
14784
14785         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
14786         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
14787
14788 2004-12-04  Simon Josefsson  <jas@extundo.com>
14789
14790         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
14791         Vandoorselaere <yoann@prelude-ids.org>.
14792
14793 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
14794
14795         Changes imported from coreutils.
14796         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
14797         exist.
14798         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
14799
14800 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
14801
14802         Changes imported from coreutils.
14803         * lib/hard-locale.c: Assume <locale.h> exists.
14804         Include "strdup.h".
14805         (GLIBC_VERSION): New macro.
14806         (hard_locale): Assume setlocale exists.
14807         Rewrite to avoid #ifdef.
14808         Use strdup rather than malloc + strcpy.
14809         * lib/human.c: Assume <locale.h> exists.
14810         (human_readable): Assume localeconv exists.
14811
14812 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
14813
14814         * modules/hard-locale (Depends-on): Add strdup.
14815
14816 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
14817
14818         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
14819         convert T2, not T.  (Imported from libc.)
14820
14821 2004-11-30  Simon Josefsson  <jas@extundo.com>
14822
14823         * modules/restrict (License): Change to LGPL.
14824
14825 2004-11-30  Simon Josefsson  <jas@extundo.com>
14826
14827         * m4/restrict.m4: Add copyright and copying conditions.
14828
14829 2004-11-30  Simon Josefsson  <jas@extundo.com>
14830
14831         * m4/base64.m4: New file.
14832
14833 2004-11-30  Simon Josefsson  <jas@extundo.com>
14834
14835         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
14836         base64.
14837
14838         * tests/test-base64.c: New file.
14839
14840         * modules/base64: New file.
14841
14842 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
14843
14844         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
14845         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
14846
14847         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
14848
14849 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
14850
14851         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
14852         (__getcwd.c): Don't restore errno; glibc doesn't.
14853         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
14854         first, falling back to our code only if its results look suspicious.
14855         Ensure that the resulting buffer is only as large as necessary.
14856
14857         * lib/readutmp.c: Include readutmp.h first.
14858         Include <errno.h>, since readutmp.h no longer does that.
14859         * lib/readutmp.h: Don't include <errno.h>,
14860         <sys/param.h>, <time.h>; not needed to establish interface.
14861         (errno): Remove decl.
14862         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
14863         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
14864         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
14865
14866 2004-11-28  Simon Josefsson  <jas@extundo.com>
14867
14868         * lib/base64.h, base64.c: New file.
14869
14870 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
14871
14872         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
14873
14874 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
14875
14876         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
14877         (Depends-on): Remove pathmax, same.  Add mempcpy.
14878         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
14879         (Makefile.am): Append getcwd.h to lib_SOURCES.
14880         (Include): Add getcwd.h.
14881         (Maintainer): Change from Jim Meyering to "all, glibc",
14882         since getdate now uses intended-for-glibc code.
14883         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
14884         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
14885
14886 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
14887
14888         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
14889         HP's ANSI C compiler.
14890         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
14891         Declaring int functions causes warnings on some modern systems and
14892         shouldn't be needed to compile on ancient ones.
14893         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
14894         defined.
14895
14896         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
14897         with the following changes.
14898         (__set_errno): Parenthesize properly.
14899         Include <stdbool.h>.
14900         (MIN, MAX, MATCHING_INO): New macros.
14901         (__getcwd): Define with prototype, not K&R form.
14902         Use heuristics to allocate default buffer on stack if possible.
14903         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
14904         behavior, and to avoid the PATH_MAX limit when computing
14905         ../../../../...
14906         Use MATCHING_INO to compare inode number to file.
14907         Check for arithmetic overflow in size calculations.
14908         Fix bug in reallocation of dot array that caused getcwd to fail
14909         on directories nested deeper than 75.
14910         Be more careful about saving errno on error.
14911         Do not use realloc; use only free+malloc, as this is a bit
14912         more flexible and avoids a needless copy operation.
14913         Do not inspect st_dev and st_ino for symbolic links; POSIX
14914         doesn't specify the latter.
14915         Check for closedir errors.
14916         Avoid needless casts.
14917         Use "#ifdef weak_alias" around weak_alias, to be like other
14918         glibc code.
14919         The following changes to getcwd.c have effect only when used in
14920         gnulib; they have no effect inside glibc proper.
14921         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
14922         as alloca isn't used.
14923         (alloca, __alloca): Likewise.
14924         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
14925         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
14926         unconditionally, as gnulib assumes C89 or better.
14927         Do not include <sys/param.h>.
14928         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
14929         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
14930         better.
14931         (NULL) [!defined NULL]: Remove; we assume C89 or better.
14932         Include <dirent.h> in a way that is compatible with modern Autoconf.
14933         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
14934         New macros, if not already defined.
14935         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
14936         Use "_LIBC", not "defined _LIBC", for consistency.
14937         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
14938         a mempcpy module.
14939         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
14940         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
14941         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
14942         credit only to Jim Meyering and adjust the copyright dates.
14943         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
14944         <stdlib.h>, <unistd.h>, "pathmax.h".
14945         Instead, include "xgetcwd.h" (first) and "getcwd.h".
14946         (INITIAL_BUFFER_SIZE): Remove.
14947         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
14948
14949 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
14950
14951         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
14952         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
14953         Use the _ONCE methods, for efficiency.
14954         Check for fcntl.h.  In test program, include <errno.h>
14955         and <fcntl.h> if available.  Remove old K&R cruft from
14956         test program.  Check for common errors in GNU/Linux,
14957         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
14958         don't do AC_LIBOBJ, as that's getcwd.m4's job.
14959         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
14960         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
14961         name accordingly.
14962         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
14963         accommodate new getcwd.c.
14964         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
14965         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
14966         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
14967         that's all we need now.
14968
14969 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14970
14971         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
14972         argp-parse.c depends on getopt internals, that means we should
14973         always use our getopt, to be on the safe side.
14974         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
14975         order not to spoil the result of an eventual previous invocation
14976         of gl_GETOPT_SUBSTITUTE.
14977
14978 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14979
14980         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
14981         redefinition warnings. To avoid them, include the defines
14982         in `#if !defined __need_getopt ... #endif'. The only place
14983         where __getopt_argv_const is used is in definitions
14984         of getopt_long and getopt_long_only below, which are as well
14985         protected by `#ifndef __need_getopt'.
14986         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
14987         __need_getopt after including <stdio.h> and <unistd.h> These
14988         headers might have defined it.
14989
14990 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
14991
14992         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
14993
14994 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
14995
14996         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
14997         (futimens): New function, which uses futimes if available.
14998         (futimens, utimens): Support timespec==NULL, with same semantics
14999         as utime and utimens.
15000         * lib/utimens.h (futimens): New decl.
15001
15002 2004-11-23  Jim Meyering  <jim@meyering.net>
15003
15004         * lib/getopt_.h: Remove trailing blanks.
15005
15006 2004-11-23  Jim Meyering  <jim@meyering.net>
15007
15008         * lib/__fpending.c: Add comment.
15009
15010 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
15011
15012         * modules/canonicalize (Depends-on): Add xreadlink.
15013         Problem reported by James Youngman.
15014
15015 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
15016
15017         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
15018         New macros.
15019         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
15020         optopt): Use them instead of invoking ## directly; otherwise, the
15021         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
15022
15023 2004-11-19  Bruno Haible  <bruno@clisp.org>
15024
15025         * lib/strtok_r.c: Move comments from here...
15026         * lib/strtok_r.h: ... to here.
15027
15028 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
15029
15030         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
15031         implementations that mishandle size_t overflow.
15032
15033 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
15034
15035         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
15036         might fail.  Problem reported by Yoann Vandoorselaere.
15037         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
15038         implementations that mishandle size_t overflow.
15039
15040 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
15041
15042         * modules/canon-host (Depends-on): Add strdup.
15043
15044 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
15045
15046         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
15047
15048 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
15049
15050         * lib/canon-host.c: Include "strdup.h".
15051         (canon_host): Use getaddrinfo if available, so that IPv6 works.
15052         Use strdup instead of malloc/strcpy to duplicate strings.
15053
15054         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
15055         (human_space_before_unit): New constant.
15056         * lib/human.c (human_readable): Support it.
15057
15058         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
15059         (xgetcwd): Set errno correctly when failing.
15060         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
15061         the failure is actually due to a PATH_MAX problem.
15062
15063         Further getopt changes to make it more likely that glibc will
15064         buy the changes back.
15065         * lib/getopt.c (POSIXLY_CORRECT): New constant.
15066         (getopt): Use it, so to preserve glibc semantic
15067         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
15068         when compiling for libc.
15069         * lib/getopt_.h (__getopt_argv_const): Bring it back.
15070         (getopt_long, getopt_long_only): Use it.
15071
15072         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
15073         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
15074         (getopt): Argv is now char * const *, as per standard.
15075         (_getopt_internal_r, _getopt_internal): Argv is now char **,
15076         not char *__getopt_argv_const *.
15077         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
15078         _getopt_long_only_r): Likewise.
15079         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
15080         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
15081         _getopt_long_r, _getopt_long_only_r): Likewise.
15082         * lib/getopt_.h (__getopt_argv_const): Remove.
15083         (getopt): Argv is now char * const *, as per standard.
15084
15085         * lib/getdate.y (tORDINAL): New token.
15086         (day, relunit): Allow it for relative times.
15087         (relative_time_table): Use tORDINAL for ordinals.
15088
15089 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
15090
15091         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
15092         Document that "second" isn't allowed as an ordinal number.
15093
15094 2004-11-16  Jim Meyering  <jim@meyering.net>
15095
15096         * modules/closeout (Depends-on): Add fpending.
15097
15098 2004-11-15  Jim Meyering  <jim@meyering.net>
15099
15100         * lib/closeout.c: Include "__fpending.h" once again.
15101         Include <stdbool.h>.
15102         (close_stdout): Don't fail just because stdout was closed initially,
15103         since some programs don't write to stdout in the normal course of
15104         operation (other than --version and --help), and we don't want this
15105         function to make e.g. `touch file >&-' fail.
15106         But do fail if it was closed and someone has tried to write to it.
15107         E.g., `printf foo >&-' must fail.
15108
15109 2004-11-13  Jim Meyering  <jim@meyering.net>
15110
15111         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
15112
15113 2004-11-12  Simon Josefsson  <jas@extundo.com>
15114
15115         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
15116         small doc fix is still pending.
15117
15118 2004-11-11  Simon Josefsson  <jas@extundo.com>
15119
15120         * modules/strtok_r: New file.
15121
15122         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15123         strtok_r.
15124
15125 2004-11-11  Simon Josefsson  <jas@extundo.com>
15126
15127         * m4/strtok_r.m4: New file.
15128
15129         * m4/getopt.m4: Replace opterr.
15130
15131 2004-11-11  Simon Josefsson  <jas@extundo.com>
15132
15133         * lib/strtok_r.h, strtok_r.c: New file.
15134
15135 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
15136
15137         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
15138         of replacing opterr, getopt, etc.  This should handle the
15139         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
15140
15141 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
15142
15143         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
15144         we can stop lying to compilers about the constness of argv when we
15145         are compiled outside glibc.
15146         (getopt, getopt_long, getopt_long_only): Use it.
15147         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
15148         _getopt_internal, getopt): Likewise.
15149         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
15150         _getopt_long_only_r): Likewise.
15151         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
15152         _getopt_long_r, _getopt_long_only_r): Likewise.
15153
15154         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
15155         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
15156         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
15157         the other external symbols.
15158         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
15159         declaration, since the above renaming now works around collisions.
15160
15161 2004-11-11  Jim Meyering  <jim@meyering.net>
15162
15163         * lib/linebreak.c: Remove trailing blanks.
15164         * lib/alloca_.h: Likewise.
15165         * lib/acosl.c: Likewise.
15166         * lib/euidaccess.c: Likewise.
15167         * lib/allocsa.h: Likewise.
15168
15169 2004-11-10  Simon Josefsson  <jas@extundo.com>
15170
15171         * m4/getaddrinfo.m4: New file.
15172
15173 2004-11-10  Simon Josefsson  <jas@extundo.com>
15174
15175         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
15176
15177 2004-11-10  Simon Josefsson  <jas@extundo.com>
15178
15179         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15180         getaddrinfo.
15181
15182         * modules/getaddrinfo: New file.
15183
15184 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15185
15186         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
15187
15188 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15189
15190         * lib/mktime.c (SHR): New macro, which is a portable
15191         substitute for >> that should work even on Crays.
15192         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
15193         Problem reported by Mark D. Baushke in
15194         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
15195         * lib/getdate.y (SHR): Likewise.
15196         (tm_diff): Use it.
15197         * lib/strftime.c (SHR): Likewise.
15198         (tm_diff): Use it.
15199         * lib/quotearg.c (struct quoting_options): Use unsigned int for
15200         quote_these_too, so that right shifts are well defined.  All uses
15201         changed.
15202
15203 2004-11-10  Jim Meyering  <jim@meyering.net>
15204
15205         Ensure that no close failure goes unreported.
15206         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
15207         return early when it seems there's nothing to flush.
15208         Don't include __fpending.h.
15209
15210 2004-11-10  Jim Meyering  <jim@meyering.net>
15211
15212         * modules/closeout (Depends-on): Remove fpending.
15213
15214 2004-11-10  Jim Meyering  <jim@meyering.net>
15215
15216         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
15217
15218 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
15219
15220         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
15221         gl_FUNC_STRFTIME.
15222         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
15223         and AC_REQUIRE when possible, to avoid duplicate checks.
15224         Check for <wchar.h>.
15225
15226 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
15227
15228         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
15229
15230 2004-11-09  Bruno Haible  <bruno@clisp.org>
15231
15232         * m4/sockpfaf.m4: New file.
15233
15234 2004-11-05  Bruno Haible  <bruno@clisp.org>
15235
15236         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
15237         Reported by Mark D. Baushke <mdb@cvshome.org>.
15238
15239 2004-11-04  Bruno Haible  <bruno@clisp.org>
15240
15241         2004-09-11  Bruno Haible  <bruno@clisp.org>
15242                 * allocsa.valgrind: New file.
15243         2004-02-06  Bruno Haible  <bruno@clisp.org>
15244                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
15245                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
15246                 Reported by Christopher Seip <chris.seip@hp.com>.
15247
15248 2004-11-04  Bruno Haible  <bruno@clisp.org>
15249
15250         * modules/allocsa (Files): Add lib/allocsa.valgrind.
15251         (Makefile.am): Distribute it.
15252
15253 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
15254
15255         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
15256         with errno == ERANGE if the buffer is too small.
15257         Problem reported by Mark D. Baushke.
15258
15259 2004-11-03  Albert Chin  <china@thewrittenword.com>
15260             Paul Eggert  <eggert@cs.ucla.edu>
15261
15262         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
15263         equivalent, substitute $ac_type for equivalent type rather than
15264         blindly using uint32_t *always* which won't work if uint32_t is not
15265         available.  Define _UINT32_T to work around typedef of uint32_t if
15266         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
15267         2.5.1.
15268
15269 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15270
15271         * m4/jm-macros.m4: Sync from coreutils.
15272         (gl_MACROS): Check for mbrlen, for pathchk.
15273         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
15274
15275 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15276
15277         * lib/xreadlink.c (MAXSIZE): New macro.
15278         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
15279         size does not exceed MAXSIZE.  Avoid cast.
15280         As suggested by Mark D. Baushke in
15281         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
15282         if readlink fails with buffer size just under MAXSIZE, try again
15283         with MAXSIZE.
15284
15285 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15286
15287         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
15288
15289 2004-11-02  Derek R. Price  <derek@ximbiot.com>
15290         and  Paul Eggert  <eggert@cs.ucla.edu>
15291
15292         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
15293         (get_date): Overparenthesize to avoid GCC warning.
15294
15295 2004-11-02  Bruno Haible  <bruno@clisp.org>
15296
15297         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
15298         returns void.
15299
15300 2004-11-02  Bruno Haible  <bruno@clisp.org>
15301
15302         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
15303         function returns void.
15304
15305 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
15306
15307         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
15308         fflush_unlocked, flockfile, funlockfile, funlockfile,
15309         fputs_unlocked, putc_unlocked.
15310
15311 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
15312
15313         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
15314         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
15315         already declared.
15316
15317 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15318
15319         * modules/getdate (Files): Add doc/getdate.texi.
15320         (Depends-on): Add setenv, xalloc.
15321
15322 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15323
15324         * lib/getdate.y: Add support for TZ="foo" within a date string.
15325         Fix some bugs near time_t boundaries.  Reject dates with
15326         out-of-range components, e.g., "Sept 31".
15327         Include <stdlib.h>, "setenv.h", "xalloc.h".
15328         (ISDIGIT_LOCALE): Remove; unused.
15329         Note that the TZ and time functions used here are not reentrant.
15330         (mktime_ok, get_tz): New functions.
15331         (TZBUFSIZE): New constant.
15332         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
15333         This requires that we sometimes generate our own TZ="XXX..." setting.
15334
15335 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15336
15337         * doc/getdate.texi: New file, from coreutils with modifications for
15338         the new TZ parsing.
15339
15340 2004-10-27  Derek R. Price  <derek@ximbiot.com>
15341
15342         * lib/mktime.c (not_equal_tm): Remove redundant check.
15343
15344 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
15345
15346         * modules/regex (lib_SOURCES): Add regex.c.
15347         Reported by James Youngman in
15348         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
15349
15350 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
15351
15352         * lib/getdate.y: Use Bison 1.875 features, and some minor
15353         code cleanups.  This change does not affect semantics.
15354         Don't include <stdlib.h>; no longer needed.
15355         Don't include unlocked-io.h; only the "#if TEST" code uses
15356         stdio, and performance isn't crucial there.
15357         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
15358         Bison 1.875 features as described below.
15359         All uses of "PC." replaced by "pc->".
15360         (YYSTYPE): Add a forward declaration.
15361         (yylex, yyerror): Use full prototypes in forward decls.
15362         Use "%pure-parser" rather than obsolescent "%pure_parser".
15363         Use %parse-param and %lex-param instead of obsolescent
15364         YYPARSE_PARAM and YYLEX_PARAM.
15365         (meridian_table, month_and_day_table, time_units_table,
15366         relative_time_table, time_zone_table, military_table,
15367         lookup_zone, lookup_word, get_date):
15368         Use NULL instead of 0 where appropriate.
15369         (to_hour): Avoid abort (), to avoid a dependency on
15370         stdlib.h.
15371         (yyerror, yylex): Now accepts parser_control * arg.
15372         (main) [TEST]: Use '\0' rather than 0 for char.
15373
15374 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
15375
15376         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
15377
15378 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
15379
15380         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
15381         It's now the caller's responsibility to handle the case where
15382         !HAVE_GETPAGESIZE && !defined getpagesize.
15383
15384         * lib/mktime.c (leapyear): Arg is long int, not int.
15385
15386 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
15387
15388         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
15389
15390 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
15391
15392         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
15393         missing.  Problem reported by James Youngman.
15394
15395 2004-10-16  Simon Josefsson  <jas@extundo.com>
15396
15397         * gnulib-tool: Fix comments.  Fix parse problem.
15398         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
15399
15400 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
15401
15402         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
15403         implementation of getopt_long.  Problem reported by Alexander Taler in:
15404         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
15405
15406 2004-10-15  Bruno Haible  <bruno@clisp.org>
15407
15408         * gnulib-tool: Untabify. Initialize supplied_libname.
15409         (func_usage): More homogenous output.
15410         (func_modules_transitive_closure, func_modules_to_filelist,
15411         func_emit_lib_Makefile_am): New functions.
15412         (func_import): New function, extracted from big case statement. Use
15413         func_get_license, func_modules_transitive_closure,
15414         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
15415         opt_lgpl. Don't use test -a, as it's not portable.
15416         (func_create_testdir): Use func_modules_transitive_closure,
15417         func_modules_to_filelist, func_emit_lib_Makefile_am.
15418
15419 2004-10-15  Bruno Haible  <bruno@clisp.org>
15420
15421         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
15422
15423 2004-10-15  Bruno Haible  <bruno@clisp.org>
15424
15425         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
15426         the portions belonging to each module.
15427         Suggested by Derek Robert Price <derek@ximbiot.com>.
15428
15429 2004-10-12  Simon Josefsson  <jas@extundo.com>
15430
15431         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
15432         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
15433         to real functions.
15434
15435 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15436
15437         * modules/vsnprintf: New file.
15438
15439 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15440
15441         * m4/vsnprintf.m4: New file.
15442
15443 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15444
15445         * lib/vsnprintf.h: New file.
15446         * lib/vsnprintf.c: New file.
15447
15448 2004-10-11  Bruno Haible  <bruno@clisp.org>
15449
15450         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
15451         vsnprintf.
15452
15453 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
15454
15455         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
15456
15457 2004-10-07  Bruno Haible  <bruno@clisp.org>
15458
15459         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
15460         fits into the provided buffer.
15461
15462 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
15463
15464         * lib/diacrit.c, diacrit.h: Add GPL notice.
15465
15466         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
15467         notice.
15468         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
15469         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
15470         This avoids a potential constant-folding bug.
15471
15472 2004-10-05  Bruno Haible  <bruno@clisp.org>
15473
15474         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
15475         for the declaration of strsep.
15476
15477 2004-10-05  Bruno Haible  <bruno@clisp.org>
15478
15479         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
15480
15481 2004-10-04  Simon Josefsson  <jas@extundo.com>
15482
15483         * modules/memmem: New file.
15484         * tests/test-memmem.c: New file.
15485         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
15486
15487 2004-10-04  Simon Josefsson  <jas@extundo.com>
15488
15489         * m4/memmem.m4: New file.
15490
15491 2004-10-04  Simon Josefsson  <jas@extundo.com>
15492
15493         * lib/memmem.h: New file.
15494         * lib/memmem.c: New file, taken from glibc.
15495
15496 2004-10-04  Simon Josefsson  <jas@extundo.com>
15497
15498         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
15499         '#ifdef USE_UNLOCKED_IO'.
15500
15501 2004-10-04  Simon Josefsson  <jas@extundo.com>
15502
15503         * config/srclist.txt: Add memmem from glibc.
15504
15505 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15506
15507         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
15508
15509         * modules/argmatch, modules/argp, modules/closeout, modules/error,
15510         modules/exclude, modules/getdate, modules/getline,
15511         modules/getndelim2, modules/getpass, modules/getpass-gnu,
15512         modules/getusershell, modules/linebuffer, modules/md5,
15513         modules/mountlist, modules/posixtm, modules/readtokens,
15514         modules/readutmp, modules/regex, modules/sha1,
15515         modules/version-etc, modules/yesno:
15516         Remove dependency on unlocked-io.
15517
15518 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15519
15520         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
15521
15522         * m4/unlocked-io.m4: Add copyright notice.
15523         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
15524
15525 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15526
15527         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
15528         * lib/xmalloc.c (xmemdup): Likewise.
15529         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
15530         XFREE): Remove these long-obsolescent macros.
15531         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
15532         * lib/xstrdup.c: Remove.
15533
15534         * lib/regex.c (re_comp): Cast gettext return value to char *,
15535         Problem reported by Martin Neitzel via Mark D. Baushke.
15536
15537 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15538
15539         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
15540         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
15541         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
15542         regex.c, sha1.c, version-etc.c, yesno.c:
15543         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
15544         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
15545         the includer's responsibility.
15546
15547         Sync from coreutils.
15548
15549         * lib/modechange.c (mode_compile): Don't decrement a pointer that
15550         points to the start of a string, as the C Standard says the
15551         resulting behavior is undefined.
15552
15553         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
15554         simple -> simple_backups, numbered_existing ->
15555         numbered_existing_backups, numbered -> numbered_backups
15556         to avoid shadowing problems.  All uses changed.
15557         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
15558         * lib/backupfile.c (check_extension, numbered_backup):
15559         Rename locals to avoid shadowing 'basename'.
15560         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
15561         once.
15562
15563         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
15564         * lib/.cvsignore: Add getopt.h.
15565
15566 2004-10-04  Bruno Haible  <bruno@clisp.org>
15567
15568         * modules/README: New file.
15569         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
15570         not a module.
15571
15572 2004-10-02  Jim Meyering  <jim@meyering.net>
15573
15574         * lib/dirfd.h, getpagesize.h: Add copyright notice.
15575
15576 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15577
15578         * modules/strsep: New file.
15579
15580 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15581
15582         * m4/strsep.m4: New file.
15583
15584 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15585
15586         * lib/strsep.h: New file.
15587         * lib/strsep.c: New file.
15588
15589 2004-10-01  Simon Josefsson  <jas@extundo.com>
15590
15591         * lib/snprintf.c (snprintf): Handle size==0.
15592
15593 2004-10-01  Simon Josefsson  <jas@extundo.com>
15594             Bruno Haible  <bruno@clisp.org>
15595
15596         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
15597         (snprintf): Declare 'args'.
15598
15599 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
15600
15601         * lib/snprintf.c: Remove comments as to why each header is needed.
15602
15603 2004-10-01  Bruno Haible  <bruno@clisp.org>
15604
15605         * MODULES.html.sh: Add strsep.
15606
15607 2004-09-30  Simon Josefsson  <jas@extundo.com>
15608
15609         * modules/snprintf: New file.
15610
15611 2004-09-30  Simon Josefsson  <jas@extundo.com>
15612
15613         * m4/snprintf.m4: New file.
15614
15615 2004-09-30  Simon Josefsson  <jas@extundo.com>
15616
15617         * lib/snprintf.h, lib/snprintf.c: New files.
15618
15619 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15620
15621         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
15622         (hol_entry_help): Never translate an empty string.
15623         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
15624         * lib/argp.h (OPTION_NO_TRANS): New option.
15625
15626 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15627
15628         * modules/argp (Maintainer): Replace Simon Josefsson
15629         by Sergey Poznyakoff.
15630
15631 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15632
15633         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
15634         changes merged back into glibc.
15635
15636 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15637
15638         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
15639
15640 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
15641
15642         * lib/xvasprintf.c: Include xalloc.h.
15643         (xvasprintf): Use xalloc_die, not xmalloc_die.
15644
15645 2004-09-29  Bruno Haible  <bruno@clisp.org>
15646
15647         * modules/alloca-opt: New file, derived from modules/alloca.
15648         * modules/allocsa: Depend on alloca-opt instead of alloca.
15649         * modules/setenv: Likewise.
15650         * modules/vasnprintf: Likewise.
15651         * MODULES.html.sh: Add alloca-opt.
15652
15653 2004-09-28  Simon Josefsson  <jas@extundo.com>
15654
15655         * gnulib-tool: New parameter --lgpl, to asseert that modules are
15656         LGPL, and to replace license template from GPL to LGPL.
15657
15658 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
15659
15660         * modules/dummy: Change license to LGPL.
15661
15662 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
15663
15664         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
15665
15666 2004-09-24  Simon Josefsson  <jas@extundo.com>
15667
15668         * modules/minmax (License): Change from GPL to LGPL.
15669
15670 2004-09-23  Simon Josefsson  <jas@extundo.com>
15671
15672         * gnulib-tool (--import): Typo.
15673
15674 2004-09-23  Simon Josefsson  <jas@extundo.com>
15675
15676         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
15677
15678 2004-09-22  Bruno Haible  <bruno@clisp.org>
15679
15680         * modules/*: Add 'License' field.
15681         * gnulib-tool: Accept --extract-license option.
15682         (func_get_license): New function.
15683
15684 2004-09-21  Bruno Haible  <bruno@clisp.org>
15685
15686         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
15687         Reported by Simon Josefsson.
15688
15689 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15690
15691         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
15692         gl_AC_TYPE_LONG_LONG.
15693
15694 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
15695
15696         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
15697
15698 2004-09-18  Simon Josefsson  <jas@extundo.com>
15699         and  Paul Eggert  <eggert@cs.ucla.edu>
15700
15701         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
15702         calls with autoreconf.  Define GL_LIB.
15703
15704 2004-09-14  Karl Berry  <karl@gnu.org>
15705
15706         * config/srclist.txt: unsync setenv.c, sigh.
15707
15708 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15709
15710         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
15711         Problem reported by Bruno Haible in:
15712         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
15713
15714 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
15715
15716         * config/srclist.txt: Comment out argp-pvh.c.
15717
15718 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
15719
15720         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
15721         in case some system header has #define'd it.  Problem reported by
15722         Soeren D. Schulze in
15723         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
15724
15725 2004-09-09  Karl Berry  <karl@gnu.org>
15726
15727         * regex.[ch]: delete from the root.  These were supposed to be
15728                 synced with emacs cvs, but this has not happened for about
15729                 a year, and anyway nothing else uses emacs regex.[ch].
15730                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
15731                 lib/regex[.ch] is untouched.
15732
15733 2004-09-09  Bruno Haible  <bruno@clisp.org>
15734
15735         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
15736
15737 2004-09-09  Bruno Haible  <bruno@clisp.org>
15738
15739         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
15740         modifications.
15741         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
15742
15743 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
15744
15745         * modules/xvasprintf: New file.
15746         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
15747
15748 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
15749
15750         * lib/xvasprintf.h: New file.
15751         * lib/xvasprintf.c: New file.
15752         * lib/xasprintf.c: New file.
15753
15754 2004-09-08  Bruno Haible  <bruno@clisp.org>
15755
15756         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
15757
15758 2004-09-08  Bruno Haible  <bruno@clisp.org>
15759
15760         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
15761         length is > INT_MAX.
15762         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
15763         more.
15764
15765 2004-09-08  Bruno Haible  <bruno@clisp.org>
15766
15767         * lib/stdint_.h: New file, taken from GNU clisp.
15768
15769 2004-09-08  Bruno Haible  <bruno@clisp.org>
15770             Oskar Liljeblad  <oskar@osk.mine.nu>
15771
15772         * modules/stdint: New file.
15773         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
15774
15775 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15776
15777         Import from coreutils.
15778         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
15779         strings on unbounded length.  alloca's performance benefits aren't
15780         that important here.
15781         (V_STRDUP): Remove.
15782         (parse_with_separator): New function, with most of the internals
15783         of the old parse_user_spec.  Allow user to omit both user and group,
15784         for compatibility with FreeBSD.
15785         Clone only the user name, not the entire spec.
15786         Do not set *uid, *gid unless entirely successful.
15787         Avoid memory leak in some failing cases.
15788         Fix regression for USER.GROUP reported by Dmitry V. Levin in
15789         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
15790         (parse_user_spec): Rewrite to use parse_with_separator.
15791
15792 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15793
15794         * modules/userspec: Don't depend on alloca.
15795
15796 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
15797
15798         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
15799
15800 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
15801
15802         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
15803         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
15804         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
15805
15806 2004-08-16  Simon Josefsson  <jas@extundo.com>
15807
15808         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
15809         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
15810         Add --dry-run for --import.
15811         Let user provided command line parameters override configure.ac
15812         settings.
15813
15814 2004-08-12  Simon Josefsson  <jas@extundo.com>
15815
15816         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
15817         as discussed with Paul Eggert in threads rooted at
15818         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
15819         and
15820         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
15821         Before, the test was empty, and relied on ELIDE_CODE in source
15822         code.)
15823         (gl_PREREQ_GETOPT): New macro.
15824         (gl_GETOPT): Use them.
15825
15826 2004-08-12  Simon Josefsson  <jas@extundo.com>
15827
15828         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
15829         * lib/getopt_.h: Renamed from getopt.h.
15830
15831 2004-08-12  Simon Josefsson  <jas@extundo.com>
15832
15833         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
15834         Change default library name from libfoo to libgnu.
15835         Now, if you have a configure.ac that says:
15836                 gl_SOURCE_BASE(gl)
15837                 gl_M4_BASE(gl/m4)
15838                 gl_MODULES(error getopt etcetera)
15839                 gl_INIT
15840         you can import all you need by running:
15841                 ../gnulib/gnulib-tool --import
15842
15843         * modules/getopt (Files): Rename getopt.h to getopt_.h.
15844         (Makefile.am): Rewrite, use logic from argz.
15845         (Include): Use <getopt.h> instead of "getopt.h".
15846
15847 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15848
15849         * modules/argp (Files): Add m4/unlocked-io.m4.
15850         (Depends-on): Add extensions.
15851
15852 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15853
15854         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
15855         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
15856         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
15857         Check for program_invocation_name, program_invocation_short_name,
15858         flockfile, funlockfile, features.h, _getopt_long_only_r.
15859
15860 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15861
15862         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
15863         its complicated substitute.
15864         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
15865         and program_invocation_name.
15866         (__argp_basename) [!_LIBC]: Remove; the only use was
15867         replaced by its body.
15868         (__argp_short_program_name): Change condition from
15869         !defined __argp_short_program_name to
15870         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
15871         to match argp-namefrob.h.
15872         (__argp_failure): Don't assume strerror_r returns char *.
15873         * lib/argp-parse.c (N_): Define unconditionally.
15874         (argp_default_options): Fill out initializers with 0 to avoid
15875         gcc warnings.
15876
15877 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15878
15879         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
15880         getopt1.c.
15881
15882 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15883
15884         Merge from coreutils.
15885
15886         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
15887
15888         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
15889         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
15890
15891 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15892
15893         Merge from coreutils.
15894
15895         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
15896         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
15897         for Reliant Unix 5.43.
15898
15899         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
15900         (union fooround): Use uintmax_t, not long int.
15901         The rest is a merge from libc:
15902         [defined _LIBC]: Include <shlib-compat.h>.
15903         (_obstack) [defined _LIBC]: Remove after 2.3.4.
15904
15905         * lib/settime.c (settime): Recode to avoid warning with
15906         Sun Forte C 6U2.
15907
15908         * lib/strverscmp.c: Convert to UTF-8.
15909
15910 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15911
15912         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
15913         m4/uintmax_t.m4.
15914
15915 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15916
15917         * modules/xalloc-die: New file.
15918         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
15919
15920         * modules/md5 (Files): Add m4/uint32_t.m4.
15921         * modules/sha1: Renamed from modules/sha.
15922         (Files):
15923         Rename lib/sha.h to lib/sha1.h.
15924         Rename lib/sha.c to lib/sha1.c.
15925         Rename m4/sha.m4 to m4/sha1.m4.
15926         (lib_SOURCES): Likewise.
15927         (configure.ac): Rename gl_SHA to gl_SHA1.
15928         (Include): sha.h -> sha1.h.
15929
15930 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15931
15932         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
15933         * m4/sha1.m4: Renamed from sha.m4.
15934         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
15935
15936 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
15937
15938         * lib/obstack.h (obstack_empty_p):
15939         Don't assume that chunk->contents is suitably aligned.
15940         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
15941         Likewise. Problem reported by Benno in
15942         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
15943
15944         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
15945         readable.  This could be improved further but it'd take some work.
15946
15947 2004-08-08  Simon Josefsson  <jas@extundo.com>
15948
15949         * modules/xgethostname (Depends-on): Remove exit and error (not
15950         used).
15951
15952         * modules/getpass-gnu: Add getpass.h.
15953         (Depends-on): Add stdbool.
15954         * modules/getpass: Add getpass.h.
15955
15956 2004-08-08  Simon Josefsson  <jas@extundo.com>
15957
15958         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
15959         Check getpass declaration.
15960
15961 2004-08-08  Simon Josefsson  <jas@extundo.com>
15962
15963         * lib/xgethostname.c: Don't include error.h (not used).
15964
15965         * lib/getpass.h: Add.
15966         * lib/getpass.c: Include getpass.h first.
15967
15968 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
15969
15970         * lib/xalloc-die.c: New file.
15971         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
15972         All uses removed.
15973         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
15974         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
15975         xalloc-die.c.
15976         (_, N_, xalloc_die): Move to xalloc-die.c.
15977         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
15978         so that we needn't mess with xalloc_msg_memory_exhausted.
15979
15980         * lib/sha1.h: Renamed from sha.h.
15981         (SHA1_H): Renamed from _SHA_H.
15982         (sha1_ctx): Renamed from sha_ctx.
15983         (sha1_init_ctx): Renamed from sha_init_ctx.
15984         (sha1_process_block): Renamed from sha_process_block.
15985         (sha1_process_bytes): Renamed from sha_process_bytes.
15986         (sha1_finish_ctx): Renamed from sha_finish_ctx.
15987         (sha1_read_ctx): Renamed from sha_read_ctx.
15988         (sha1_stream): Renamed from sha_stream.
15989         (sha1_buffer): Renamed from sha_buffer.
15990         * lib/sha1.c: Likewise; renamed from sha.c.
15991         Do not include <sys/types.h>.
15992         Include <stddef.h> rather than <stdlib.h>.
15993
15994 2004-08-08  Bruno Haible  <bruno@clisp.org>
15995
15996         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
15997         FILESYSTEM_PREFIX_LEN.
15998         * lib/progreloc.c: Likewise.
15999         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
16000
16001 2004-08-06  Simon Josefsson  <jas@extundo.com>
16002
16003         * modules/progname (Depends-on): Don't depend on stdbool.
16004
16005 2004-08-06  Simon Josefsson  <jas@extundo.com>
16006
16007         * modules/getsubopt: New file.
16008         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16009         getsubopt.
16010
16011 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
16012
16013         More merge from coreutils.
16014
16015         * m4/utimens.m4, m4/utimecmp.m4: New files.
16016         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
16017         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
16018         prereq.m4, sha.m4: Import changes from coreutils.
16019
16020 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
16021
16022         More merge from coreutils.
16023         * modules/raise, modules/readtokens0, modules/utimens:
16024         * modules/utimecmp, module/xnanosleep: New files.
16025         * modules/strftime: Add lib/strftime.h.
16026         Change include from <time.h> to "strftime.h".
16027         * modules/yesno: Add lib/yesno.h.
16028         * modules/backupfile: Remove lib/addext.c.
16029         * modules/euidaccess: Add stat-macros.h.
16030         * modules/canonicalize, modules/euidaccess,
16031         modules/filemode, modules/lchown, modules/makepath,
16032         modules/rmdir, modules/stat: Likewise.
16033
16034 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
16035
16036         Merge from tar.
16037         * lib/argp-help.c (make_hol, hol_append): Don't assume that
16038         SIZE_MAX is a valid preprocessor constant.
16039         (__argp_basename): Change from "#ifndef _LIBC"
16040         to "#ifndef __argp_short_program_name", so that
16041         we don't compile these functions for tar.
16042
16043         More merges from coreutils.
16044         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
16045         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
16046         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
16047         * lib/addext.c: Remove; no longer needed.
16048         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
16049         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
16050         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
16051         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
16052         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
16053         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
16054         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
16055         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
16056         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
16057         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
16058         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
16059         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
16060         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
16061         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
16062         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
16063         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
16064         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
16065         Import changes from coreutils.
16066
16067 2004-08-05  Simon Josefsson  <jas@extundo.com>
16068
16069         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
16070
16071 2004-08-05  Simon Josefsson  <jas@extundo.com>
16072
16073         * m4/getsubopt.m4: New file.
16074
16075 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16076
16077         Merge from coreutils.
16078
16079         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
16080         * m4/getcwd-path-max.m4: New files.
16081
16082         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
16083         FILESYSTEM_PREFIX_LEN ->
16084         FILE_SYSTEM_PREFIX_LEN.
16085         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
16086         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
16087         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
16088         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
16089
16090         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
16091         prerequisite modules now handle the DOS stuff.
16092         Don't check for unistd.h.
16093
16094 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16095
16096         Merge from coreutils.
16097
16098         * lib/.gdb-history: Remove; this doesn't belong here.
16099
16100         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
16101         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
16102         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
16103         * lib/getcwd.c: New files.
16104
16105         * lib/dirname.h: Include <stdbool.h>.
16106         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
16107         for consistency with POSIX terminology.  All uses changed.
16108         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
16109         (strip_trailing_slashes): Use bool for booleans.
16110         * lib/stripslash.c (strip_trailing_slashes): Likewise.
16111
16112         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
16113         sometimes returns a positive errno value even when it succeeds.
16114         (print_errno_message) [!LIBC]: Fall back on strerror if
16115         __strerror_r fails.
16116
16117         * lib/path-concat.c (mempcpy): Don't define if a system header defines
16118         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
16119         (longest_relative_suffix): New function.
16120         (path_concat): Use it.  Assume first argument is not NULL.
16121         Port to DOS.  Omit redundant separators.
16122         Report an error instead of returning NULL.
16123         Use mempcpy instead of memcpy.
16124         (xpath_concat): Remove: not declared or used.
16125
16126         * lib/same.h: Include <stdbool.h>
16127         (same_name): Return bool, not int.
16128         * lib/same.c (same_name): Likewise.
16129         (errno): Don't declare; we assume C89 or better now.
16130
16131         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
16132         if not already defined.
16133
16134         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
16135         * lib/dup-safer.c (errno): Likewise.
16136
16137 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16138
16139         Merge from coreutils.
16140         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
16141         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
16142         * modules/path-concat: Don't depend on strdup.
16143
16144 2004-08-03  Simon Josefsson  <jas@extundo.com>
16145
16146         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
16147         * lib/progname.h: Don't include stdbool.h.
16148
16149 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
16150
16151         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
16152         * MODULES.html.sh (func_all_modules): Remove fatal.
16153
16154 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
16155
16156         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
16157
16158 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
16159
16160         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
16161         working.
16162
16163 2004-08-02  Simon Josefsson  <jas@extundo.com>
16164
16165         * lib/getsubopt.h: New file, with comments from Bruno Haible.
16166         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
16167         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
16168
16169 2004-08-01  Simon Josefsson  <jas@extundo.com>
16170
16171         * lib/xgetdomainname.c: Include stdlib.h, for free().
16172
16173 2004-07-19  Bruno Haible  <bruno@clisp.org>
16174
16175         * MODULES.html.sh (func_all_modules): Add dummy.
16176
16177 2004-07-16  Simon Josefsson  <jas@extundo.com>
16178
16179         * modules/dummy: New file.
16180
16181 2004-07-16  Simon Josefsson  <jas@extundo.com>
16182
16183         * lib/dummy.c: New file.
16184
16185 2004-07-16  Bruno Haible  <bruno@clisp.org>
16186
16187         * lib/backupfile.h: Add extern "C" for C++.
16188         * lib/closeout.h: Likewise.
16189         * lib/copy-file.h: Likewise.
16190         * lib/findprog.h: Likewise.
16191         * lib/full-write.h: Likewise.
16192         * lib/pathname.h: Likewise.
16193         * lib/progname.h: Likewise.
16194         * lib/stpcpy.h: Likewise.
16195         * lib/stpncpy.h: Likewise.
16196         * lib/strcase.h: Likewise.
16197         * lib/strstr.h: Likewise.
16198         * lib/xalloc.h: Likewise.
16199
16200         * lib/mbswidth.h: Add extern "C" for C++.
16201         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
16202
16203 2004-07-13  Robert Millan  <robertmh@gnu.org>
16204
16205         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
16206
16207 2004-07-09  Simon Josefsson  <jas@extundo.com>
16208
16209         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
16210         failed without this.)
16211
16212 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
16213
16214         * modules/chown (Files): Add lib/fchown-stub.c, since
16215         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
16216
16217 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
16218
16219         * lib/fchown-stub.c: New file.
16220
16221 2004-06-24  Jim Meyering  <jim@meyering.net>
16222
16223         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
16224
16225 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16226
16227         * modules/argz: Omit "#include".
16228
16229         * MODULES.html.sh (func_all_modules): Add calloc, to match
16230         2004-06-01 addition of calloc module.
16231
16232 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16233
16234         * m4/argz.m4: New file, which is autoupdated from libtool.
16235
16236 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16237
16238         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
16239         libtool.
16240
16241 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16242
16243         * config/srclist-update: Don't insist on "USA." before the
16244         close-comment, as libtool omits the period and puts the */ on a
16245         separate line.
16246         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
16247         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
16248
16249 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
16250
16251         * modules/argz: New file.
16252         * MODULES.html.sh (func_all_modules): Add argz.
16253
16254 2004-06-12  Jim Meyering  <jim@meyering.net>
16255         and  Paul Eggert  <eggert@cs.ucla.edu>
16256
16257         * modules/hash (Files): Add lib/xalloc.h.
16258         * modules/pipe (Depends-on): Add wait-process.
16259         * modules/stat (Depends-on): Add xalloc.
16260         * modules/userspec (Files): Add lib/userspec.h.
16261         * modules/xstrto
16262
16263         Upgrade from gettext-0.13.
16264         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
16265         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
16266         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
16267
16268 2004-06-10  Jim Meyering  <jim@meyering.net>
16269
16270         * lib/calloc.c: New file.
16271
16272 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
16273
16274         * lib/getdate.y (yylex): Allow space between sign and number.
16275         Problem reported by Dan Jacobson.
16276
16277 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
16278
16279         Merge from coreutils CVS.
16280
16281         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
16282         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
16283         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
16284         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
16285         xstrtol.m4: Fix copyright date and/or serial number.
16286
16287         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
16288         See if we need an fchown replacement.
16289         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
16290         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
16291         and use the replacement function if we detect either defect.
16292
16293         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
16294         gl_UTIMECMP.
16295
16296 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
16297         and  Jim Meyering  <jim@meyering.net>
16298
16299         Merge from coreutils CVS.
16300
16301         * lib/stat-macros.h: New file, with contents from file-type.h
16302         and coreutils' system.h.
16303         * lib/file-type.c: Include "stat-macros.h".
16304         * lib/file-type.h (file_type): Move all macro definitions to new file,
16305         stat-macros.h.
16306
16307         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
16308         Wrap old code with this conditional.
16309         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
16310         function that does not dereference symlinks.
16311         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
16312
16313         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
16314         dependency problems.
16315         (xreadlink): Accept new arg SIZE, for efficiency.
16316         All decls and uses changed.
16317         * lib/xreadlink.h: Include <stddef.h>, for size_t.
16318
16319         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
16320         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
16321
16322         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
16323         sysexits.h.
16324
16325 2004-06-01  Jim Meyering  <jim@meyering.net>
16326
16327         * m4/calloc.m4: New file.
16328
16329 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
16330
16331         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
16332         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
16333         Also, fix a typo in a diagnostic.
16334
16335 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
16336
16337         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
16338         or AC_FUNC_REALLOC.
16339
16340 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
16341
16342         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
16343         macros to be defined.
16344         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
16345         the allocator returns NULL because the requested size is zero.
16346
16347 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16348
16349         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
16350         var.  Add comment explaining why libc still defines it.  This
16351         merges the following patch from glibc:
16352         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
16353
16354 2004-05-20  Andreas Schwab  <schwab@suse.de>
16355
16356         * m4/free.m4: Replace free if it not known to work, not the other
16357         way round.
16358
16359 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16360
16361         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
16362         present in glibc since revision 1.1 of this file.
16363         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
16364         obstack_alignment_mask, obstack_alloc, obstack_base,
16365         obstack_blank, obstack_blank_fast, obstack_chunk_size,
16366         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
16367         obstack_grow0, obstack_init, obstack_int_grow,
16368         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
16369         obstack_next_free, obstack_object_size, obstack_ptr_grow,
16370         obstack_ptr_grow_fast, obstack_room): Remove declarations of
16371         nonexistent functions.
16372
16373 2004-05-18  Karl Berry  <karl@gnu.org>
16374
16375         * config/srclist.txt: break link for vasnprintf.c.
16376
16377 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
16378
16379         Port obstack to the AS/400, where pointers are 16 bytes wide and
16380         you cannot cast an integer to a valid pointer.  This patch is
16381         currently waiting to be integrated into glibc; see
16382         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
16383
16384         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
16385         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
16386         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
16387         (struct obstack): temp member is now a union of a pointer and
16388         an integer, instead of an integer.  All integer uses changed.
16389         This does not affect the physical layout of struct obstack,
16390         except on hosts (like the AS/400) where the size or alignment of
16391         void * is greater than that of ptrdiff_t.
16392         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
16393         __STDC__)]: Store temporary in pointer member of union, not
16394         integer member.
16395         * lib/obstack.c: Include <stddef.h>, for offsetof.
16396         (struct fooalign): Remove; it doesn't need a name.
16397         (union fooround): Change double to long double, and add void *.
16398         (DEFAULT_ALIGNMENT): Use offsetof to compute.
16399         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
16400         not a macro.  Hence the values are always int; so remove all
16401         casts-to-int in uses.
16402
16403 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
16404
16405         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
16406         we can get this patch merged into glibc.
16407
16408 2004-05-17  Derek R. Price  <derek@ximbiot.com>
16409             Paul Eggert  <eggert@cs.ucla.edu>
16410
16411         * m4/argp: Depend on alloca.
16412
16413 2004-05-17  Derek R. Price  <derek@ximbiot.com>
16414             Paul Eggert  <eggert@cs.ucla.edu>
16415
16416         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
16417         freecoding.
16418
16419 2004-05-17  Bruno Haible  <bruno@clisp.org>
16420
16421         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
16422         precision that consists of a '.' followed by an empty digit string.
16423         Patch by Tor Lillqvist <tml@iki.fi>.
16424
16425 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16426
16427         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
16428         for backward compatibility with older code.  We need our own
16429         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
16430         it under some other name, and our alloca.h will define it.
16431
16432 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16433             Derek Price  <derek@ximbiot.com>
16434
16435         * lib/alloca.c: Include <alloca.h>, to get our interface.
16436         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
16437         include <alloca.h> first.  Use C89 prototype for alloca; this
16438         requires including <stddef.h> for size_t.  Use extern "C" if C++.
16439         Use #elif for simplicity, since we can assume C89 now.
16440         Don't try to source the system alloca.h since it will not be found
16441         and to prevent recursively including its replacement.
16442         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
16443         * lib/regex.c: Likewise.
16444
16445 2004-05-16  Derek Price  <derek@ximbiot.com>
16446             Paul Eggert  <eggert@cs.ucla.edu>
16447
16448         getline cleanup.  This changes the getndelim2 API: both order of
16449         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
16450         no delimiter).
16451
16452         * lib/getline.c: Don't include stddef.h or stdio.h, since our
16453         interface does that.
16454         (getline): Always use getdelim, so that we don't have two
16455         copies of this code.
16456         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
16457         if available.
16458         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
16459         (GETNDELIM2_MAXIMUM): New macro.
16460         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
16461         instead of the old practice of delim2==0.  All callers changed.
16462         Return -1 on overflow, instead of returning junk.
16463         Do not set *linesize unless allocation succeeds.
16464         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
16465         that we include sys/types.h.
16466         * lib/getnline.h: Likewise.
16467         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
16468         (getndelim2): Reorder arguments.
16469         * lib/getnline.c (getnline, getndelim):
16470         Don't discard the NMAX argument.
16471         (getnline): Invoke getndelim, to avoid code duplication.
16472         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
16473         of (size_t) -1 by callers of the getnline family.
16474
16475 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16476
16477         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
16478         Check for gettimeofday.
16479         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
16480         Check for settimeofday, stime.
16481
16482 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16483
16484         * lib/nanosleep.c (suspended): Change its type from int to
16485         sig_atomic_t volatile.
16486         (first_call): Make it private to rpl_nanosleep, and have it
16487         be zero initially as that's a bit faster.
16488         (my_usleep): Round up fractional times instead of truncating them,
16489         as this is the usual meaning for 'sleep'.
16490
16491         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
16492         doesn't work.
16493         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
16494         (ENOSYS): Define if not defined.
16495         (settime): Fall back on stime if it exists and settimeofday fails.
16496         But don't bother with fallbacks if a method fails with errno == EPERM.
16497
16498 2004-05-11  Jim Meyering  <jim@meyering.net>
16499
16500         Prior to this change, the save_cwd caller required read access to the
16501         current directory on most systems (ones with the fchdir function).
16502
16503         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
16504         fails, try write-only, and finally, resort to using xgetcwd.
16505
16506 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
16507
16508         * lib/obstack.c, obstack.h: Import changes from libc.
16509
16510 2004-04-28  Bruno Haible  <bruno@clisp.org>
16511
16512         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
16513         also implicitly appends .exe to executables.
16514         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
16515         accepts Windows pathnames.
16516         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
16517         Treat Cygwin like Windows, since it now accepts Windows pathnames.
16518         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
16519         Treat Cygwin like Windows, since it now accepts Windows pathnames.
16520         Reported by Derek Robert Price <derek@ximbiot.com>.
16521
16522 2004-04-21  Karl Berry  <karl@gnu.org>
16523
16524         * config/srclist.txt (localcharset.c): break sync.
16525
16526 2004-04-20  Paul Eggert  <eggert@twinsun.com>
16527
16528         * m4/host-os.m4: Add a copyright notice.
16529
16530 2004-04-20  Jim Meyering  <jim@meyering.net>
16531
16532         Change UTILS_ to gl_ in AC_DEFINE'd names.
16533         Change utils_- and jm_-prefixed variables, too.
16534         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
16535         UTILS_FUNC_MKDIR_TRAILING_SLASH.
16536         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
16537
16538         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
16539         Don't emit trailing blanks.
16540         Also rename jm_-prefixed variables to have gl_ prefix.
16541
16542         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
16543         Also rename jm_-prefixed variables to have gl_ prefix.
16544
16545         * m4/jm-macros.m4: Reflect the renamings.
16546         * m4/prereq.m4: Likewise.
16547
16548 2004-04-20  Jim Meyering  <jim@meyering.net>
16549
16550         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
16551         memory.
16552
16553 2004-04-20  Jim Meyering  <jim@meyering.net>
16554             Bruno Haible  <bruno@clisp.org>
16555
16556         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
16557         memory when realloc fails.
16558
16559 2004-04-19  Jim Meyering  <jim@meyering.net>
16560
16561         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
16562         now that readutmp.c may call `free (0)'.
16563
16564 2004-04-19  Bruno Haible  <bruno@clisp.org>
16565
16566         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
16567         * m4/inttypes_h.m4: Likewise.
16568         * m4/stdint_h.m4: Likewise.
16569         * m4/intmax_t.m4: Likewise.
16570         * m4/uintmax_t.m4: Likewise.
16571
16572 2004-04-18  Jim Meyering  <jim@meyering.net>
16573
16574         * m4/prereq.m4: Don't forbid jm_ prefix.
16575
16576         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
16577         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
16578         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
16579         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
16580         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
16581         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
16582         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
16583         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
16584         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
16585         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
16586         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
16587         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
16588         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
16589         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
16590         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
16591         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
16592         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
16593         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
16594         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
16595
16596 2004-04-18  Jim Meyering  <jim@meyering.net>
16597
16598         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
16599         failure, don't leak memory and do call END_UTMP_ENT.
16600
16601 2004-04-16  Jim Meyering  <jim@meyering.net>
16602
16603         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
16604         coreutils' stat program.
16605         (gl_PREREQ): Don't require jm_PREREQ_STAT.
16606
16607 2004-04-11  Paul Eggert  <eggert@twinsun.com>
16608
16609         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
16610         C89.
16611         (CHAR_BIT): Remove, since we assume C89.
16612         Include <stdint.h> if available, as per current Autoconf CVS advice.
16613
16614 2004-03-31  Jim Meyering  <jim@meyering.net>
16615
16616         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
16617         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
16618         * m4/xalloc.m4: Likewise.
16619
16620 2004-03-30  Paul Eggert  <eggert@twinsun.com>
16621
16622         Merge from coreutils.
16623
16624         * m4/inttostr.m4: New file.
16625         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
16626         Require AM_STDBOOL_H and gl_TIMESPEC instead.
16627         Require gl_CLOCK_TIME.
16628         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
16629
16630 2004-03-30  Paul Eggert  <eggert@twinsun.com>
16631
16632         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
16633         not bool, to be more consistent with Unix conventions.
16634         Suggested by Bruno Haible.
16635
16636         Merge from coreutils.
16637
16638         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
16639         * lib/umaxtostr.c: New files.
16640
16641         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
16642         the usual <time.h> dance.
16643         (get_date): Change signature to support fractional time stamps.
16644         All callers changed.
16645         * lib/getdate.y: Include "getdate.h" first, as we can now
16646         assume C89 and don't need to worry about 'const'.
16647         Similarly, include "unlocked-io.h" near start, not in middle.
16648         Include <limits.h>.
16649         (textint.value): Use long int rather than int.
16650         (textint.digits): Use size_t rather than int.
16651         (BILLION, LOG10_BILLION): New constants.
16652         (parser_control): New member rel_ns.  Members day_ordinal,
16653         time_zone, month, day, hour, minutes, rel_year, rel_month,
16654         rel_day, rel_hour, rel_minutes, rel_seconds
16655         are now long int, not int.  Member seconds is now struct timespec,
16656         not int.  New member timespec_seen.  Members dates_seen, days_seen,
16657         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
16658         not int.
16659         (%union.intval): Now long int, not int.
16660         New member timespec.
16661         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
16662         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
16663         (spec): Now is a timespec or an item list.
16664         (timespec, items): New nonterminals.
16665         (time, rel, relunit, number, get_date):
16666         Add support for fractional seconds.
16667         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
16668         (gmtime, localtime, mktime): Remove decls; not needed with C89.
16669         (to_hour): First arg is now long int, not int.
16670         (to_year): Returns long int, not int.
16671         Don't treat year -70 like 70.
16672         (tm_diff): Returns long int, not int.
16673         (lookup_word): Use bool instead of int when appropriate.
16674         (yylex): Use size_t for count, not int.
16675         Detect overflow when parsing large integer constants.
16676         Add support for fractions.
16677         (get_date): Make pointers 'const' if possible.
16678         Use more-portable code to detect integer overflow.
16679         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
16680         Don't use ctime; it's not reliable if the year has >4 digits.
16681
16682         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
16683         This is for compatibility with BSD.
16684
16685         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
16686         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
16687         From coreutils' system.h.
16688
16689         * lib/userspec.c: Don't include "posixver.h".
16690         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
16691         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
16692         compatible extension.  Simplify code by removing a boolean int
16693         that was always nonzero if a string was nonnull.
16694
16695 2004-03-30  Jim Meyering  <jim@meyering.net>
16696
16697         Merge from coreutils.
16698
16699         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
16700         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
16701         on some systems one must include <grp.h> before it.
16702         Reported by Christian Krackowizer.
16703
16704 2004-03-30  Jim Meyering  <jim@meyering.net>
16705
16706         Merge from coreutils.
16707
16708         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
16709
16710         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
16711         an empty input stream.
16712
16713         * lib/readtokens.c: Include <stdbool.h>.
16714         (readtoken): Use `size_t' rather than int/long.
16715         All callers adjusted.
16716         Use `bool' rather than `int' where appropriate.
16717         Use memset rather than an explicit loop.
16718         Use x2nrealloc rather than xrealloc.
16719         Allow the use of `\0' as a delimiter.
16720         (readtokens): Likewise.
16721         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
16722
16723 2004-03-30  Jim Meyering  <jim@meyering.net>
16724
16725         * m4/realloc.m4: Remove file, since now it does no more than
16726         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
16727         the `configure.ac' section of module/realloc.
16728         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
16729
16730 2004-03-30  Bruno Haible  <bruno@clisp.org>
16731
16732         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
16733         nonnull.
16734
16735 2004-03-29  Paul Eggert  <eggert@twinsun.com>
16736
16737         Merge changes to getloadavg.c from coreutils and Emacs.
16738
16739         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
16740         Define to an expression, not to the empty string.
16741         Include cloexec.h and xalloc.h.
16742         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
16743         Use set_cloexec_flag rather than rolling our own.
16744         * lib/cloexec.c, lib/cloexec.h: New files.
16745
16746 2004-03-29  Paul Eggert  <eggert@twinsun.com>
16747
16748         * m4/cloexec.m4: New file.
16749
16750 2004-03-18  Paul Eggert  <eggert@twinsun.com>
16751
16752         * lib/getopt.h: Sync with libc CVS.
16753
16754 2004-03-18  Paul Eggert  <eggert@twinsun.com>
16755             Bruno Haible  <bruno@clisp.org>
16756
16757         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
16758         mbswidth.
16759
16760 2004-03-18  Paul Eggert  <eggert@twinsun.com>
16761             Bruno Haible  <bruno@clisp.org>
16762
16763         * lib/mbswidth.h: Include <wchar.h> only if
16764         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
16765         <wchar.h>.
16766         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
16767
16768 2004-03-09  Paul Eggert  <eggert@twinsun.com>
16769
16770         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
16771         Sync with libc CVS.
16772         * lib/getopt_int.h: New file, also synced from libc.
16773
16774 2004-03-09  Paul Eggert  <eggert@twinsun.com>
16775
16776         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
16777         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
16778         Bring back getopt.c, getopt.h, getopt1.c.
16779
16780 2004-03-07  Paul Eggert  <eggert@twinsun.com>
16781
16782         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
16783         All uses changed.  Check for sa_sigaction member; this fixes
16784         a bug first reported by Jason Andrade in
16785         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
16786
16787 2004-03-07  Paul Eggert  <eggert@twinsun.com>
16788
16789         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
16790         '#if' expressions.  Unlike the code it replaces, it does not
16791         depend on (defined _SC_PAGESIZE).  However, it does depend on
16792         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
16793         first reported by Jason Andrade in
16794         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
16795
16796 2004-02-25  Simon Josefsson  <jas@extundo.com>
16797
16798         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
16799
16800 2004-02-25  Simon Josefsson  <jas@extundo.com>
16801
16802         * lib/strdup.h: New file.
16803         * lib/strdup.c: Include it.
16804         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
16805         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
16806
16807 2004-02-23  Karl Berry  <karl@gnu.org>
16808
16809         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
16810         (from fencepost.gnu.org:/gd/gnuorg).
16811
16812 2004-02-23  Karl Berry  <karl@gnu.org>
16813
16814         * config/srclistvars.sh (GNUORG) [karl]: redefine.
16815         * config/srclist.txt: add maintain/standards documents.
16816
16817 2004-02-18  Bruno Haible  <bruno@clisp.org>
16818
16819         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
16820         Reported by Derek Robert Price <derek@ximbiot.com>.
16821
16822 2004-02-16  Karl Berry  <karl@gnu.org>
16823
16824         * config/mkinstalldirs, install-sh: update from automake.
16825
16826 2004-02-06  Karl Berry  <karl@gnu.org>
16827
16828         * m4/po.m4: update from gettext 0.14.1.
16829
16830 2004-02-06  Karl Berry  <karl@gnu.org>
16831
16832         * lib/config.charset: update from gettext 0.14.1.
16833
16834 2004-02-05  Paul Eggert  <eggert@twinsun.com>
16835
16836         Add comments and code, prompted by suggestions from Bruno Haible
16837         for sh-quote.
16838         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
16839         describing the enum quoting_style values.
16840         * lib/quotearg.c (quotearg_alloc): New function.
16841         (quotearg_buffer_restyled): Treat lone { and } as special.
16842         Treat = as special.  Work around bug with older shells
16843         that "see" a '\' that is really the 2nd byte of a multibyte char.
16844         Quote empty string with shell_quoting_style.
16845
16846 2004-02-03  Bruno Haible  <bruno@clisp.org>
16847
16848         * m4/pipe.m4: New file, from GNU gettext.
16849
16850 2004-02-03  Bruno Haible  <bruno@clisp.org>
16851
16852         * lib/pipe.h: New file, from GNU gettext.
16853         * lib/pipe.c: New file, from GNU gettext.
16854
16855 2004-01-27  Bruno Haible  <bruno@clisp.org>
16856
16857         * m4/execute.m4: New file, from GNU gettext.
16858
16859 2004-01-27  Bruno Haible  <bruno@clisp.org>
16860
16861         * lib/execute.h: New file, from GNU gettext.
16862         * lib/execute.c: New file, from GNU gettext.
16863         * lib/w32spawn.h: New file, from GNU gettext.
16864
16865 2004-01-24  Paul Eggert  <eggert@twinsun.com>
16866
16867         Merge from diffutils.
16868
16869         * lib/file-type.c (file_type): Add typed memory objects.
16870         * lib/file-type.h (S_TYPEISTMO): New macro.
16871
16872         * lib/c-stack.h (c_stack_action): Remove argv argument.
16873         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
16874         (die): Don't calculate message unless segv_action returns.
16875         (get_stack_location, min_address_from_argv, max_address_from_argv,
16876         volatile stack_base, volatile_stack_size): Remove.
16877         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
16878         that every segmentation violation is a stack overflow.  (Ouch!)
16879         See Debian bug 136249 (still outstanding) for more info about why
16880         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
16881
16882 2004-01-24  Paul Eggert  <eggert@twinsun.com>
16883
16884         Exit-status fix from coreutils.
16885
16886         Use exit_failure consistently in place of EXIT_FAILURE,
16887         so that program exit statuses are consistent on failure.
16888
16889         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
16890         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
16891         * lib/argmatch.h: Comment fix to match the above.
16892         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
16893         Now a macro referring to exit_failure, instead of a separate
16894         variable.  Include "exitfail.h" to get it.
16895         * lib/xstrtol.h: Include "exitfail.h".
16896         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
16897
16898         * lib/long-options.c (parse_long_options): Use prototype
16899         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
16900         for clarity.
16901
16902 2004-01-21  Jim Meyering  <jim@meyering.net>
16903
16904         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
16905         so as not to conflict with a different-sized __mktime_internal
16906         function in GNU libc.
16907         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
16908         Problem building statically-linked `ls' reported by Michael Brunnbauer.
16909
16910 2004-01-20  Karl Berry  <karl@gnu.org>
16911
16912         * config/config.guess: update from config.
16913
16914         * config/srclistvars.sh: GNUWWWLICENSES for karl.
16915
16916 2004-01-20  Bruno Haible  <bruno@clisp.org>
16917
16918         Safer stack allocation.
16919         * lib/setenv.c: Include allocsa.h.
16920         (alloca): Remove fallback definition.
16921         (freea): Remove macro.
16922         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
16923         instead of freea.
16924
16925 2004-01-20  Bruno Haible  <bruno@clisp.org>
16926
16927         * m4/eealloc.m4: New file, from GNU gettext.
16928
16929 2004-01-20  Bruno Haible  <bruno@clisp.org>
16930
16931         * m4/allocsa.m4: New file, from GNU gettext.
16932
16933 2004-01-20  Bruno Haible  <bruno@clisp.org>
16934
16935         * lib/xallocsa.h: New file, from GNU gettext.
16936         * lib/xallocsa.c: New file, from GNU gettext.
16937
16938 2004-01-20  Bruno Haible  <bruno@clisp.org>
16939
16940         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
16941
16942 2004-01-20  Bruno Haible  <bruno@clisp.org>
16943
16944         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
16945         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
16946         specially.
16947
16948 2004-01-20  Bruno Haible  <bruno@clisp.org>
16949
16950         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
16951         patch.
16952
16953 2004-01-20  Bruno Haible  <bruno@clisp.org>
16954
16955         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
16956
16957 2004-01-20  Bruno Haible  <bruno@clisp.org>
16958
16959         * lib/eealloc.h: New file.
16960
16961 2004-01-20  Bruno Haible  <bruno@clisp.org>
16962
16963         * lib/binary-io.h: Avoid warnings on Cygwin.
16964
16965 2004-01-20  Bruno Haible  <bruno@clisp.org>
16966
16967         * lib/allocsa.h: New file, from GNU gettext.
16968         * lib/allocsa.c: New file, from GNU gettext.
16969
16970 2004-01-18  Karl Berry  <karl@gnu.org>
16971
16972         * doc/gpl.texi, doc/lgpl.texi: new files.
16973
16974 2004-01-18  Karl Berry  <karl@gnu.org>
16975
16976         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
16977         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
16978
16979 2004-01-15  Paul Eggert  <eggert@twinsun.com>
16980
16981         Merge from coreutils.
16982
16983         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
16984         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
16985         (gl_DEFAULT_POSIX2_VERSION): Move
16986         the documentation from 'configure' into 'config.hin',
16987         so that 'configure --help' isn't burdened by it and
16988         we don't have to worry about its formatting there.
16989         Reword the documentation so that it's more succinct
16990         and can be run together into a single paragraph.
16991         * m4/same.m4 (gl_SAME): Check for pathconf.
16992
16993 2004-01-15  Paul Eggert  <eggert@twinsun.com>
16994
16995         Merge from coreutils.
16996
16997         * lib/posixver.c: Include posixver.h.
16998
16999         * lib/same.c: Include <stdbool.h>, <limits.h>.
17000         (_POSIX_NAME_MAX): Define if not defined.
17001         (MIN): New macro.
17002         (same_name): If file names are silently truncated, report
17003         that the file names are the same if they are the same after
17004         the silent truncation.
17005
17006         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
17007         conversion function.
17008         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
17009         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
17010         longer needed.
17011
17012 2004-01-15  Jim Meyering  <jim@meyering.net>
17013
17014         Merge from coreutils.
17015
17016         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
17017         if no library is required.
17018         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
17019         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
17020         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
17021         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
17022         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
17023         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
17024         value, $ac_cv_search_crypt, if it's "none required".
17025         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
17026         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
17027         not gl_FUNC_GETLOADAVG.
17028         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
17029         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
17030
17031 2004-01-15  Jim Meyering  <jim@meyering.net>
17032
17033         Merge from coreutils.
17034
17035         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
17036         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
17037         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
17038
17039         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
17040         optional configure-time default.
17041
17042         * lib/version-etc.c (version_etc_copyright): Update copyright date.
17043
17044         * lib/xreadlink.c (xreadlink): Correct outdated comment.
17045
17046 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
17047
17048         Merge from coreutils.
17049
17050         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
17051         value, $ac_cv_search_nanosleep, if it's "none required".
17052
17053 2004-01-14  Paul Eggert  <eggert@twinsun.com>
17054
17055         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
17056         with like-named macro in fnmatch.c.
17057         (EXT): Use an internal constant instead.
17058
17059         Merge fnmatch patches from glibc.
17060         * lib/fnmatch.c (mbsinit): Remove define.
17061         Add libc_hidden_ver (__fnmatch, fnmatch).
17062         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
17063         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
17064
17065 2004-01-14  Karl Berry  <karl@gnu.org>
17066
17067         * config/install-sh: update from automake.
17068
17069 2004-01-13  Karl Berry  <karl@gnu.org>
17070
17071         * config/install-sh: update from automake.
17072
17073 2004-01-09  Karl Berry  <karl@gnu.org>
17074
17075         * config/install-sh: update from automake.
17076
17077 2004-01-05  Karl Berry  <karl@gnu.org>
17078
17079         * config/config.{sub,guess}: update from config.
17080
17081 2003-12-31  Karl Berry  <karl@gnu.org>
17082
17083         * config/depcomp: update from automake.
17084
17085 2003-12-14  Karl Berry  <karl@gnu.org>
17086
17087         * lib/config.charset: update from gettext-runtime.
17088
17089 2003-12-03  Paul Eggert  <eggert@twinsun.com>
17090
17091         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
17092         Bug reported by Alfred M. Szmidt.
17093
17094 2003-12-03  Bruno Haible  <bruno@clisp.org>
17095
17096         * m4/gettext.m4: Upgrade from gettext-0.13.
17097         * m4/po.m4: Upgrade from gettext-0.13.
17098         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
17099         * m4/intmax.m4: New file, from gettext-0.13.
17100         * m4/printf-posix.m4: New file, from gettext-0.13.
17101
17102 2003-11-29  Karl Berry  <karl@gnu.org>
17103
17104         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
17105
17106 2003-11-25  Paul Eggert  <eggert@twinsun.com>
17107             Bruno Haible  <bruno@clisp.org>
17108
17109         * lib/printf-parse.h: Don't include sys/types.h.
17110         (ARG_NONE): New macro.
17111         (char_directive): Change type of *arg_index fields to size_t.
17112         * lib/printf-parse.c: Don't include sys/types.h.
17113         (SSIZE_MAX): Remove macro.
17114         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
17115         Remove unnecessary overflow check.
17116         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
17117         fields.
17118
17119 2003-11-25  Bruno Haible  <bruno@clisp.org>
17120
17121         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
17122
17123 2003-11-25  Bruno Haible  <bruno@clisp.org>
17124
17125         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
17126         gt_TYPE_SSIZE_T.
17127
17128 2003-11-24  Paul Eggert  <eggert@twinsun.com>
17129
17130         * modules/alloca: Remove dependency on xalloc.
17131
17132 2003-11-24  Paul Eggert  <eggert@twinsun.com>
17133
17134         * lib/alloca.c: Remove dependency on xalloc module.
17135         (xalloc_die): Remove.
17136         (memory_full) [!defined emacs]: New macro.
17137         [!defined emacs]: Don't include xalloc.h.
17138         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
17139         address arithmetic overflows.  Change datatypes a bit to avoid
17140         unnecessary casts.
17141
17142 2003-11-22  Jim Meyering  <jim@meyering.net>
17143
17144         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
17145         s/size/size_t/.
17146
17147 2003-11-21  Karl Berry  <karl@gnu.org>
17148
17149         * config/config.{sub,guess}: update from config.
17150
17151 2003-11-18  Karl Berry  <karl@gnu.org>
17152
17153         * config/config.{sub,guess}: update from config.
17154
17155         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
17156
17157 2003-11-17  Paul Eggert  <eggert@twinsun.com>
17158
17159         * README: Mention that S+T cannot overflow if S is the size of
17160         an existing object and T is sufficiently small.
17161
17162 2003-11-17  Jim Meyering  <jim@meyering.net>
17163
17164         On systems without utime and without a utimes function capable of
17165         dealing with a NULL struct utimbuf* argument, this utime replacement
17166         could -- in unusual circumstances -- leak a file descriptor.
17167         * lib/utime.c: Include <unistd.h> and <errno.h>.
17168         (utime_null): Be sure to close `fd' and to preserve errno.
17169         Reported by Geoff Collyer via Arnold Robbins.
17170
17171 2003-11-17  Bruno Haible  <bruno@clisp.org>
17172
17173         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
17174         (Depends-on): Add xsize.
17175
17176 2003-11-17  Bruno Haible  <bruno@clisp.org>
17177
17178         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
17179
17180 2003-11-17  Bruno Haible  <bruno@clisp.org>
17181
17182         * lib/vasnprintf.c (alloca): Remove fallback definition.
17183         (freea): Remove definition.
17184         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
17185         Reported by Paul Eggert.
17186
17187 2003-11-16  Paul Eggert  <eggert@twinsun.com>
17188             Bruno Haible  <bruno@clisp.org>
17189
17190         Protect against address arithmetic overflow.
17191         * lib/printf-args.h: Include stddef.h.
17192         (arguments): Change type of field 'count' to size_t.
17193         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
17194         'unsigned int' where appropriate.
17195         * lib/printf-parse.h: Include sys/types.h.
17196         (char_directive): Change type of *arg_index fields to ssize_t.
17197         (char_directives): Change type of fields 'count', max_*_length to
17198         size_t.
17199         * lib/printf-parse.c: Include sys/types.h and xsize.h.
17200         (SSIZE_MAX): Define fallback value.
17201         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
17202         instead of 'int' where appropriate. Check a_allocated, d_allocated
17203         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
17204         * lib/vasnprintf.c: Include xsize.h.
17205         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
17206         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
17207         overflow. Avoid wraparound when converting a width or precision from
17208         decimal to binary.
17209
17210 2003-11-16  Bruno Haible  <bruno@clisp.org>
17211
17212         Update from GNU gettext.
17213         * lib/printf-parse.c: Generalize to it can be compiled for wide
17214         strings.
17215         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
17216         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
17217         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
17218         SNPRINTF): New macros.
17219         Don't include <alloca.h> if the file is used inside libintl.
17220         (local_wcslen): New function, for Solaris 2.5.1.
17221         (VASNPRINTF): Use it instead of wcslen.
17222
17223 2003-11-16  Bruno Haible  <bruno@clisp.org>
17224
17225         * lib/xsize.h (xmax): New function.
17226         (xsum, xsum3, xsum4): Declare as "pure" functions.
17227
17228 2003-11-12  Paul Eggert  <eggert@twinsun.com>
17229
17230         * modules/xalloc (Files): Undo latest change, since xalloc.h
17231         no longer needs SIZE_MAX or PTRDIFF_MAX.
17232
17233 2003-11-12  Paul Eggert  <eggert@twinsun.com>
17234
17235         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
17236         gl_PTRDIFF_MAX.
17237
17238 2003-11-12  Paul Eggert  <eggert@twinsun.com>
17239
17240         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
17241         "return", to pacify some unknown compiler.  Problem reported
17242         by Joerg Schilling.
17243
17244 2003-11-12  Paul Eggert  <eggert@twinsun.com>
17245
17246         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
17247         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
17248         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
17249         heuristic is just as accurate as far as we know, and it removes a
17250         dependency on size_max.m4 and ptrdiff_max.m4.
17251
17252 2003-11-11  Bruno Haible  <bruno@clisp.org>
17253
17254         * modules/xsize (Files): Add m4/size_max.m4.
17255         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
17256
17257 2003-11-11  Bruno Haible  <bruno@clisp.org>
17258
17259         * m4/size_max.m4: New file.
17260         * m4/ptrdiff_max.m4: New file.
17261         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
17262         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
17263         (gl_XALLOC): Invoke it.
17264
17265 2003-11-11  Bruno Haible  <bruno@clisp.org>
17266
17267         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
17268         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
17269         defined.
17270
17271 2003-11-10  Paul Eggert  <eggert@twinsun.com>
17272
17273         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
17274         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
17275         rejected some allocations of exactly SIZE_MAX - 2 bytes.
17276         From Bruno Haible.
17277         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
17278         not (size_t) -1, since it's defined here.
17279
17280 2003-11-09  Karl Berry  <karl@gnu.org>
17281
17282         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
17283
17284 2003-11-06  Paul Eggert  <eggert@twinsun.com>
17285
17286         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
17287         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
17288         Reject sizes of exactly SIZE_MAX bytes.
17289         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
17290         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
17291
17292 2003-11-05  Bruno Haible  <bruno@clisp.org>
17293
17294         * lib/xsize.h: Include limits.h, to avoid a possible collision with
17295         SIZE_MAX defined in <limits.h> on Solaris.
17296
17297 2003-11-04  Jim Meyering  <jim@meyering.net>
17298
17299         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
17300         variable names, rather than @VAR@.
17301         * modules/poll: Likewise.
17302
17303 2003-11-04  Bruno Haible  <bruno@clisp.org>
17304
17305         * modules/xsize: New file.
17306         * modules/linebreak: Depend on xsize.
17307         * MODULES.html.sh (func_all_modules): Add xsize.
17308
17309 2003-11-04  Bruno Haible  <bruno@clisp.org>
17310
17311         * m4/xsize.m4: New file.
17312
17313 2003-11-04  Bruno Haible  <bruno@clisp.org>
17314
17315         * lib/xsize.h: New file.
17316         * lib/linebreak.c: Include xsize.h.
17317         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
17318         argument for overflow.
17319         Suggested by Paul Eggert.
17320
17321 2003-11-03  Karl Berry  <karl@gnu.org>
17322
17323         * config/config.{guess,sub}: update from config.
17324
17325 2003-11-03  Jim Meyering  <jim@meyering.net>
17326
17327         * modules/userspec (lib_SOURCES): Add userspec.h.
17328         (Include): Add "userspec.h".
17329         Improve description.
17330
17331 2003-11-03  Jim Meyering  <jim@meyering.net>
17332
17333         * lib/userspec.c: Include "userspec.h".
17334         * lib/userspec.h: New file.
17335
17336 2003-11-03  Bruno Haible  <bruno@clisp.org>
17337
17338         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
17339
17340 2003-11-03  Bruno Haible  <bruno@clisp.org>
17341
17342         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
17343         available, to avoid (extremely rare) race condition.
17344         Suggested by Paul Eggert.
17345
17346 2003-11-02  Karl Berry  <karl@gnu.org>
17347
17348         * config/srclist.txt (vasprintf.c): sync broken, sigh.
17349
17350 2003-10-31  Paul Eggert  <eggert@twinsun.com>
17351
17352         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
17353         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
17354         (read_filesystem_list): Set and use me_type_malloced.
17355         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
17356         whatever the type happens to be), for brevity and consistency.
17357         Check for size calculation overflow on Alphas running OSF/1.
17358
17359 2003-10-31  Jim Meyering  <jim@meyering.net>
17360
17361         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
17362
17363         * lib/linebuffer.c: Include <string.h> for declaration of memset.
17364
17365 2003-10-30  Paul Eggert  <eggert@twinsun.com>
17366             Bruno Haible  <bruno@clisp.org>
17367
17368         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
17369         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
17370
17371 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
17372
17373         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
17374         netbsd*-gnu*.  Suggested by Robert Millan.
17375
17376 2003-10-29  Paul Eggert  <eggert@twinsun.com>
17377
17378         * modules/group-member: Depend on stdbool.
17379
17380 2003-10-29  Paul Eggert  <eggert@twinsun.com>
17381
17382         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
17383
17384 2003-10-29  Paul Eggert  <eggert@twinsun.com>
17385
17386         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
17387         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
17388         after the 'gnu' in these cases.  This fixes some bugs in the
17389         previous change, and is based on suggestions by Robert Millan.
17390
17391 2003-10-29  Paul Eggert  <eggert@twinsun.com>
17392
17393         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
17394         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
17395         no longer needed.
17396         * lib/quotearg.c (quotearg_n_options): Use it.
17397         * lib/group-member.c: Include <stdbool.h>.
17398         (free_group_info): Arg is now const *; don't free arg.
17399         (get_group_info): Now returns bool and accepts struct group_info *,
17400         rather than returning a malloc'ed struct group_info *.
17401         All uses changed.  Check for overflow in internal size calculation.
17402
17403         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
17404         rather than xmalloc/xrealloc.
17405         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
17406         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
17407         conformance bug: the old code used a pointer after freeing the
17408         storage that it addressed.
17409         * lib/hash.c (hash_initialize): Simplify the code by using
17410         xalloc_oversized rather than doing it by hand.
17411         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
17412         the buffer preserved.  Use free and xmalloc instead.
17413         * lib/quotearg.c (quotearg_n_options): Likewise.
17414         Use a simpler test for size overflow.  Don't use xalloc_oversized
17415         because unsigned int might be wider than size_t (!); this suggests
17416         that we should switch from unsigned int to size_t for slot numbers.
17417
17418 2003-10-28  Paul Eggert  <eggert@twinsun.com>
17419
17420         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
17421         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
17422         NetBSD kernels.  Requested by Richard Stallman.
17423
17424 2003-10-27  Paul Eggert  <eggert@twinsun.com>
17425
17426         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
17427         to allocate the returned structure.  Do not allocate a subarray,
17428         as x2nrealloc will do that.
17429         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
17430         instead of xnrealloc.
17431         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
17432
17433 2003-10-27  Bruno Haible  <bruno@clisp.org>
17434
17435         * lib/stdbool_.h: Better support for BeOS.
17436
17437 2003-10-26  Paul Eggert  <eggert@twinsun.com>
17438
17439         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
17440         now uses inline.
17441
17442 2003-10-26  Paul Eggert  <eggert@twinsun.com>
17443
17444         * lib/xalloc.h (xalloc_oversized): New static inline function, for
17445         callers that want to do their own size-overflow checking.  Include
17446         <stdbool.h>, since xalloc_oversized returns bool.
17447         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
17448         to use xalloc_oversized.
17449
17450         Add two functions x2realloc, x2nrealloc, for programs that grow
17451         arrays dynamically by doubling their sizes.
17452         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
17453         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
17454         New functions.
17455
17456         Port to C99 semantics for 'inline' of external functions.
17457         Bug reported by Bruno Haible.
17458         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
17459         with the old contents of xnmalloc.
17460         (xnmalloc, xmalloc): Use it.
17461         (xnrealloc_inline): New static inline function,
17462         with the old contents of xnrealloc.
17463         (xnrealloc, xrealloc): Use it.
17464
17465         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
17466         that.
17467
17468 2003-10-26  Karl Berry  <karl@gnu.org>
17469
17470         * config/srclist.txt (COPYING.DOC): no longer available from
17471         /gd/gnuorg; don't know where the ultimate source is.
17472
17473 2003-10-25  Paul Eggert  <eggert@twinsun.com>
17474
17475         Fix several address-calculation bugs in the hash modules,
17476         plus some minor code cleanup.
17477
17478         * lib/hash.h: Include <stdbool.h>, for bool.
17479         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
17480         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
17481         hash_get_n_entries, hash_get_max_bucket_length,
17482         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
17483         hash_rehash): Use size_t rather than unsigned.
17484         * lib/hash.c (struct hash_table, hash_get_n_buckets,
17485         hash_get_n_buckets_used, hash_get_n_entries,
17486         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
17487         hash_get_entries, hash_do_for_each, hash_string, is_prime,
17488         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
17489         Likewise.
17490         (SIZE_MAX): Define if not defined.
17491         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
17492         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
17493         hash_print):
17494         Use const * when possible.
17495         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
17496         (check_tuning): Fix bug: if tuning parameters were very close to
17497         0 or 1, rounding errors could have caused subscript violations.
17498         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
17499         (hash_initialize): Add 'fail:' label
17500         to free table and return NULL, and use it to simplify code.
17501         Use calloc rather than clearing the storage ourself.
17502         (hash_initialize, hash_rehash): Check for arithmetic overflow in
17503         buffer size calculations.
17504         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
17505         Include <stddef.h>, for size_t.
17506         * lib/hash-pjw.c (hash_pjw): Likewise.
17507         Switch to method described by Bruno Haible.
17508         Include <limits.h>, for CHAR_BIT.
17509         (SIZE_BITS): New macro.
17510
17511 2003-10-23  Paul Eggert  <eggert@twinsun.com>
17512
17513         * m4/getline.m4 (AM_FUNC_GETLINE):
17514         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
17515         hosts.  Problem reported by Derek Robert Price in
17516         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
17517         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
17518         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
17519
17520 2003-10-21  Paul Eggert  <eggert@twinsun.com>
17521
17522         * lib/getndelim2.c (getndelim2): When size calculation overflows,
17523         ceiling the allocation at NMAX bytes rather than silently
17524         discarding input bytes before NMAX is reached.  This makes
17525         a difference only if NMAX exceeds SIZE_MAX / 2.
17526
17527         * lib/obstack.c: Merge from glibc.
17528         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
17529         Add libc_hidden_def (_obstack_newchunk).
17530         (_obstack_free) [! defined _LIBC]: Remove.
17531         [defined _LIBC]: Make a strong alias from obstack_free, rather than
17532         a clone of the function body.
17533         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
17534         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
17535
17536         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
17537         glibc.
17538         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
17539         arg to memcpy.
17540
17541         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
17542         (obstack_ptr_grow_fast, obstack_int_grow_fast):
17543         Don't use lvalue casts, as GCC plans to remove support for them
17544         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
17545         was also present in the non-GCC version, indicating that this
17546         code had always been buggy and had never been widely used.
17547         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
17548         Use the fast variant of each macro, rather than copying the
17549         definiens of the fast variant; that way, we'll be more likely to
17550         catch future bugs in the fast variants.
17551
17552 2003-10-20  Bruno Haible  <bruno@clisp.org>
17553
17554         * modules/wait-process: New file.
17555         * MODULES.html.sh (func_all_modules): Add wait-process.
17556
17557 2003-10-20  Bruno Haible  <bruno@clisp.org>
17558
17559         * m4/wait-process.m4: New file.
17560
17561 2003-10-20  Bruno Haible  <bruno@clisp.org>
17562
17563         * lib/wait-process.h: New file, from GNU gettext.
17564         * lib/wait-process.c: New file, from GNU gettext.
17565
17566 2003-10-19  Jim Meyering  <jim@meyering.net>
17567
17568         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
17569         HPUX 10.20.
17570
17571 2003-10-18  Karl Berry  <karl@gnu.org>
17572
17573         * config/config.guess: update from config.
17574
17575 2003-10-16  Paul Eggert  <eggert@twinsun.com>
17576
17577         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
17578         (getgroups): First arg is int, not size_t.
17579         Don't let 'free' mangle errno.
17580
17581 2003-10-16  Paul Eggert  <eggert@twinsun.com>
17582
17583         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
17584
17585 2003-10-16  Karl Berry  <karl@gnu.org>
17586
17587         * config/config.{guess,sub}: update from config.
17588
17589 2003-10-16  Jim Meyering  <jim@meyering.net>
17590
17591         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
17592         memcpy.
17593
17594 2003-10-15  Paul Eggert  <eggert@twinsun.com>
17595
17596         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
17597         (SIZE_MAX): Remove.
17598         (new_exclude, add_exclude_file): Initial size no longer needs to
17599         be a power of 2.
17600         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
17601         our own address arithmetic overflow checking.
17602
17603         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
17604         (fnmatch): Do not alloca more than 2000 wide characters;
17605         instead, use malloc for large buffers.
17606         Check for address arithmetic overflow, and return -1
17607         with errno set to ENOMEM in that case.
17608         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
17609         (NEW_PATTERN): Do not alloca more than 8000 bytes;
17610         instead, return -1.  Check for address arithmetic overflow.
17611
17612 2003-10-14  Paul Eggert  <eggert@twinsun.com>
17613
17614         Handle invalid suffixes and overflow independently, so that
17615         callers can treat them independently as needed.  Fix some bugs in
17616         suffix handling, e.g., "100k@" was not diagnosed as an invalid
17617         suffix for a human-readable blocksize.  The major caller-visible
17618         change is the addition of a new
17619         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
17620         that both overflow and suffix chars were found.
17621
17622         * lib/human.c (humblock): Don't check separately for invalid suffix
17623         char; that is xstrtoumax's job (now that its bug is fixed).
17624         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
17625         INTMAX_MAX]: New macros.
17626         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
17627         TYPE_MAXIMUM): New macros.
17628         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
17629         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
17630         if overflow occurs, as it's what __strtol does and it's more useful
17631         in practice.
17632         (__xstrtol): If __strtol reports some error other than ERANGE,
17633         reflect it to the caller as LONGINT_INVALID.  If it reports
17634         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
17635         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
17636         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
17637         value.
17638         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
17639         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
17640         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
17641         [defined UINTMAX_MAX]: New macros.
17642
17643 2003-10-14  Bruno Haible  <bruno@clisp.org>
17644
17645         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
17646
17647 2003-10-14  Bruno Haible  <bruno@clisp.org>
17648
17649         * m4/sig_atomic_t: New file, from GNU gettext.
17650         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
17651
17652 2003-10-14  Bruno Haible  <bruno@clisp.org>
17653
17654         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
17655         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
17656         Also use volatile where needed.
17657
17658 2003-10-12  Paul Eggert  <eggert@twinsun.com>
17659
17660         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
17661         Change maintainer from Bruno Haible to 'all'.
17662
17663 2003-10-12  Paul Eggert  <eggert@twinsun.com>
17664
17665         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
17666
17667 2003-10-12  Paul Eggert  <eggert@twinsun.com>
17668
17669         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
17670         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
17671         and define in terms of the other primitives.
17672         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
17673         (SIZE_MAX): Define if not already defined.
17674         (array_size_overflow): New function.
17675         (xalloc_die): Abort instead of exiting if 'error' returns.
17676         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
17677         (xmalloc, xrealloc): Use them.
17678         (xcalloc): Check for address arithmetic overflow.
17679         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
17680         a bit faster than strcpy.
17681
17682 2003-10-10  Simon Josefsson  <jas@extundo.com>
17683
17684         * modules/argp (Depends-on): Add restrict and strcase.
17685
17686 2003-10-10  Simon Josefsson  <jas@extundo.com>
17687
17688         * m4/argp.m4: Add AC_C_INLINE.
17689
17690 2003-10-08  Paul Eggert  <eggert@twinsun.com>
17691
17692         Merge getpass from libc, plus a few fixes.
17693
17694         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
17695         Include <stdbool.h>.
17696         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
17697         __fsetlocking to empty.
17698         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
17699         do include <bits/libc-lock.h>.
17700         Do not include <fcntl.h>; not needed.
17701         [_LIBC]: Include <wchar.h>.
17702         (NOTCANCEL_MODE): New macro.
17703         (flockfile, funlockfile) [_LIBC]: New macros.
17704         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
17705         [!_LIBC]: New macros.
17706         (call_fclose): New function.
17707         (getpass): Use it.  Save tty stream separately; this simplifies the
17708         code and makes it more reliable if stdin happens to equal stdout.
17709         Invoke __fsetlocking on tty.
17710         Handle thread cancellation if needed.
17711         Namespace cleanup (use __tcgetattr, __getline).
17712         Use bool for Booleans.
17713         [USE_IN_LIBIO]: Handle wide streams.
17714         [!_LIBC]: Unconditionally do the fseek, since we don't know what
17715         stream might go where.
17716
17717         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
17718         doesn't have to include <stdio.h> before us.
17719         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
17720         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
17721         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
17722         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
17723         if not declared, so that we can use getpass.c code from libc without
17724         rewriting it.
17725         (flockfile, ftrylockfile, funlockfile): New macros.
17726
17727 2003-10-08  Paul Eggert  <eggert@twinsun.com>
17728
17729         * modules/getpass: Depend on stdbool.
17730
17731 2003-10-08  Paul Eggert  <eggert@twinsun.com>
17732
17733         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
17734
17735 2003-10-07  Karl Berry  <karl@gnu.org>
17736
17737         * config/config.{guess,sub}: update from config.
17738
17739 2003-10-06  Jim Meyering  <jim@meyering.net>
17740             Bruno Haible  <bruno@clisp.org>
17741
17742         This lets translators provide better translations for the
17743         "Written by ..." part of --version output.
17744         * lib/version-etc.h: Include stdarg.h.
17745         (version_etc_copyright): Declare as readonly.
17746         (version_etc): Make this function variadic with a NULL-terminated list
17747         of author name strings.
17748         (version_etc_va): New declaration.
17749         * lib/version-etc.c: Include stdarg.h, stdlib.h.
17750         (version_etc_copyright): Declare as readonly.
17751         (version_etc_va): New function. Provide a different translatable string
17752         for each possible number of authors < 10. Abbreviate when there are 10
17753         authors or more.
17754         (version_etc): Make this function variadic. Call version_etc_va.
17755         Suggestion from Gary V. Vaughan.
17756
17757         * lib/long-options.h (parse_long_options): Change prototype: the
17758         authors string is moved to the end and becomes variadic.
17759         * lib/long-options.c: Include stdarg.h.
17760         (parse_long_options): Make this function variadic, too.
17761         Call version_etc_va, not version_etc.
17762
17763 2003-10-06  Bruno Haible  <bruno@clisp.org>
17764
17765         * modules/version-etc-2: Remove file.
17766         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
17767
17768 2003-10-06  Bruno Haible  <bruno@clisp.org>
17769
17770         * modules/fatal-signal: New file.
17771         * MODULES.html.sh (func_all_modules): Add fatal-signal.
17772
17773 2003-10-06  Bruno Haible  <bruno@clisp.org>
17774
17775         * m4/fatal-signal.m4: New file.
17776         * m4/signalblocking.m4: New file, from GNU gettext.
17777
17778 2003-10-06  Bruno Haible  <bruno@clisp.org>
17779
17780         * lib/version-etc-2.h: Remove file.
17781         * lib/version-etc-2.c: Remove file.
17782
17783 2003-10-06  Bruno Haible  <bruno@clisp.org>
17784
17785         * lib/fatal-signal.h: New file, from GNU gettext.
17786         * lib/fatal-signal.c: New file, from GNU gettext.
17787
17788 2003-10-05  Paul Eggert  <eggert@twinsun.com>
17789
17790         * README: Rework advice for preventing empty .o files.
17791         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
17792         not <sys/types.h>.
17793
17794 2003-10-04  Karl Berry  <karl@gnu.org>
17795
17796         * lib/argp*: update from libc.
17797
17798 2003-10-04  Karl Berry  <karl@gnu.org>
17799
17800         * config/config.{guess,sub}: update from config.
17801
17802 2003-10-02  Bruno Haible  <bruno@clisp.org>
17803
17804         * modules/lchown (Include): Add lchown.h.
17805         * modules/time_r (Include): Use "..." syntax.
17806         * modules/xgetdomainname (Include): Add xgetdomainname.h.
17807
17808 2003-10-01  Simon Josefsson  <jas@extundo.com>
17809
17810         * MODULES.html.sh (func_all_modules): Move gethostname from section
17811         'based on' to section 'lacking' POSIX:2001.
17812
17813 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
17814
17815         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
17816         to output mode on the same stream.
17817
17818 2003-09-29  Paul Eggert  <eggert@twinsun.com>
17819
17820         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
17821         Fix arg typo in previous patch.
17822
17823 2003-09-28  Jim Meyering  <jim@meyering.net>
17824
17825         * lib/error.c: Correct cpp indentation.
17826
17827 2003-09-27  Paul Eggert  <eggert@twinsun.com>
17828
17829         * modules/free: New file.
17830
17831 2003-09-27  Paul Eggert  <eggert@twinsun.com>
17832
17833         * m4/free.m4: New file.
17834
17835 2003-09-27  Paul Eggert  <eggert@twinsun.com>
17836
17837         * lib/minmax.h (MIN, MAX)
17838         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
17839         Omit the special code that used __typeof__, since we worry that
17840         it could be more trouble than it's worth.  See:
17841         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
17842         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
17843
17844         * lib/free.c: New file.
17845
17846 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
17847
17848         Trivial fixes to Makefile.am parts of module listings.
17849         * modules/strstr: Append strstr.h to lib_SOURCES.
17850         * modules/strcase: Likewise, for strcase.h.
17851
17852 2003-09-27  Karl Berry  <karl@gnu.org>
17853
17854         * config/mkinstalldirs: update from automake.
17855
17856 2003-09-26  Paul Eggert  <eggert@twinsun.com>
17857
17858         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
17859         (error_tail): Do not loop, reallocating temporary buffer, since
17860         the output cannot contain more wide characters than the input
17861         contains bytes, the size must be big enough already.  This avoids
17862         one potential size overflow calculation.  Check for size overflow
17863         when calculating temporary buffer size.  Free temporary buffer
17864         when done, if it was allocated with malloc; this plugs a memory
17865         leak.  Remove casts from void * to pointers, that are no longer
17866         needed now that we're assuming C89 or better.
17867
17868         Merge error changes from glibc.
17869
17870         * lib/error.c, error.h: Update copyright notice header to match glibc.
17871         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
17872         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
17873         Disable cancellation while printing error.
17874         * lib/error.h: Prepend __ to parameter names.
17875
17876 2003-09-26  Jim Meyering  <jim@meyering.net>
17877
17878         * lib/error.c (error_tail): Move some declarations
17879         into inner scope where the local variables are used.
17880
17881 2003-09-26  Bruno Haible  <bruno@clisp.org>
17882
17883         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
17884         stpncpy().
17885         Don't define stpncpy through config.h; it's now done through stpncpy.h.
17886
17887 2003-09-26  Bruno Haible  <bruno@clisp.org>
17888
17889         * lib/stpncpy.h (gnu_stpncpy): New declaration.
17890         (stpncpy): Define as alias for gnu_stpncpy.
17891         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
17892
17893 2003-09-25  Simon Josefsson  <jas@extundo.com>
17894
17895         * lib/xgetdomainname.h: New file.
17896         * lib/xgetdomainname.c: New file.
17897
17898 2003-09-25  Simon Josefsson  <jas@extundo.com>
17899             Bruno Haible  <bruno@clisp.org>
17900
17901         * modules/getdomainname: New file.
17902         * modules/xgetdomainname: New file.
17903         * MODULES.html.sh (func_all_modules): Add getdomainname,
17904         xgetdomainname.
17905
17906 2003-09-25  Simon Josefsson  <jas@extundo.com>
17907             Bruno Haible  <bruno@clisp.org>
17908
17909         * m4/getdomainname.m4: New file.
17910
17911 2003-09-25  Simon Josefsson  <jas@extundo.com>
17912             Bruno Haible  <bruno@clisp.org>
17913
17914         * lib/getdomainname.h: New file.
17915         * lib/getdomainname.c: New file.
17916
17917 2003-09-25  Karl Berry  <karl@gnu.org>
17918
17919         * lib/argp-fmtstream.c, argp-help.c: update from libc.
17920
17921 2003-09-25  Karl Berry  <karl@gnu.org>
17922
17923         * config/install-sh: update from automake.
17924
17925 2003-09-25  Bruno Haible  <bruno@clisp.org>
17926
17927         * modules/version-etc-2: New file, from modules/version-etc with
17928         modifications.
17929         * MODULES.html.sh (func_all_modules): Add version-etc-2.
17930
17931 2003-09-25  Bruno Haible  <bruno@clisp.org>
17932
17933         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
17934         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
17935
17936 2003-09-24  Simon Josefsson  <jas@extundo.com>
17937
17938         * modules/xgethostname: Add xgethostname.h.
17939
17940 2003-09-24  Paul Eggert  <eggert@twinsun.com>
17941
17942         * lib/linebuffer.c (freebuffer): Don't free the argument, just
17943         the buffer associated with the argument.  Bug reported by
17944         Simon Josefsson.
17945
17946 2003-09-24  Paul Eggert  <eggert@twinsun.com>
17947
17948         * README: Document assumptions that 'int' is at least 32 bits
17949         wide, that integer arithmetic is 2's complement without overflow,
17950         that there are no holes in integer values, that adding sizes of
17951         two nonoverlapping objects can't overflow, and that all-bits-zero
17952         yields scalar zero.  Fix spelling and capitalization typos.
17953
17954 2003-09-19  Karl Berry  <karl@gnu.org>
17955
17956         * lib/argp.h: update from libc.
17957
17958 2003-09-17  Paul Eggert  <eggert@twinsun.com>
17959
17960         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
17961         to avoid spurious warnings like "AC_RUN_IFELSE was called before
17962         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
17963
17964 2003-09-17  Paul Eggert  <eggert@twinsun.com>
17965
17966         * gnulib-tool: Use "test -h", not "test -L", for portability
17967         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
17968         (tags_regexp): Remove, since \| doesn't conform to POSIX.
17969         (sed_extract_prog): Issue s commands one-by-one, rather than
17970         using \| in one s command.
17971
17972 2003-09-16  Paul Eggert  <eggert@twinsun.com>
17973
17974         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
17975         input error, instead of returning NULL the next time we are called
17976         (and therefore losing track of errno).
17977
17978 2003-09-16  Bruno Haible  <bruno@clisp.org>
17979
17980         * gnulib-tool (func_create_testdir): Warn about duplicated
17981         dependencies.
17982
17983 2003-09-15  Paul Eggert  <eggert@twinsun.com>
17984
17985         * modules/argmatch, modules/fatal, modules/obstack,
17986         modules/xalloc, modules/xgethostname: Sort dependencies by
17987         importance, not alphabetically.
17988
17989 2003-09-15  Paul Eggert  <eggert@twinsun.com>
17990
17991         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
17992         fails, so that the caller gets the proper errno.
17993
17994         * lib/readutmp.c (read_utmp): Likewise.
17995         Check for fstat error.  Close stream and free storage
17996         when failing.
17997
17998 2003-09-14  Karl Berry  <karl@gnu.org>
17999
18000         * config/srclist.txt (strdup.c): disable for c89 changes.
18001
18002 2003-09-14  Jim Meyering  <jim@meyering.net>
18003
18004         * lib/getloadavg.c: Correct cpp indentation.
18005         * lib/strdup.c: Likewise.
18006         * lib/vasnprintf.c: Likewise.
18007
18008 2003-09-14  Bruno Haible  <bruno@clisp.org>
18009
18010         * modules/fwriteerror: New file.
18011         * MODULES.html.sh (func_all_modules): Add fwriteerror.
18012
18013 2003-09-14  Bruno Haible  <bruno@clisp.org>
18014
18015         * lib/fwriteerror.h: New file.
18016         * lib/fwriteerror.c: New file.
18017
18018 2003-09-12  Paul Eggert  <eggert@twinsun.com>
18019
18020         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
18021         modules/xgethostname, modules/xalloc: Depend on exit.
18022
18023 2003-09-12  Paul Eggert  <eggert@twinsun.com>
18024
18025         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
18026
18027         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
18028         and AC_MINIX, too, so that their extensions are available.
18029
18030         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
18031         This macro has been superseded by gl_BACKUPFILE.
18032
18033         More patches to assume C89 or better.
18034
18035         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
18036
18037         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
18038         unconditionally.
18039         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
18040         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
18041         Include <string.h>, <stdlib.h> unconditionally.
18042         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
18043         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
18044         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
18045         headers or for string.h.
18046         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
18047         or strtoul.
18048
18049         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
18050         headers.
18051         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
18052         * m4/userspec.m4 (gl_USERSPEC): Likewise.
18053         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
18054         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
18055         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
18056         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
18057         memcpy, memset.
18058         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
18059         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
18060         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
18061         strtol.
18062         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
18063         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
18064         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
18065         strtoul.
18066
18067 2003-09-12  Paul Eggert  <eggert@twinsun.com>
18068
18069         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
18070         * lib/obstack.c [!defined _LIBC]: Likewise.
18071         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
18072         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
18073         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
18074
18075         More changes to assume C89 or better.
18076
18077         * lib/error.c (error_tail): Assume vprintf.
18078
18079         * lib/argmatch.c (getenv): Remove decl.
18080         * lib/progreloc.c (get_full_program_name): Define via prototype.
18081         * lib/setenv.c (clearenv): Likewise.
18082         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
18083         needed.
18084         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
18085         (malloc, memcpy): Remove decls.
18086         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
18087         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
18088         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
18089         (memcpy): Remove macro.
18090         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
18091         (__P): Remove.  All uses removed.
18092         (PTR): Remove.  All uses changed to void *.
18093         (CHAR_BIT, NULL): Remove.
18094         (spaces, zeros, memset_space, memset_zero)
18095         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
18096         Remove.
18097         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
18098         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
18099         Define with prototype.
18100         Remove now-unnecessary prototype decl.
18101         (extra_args_spec): Assume ANSI C.  All uses changed.
18102         (extra_args_spec_iso): Remove.
18103         (my_strftime, emacs_strftimeu): Define via prototype.
18104         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
18105         unconditionally.
18106         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
18107         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
18108         (strtoul, strtol): Remove decls.
18109         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
18110         LONG_MAX): Remove.
18111         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
18112         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
18113         (LOCALE_PARAM_PROTO): New macro.
18114         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
18115         (INTERNAL (strtol), strtol): Define with a prototype.
18116         (PARAMS): Remove.  All uses removed.
18117         * lib/tempname.c: Include <string.h> unconditionally.
18118         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
18119         * lib/xgethostname.c (main): Define with a prototype.
18120         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
18121         Include <stdlib.h> unconditionally.
18122         (calloc, malloc, realloc, free): Remove decls.
18123         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
18124         Include <stdlib.h> unconditionally.  Sort include file names.
18125         (strtod): Remove.
18126         (xstrtod): Define with a prototype.
18127         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
18128         (strtol, strtoul): Remove decls.
18129
18130 2003-09-11  Paul Eggert  <eggert@twinsun.com>
18131
18132         More patches to assume C89 or better.
18133         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
18134         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
18135         string.h, memchr, STDC_HEADERS.
18136
18137 2003-09-11  Paul Eggert  <eggert@twinsun.com>
18138
18139         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
18140         Include <stdlib.h>, <string.h> unconditionally.
18141         Remove now-unnecessary cast to char *.
18142         * lib/strnlen.c: Include <string.h> unconditionally.
18143         * lib/yesno.c (yesno): Define with a prototype.
18144
18145 2003-09-11  Bruno Haible  <bruno@clisp.org>
18146
18147         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
18148
18149 2003-09-10  Jim Meyering  <jim@meyering.net>
18150
18151         * lib/error.c: Correct indentation of cpp directives.
18152
18153 2003-09-10  Bruno Haible  <bruno@clisp.org>
18154
18155         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
18156         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
18157         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
18158         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
18159         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
18160         <stdlib.h> and <string.h> checks.
18161         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
18162         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
18163
18164 2003-09-10  Bruno Haible  <bruno@clisp.org>
18165
18166         * lib/strcspn.c: Include <string.h> unconditionally.
18167         * lib/strpbrk.c: Include <string.h> unconditionally.
18168         * lib/strstr.c: Include <string.h> unconditionally.
18169         * lib/unicodeio.c: Include <string.h> unconditionally.
18170         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
18171         * lib/unsetenv.c: Likewise.
18172         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
18173         * lib/yesno.c: Include <stdlib.h> unconditionally.
18174         (rpmatch): Add prototype.
18175
18176 2003-09-09  Paul Eggert  <eggert@twinsun.com>
18177
18178         More patches to assume C89 or better.
18179         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
18180         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
18181         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
18182         or for string.h.
18183         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
18184         stdlib.h.
18185         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
18186         C headers.
18187         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
18188         string.h.
18189         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
18190         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
18191         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
18192         or for string.h.
18193         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
18194         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
18195         C headers.
18196         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
18197         memcpy.
18198         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
18199         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
18200         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
18201         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
18202         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
18203         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
18204         string.h, free.
18205         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
18206         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
18207         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
18208         C headers, or for string.h.
18209         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
18210         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
18211         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
18212         headers, memory.h, stdlib.h, string.h, strings.h.
18213         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
18214         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
18215         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
18216         strchr.
18217         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
18218         headers, memory.h, string.h.
18219         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
18220         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
18221         free.
18222         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
18223         headers.
18224         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
18225         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
18226         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
18227         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
18228         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
18229
18230 2003-09-09  Paul Eggert  <eggert@twinsun.com>
18231
18232         More K&R removal.
18233
18234         * lib/acosl.c (main): Use a prototype.
18235         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
18236         tanl.c: Likewise.
18237
18238         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
18239
18240         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
18241         (getopt, etopt_long, getopt_long_only, _getopt_internal)
18242         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
18243         with a prototype.
18244         * lib/getopt.c (const): Remove macro.
18245         Include <string.h> unconditionally.
18246         (my_index): Remove; all uses changed to strchr.
18247         (strlen): Remove decl.
18248         (exchange): Remove forward decl; no longer needed.
18249         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
18250         Define with prototype.
18251         * lib/getopt1.c (const): Remove macro.
18252         (getopt_long, getopt_long_only, main): Define with prototype.
18253
18254         * lib/getugroups.c: Include <string.h> unconditionally.
18255
18256         * lib/getusershell.c: Include <stdlib.h> unconditionally.
18257         (getusershell, setusershell, endusershell, readname, main):
18258         Define with prototypes.
18259
18260         * lib/group-member.c: Include group-member.h first.
18261         Include <stdlib.h> unconditionally.
18262
18263         * lib/hard-locale.c: Include hard-locale.h first.
18264         Include <stdlib.h>, <string.h> unconditionally.
18265
18266         * lib/hash.c (free, malloc): Remove decls.
18267         Include <stdlib.h> unconditionally.
18268
18269         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
18270         (getenv): Do not declare.
18271
18272         * lib/idcache.c: Include <string.h> unconditionally.
18273
18274         * lib/long-options.c: Include long-options.h first, to test interface.
18275         Include <stdlib.h> unconditionally.
18276
18277         * lib/makepath.c: Include makepath.h first, to test interface.
18278         Include <stdlib.h> and <string.h> unconditionally.
18279
18280         * lib/linebuffer.c: Include <stdlib.h>.
18281         (free): Remove decl.
18282
18283         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
18284         stddef.h. rpl_malloc returns void *, not char *.
18285         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
18286         prototype.
18287
18288         * lib/md5.h: Include <limits.h> unconditionally.
18289         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
18290         (__P): Remove; all uses removed.
18291         * lib/md5.c: Include "md5.h" first.
18292         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
18293         md5_buffer, md5_process_bytes, md5_process_block):
18294         Define with prototypes.
18295         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
18296         * lib/sha.c: Include "sha.h" first.
18297         Include <stdlib.h>, <string.h> unconditionally.
18298
18299         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
18300         * lib/memcmp.c (__ptr_t): Likewise.
18301         * lib/memrchr.c (__ptr_t): Likewise.
18302         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
18303         Include <string.h> unconditionally.
18304         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
18305         * lib/memchr.c: Include <stdlib.h> unconditionally.
18306         * lib/memchr.c (LONG_MAX): Remove.
18307         * lib/memrchr.c (LONG_MAX): Likewise.
18308         * lib/memchr.c (__memchr): Define via a prototype.
18309         * lib/memrchr.c (__memrchr): Likewise.
18310         * lib/memcmp.c (__P): Remove, and remove all uses.
18311         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
18312         Remove forward decls; no longer needed.
18313         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
18314         Use types required by C89 in prototype.
18315
18316         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
18317         * lib/savedir.c: Likewise.
18318         * lib/mkdir.c (free): Remove decl.
18319         * lib/rmdir.c (rmdir): Define with a prototype.
18320         * lib/savedir.c: Include savedir.h first, to test interface.
18321
18322         * lib/mktime.c (STDC_HEADERS): Remove.
18323         Include <stdlib.h>, <string.h> unconditionally.
18324
18325         * lib/modechange.c: Include <stdlib.h> unconditionally.
18326         (malloc): Remove decl.
18327
18328         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
18329         (free): Remove decl.
18330
18331         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
18332         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
18333         (This type really should be intptr_t, but that's a C99ism.)
18334         (_obstack_memcpy): Remove: all uses changed to memcpy.
18335         Include <string.h> unconditionally.
18336         (struct obstack): Assume __STDC__ for types of members
18337         chunkfun, freefun, extra_arg.
18338         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
18339         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
18340         obstack_begin, obstack_specify_allocation,
18341         obstack_specify_allocation_with_arg, obstack_chunkfun,
18342         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
18343         Remove unprototyped decls and the macros that use them.
18344         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
18345         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
18346         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
18347         (defined __STDC__ && __STDC__)]:
18348         Remove nonprototyped code.
18349         Include <stdlib.h> unconditionally.
18350         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
18351         _obstack_allocated_p, _obstack_free, obstack_free,
18352         _obstack_memory_used, print_and_abort):
18353         Define using prototypes.
18354         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
18355         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
18356         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
18357         obstack_next_free, obstack_object_size, obstack_room) [0]:
18358         Remove unused, unprototyped code.
18359
18360         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
18361
18362         * lib/physmem.c (physmem_total, physmem_available, main): Define
18363         with prototypes.
18364
18365         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
18366         (main): Define with a prototype.
18367
18368         * lib/posixver.c (getenv): Remove decl.
18369
18370         * lib/putenv.c (malloc): Returns void *, not char *.
18371         Include <string.h> unconditionally.
18372         (strchr, memcpy, NULL): Do not define.
18373
18374         * lib/readtokens.c: Include readtokens.h first, to test interface.
18375         Include <stdlib.h>, <string.h> unconditionally.
18376         (init_tokenbuffer): Define with a prototype.
18377
18378         * lib/regex.c (PARAMS): Remove.  All uses removed.
18379         All uses of _RE_ARGS removed, too.
18380         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
18381         unconditionally.
18382         (bzero): Assume memset exists.
18383         (memcmp, memcpy, NULL): Remove.
18384         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
18385         char, or assignments to local vars of type signed char.
18386         (init_syntax_once, PREFIX(extract_number_and_incr),
18387         PREFIX(print_partial_compiled_pattern),
18388         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
18389         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
18390         PREFIX(regex_grow_registers), PREFIX(regex_compile),
18391         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
18392         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
18393         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
18394         wcs_compile_range, byte_compile_range, truncate_wchar,
18395         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
18396         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
18397         count_mbs_length, wcs_re_match_2_internal,
18398         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
18399         PREFIX(alt_match_null_string_p),
18400         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
18401         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
18402         regfree, PREFIX(extract_number)): Define with prototype.  Remove
18403         now-unnecessary declaration, if any.
18404         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
18405         regcomp, regexec):
18406         Remove now-unnecessary casts among pointer types.
18407         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
18408
18409         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
18410         (free): Remove decl.
18411
18412         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
18413
18414         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
18415         (free): Remove decl.
18416
18417         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
18418         * lib/xgetcwd.c: Likewise.
18419
18420         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
18421         (free): Remove decl.
18422
18423         * lib/strchrnul.c (strchrnul): Define with a prototype.
18424         Fix bug: c_in was not converted to char before searching.
18425
18426         The following changes are not K&R related:
18427
18428         * lib/group-member.h: Include <sys/types.h>, so that this file is
18429         self-contained.
18430         * lib/makepath.h: Likewise.
18431
18432         * lib/getusershell.c (readname, default_index, line_size, readname):
18433         Use size_t, not int, for sizes.
18434         (readname): If the size overflows, report an error instead of
18435         looping forever.
18436
18437 2003-09-09  Paul Eggert  <eggert@twinsun.com>
18438
18439         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
18440         libc.
18441
18442 2003-09-09  Paul Eggert  <eggert@twinsun.com>
18443
18444         * README: New section: portability guidelines.
18445
18446 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
18447
18448         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
18449         C89 spec.
18450
18451 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
18452
18453         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
18454
18455 2003-09-08  Paul Eggert  <eggert@twinsun.com>
18456
18457         Assume C89 or better; remove K&R cruft.
18458         A few of these changes were first proposed by Derek Robert Price
18459         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
18460
18461         * lib/addext.c: Include <string.h> unconditionally.
18462         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
18463         Don't declare getenv or malloc.
18464
18465         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
18466         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
18467         (NULL): Remove.
18468         (find_stack_direction, alloca): Use prototypes.
18469
18470         * lib/atexit.c (atexit): Define using a prototype.
18471
18472         * lib/basename.c, dirname.c, stripslash.c:
18473         Include <string.h> unconditionally.
18474
18475         * lib/bcopy.c: Include <stddef.h>.
18476         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
18477
18478         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
18479
18480         * lib/error.h (error, error_at_line, error_print_progname)
18481         [! (defined (__STDC__) && __STDC__)]: Remove decls.
18482         * lib/error.c: Include error.h first, to check interface.
18483         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
18484         (VA_START): Remove; all uses changeed to va_start.
18485         (exit, strerror): Remove decls.
18486         (error_print_progname): Prototype uncondionally.
18487         Don't include <errno.h>; no longer needed.
18488         (private_strerror): Remove.
18489         (error_tail): Always define.
18490         (error, error_at_line): Assume C89 or better; always use prototypes.
18491         * lib/fatal.c: Include "fatal.h" first, to test interface.
18492         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
18493         (VA_START): Remove; all uses changed to va_start.
18494         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
18495         this case.
18496         (exit): Remove decl.
18497         (fatal): Prototype unconditionally.  Assume va_start works.
18498         Abort at end, to pacify gcc.
18499
18500         * lib/euidaccess.c (main): Define with a prototype.
18501
18502         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
18503
18504         * lib/exitfail.c: Include <stdlib.h> unconditionally.
18505
18506         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
18507         prototypes.
18508         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
18509         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
18510         (getenv): Remove decl.
18511         (fnmatch): Define using a prototype.
18512         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
18513         (FCT): Define using a prototype.
18514
18515         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
18516
18517         * lib/gethostname.c: Include <stddef.h>.
18518         (gethostname): Define with prototype.  Length is size_t, not int.
18519
18520 2003-09-08  Paul Eggert  <eggert@twinsun.com>
18521
18522         Assume C89 or better; remove K&R cruft.
18523         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
18524         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
18525         string.h, getenv, malloc.
18526         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
18527         headers.
18528         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
18529         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
18530         do not check for strerror.
18531         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
18532         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
18533         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
18534         do not check for doprnt or vprintf.
18535         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
18536         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
18537
18538 2003-09-08  Paul Eggert  <eggert@twinsun.com>
18539
18540         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
18541         getversion.c should have been removed then, but was accidentally
18542         preserved.
18543
18544         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
18545         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
18546
18547 2003-09-08  Karl Berry  <karl@gnu.org>
18548
18549         * config/config.sub, config.guess, srclistvars.sh: update from savannah
18550                 config, forget about prep.
18551
18552         * config/depcomp, missing: update from automake.
18553
18554 2003-09-07  Paul Eggert  <eggert@twinsun.com>
18555
18556         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
18557         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
18558
18559 2003-09-07  Paul Eggert  <eggert@twinsun.com>
18560
18561         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
18562         copy_tm_result.  Bug reported by Simon Josefsson in
18563         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
18564
18565 2003-09-06  Paul Eggert  <eggert@twinsun.com>
18566
18567         * m4/time_r.m4: New file.
18568         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
18569         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
18570         is. Check for timegm declaration.
18571         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
18572         Do not check for gmtime_r.
18573         Replace mktime if __mktime_internal does not exist and if mktime
18574         hasn't been replaced already.
18575
18576 2003-09-06  Paul Eggert  <eggert@twinsun.com>
18577
18578         * lib/time_r.c, lib/time_r.h: New files.
18579
18580         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
18581         __localtime_r.
18582         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
18583         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
18584
18585         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
18586         __gmtime_r.
18587         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
18588         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
18589         Include <time_r.h>.
18590
18591         * lib/timegm.c: Switch to glibc implementation, with the following
18592         changes:
18593         [defined HAVE_CONFIG_H]: Include <config.h>.
18594         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
18595         (__mktime_internal) [!defined _LIBC]: New decl.
18596         (__gmtime_r) [!defined _LIBC]: New macro and function.
18597         (timegm): Use a prototype, since gnulib assumes C89.
18598         Do not bother declaring tmp to be const, as it's not really usefu.
18599         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
18600         (timegm): Declare only if HAVE_DECL_TIMEGM.
18601
18602 2003-09-06  Paul Eggert  <eggert@twinsun.com>
18603
18604         * MODULES.html.sh (func_all_modules): Add time_r.
18605         * modules/time_r: New file.
18606         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
18607         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
18608
18609 2003-09-03  Paul Eggert  <eggert@twinsun.com>
18610
18611         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
18612         Bug reported by Lute Kamstra in
18613         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
18614
18615         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
18616         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
18617         course with correspondingly smaller numbers for tomorrow and
18618         yesterday.  From Tadayoshi Funaba.  Originally installed into
18619         sh-utils on 1999-08-07, but the patch got lost (I guess during the
18620         coreutils merge?).
18621
18622 2003-08-31  Simon Josefsson  <jas@extundo.com>
18623
18624         * modules/timegm: New file.
18625         * MODULES.html.sh (func_all_modules): Add timegm.
18626
18627 2003-08-31  Simon Josefsson  <jas@extundo.com>
18628
18629         * m4/timegm.m4: New file.
18630
18631 2003-08-31  Simon Josefsson  <jas@extundo.com>
18632
18633         * lib/timegm.h: New file.
18634         * lib/timegm.c: New file.  Based on
18635         wget-1.8.2/src/http.c:mktime_from_utc.
18636
18637 2003-08-31  Karl Berry  <karl@gnu.org>
18638
18639         * lib/argp.h: update from libc.
18640
18641 2003-08-28  Bruno Haible  <bruno@clisp.org>
18642
18643         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
18644         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
18645         followed by '#define fnmatch fnmatch_posix' gives an error.
18646
18647 2003-08-28  Bruno Haible  <bruno@clisp.org>
18648
18649         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
18650         warning on QNX, which defines O_BINARY to 000000.
18651
18652 2003-08-27  Jim Meyering  <jim@meyering.net>
18653
18654         * m4/mkstemp.m4: Require that the system mkstemp be able to create
18655         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
18656         would fail after 32.  Reported by Danny Levinson.  Details here:
18657         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
18658
18659 2003-08-24  Bruno Haible  <bruno@clisp.org>
18660
18661         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
18662         MSVC7 <stdio.h> is included later.
18663
18664 2003-08-22  Simon Josefsson  <jas@extundo.com>
18665
18666         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
18667
18668 2003-08-20  Karl Berry  <karl@gnu.org>
18669
18670         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
18671
18672 2003-08-20  Bruno Haible  <bruno@clisp.org>
18673
18674         * modules/progname: New file.
18675         * MODULES.html.sh (func_all_modules): Add progname.
18676
18677 2003-08-20  Bruno Haible  <bruno@clisp.org>
18678
18679         * lib/progname.h: New file, from GNU gettext.
18680         * lib/progname.c: New file, from GNU gettext.
18681         * lib/progreloc.c: New file, from GNU gettext.
18682
18683 2003-08-19  Jim Meyering  <jim@meyering.net>
18684
18685         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
18686         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
18687
18688 2003-08-19  Bruno Haible  <bruno@clisp.org>
18689
18690         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
18691         more.
18692
18693 2003-08-19  Bruno Haible  <bruno@clisp.org>
18694
18695         * lib/xstrdup.c: Assume <string.h> exists.
18696
18697 2003-08-18  Paul Eggert  <eggert@twinsun.com>
18698
18699         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
18700         in makefile rules.
18701
18702 2003-08-18  Jim Meyering  <jim@meyering.net>
18703
18704         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
18705         * m4/lib-ld.m4: Likewise.
18706
18707 2003-08-18  Jim Meyering  <jim@meyering.net>
18708
18709         * lib/setenv.h: Indent nested cpp directive.
18710         * lib/vasnprintf.c: Remove trailing blanks.
18711
18712 2003-08-17  Simon Josefsson  <jas@extundo.com>
18713
18714         * modules/xstrndup: New file.
18715         * MODULES.html.sh (func_all_modules): Add xstrndup.
18716
18717 2003-08-17  Simon Josefsson  <jas@extundo.com>
18718
18719         * modules/argp: Fix autoconf macro name. Add more dependencies.
18720
18721 2003-08-17  Simon Josefsson  <jas@extundo.com>
18722
18723         * m4/xstrndup.m4: New file.
18724
18725 2003-08-17  Simon Josefsson  <jas@extundo.com>
18726
18727         * m4/argp.m4: New file.
18728
18729 2003-08-17  Simon Josefsson  <jas@extundo.com>
18730             Bruno Haible  <bruno@clisp.org>
18731
18732         * lib/xstrndup.h: New file.
18733         * lib/xstrndup.c: New file.
18734
18735 2003-08-17  Bruno Haible  <bruno@clisp.org>
18736
18737         * modules/strndup (Files, Include): Add lib/strndup.h.
18738
18739 2003-08-17  Bruno Haible  <bruno@clisp.org>
18740
18741         * modules/euidaccess (Files): Add lib/euidaccess.h.
18742
18743 2003-08-17  Bruno Haible  <bruno@clisp.org>
18744
18745         * lib/strndup.h: New file.
18746
18747 2003-08-17  Bruno Haible  <bruno@clisp.org>
18748
18749         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
18750         like AC_GNU_SOURCE.
18751         * modules/extensions (configure.ac): Comment out the invocation of
18752         gl_USE_SYSTEM_EXTENSIONS.
18753
18754 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18755
18756         Merges from coreutils, etc.
18757         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
18758         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
18759         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
18760         fixing a typo.
18761         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
18762         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
18763
18764 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18765
18766         Document merge from coreutils.
18767         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
18768         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
18769         * modules/utime: Add m4/utimes-null.m4.
18770
18771 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18772
18773         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
18774         space, undoing this 2003-08-12 change:
18775         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
18776
18777 2003-08-16  Paul Eggert  <eggert@twinsun.com>
18778
18779         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
18780         strtoul.c from libc, undoing this 2003-08-12 change:
18781         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
18782
18783 2003-08-16  Jim Meyering  <jim@meyering.net>
18784
18785         Merges from coreutils.
18786         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
18787         prefix.  Adjust cache variables similarly.  Create 500 rather than
18788         just 300 files, to exercise bug on Darwin6.5, too.
18789         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
18790         $missing_dir.
18791         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
18792         AM_SYS_POSIX_TERMIOS.
18793         Reported by mkc@mathdogs.com.
18794         Also change use of $am_cv_sys_posix_termios
18795         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
18796         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
18797         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
18798         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
18799         in /proc/mounts until it finds one with matching device number.  This
18800         is unnecessary when the FILE argument *is* a mount point.  No stat call
18801         is necessary in that case.  So, disable the statvfs-testing code on
18802         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
18803         as RedHat bug# 84846.
18804         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
18805         to 1MB, so as not to render systems with no stack size limit (e.g.,
18806         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
18807         Include <unistd.h>.  On some systems,
18808         it is required for the definition of _SC_PAGESIZE.
18809
18810 2003-08-16  Jim Meyering  <jim@meyering.net>
18811
18812         Merge from coreutils.
18813         * lib/xstrtoimax.c: #else #if -> #elif.
18814         * lib/xstrtoumax.c: Likewise.
18815
18816 2003-08-16  Jim Meyering  <jim@meyering.net>
18817
18818         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
18819         * m4/utimes.m4: Removed.
18820         * m4/utimes-null.m4: Renamed from utimes.m4.
18821
18822         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
18823         to 1MB, so as not to render systems with no stack size limit (e.g.,
18824         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
18825         Include <unistd.h>.  On some systems,
18826         it is required for the definition of _SC_PAGESIZE.
18827
18828 2003-08-16  Jim Meyering  <jim@meyering.net>
18829         and Paul Eggert  <eggert@cs.ucla.edu>
18830
18831         Merges from coreutils, etc.
18832
18833         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
18834         using the latest version from cvs.  This avoids problems with #line
18835         directives using a vendor (Sun) compiler.
18836         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
18837         Don't set GETGROUPS_LIB here; now it's
18838         done via getgroups.m4's wrapper function.
18839         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
18840         rather than just in sh-util/configure.in, so that the
18841         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
18842         same.
18843         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
18844         AC_FUNC_GETLOADAVG where to find getloadavg.c.
18845         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
18846         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
18847         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
18848         Remove code that is now done by the newly-required macros.
18849         Append $(EXEEXT) to DF_PROG.
18850         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
18851         Do not invoke or require the following here,
18852         since prereq.m4 or some gnulib .m4 now does this for us:
18853         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
18854         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
18855         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
18856         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
18857         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
18858         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
18859         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
18860         AC_FUNC_OBSTACK.
18861         Do not replace the following functions, as this is now the job
18862         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
18863         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
18864         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
18865         atexit getpass, strdup, getpagesize.
18866         Replace 'raise'.
18867         Do not check for the following functions, as this is now the job
18868         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
18869         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
18870         setregid.
18871         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
18872         Check for sys/sysctl.h.
18873         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
18874         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
18875         of checking for ssize_t ourselves.
18876
18877         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
18878         Require every macro that gnulib/modules/* suggests for us.
18879         (jm_PREREQ_ADDEXT): New macro.
18880         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
18881         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
18882
18883         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
18884         (gl_PHYSMEM): Use it.
18885         Also check for `table' function.
18886         Check for new headers and functions.
18887         Add check for sys/sysmp.h.
18888         With suggestions from Kaveh Ghazi.
18889         Ignore headers that are present but cannot be compiled.  This
18890         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
18891         C 5.4.
18892
18893 2003-08-15  Paul Eggert  <eggert@twinsun.com>
18894
18895         Document merge from coreutils.
18896         * modules/userspec: Depend on posixver.
18897         * modules/strftime: Depend on tzset.
18898
18899 2003-08-15  Paul Eggert  <eggert@twinsun.com>
18900
18901         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
18902         rather than tab, after '#' in shell-script copyright notices.
18903         Suggested by Bruno Haible.
18904
18905 2003-08-15  Paul Eggert  <eggert@twinsun.com>
18906
18907         * config/srclist-update: Use three spaces, rather than tab, after '#'
18908         in shell-script copyright notices.  Suggested by Bruno Haible.
18909         Remove unnecessary parenthesization in regular expression.
18910
18911 2003-08-15  Jim Meyering  <jim@meyering.net>
18912
18913         Merge from coreutils.
18914         * lib/xgethostname.c: Include <stdlib.h>.
18915         (xghostname): Don't exit for anything other than memory-related
18916         failure; just return NULL.
18917         * lib/userspec.c: Include "posixver.h".
18918         (parse_user_spec): Accept `.' as a separator only
18919         in pre-POSIX-200112 mode.
18920         * lib/strtoimax.c: Use #elif rather than #else #if.
18921         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
18922         Remove function, now that we can rely on a working tzset function.
18923         [!_LIBC]: Ensure that the required autoconf test has been run.
18924         [!defined _NL_CURRENT && HAVE_STRFTIME]:
18925         Use underlying_strftime for %r.
18926         * lib/sha.c: Merge in some clean-up and optimization changes from
18927         glibc.
18928         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
18929         Ensure that it is a multiple of 64.
18930         Rearrange loop exit tests so as to avoid performing an
18931         additional fread after encountering an error or EOF.
18932         * lib/realloc.c: Update copyright date.
18933
18934 2003-08-15  Jim Meyering  <jim@meyering.net>
18935         and Paul Eggert  <eggert@twinsun.com>
18936
18937         Merge from coreutils.
18938         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
18939         member but strut utmpx does not.  Needed for AIX 4.3.3.
18940         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
18941
18942 2003-08-15  Jim Meyering  <jim@meyering.net>
18943         and Paul Eggert  <eggert@cs.ucla.edu>
18944
18945         Merges from coreutils, etc.
18946         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
18947         Require gl_FUNC_TZSET_CLOBBER.
18948         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
18949         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
18950         members.
18951
18952 2003-08-14  Paul Eggert  <eggert@twinsun.com>
18953
18954         Help the merge from coreutils.
18955         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
18956         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
18957         * m4/tzset.m4: Use it too.
18958
18959 2003-08-14  Paul Eggert  <eggert@twinsun.com>
18960
18961         * modules/tzset: New file.
18962
18963 2003-08-14  Jim Meyering  <jim@meyering.net>
18964
18965         Merges from coreutils.
18966         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
18967         variable names, rather than @FNMATCH_H@.
18968         * modules/alloca: Likewise for $(ALLOCA_H).
18969
18970         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
18971         the three copies of the literal target, `fnmatch.h'.
18972         * modules/alloca (alloca.h): Likewise.
18973
18974 2003-08-14  Jim Meyering  <jim@meyering.net>
18975
18976         Merge from coreutils.
18977         * m4/tzset.m4: New file.
18978         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
18979         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
18980         otherwise, AIX 5.1 systems would end up using the latter.
18981         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
18982         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
18983         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
18984         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
18985
18986 2003-08-14  Jim Meyering  <jim@meyering.net>
18987
18988         Merge from coreutils.
18989         * lib/obstack.h: Whitespace changes.
18990         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
18991         and xcalloc return values.
18992         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
18993         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
18994         hang on OSF/1 5.1 for DIR on both local and remote file systems.
18995         Reported by (and fix confirmed by) Nelson H. F. Beebe.
18996         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
18997         error from mntctl.
18998         Use mntctl's return value to drive the entry-processing loop, since
18999         we can't rely on the value of the vmt_length member in the last
19000         entry.  On some systems doing so could result in exhausting
19001         virtual memory.  Based in part on a patch from Mike Jetzer.
19002
19003 2003-08-14  Jim Meyering  <jim@meyering.net>
19004         and Paul Eggert  <eggert@twinsun.com>
19005
19006         Merges from coreutils, plus other fixes.
19007         * lib/physmem.c: Merge in portability changes from gcc/libiberty
19008         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
19009         for credits and details.  Thanks to Kaveh Ghazi for helping
19010         to keep these files in sync.
19011         (ARRAY_SIZE): Define it.
19012         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
19013         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
19014         (memcasecmp): Don't assume size_t fits in unsigned int.
19015         Remove casts and duplicate code.
19016         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
19017         (memcpy): Remove definition.
19018         Merge in some clean-up and optimization changes from glibc.
19019         [BLOCKSIZE]: Move definition to top of file.
19020         Ensure that it is a multiple of 64.
19021         Rearrange loop exit tests so as to avoid performing an
19022         additional fread after encountering an error or EOF.
19023         * lib/md5.h (md5_uintptr): Define.
19024         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
19025         return to the initial working directory.  Preserve errno
19026         for caller.
19027         * lib/idcache.c: Include "xalloc.h".
19028         (xmalloc, xrealloc): Remove decls.
19029         (getuser): Remove casts no longer required in C89.
19030         * lib/human.c: Include stdio.h, for sprintf.
19031         * lib/group-member.c: Include "xalloc.h".
19032         (xmalloc, xrealloc): Remove decls.
19033         (get_group_info): Remove casts no longer required in C89.
19034         * lib/getusershell.c (readname): Remove casts no longer required in
19035         C89.
19036         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
19037         * lib/getline.c: Whitespace fix, from coreutils.
19038
19039 2003-08-13  Paul Eggert  <eggert@twinsun.com>
19040
19041         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
19042         Check for isascii.
19043
19044         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
19045         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
19046         Undo previous (whitespace-only) change.
19047
19048 2003-08-13  Paul Eggert  <eggert@twinsun.com>
19049
19050         * lib/exclude.c: Include <ctype.h>
19051         (IN_CTYPE_DOMAIN): New macro.
19052         (is_space): New fn.
19053         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
19054         and empty lines.
19055
19056         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
19057         Undo previous (whitespace-only) change.
19058
19059 2003-08-13  Paul Eggert  <eggert@twinsun.com>
19060
19061         * config/srclist-update: Change update back to the old behavior,
19062         leaving whitespace alone.  Use one 'sed' command rather than a
19063         pipeline.
19064         (fixlicense): Now a variable, not a function.
19065         (remove_trailing_blanks): Remove.
19066         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
19067         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
19068         Undo previous (whitespace-only) change.
19069
19070 2003-08-12  Paul Eggert  <eggert@twinsun.com>
19071
19072         Merge from coreutils.
19073         * modules/euidaccess: Add lib_SOURCES, include for new
19074         file euidaccess.h
19075
19076 2003-08-12  Paul Eggert  <eggert@twinsun.com>
19077
19078         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
19079         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
19080         Normalize leading white space and remove trailing white space.
19081
19082         Merge from coreutils
19083         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
19084
19085         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
19086         0.12.1.  These files are now being upgraded automatically by
19087         ../config/srclist-update.
19088
19089 2003-08-12  Paul Eggert  <eggert@twinsun.com>
19090
19091         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
19092         Normalize leading white space and remove trailing white space.
19093         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
19094         notice, as per ../config/srclist-update.
19095
19096         Merge from coreutils.
19097         * lib/euidaccess.h: New file.
19098         * lib/euidaccess.c: Include it.
19099         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
19100         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
19101         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
19102
19103 2003-08-12  Paul Eggert  <eggert@twinsun.com>
19104
19105         * config/srclist-update: Add copyright notice.
19106         (remove_id_lines, remove_trailing_blanks): New constants.
19107         (fixfile): Use them to normalize spacing a bit in copied files.
19108         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
19109         Normalize leading white space and remove trailing white space.
19110
19111         * config/texinfo.tex: Sync with texinfo.
19112
19113         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
19114         strtoul.c from libc, to merge coreutils whitespace changes.
19115
19116         * config/srclist.txt: Get the following m4 files from gettext:
19117         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
19118         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
19119         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
19120         wint_t.m4.
19121
19122 2003-08-12  Karl Berry  <karl@gnu.org>
19123
19124         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
19125         been made.
19126
19127 2003-08-11  Paul Eggert  <eggert@twinsun.com>
19128
19129         * modules/gnu-source, m4/gnu-source.m4:
19130         Remove; we're assuming Autoconf 2.54 or later now.
19131         Suggested by Bruno Haible.
19132         * MODULES.html.sh (func_all_modules): Remove gnu-source.
19133
19134 2003-08-11  Bruno Haible  <bruno@clisp.org>
19135
19136         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
19137
19138 2003-08-11  Bruno Haible  <bruno@clisp.org>
19139
19140         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
19141         (vasnprintf): Use it instead of wcslen.
19142
19143 2003-08-11  Bruno Haible  <bruno@clisp.org>
19144
19145         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
19146         value to ensure that _Bool promotes to int. Use #define for _Bool when
19147         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
19148
19149 2003-08-10  Karl Berry  <karl@gnu.org>
19150
19151         * lib/regex.h: update from libc (whitespace fix).
19152
19153 2003-08-09  Paul Eggert  <eggert@twinsun.com>
19154
19155         Merge some files from coreutils.  These changes were
19156         originally made by Jim Meyering.
19157         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
19158         many older Unixes require this.
19159         * lib/alloca.c (alloca): Remove cast to argument of free;
19160         no longer needed in C89.
19161         * lib/alloca_.h, regex.h: Fix white space to match
19162         what GNU indent does.
19163
19164 2003-08-09  Paul Eggert  <eggert@twinsun.com>
19165
19166         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
19167         apparently Emacs's Unicode mode got confused before my 2003-08-05
19168         checkin.
19169
19170 2003-08-08  Paul Eggert  <eggert@twinsun.com>
19171
19172         * m4/extensions.m4: New file.
19173         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
19174         Require gl_USE_SYSTEM_EXTENSIONS.
19175         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
19176         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
19177
19178 2003-08-08  Paul Eggert  <eggert@twinsun.com>
19179
19180         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
19181         * modules/extensions, modules/gnu-source: New files.
19182         * modules/timespec, modules/unlocked-io: Depend on extensions.
19183
19184 2003-08-07  Paul Eggert  <eggert@twinsun.com>
19185
19186         * modules/restrict: New file.
19187         * MODULES.html.sh (func_all_modules): Add restrict.
19188         * modules/regex: Depend on restrict.
19189
19190 2003-08-07  Paul Eggert  <eggert@twinsun.com>
19191
19192         * m4/restrict.m4: New file.
19193         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
19194
19195 2003-08-07  Bruno Haible  <bruno@clisp.org>
19196
19197         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
19198         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
19199
19200 2003-08-07  Bruno Haible  <bruno@clisp.org>
19201
19202         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
19203         makes the module 'getndelim2' compatible with the module 'getline'.
19204
19205 2003-08-05  Paul Eggert  <eggert@twinsun.com>
19206
19207         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
19208         byte with "\201" to avoid glitches when editing that source file
19209         with multi-gnome-terminal.
19210
19211 2003-08-05  Paul Eggert  <eggert@twinsun.com>
19212
19213         * lib/bumpalloc.h: Remove.
19214
19215 2003-08-05  Paul Eggert  <eggert@twinsun.com>
19216
19217         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
19218         * modules/bumpalloc: Remove.
19219
19220 2003-08-04  Paul Eggert  <eggert@twinsun.com>
19221
19222         * lib/getloadavg.c: Change copyright notice and spacing to conform to
19223         GNU coding style.
19224
19225         Merge from coreutils.
19226         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
19227         1. From glibc.
19228         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
19229         from Karl Berry, implemented by Jim Meyering.
19230         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
19231         from Dmitry V. Levin.
19232         Remove anachronistic cast of xrealloc.
19233         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
19234         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
19235         type. Otherwise, it wouldn't compile with at least /bin/cc on
19236         ymp-cray-unicos9.0.2.X.
19237         Combine two mostly-identical uses of alloca into one.
19238         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
19239
19240 2003-08-04  Dave Love  <d.love@dl.ac.uk>
19241
19242         [From Emacs.]
19243
19244         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
19245         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
19246         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
19247         obsolete NLIST_NAME_UNION.
19248         [__GNU__]: Undef BSD and FSCALE.
19249         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
19250
19251 2003-08-03  Paul Eggert  <eggert@twinsun.com>
19252
19253         * lib/stdbool_.h (_Bool): Make it signed char, instead of
19254         an enum type, so that it's guaranteed to promote to int.  See:
19255         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
19256
19257 2003-08-03  Karl Berry  <karl@gnu.org>
19258
19259         * config/depcomp: update from automake.
19260
19261 2003-07-31  Paul Eggert  <eggert@twinsun.com>
19262
19263         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
19264         (strerror): Don't assume that a printable int fits in 14 bytes.
19265
19266 2003-07-31  Bruno Haible  <bruno@clisp.org>
19267
19268         * modules/getpass-gnu: New file.
19269         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
19270
19271 2003-07-31  Bruno Haible  <bruno@clisp.org>
19272
19273         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
19274
19275 2003-07-24  Karl Berry  <karl@gnu.org>
19276
19277         * config/missing: update from automake.
19278
19279 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
19280             Bruno Haible  <bruno@clisp.org>
19281
19282         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
19283         * lib/getline.c (getline, getdelim): Likewise.
19284         Remove _GNU_SOURCE define; now it's defined in config.h through
19285         m4/getline.m4.
19286
19287 2003-07-23  Karl Berry  <karl@gnu.org>
19288
19289         * config/config.sub: update from prep.
19290
19291 2003-07-22  Paul Eggert  <eggert@twinsun.com>
19292
19293         * modules/xalloc (Depends-on): Add exitfail.
19294         * modules/xmemcoll: Likewise.
19295
19296 2003-07-22  Paul Eggert  <eggert@twinsun.com>
19297
19298         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
19299         over-parenthesization in macros.
19300
19301         Sync with coreutils.
19302
19303         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
19304         required by C99.
19305
19306         Use `exit_failure' for xalloc and xmemcoll instead of their own
19307         private exit-failure variables.
19308         * lib/xalloc.h (xalloc_exit_failure): Remove.
19309         * lib/xmalloc.c: Likewise.  Include exitfail.h.
19310         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
19311         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
19312         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
19313         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
19314
19315 2003-07-20  Jim Meyering  <jim@meyering.net>
19316
19317         * modules/closeout (Depends-on): Add exitfail.
19318         Suggestion from Bruno Haible.
19319
19320 2003-07-19  Karl Berry  <karl@gnu.org>
19321
19322         * config/config.sub: update from prep.
19323
19324 2003-07-18  Paul Eggert  <eggert@twinsun.com>
19325
19326         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
19327         Remove.
19328         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
19329         to test that it can stand by itself.  Include "exitfail.h".
19330         Clients should set exit_failure instead.
19331         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
19332
19333 2003-07-18  Bruno Haible  <bruno@clisp.org>
19334
19335         * modules/getndelim2: New file.
19336         * modules/getline: Share files with module getndelim2.
19337         * modules/getnline: Depend on getndelim2 instead of sharing files with
19338         it. Add getnline.c to lib_SOURCES.
19339         * MODULES.html.sh (func_all_modules): Add getndelim2.
19340
19341 2003-07-18  Bruno Haible  <bruno@clisp.org>
19342
19343         * m4/getndelim2.m4: New file.
19344         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
19345         invoke gl_PREREQ_GETNDELIM2.
19346         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
19347         gl_PREREQ_GETNDELIM2.
19348         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
19349         gl_GETNDELIM2.
19350
19351 2003-07-18  Bruno Haible  <bruno@clisp.org>
19352
19353         * lib/getndelim2.h: New file.
19354         * lib/getndelim2.c: Make into a module of its own. Include config.h,
19355         getndelim2.h.
19356         (getndelim2): Make non-static. Change return type to ssize_t.
19357         * lib/getline.h: Change argument names.
19358         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
19359         * lib/getnline.c: Include getndelim2.h.
19360
19361 2003-07-18  Andreas Schwab  <schwab@suse.de>
19362
19363         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
19364
19365 2003-07-17  Karl Berry  <karl@gnu.org>
19366
19367         * config/config.sub: update from prep.
19368
19369 2003-07-17  Bruno Haible  <bruno@clisp.org>
19370
19371         * modules/getnline: New file.
19372         * modules/getline: Add lib/getndelim2.c to source file list.
19373         * MODULES.html.sh (func_all_modules): Add getnline.
19374
19375 2003-07-17  Bruno Haible  <bruno@clisp.org>
19376
19377         * m4/getnline.m4: New file.
19378
19379 2003-07-17  Bruno Haible  <bruno@clisp.org>
19380
19381         * m4/Makefile.am.in: Remove file.
19382         * m4/Makefile.am: Remove file.
19383         * m4/Makefile.in: Remove file.
19384
19385 2003-07-17  Bruno Haible  <bruno@clisp.org>
19386
19387         * lib/getnline.h: New file.
19388         * lib/getnline.c: New file.
19389         * lib/getndelim2.c: New file, extracted from getline.c.
19390         (getndelim2): Renamed from getdelim2, with added nmax argument.
19391         * lib/getline.c: Include getndelim2.c.
19392         (getdelim2): Moved out to getndelim2.c.
19393         (getline, getdelim): Update.
19394
19395 2003-07-17  Bruno Haible  <bruno@clisp.org>
19396
19397         * lib/Makefile.am: Remove file.
19398         * lib/Makefile.in: Remove file.
19399
19400 2003-07-17  Bruno Haible  <bruno@clisp.org>
19401
19402         * configure.in: Remove file.
19403         * Makefile.in: Remove file.
19404
19405 2003-07-17  Bruno Haible  <bruno@clisp.org>
19406
19407         * MODULES.html.sh: Put the </BODY> right before </HTML>.
19408
19409 2003-07-16  Karl Berry  <karl@gnu.org>
19410
19411         * config/srclist-update: was running fixlicense twice, which caused
19412                 texinfo.tex to be nullified for some reason.  Simplify,
19413                 $gplsrc is no longer needed as far as I can see?
19414
19415 2003-07-16  Jim Meyering  <jim@meyering.net>
19416
19417         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
19418
19419 2003-07-15  Paul Eggert  <eggert@twinsun.com>
19420
19421         * config/srclist.txt: Get the following files from gettext-runtime/intl
19422         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
19423         ref-del.sin.  From Bruno Haible.
19424         * config/srclist-update (fixfile): Change grep pattern again, since the
19425         previous fix didn't work (there was another trailing $).  Use
19426         '[$]' to escape the $s.
19427
19428 2003-07-15  Karl Berry  <karl@gnu.org>
19429
19430         * lib/vasnprintf.c: update from gettext.
19431
19432 2003-07-15  Karl Berry  <karl@gnu.org>
19433
19434         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
19435         gets expanded when surrounded by '$'.
19436
19437 2003-07-15  Jim Meyering  <jim@meyering.net>
19438
19439         * modules/save-cwd: Don't depend on error.  From Derek Price.
19440
19441 2003-07-15  Jim Meyering  <jim@meyering.net>
19442
19443         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
19444
19445 2003-07-14  Simon Josefsson  <jas@extundo.com>
19446
19447         * modules/mempcpy: New file.
19448         * MODULES.html.sh (func_all_modules): Add mempcpy.
19449
19450 2003-07-14  Simon Josefsson  <jas@extundo.com>
19451
19452         * m4/mempcpy.m4: New file.
19453
19454 2003-07-14  Simon Josefsson  <jas@extundo.com>
19455
19456         * lib/mempcpy.h: New file.
19457         * lib/mempcpy.c: New file.
19458
19459 2003-07-14  Paul Eggert  <eggert@twinsun.com>
19460
19461         * modules/getdate, modules/posixtm: Depend on mktime.
19462
19463 2003-07-14  Paul Eggert  <eggert@twinsun.com>
19464
19465         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
19466         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
19467         unicodeio.c, unicodeio.h, unlocked-io.h:
19468         Switch from LGPL to GPL.
19469
19470 2003-07-14  Paul Eggert  <eggert@twinsun.com>
19471
19472         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
19473         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
19474         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
19475         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
19476         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
19477         updated automatically by ../config/srclist-update.  This changes
19478         their license from LPGL to GPL.
19479
19480 2003-07-14  Paul Eggert  <eggert@twinsun.com>
19481
19482         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
19483         assumed to refer to the root of the most recent stable gettext version.
19484         * config/srclistvars.sh: Add defaults for eggert.
19485         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
19486         Match "This program" as well as "The program".  This is needed
19487         for gettext.
19488
19489 2003-07-14  Jim Meyering  <jim@meyering.net>
19490
19491         Don't emit diagnostics.  Let callers do that.
19492         * lib/save-cwd.c: Don't include "error.h".
19493         (save_cwd): Don't call error.  Ensure that errno is valid
19494         when returning nonzero.
19495
19496         * lib/save-cwd.h (restore_cwd): Update prototype.
19497         * lib/save-cwd.c (restore_cwd): Remove two parameters.
19498         Simplify.  Don't call error upon failure.  Let callers do that.
19499         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
19500         when auditing is enabled.  But don't bother updating the #if.
19501
19502 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
19503
19504         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
19505         it breaks C++ compilation.
19506         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
19507
19508 2003-07-10  Simon Josefsson  <jas@extundo.com>
19509
19510         * modules/strchrnul (Makefile.am): Add strchrnul.h.
19511
19512 2003-07-10  Jim Meyering  <jim@meyering.net>
19513
19514         * m4/clock_time.m4: Remove trailing blank.
19515         * m4/intmax_t.m4: Likewise.
19516
19517 2003-07-10  Jim Meyering  <jim@meyering.net>
19518
19519         * lib/vasnprintf.c: Remove trailing blanks.
19520         Make cpp indentation consistent.
19521
19522 2003-07-09  Paul Eggert  <eggert@twinsun.com>
19523
19524         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
19525         posixver.c, strftime.c, strnlen.c, strverscmp.c:
19526         Switch from LGPL to GPL.
19527
19528 2003-07-09  Paul Eggert  <eggert@twinsun.com>
19529
19530         * config/srclist.txt: Sort sublists.  Add
19531         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
19532         that differ from gnulib for one reason or another; we'd like this list
19533         to be smaller but for now let's document what we have.
19534
19535 2003-07-08  Paul Eggert  <eggert@twinsun.com>
19536
19537         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
19538         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
19539         and sweeter "eval x=$x".
19540         * config/srclist.txt: Get lib/argp* from glibc.
19541
19542 2003-07-07  Paul Eggert  <eggert@twinsun.com>
19543
19544         * lib/mktime.c: Fix some boundary cases and remove need for floating
19545         point.
19546
19547         Issue a compile-time diagnostic if time_t is floating point, or if
19548         two's complement arithmetic is not in effect, or if arithmetic
19549         right shift does not propagate the sign.  These assumptions were
19550         all in the original code but they weren't checked.
19551
19552         (TIME_T_MIDPOINT, verify): New macros.
19553         (__isleap): Remove; it has integer overflow problems.
19554         (leapyear): New function, without those problems.
19555         (ydhms_tm_diff): Remove; splitting into two parts.
19556         (ydhms_diff): New function, containing the arithmetic part of
19557         the old ydhms_tm_diff function.  Issue a compile-time
19558         diagnostic if we are not using C99 integer division.
19559         Avoid casts when possible.
19560         (guess_time_tm): New function, containing the checking part of
19561         the old ydhms_tm_diff function.  Return the new value, rather than
19562         the difference between it and the old.  Accept a new argument T
19563         so that *T specifies the old value.  Check for overflow in the result.
19564
19565         (__mktime_internal): Use a time_t offset, not a long int offset.
19566         This undoes the 2003-06-04 change, which is no longer needed now
19567         that we have better overflow checking.
19568         (localtime_offset): Likewise.
19569
19570         (__mktime_internal): Avoid harmful overflow on hosts where time_t
19571         and long are 64-bit but int is only 32-bit.
19572         (ydhms_diff): Use long int to store year1 and yday1.
19573         Issue a compile-time diagnostic if long int is not wide enough.
19574
19575         (__mktime_internal): Use long int to store adjusted year and yday.
19576         Use plain C rather than preprocessor commands, if that doesn't
19577         affect efficiency.
19578         Check for overflow (and try to repair) after each probe
19579         rather than checking only at the very end.  This avoids some bugs
19580         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
19581         does not equal GMT offset at maximum time).
19582         Use integer to check for overflow rather than floating point; this
19583         is more portable to non-IEEE hosts, and is a tad faster.
19584         When we detect that we are oscillating between two values,
19585         don't check whether tm_isdst has the requested value, since
19586         we already know the answer.  When tm_isdst has the wrong value,
19587         use a different heuristic to find the right one, based on the
19588         extreme values actually observed in practice in tz2003a,
19589         rather than the (overly optimistic) "previous 3 calendar quarters".
19590
19591         (not_equal_tm, print_tm, check_result): Use "const T" rather than
19592         "T const" to accommodate glibc style.
19593         (check_result): Use less-confusing report format.  "long" -> "long int.
19594         (main): Likewise.
19595         Don't loop if the iteration overflows time_t.
19596         Allow a negative step in the iteration.
19597
19598 2003-07-06  Karl Berry  <karl@gnu.org>
19599
19600         * config/depcomp: update from automake.
19601         * config/config.sub: update from prep.
19602
19603 2003-07-03  Karl Berry  <karl@gnu.org>
19604
19605         * config/config.guess: update from prep.
19606
19607 2003-07-01  Paul Eggert  <eggert@twinsun.com>
19608
19609         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
19610         xreadlink.c now includes it unconditionally.
19611
19612 2003-07-01  Paul Eggert  <eggert@twinsun.com>
19613
19614         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
19615         having it depend on HAVE_SYS_TYPES_H.
19616
19617 2003-07-01  Bruno Haible  <bruno@clisp.org>
19618
19619         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
19620         <sys/types.h> should be sufficient.
19621         Reported by Paul Eggert.
19622
19623 2003-06-26  Karl Berry  <karl@gnu.org>
19624
19625         * config/depcomp: update from automake.
19626
19627 2003-06-26  Bruno Haible  <bruno@clisp.org>
19628
19629         * modules/human: Depend on module stdbool.
19630
19631 2003-06-25  Bruno Haible  <bruno@clisp.org>
19632
19633         * modules/readlink: New file.
19634         * modules/xreadlink: Depend on it.
19635         * MODULES.html.sh (func_all_modules): Add readlink.
19636
19637 2003-06-25  Bruno Haible  <bruno@clisp.org>
19638
19639         * m4/readlink.m4: New file.
19640
19641 2003-06-25  Bruno Haible  <bruno@clisp.org>
19642
19643         * lib/readlink.c: New file.
19644
19645 2003-06-22  Karl Berry  <karl@gnu.org>
19646
19647         * config/srclist.txt: update mkinstalldirs from automake.
19648         * config/mkinstalldirs: update.
19649
19650 2003-06-22  Bruno Haible  <bruno@clisp.org>
19651
19652         Portability to mingw32.
19653         * m4/ssize_t.m4: New file, from GNU gettext.
19654         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
19655         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
19656
19657 2003-06-22  Bruno Haible  <bruno@clisp.org>
19658
19659         * modules/safe-read: Add m4/ssize_t.m4.
19660         * modules/xreadlink: Add m4/ssize_t.m4.
19661
19662 2003-06-20  Bruno Haible  <bruno@clisp.org>
19663
19664         Assume C89, so PARAMS isn't needed.
19665         * lib/unicodeio.h (PARAMS): Remove.
19666         * lib/unicodeio.c: Don't use PARAMS.
19667
19668 2003-06-18  Karl Berry  <karl@gnu.org>
19669
19670         * config/config.{guess,sub}: update from prep.
19671
19672 2003-06-18  Jim Meyering  <jim@meyering.net>
19673
19674         Merge changes from coreutils.
19675         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
19676         Remove explicit declarations of xmalloc and realloc.
19677         Include xalloc.h.
19678         (read_utmp): Remove anachronistic cast of xmalloc.
19679
19680 2003-06-17  Paul Eggert  <eggert@twinsun.com>
19681
19682         Assume C89, so PARAMS isn't needed.
19683         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
19684         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
19685         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
19686         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
19687         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
19688         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
19689         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
19690         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
19691         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
19692         lib/xstrtod.h, lib/xstrtol.h: Likewise.
19693         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
19694         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
19695         no longer needed. Anyway, config.h should always be included before any
19696         other file.
19697
19698 2003-06-11  Simon Josefsson  <jas@extundo.com>
19699
19700         * modules/sysexits: New file.
19701         * MODULES.html.sh (func_all_modules): Add sysexits.
19702
19703 2003-06-11  Simon Josefsson  <jas@extundo.com>
19704
19705         * lib/sysexit_.h: New file.
19706
19707 2003-06-11  Derek Price  <derek@ximbiot.com>
19708
19709         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
19710         necessary.
19711
19712 2003-06-11  Bruno Haible  <bruno@clisp.org>
19713
19714         * m4/sysexits.m4: New file.
19715
19716 2003-06-10  Simon Josefsson  <jas@extundo.com>
19717
19718         * lib/argp.h: New file, from glibc.
19719         * lib/argp-ba.c: New file, from glibc.
19720         * lib/argp-eexst.c: New file, from glibc.
19721         * lib/argp-fmtstream.c: New file, from glibc.
19722         * lib/argp-fmtstream.h: New file, from glibc.
19723         * lib/argp-fs-xinl.c: New file, from glibc.
19724         * lib/argp-help.c: New file, from glibc.
19725         * lib/argp-namefrob.h: New file, from glibc.
19726         * lib/argp-parse.c: New file, from glibc.
19727         * lib/argp-pv.c: New file, from glibc.
19728         * lib/argp-pvh.c: New file, from glibc.
19729         * lib/argp-xinl.c: New file, from glibc.
19730
19731 2003-06-10  Simon Josefsson  <jas@extundo.com>
19732
19733         * modules/strchrnul: New file.
19734
19735 2003-06-10  Simon Josefsson  <jas@extundo.com>
19736
19737         * modules/argp: New file.
19738
19739 2003-06-10  Simon Josefsson  <jas@extundo.com>
19740
19741         * m4/strchrnul.m4: New file.
19742
19743 2003-06-10  Simon Josefsson  <jas@extundo.com>
19744
19745         * lib/strchrnul.h: New file.
19746         * lib/strchrnul.c: New file.
19747
19748 2003-06-10  Bruno Haible  <bruno@clisp.org>
19749
19750         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
19751
19752 2003-06-07  Karl Berry  <karl@gnu.org>
19753
19754         * config/config.{guess,sub}: update from prep.
19755
19756 2003-06-07  Jim Meyering  <jim@meyering.net>
19757
19758         * modules/strtod: Use $(...) notation, not @...@ for
19759         AC_REPLACE'd variables.
19760         * modules/localcharset: Likewise.
19761
19762 2003-06-07  Jim Meyering  <jim@meyering.net>
19763
19764         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
19765         in place of my name in the copyright comment.
19766         Remove definition and uses of __P.
19767
19768         From coreutils.
19769         * lib/stat.c: Don't declare xmalloc explicitly.
19770         Instead, include "xalloc.h".
19771         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
19772         xrealloc, and xcalloc return values.
19773         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
19774         Improve comment.
19775         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
19776
19777 2003-06-07  Bruno Haible  <bruno@clisp.org>
19778
19779         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
19780         avoid AC_CONFIG_LINKS.
19781         * modules/fnmatch (Makefile.am): Use explicit creation rule for
19782         fnmatch.h, to avoid AC_CONFIG_LINKS.
19783         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
19784
19785 2003-06-07  Bruno Haible  <bruno@clisp.org>
19786
19787         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
19788         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
19789         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
19790         directory.
19791         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
19792         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
19793         directory.
19794
19795 2003-06-06  Jim Meyering  <jim@meyering.net>
19796
19797         Merge from coreutils.
19798         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
19799         Consolidate declarations and initializations of *_base* locals.
19800
19801         Merge from coreutils.
19802         This avoids a core dump on systems without GNU putenv,
19803         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
19804         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
19805         (unsetenv): New static function, from GNU libc.
19806         (rpl_putenv): Use it.
19807
19808         * lib/modechange.c: Remove trailing blanks.
19809
19810         Merge from coreutils.
19811         * lib/fsusage.c: Remove declaration of statfs.
19812         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
19813
19814         * lib/posixtm.c: Include <stdbool.h> unconditionally.
19815
19816 2003-06-06  Jim Meyering  <jim@meyering.net>
19817
19818         * lib/stdbool_.h: Renamed from stdbool.h.in.
19819
19820 2003-06-06  Jim Meyering  <jim@meyering.net>
19821             Bruno Haible  <bruno@clisp.org>
19822
19823         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
19824         Adjust Makefile.am snippet not to redirect directly to target.
19825         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
19826
19827 2003-06-05  Paul Eggert  <eggert@twinsun.com>
19828
19829         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
19830         mismatch, look in future quarters as well as past.  This fixes a
19831         bug when processing fall-backwards gaps immediately after a long
19832         period of daylight-saving time.
19833
19834         * lib/mktime.c: Assume freestanding C89 or better.
19835         (HAVE_LIMITS_H): Remove.  Assume it's 1.
19836         (__P): Remove; not used.
19837         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
19838         (mktime, not_equal_tm, print_tm, check_result,
19839         main): Use prototypes.  Use const * where appropriate.
19840         (main): Fix typo in testing code that uncovered by above changes.
19841         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
19842
19843 2003-06-04  Paul Eggert  <eggert@twinsun.com>
19844
19845         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
19846         locale.h, localeconv.  This merges changes from coreutils.
19847
19848         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
19849         It can be removed after the next Autoconf is released.
19850         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
19851         needed.
19852
19853 2003-06-04  Paul Eggert  <eggert@twinsun.com>
19854
19855         * lib/mktime.c: Fix Debian bug 177940
19856         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
19857         (localtime_offset): Now long int, not time_t, because we want it
19858         to be guaranteed to be signed.  All uses changed.
19859         (__mktime_internal): If overflow would occur when adding offset,
19860         don't add it.
19861
19862         Merge 'human' changes from coreutils.  Rewrite to support
19863         locale-specific notations like thousands separators.
19864         * lib/human.c: Simplify authorship notice.
19865         Include human.h immediately after config.h.
19866         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
19867         <limits.h>: Do not include, since human.h does.
19868         (SIZE_MAX, UINTMAX_MAX): New macros.
19869         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
19870         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
19871         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
19872         (power_letter): Renamed from suffixes.
19873         (generate_suffix_backwards): Remove.
19874         (adjust_value): Now takes int style (because of human.h changes)
19875         and long double value (for greater precision on some platforms).
19876         (group_number): New function.
19877         (human_readable): Use it.  Use integer options, not enum.
19878         Put the options before the sizes in the arg list.
19879         Support all the new options.
19880         The old human_readable function has been removed;
19881         use inttostr.h instead.
19882         (human_readable, default_block_size, humblock):
19883         Use uintmax_t, not int, for block sizes.
19884         (human_readable_inexact, block_size_types): Remove.
19885         (block_size_opts): New constant.
19886         (human_options): Renamed from human_block_size, with new signature
19887         that allows block sizes up to UINTMAX_MAX.  All callers changed.
19888         * lib/human.h: Add copyright and authorship notice.
19889         Include <limits.h> and <stdbool.h> unconditionally.
19890         (PARAMS): Remove.  All uses removed.
19891         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
19892         (enum human_inexact_style): Remove tag; now a nameless enum.
19893         (human_floor, human_ceiling, human_round_to_even): Now have
19894         values 2, 0, 1 rather than -1, 1, 0.
19895         (human_group_digits, human_suppress_point_zero, human_autoscale,
19896         human_base_1024, human_SI, human_B): New constants.
19897         (human_readable_inexact, human_block_size): Remove.
19898         (human_readable): Size args are now uintmax_t, not int.
19899         (human_options): New decl.
19900
19901         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
19902         unnecessary now that we assume C89 or better.  This change
19903         imported from coreutils.
19904
19905         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
19906         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
19907         in the 2003-05-30 sync from glibc.
19908
19909         .h files should stand alone, but we shouldn't include <sys/types.h>
19910         if we can get away with just <stddef.h>.
19911
19912         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
19913         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
19914         rather than <sys/types.h>, as we merely need size_t.
19915         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
19916         to get size_t.
19917         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
19918         Include <stdio.h>, to get FILE.
19919         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
19920         memcasecmp.h has included <stddef.h> and all we need is size_t.
19921         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
19922         our interface, instead of including <sys/types.h>
19923
19924 2003-06-04  Paul Eggert  <eggert@twinsun.com>
19925
19926         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
19927         now, as glibc mktime is buggy on non-glibc systems.
19928
19929 2003-06-03  Karl Berry  <karl@gnu.org>
19930
19931         * config/config.sub: update from prep.
19932
19933 2003-06-02  Paul Eggert  <eggert@twinsun.com>
19934
19935         [from coreutils]
19936         Fix some minor time-related bugs with POSIX time arguments.
19937         Some valid time stamps were being rejected (notably -1, and
19938         time stamps before 1900 on 64-bit hosts).  And some invalid
19939         time stamps were being accepted, e.g. September 31.
19940
19941         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
19942         that we can return (time_t) -1 successfully.
19943         * lib/posixtm.c: Likewise.
19944         [HAVE_STDBOOL_H]: Include <stdbool.h>.
19945         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
19946         (t): Remove static var.
19947         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
19948         of static var.  All uses changed.
19949         (year): Do not reject years before 1900; they can occur with
19950         64-bit time_t.
19951         (posix_time_parse): Do not check for out-of-range components;
19952         that is now the caller's responsibility, since our checks were
19953         only approximations.
19954         (posixtime): Use mktime to check for out-of-range components,
19955         since it knows them exactly.
19956         If mktime returns (time_t) -1, check whether an error actually occurred
19957         by invoking localtime on -1.
19958         (main) [TEST_POSIXTIME]: Check for input data errors, and report
19959         posixtime failures better.
19960         Improve the test data (in comments only).
19961
19962 2003-06-02  Karl Berry  <karl@gnu.org>
19963
19964         * config/mkinstalldirs (version): new variable.
19965         (--version): new option.
19966         (usage): improve message.
19967
19968 2003-05-30  Karl Berry  <karl@gnu.org>
19969
19970         * lib/mktime.c: update from libc.
19971
19972 2003-05-30  Bruno Haible  <bruno@clisp.org>
19973
19974         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
19975         * config/config.rpath: Upgrade to gettext-0.12.1.
19976
19977 2003-05-30  Bruno Haible  <bruno@clisp.org>
19978
19979         * m4/gettext.m4: Upgrade to gettext-0.12.1.
19980         * m4/nls.m4: New file, from gettext-0.12.1.
19981         * m4/po.m4: New file, from gettext-0.12.1.
19982         * m4/progtest.m4: Upgrade to gettext-0.12.1.
19983
19984 2003-05-30  Bruno Haible  <bruno@clisp.org>
19985
19986         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
19987         * lib/localcharset.h: Likewise.
19988         * lib/localcharset.c: Likewise.
19989
19990 2003-05-29  Karl Berry  <karl@gnu.org>
19991
19992         * config/config.rpath: update from gettext.
19993
19994 2003-05-28  Paul Eggert  <eggert@twinsun.com>
19995
19996         Assume the headers required for C89 freestanding compilers.
19997         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
19998         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
19999         * m4/human.m4 (gl_HUMAN): Likewise.
20000         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
20001         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
20002         * m4/userspec.m4 (gl_USERSPEC): Likewise.
20003         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
20004         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
20005         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
20006
20007 2003-05-28  Paul Eggert  <eggert@twinsun.com>
20008
20009         Assume the headers required for C89 freestanding compilers.
20010         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
20011         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
20012         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
20013         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
20014         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
20015         define, since <limits.h> is guaranteed to do that.
20016         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
20017         * lib/exclude.c: Include <stdbool.h> unconditionally.
20018         * lib/tempname.c: Include <stddef.h> unconditionally.
20019         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
20020         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
20021         <stddef.h> does that.
20022         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
20023         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
20024         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
20025         needed.
20026         * lib/xstrtol.c: Likewise.
20027         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
20028         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
20029
20030         * lib/addext.c (addext): Use assignment rather than cast, to avoid
20031         warnings on some platforms.
20032
20033         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
20034         arbitrarily.
20035
20036 2003-05-26  Jim Meyering  <jim@meyering.net>
20037
20038         Merge in a change from coreutils:
20039         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
20040         that is guaranteed to be `no'.  Use `no_such_member' to indicate
20041         that condition, rather than `-1' which is slightly misleading.
20042         Change the name of the cache variable to have the gl_ prefix.
20043         Prompted by a patch from Richard Dawe for DJGPP.
20044
20045 2003-05-24  Karl Berry  <karl@gnu.org>
20046
20047         * config/config.guess: update from prep.
20048
20049 2003-05-22  Karl Berry  <karl@gnu.org>
20050
20051         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
20052
20053 2003-05-20  Karl Berry  <karl@gnu.org>
20054
20055         * config/config.guess: update from prep.
20056
20057 2003-05-18  Karl Berry  <karl@gnu.org>
20058
20059         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
20060         might actually be set by the user.
20061
20062         * config/depcomp, install-sh, mdate-sh: update from automake.
20063
20064 2003-05-17  Bruno Haible  <bruno@clisp.org>
20065
20066         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
20067         invalid expansion for AC_EGREP_CPP.
20068         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
20069         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
20070         Suggested by Akim Demaille <akim@epita.fr> in
20071         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
20072
20073 2003-05-12  Jim Meyering  <jim@meyering.net>
20074
20075         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
20076         the space-padded-by-default conversion specifiers, %e, %k, %l.
20077
20078 2003-05-12  Bruno Haible  <bruno@clisp.org>
20079
20080         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
20081         the string is longer than 4 KB.
20082
20083 2003-05-11  Karl Berry  <karl@gnu.org>
20084
20085         * config/config.{guess,sub}: update from prep.
20086
20087 2003-05-09  Bruno Haible  <bruno@clisp.org>
20088
20089         * modules/error: Add m4/strerror_r.m4 to file list.
20090
20091 2003-05-03  Bruno Haible  <bruno@clisp.org>
20092
20093         Upgrade to Unicode-4.0.
20094         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
20095         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
20096         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
20097         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
20098         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
20099         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
20100         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
20101         Change width of U+E0100..U+E01EF from 1 to 0.
20102
20103 2003-04-25  Jim Meyering  <jim@meyering.net>
20104
20105         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
20106         of type size_t, not int.
20107
20108 2003-04-25  Bruno Haible  <bruno@clisp.org>
20109
20110         * lib/copy-file.c: Include <stddef.h>, for size_t.
20111
20112 2003-04-21  Paul Eggert  <eggert@twinsun.com>
20113
20114         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
20115         code which expansion is under static control.  Patch imported from
20116         Akim Demaille's patch to Bison; see
20117         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
20118
20119 2003-04-14  Bruno Haible  <bruno@clisp.org>
20120
20121         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
20122
20123 2003-04-11  Jim Meyering  <jim@meyering.net>
20124
20125         Merge changes from Coreutils.
20126
20127         2003-03-22  Jim Meyering  <jim@meyering.net>
20128
20129         * lib/strftime.c (widen): Cast alloca return value to proper type.
20130
20131         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
20132
20133         From GNU libc.
20134         * lib/strftime.c (my_strftime): Handle very large width
20135         specifications for numeric values correctly.  Improve checks for
20136         overflow.
20137
20138         2003-01-19  Jim Meyering  <jim@meyering.net>
20139
20140         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
20141         definitions.
20142         (nl_get_alt_digit) [! defined my_strftime]: Define.
20143         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
20144         _nl_get_alt_digit and _nl_get_walt_digit.
20145
20146         * lib/strftime.c (my_strftime): Merge in locale-related changes from
20147         libc. These changes have no effect outside of _LIBC.
20148
20149 2003-04-10  Bruno Haible  <bruno@clisp.org>
20150
20151         * modules/findprog: New file.
20152         * MODULES.html.sh (func_all_modules): Add it.
20153
20154 2003-04-10  Bruno Haible  <bruno@clisp.org>
20155
20156         * m4/findprog.m4: New file.
20157         * m4/eaccess.m4: New file.
20158
20159 2003-04-10  Bruno Haible  <bruno@clisp.org>
20160
20161         * lib/findprog.h: New file, from GNU gettext.
20162         * lib/findprog.c: New file, from GNU gettext.
20163
20164 2003-04-05  Jim Meyering  <jim@meyering.net>
20165
20166         Merge changes from Coreutils.
20167
20168         * lib/exclude.h (PARAMS): Remove definition and uses.
20169         * lib/exclude.c: Remove uses of `PARAMS'.
20170
20171         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
20172         Add test-cases for DOS filenames. Declare program_name.
20173         (main): Set up program_name.  Patch by Rich Dawe.
20174
20175         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
20176         error from mntctl.
20177         Use mntctl's return value to drive the entry-processing loop, since
20178         we can't rely on the value of the vmt_length member in the last
20179         entry.  On some systems doing so could result in exhausting
20180         virtual memory.  Based in part on a patch from Mike Jetzer.
20181
20182 2003-04-04  Bruno Haible  <bruno@clisp.org>
20183
20184         * modules/linebreak: New file.
20185         * MODULES.html.sh (func_all_modules): Add it.
20186
20187 2003-04-04  Bruno Haible  <bruno@clisp.org>
20188
20189         * m4/linebreak.m4: New file.
20190
20191 2003-04-04  Bruno Haible  <bruno@clisp.org>
20192
20193         * lib/linebreak.h: New file, from GNU gettext.
20194         * lib/linebreak.c: New file, from GNU gettext with slight
20195         modifications.
20196         * lib/lbrkprop.h: New file, from GNU gettext.
20197
20198 2003-04-03  Bruno Haible  <bruno@clisp.org>
20199
20200         * modules/utf8-ucs4: New file.
20201         * modules/utf16-ucs4: New file.
20202         * modules/ucs4-utf8: New file.
20203         * modules/ucs4-utf16: New file.
20204         * MODULES.html.sh (func_all_modules): Add them.
20205
20206 2003-04-03  Bruno Haible  <bruno@clisp.org>
20207
20208         * m4/utf-ucs4.m4: New file.
20209         * m4/ucs4-utf.m4: New file.
20210
20211 2003-04-03  Bruno Haible  <bruno@clisp.org>
20212
20213         * lib/utf8-ucs4.h: New file, from GNU gettext.
20214         * lib/utf16-ucs4.h: New file, from GNU gettext.
20215         * lib/ucs4-utf8.h: New file, from GNU gettext.
20216         * lib/ucs4-utf16.h: New file, from GNU gettext.
20217
20218 2003-04-02  Bruno Haible  <bruno@clisp.org>
20219
20220         * modules/binary-io: New file.
20221         * MODULES.html.sh (func_all_modules): Add it.
20222
20223 2003-04-02  Bruno Haible  <bruno@clisp.org>
20224
20225         * lib/binary-io.h: New file, from GNU gettext.
20226
20227 2003-04-01  Bruno Haible  <bruno@clisp.org>
20228
20229         * modules/pathname: New file.
20230         * MODULES.html.sh (func_all_modules): Add it.
20231
20232 2003-04-01  Bruno Haible  <bruno@clisp.org>
20233
20234         * lib/pathname.h: New file, from GNU gettext.
20235         * lib/concatpath.c: New file, from GNU gettext.
20236
20237 2003-03-30  Bruno Haible  <bruno@clisp.org>
20238
20239         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
20240
20241 2003-03-30  Bruno Haible  <bruno@clisp.org>
20242
20243         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
20244         function chown() doesn't exist.
20245
20246 2003-03-28  Bruno Haible  <bruno@clisp.org>
20247
20248         * modules/copy-file: New file.
20249         * MODULES.html.sh (func_all_modules): Add it.
20250
20251 2003-03-28  Bruno Haible  <bruno@clisp.org>
20252
20253         * m4/copy-file.m4: New file.
20254
20255 2003-03-28  Bruno Haible  <bruno@clisp.org>
20256
20257         * lib/copy-file.h: New file, from GNU gettext.
20258         * lib/copy-file.c: New file, from GNU gettext.
20259
20260 2003-03-18  Jim Meyering  <jim@meyering.net>
20261
20262         * lib/quote.c (quote_n): Fix typo in comment.
20263
20264 2003-03-18  Bruno Haible  <bruno@clisp.org>
20265
20266         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
20267         checking.
20268         * m4/onceonly_2_57.m4: Likewise.
20269
20270 2003-03-17  Bruno Haible  <bruno@clisp.org>
20271
20272         * m4/onceonly.m4: Require autoconf 2.54 or newer.
20273         (m4_quote): Remove macro.
20274         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
20275
20276 2003-03-14  Jim Meyering  <jim@meyering.net>
20277
20278         Merge changes from Coreutils.
20279         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
20280         to be const, in order to avoid warnings.
20281         (obstack_room): Likewise.
20282         (obstack_empty_p): Likewise.
20283
20284 2003-03-14  Bruno Haible  <bruno@clisp.org>
20285
20286         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
20287         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
20288
20289 2003-03-13  Paul Eggert  <eggert@twinsun.com>
20290
20291         Merge changes from Bison.
20292         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
20293         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
20294         when compiling Bison 1.875's `bitset bset = obstack_alloc
20295         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
20296         * lib/hash.c: Include <stdbool.h> unconditionally.
20297
20298 2003-03-13  Paul Eggert  <eggert@twinsun.com>
20299
20300         * m4/onceonly.m4 (m4_quote): New macro.
20301         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
20302         Quote AC_FOREACH variable-expansions properly.
20303
20304 2003-03-13  Paul Eggert  <eggert@twinsun.com>
20305
20306         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
20307
20308 2003-03-09  Paul Eggert  <eggert@twinsun.com>
20309
20310         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
20311         Reported by Bruce Becker; see:
20312         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
20313
20314 2003-03-03  Paul Eggert  <eggert@twinsun.com>
20315             Bruno Haible  <bruno@clisp.org>
20316
20317         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
20318         Reported by John Hughes, see
20319         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
20320
20321 2003-02-20  Bruno Haible  <bruno@clisp.org>
20322
20323         * MODULES.html.sh (func_all_modules): Add poll.
20324
20325 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
20326
20327         * modules/poll: New file.
20328
20329 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
20330
20331         * lib/poll_.h: New file.
20332         * lib/poll.c: New file.
20333
20334 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
20335
20336         * m4/poll.m4: New file.
20337
20338 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
20339
20340         * modules/mathl: New file.
20341
20342 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
20343
20344         * lib/mathl.h: New file.
20345         * lib/acosl.c: New file.
20346         * lib/asinl.c: New file.
20347         * lib/atanl.c: New file.
20348         * lib/ceill.c: New file.
20349         * lib/cosl.c: New file.
20350         * lib/expl.c: New file.
20351         * lib/floorl.c: New file.
20352         * lib/frexpl.c: New file.
20353         * lib/ldexpl.c: New file.
20354         * lib/logl.c: New file.
20355         * lib/sincosl.c: New file.
20356         * lib/sinl.c: New file.
20357         * lib/sqrtl.c: New file.
20358         * lib/tanl.c: New file.
20359         * lib/trigl.c: New file.
20360         * lib/trigl.h: New file.
20361
20362 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
20363
20364         * m4/mathl.m4: New file.
20365
20366 2003-02-18  Bruno Haible  <bruno@clisp.org>
20367
20368         * MODULES.html.sh (func_all_modules): Add mathl.
20369
20370 2003-02-17  Bruno Haible  <bruno@clisp.org>
20371
20372         * modules/mkdtemp: New module.
20373         * MODULES.html.sh (func_all_modules): Add it.
20374
20375 2003-02-17  Bruno Haible  <bruno@clisp.org>
20376
20377         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
20378
20379 2003-02-17  Bruno Haible  <bruno@clisp.org>
20380
20381         * lib/mkdtemp.h: New file, from GNU gettext.
20382         * lib/mkdtemp.c: New file, from GNU gettext.
20383
20384 2003-02-02  Jim Meyering  <jim@meyering.net>
20385
20386         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
20387         e.g. glibc-2.2.93.
20388
20389 2003-01-31  Bruno Haible  <bruno@clisp.org>
20390
20391         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
20392         'rpl_rename'.
20393         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
20394         'rpl_strnlen'.
20395         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
20396         'rpl_strtod'.
20397         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
20398         'rpl_utime'.
20399
20400 2003-01-31  Bruno Haible  <bruno@clisp.org>
20401
20402         * lib/rename.c: #undef rename before defining rpl_rename.
20403         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
20404
20405 2003-01-30  Bruno Haible  <bruno@clisp.org>
20406
20407         * modules/vasnprintf, modules/vasprintf: New modules.
20408         * MODULES.html.sh (func_all_modules): Add them.
20409
20410 2003-01-30  Bruno Haible  <bruno@clisp.org>
20411
20412         * m4/signed.m4: New file, from GNU gettext.
20413         * m4/longdouble.m4: New file, from GNU gettext.
20414         * m4/wchar_t.m4: New file, from GNU gettext.
20415         * m4/wint_t.m4: New file, from GNU gettext.
20416         * m4/vasnprintf.m4: New file.
20417         * m4/vasprintf.m4: New file.
20418
20419 2003-01-30  Bruno Haible  <bruno@clisp.org>
20420
20421         * lib/printf-args.h: New file, from GNU gettext.
20422         * lib/printf-args.c: New file, from GNU gettext.
20423         * lib/printf-parse.h: New file, from GNU gettext.
20424         * lib/printf-parse.c: New file, from GNU gettext.
20425         * lib/vasnprintf.h: New file, from GNU gettext.
20426         * lib/vasnprintf.c: New file, from GNU gettext.
20427         * lib/asnprintf.c: New file, from GNU gettext.
20428         * lib/vasprintf.h: New file, from GNU gettext with modifications.
20429         * lib/vasprintf.c: New file, from GNU gettext.
20430         * lib/asprintf.c: New file, from GNU gettext.
20431
20432 2003-01-29  Bruno Haible  <bruno@clisp.org>
20433
20434         * modules/stpncpy: New module.
20435         * MODULES.html.sh (func_all_modules): Add it.
20436
20437 2003-01-29  Bruno Haible  <bruno@clisp.org>
20438
20439         * m4/stpncpy.m4: New file.
20440
20441 2003-01-29  Bruno Haible  <bruno@clisp.org>
20442
20443         * lib/stpncpy.h: New file, from GNU gettext with modifications.
20444         * lib/stpncpy.c: New file, from GNU gettext with modifications.
20445
20446 2003-01-28  Bruno Haible  <bruno@clisp.org>
20447
20448         * modules/c-ctype: New module.
20449         * MODULES.html.sh (func_all_modules): Add it.
20450
20451 2003-01-28  Bruno Haible  <bruno@clisp.org>
20452
20453         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
20454         Paul Eggert.
20455         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
20456         Paul Eggert.
20457
20458 2003-01-27  Bruno Haible  <bruno@clisp.org>
20459
20460         * modules/xsetenv: New module.
20461         * MODULES.html.sh (func_all_modules): Add it.
20462
20463 2003-01-27  Bruno Haible  <bruno@clisp.org>
20464
20465         * lib/xsetenv.h: New file, from GNU gettext.
20466         * lib/xsetenv.c: New file, from GNU gettext.
20467
20468 2003-01-23  Jim Meyering  <jim@meyering.net>
20469
20470         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
20471         from working on systems without dirfd (at least Irix and OSF1/Tru64).
20472
20473 2003-01-23  Bruno Haible  <bruno@clisp.org>
20474
20475         * modules/minmax: New module.
20476         * MODULES.html.sh (func_all_modules): Add it.
20477
20478 2003-01-23  Bruno Haible  <bruno@clisp.org>
20479
20480         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
20481         Eggert.
20482
20483 2003-01-22  Bruno Haible  <bruno@clisp.org>
20484
20485         * modules/exit: New module.
20486         * MODULES.html.sh (func_all_modules): Add it.
20487
20488 2003-01-22  Bruno Haible  <bruno@clisp.org>
20489
20490         * lib/exit.h: New file, from GNU gettext.
20491
20492 2003-01-19  Bruno Haible  <bruno@clisp.org>
20493
20494         * gnulib-tool: Recognize option --extract-maintainer.
20495         (func_get_maintainer): New function.
20496         * modules/*: Add Maintainer entry.
20497
20498 2003-01-16  Jim Meyering  <jim@meyering.net>
20499
20500         * m4/regex.m4: The `regex' struct is both input and output.
20501         Initialize it before each use.  Patch by Tim Waugh.
20502
20503 2003-01-16  Bruno Haible  <bruno@clisp.org>
20504
20505         * MODULES.html.sh: Add a table of contents. Add the module name as
20506         leftmost column. Add hyperlinks.
20507
20508 2003-01-15  Bruno Haible  <bruno@clisp.org>
20509
20510         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
20511
20512 2003-01-15  Bruno Haible  <bruno@clisp.org>
20513
20514         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
20515         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
20516         suffix.
20517
20518 2003-01-15  Bruno Haible  <bruno@clisp.org>
20519
20520         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
20521
20522 2003-01-15  Bruno Haible  <bruno@clisp.org>
20523
20524         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
20525         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
20526
20527 2003-01-14  Jim Meyering  <jim@meyering.net>
20528
20529         * lib/same.c (same_name): Tweak a comment.
20530
20531 2003-01-14  Bruno Haible  <bruno@clisp.org>
20532
20533         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
20534         when a string comparison is sufficient.
20535
20536 2003-01-14  Bruno Haible  <bruno@clisp.org>
20537
20538         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
20539         'unsigned int'.
20540
20541 2003-01-14  Bruno Haible  <bruno@clisp.org>
20542
20543         * lib/hash-pjw.c: Add comment about low quality of this function.
20544
20545 2003-01-13  Bruno Haible  <bruno@clisp.org>
20546
20547         * modules/stpcpy: Distribute lib/stpcpy.h.
20548         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
20549
20550 2003-01-13  Bruno Haible  <bruno@clisp.org>
20551
20552         * modules/*: Add a description.
20553         * modules/strpbrk: Fix Makefile.am snippet.
20554         * modules/strtoimax: Fix dependencies.
20555         * modules/strtoumax: Likewise.
20556
20557 2003-01-13  Bruno Haible  <bruno@clisp.org>
20558
20559         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
20560         * modules/alloca (Makefile.am): All object files depend on alloca.h.
20561         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
20562
20563 2003-01-13  Bruno Haible  <bruno@clisp.org>
20564
20565         * gnulib-tool (func_create_testdir): Store config/* files in the main
20566         directory.
20567         * config.rpath: Move to ...
20568         * config/config.rpath: ... here.
20569         * modules/gettext: Contains config/config.rpath, not config.rpath.
20570         * modules/iconv: Likewise.
20571
20572 2003-01-12  Paul Eggert  <eggert@twinsun.com>
20573
20574         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
20575         to avoid collisions with libcurses and libreadline.
20576
20577         * m4/getstr.m4: Remove.
20578         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
20579
20580 2003-01-12  Paul Eggert  <eggert@twinsun.com>
20581
20582         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
20583         to avoid collisions with libcurses and libreadline.
20584
20585         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
20586         * lib/getstr.h, getstr.c: Remove.
20587         * lib/getline.c: Include "getline.h", to check interface.
20588         Move body of old getstr.c here: this defines MIN_CHUNK and
20589         declares getdelim2, which is renamed from getstr.
20590         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
20591
20592         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
20593         All uses changed.
20594         * lib/linebuffer.h: Likewise.
20595         (readline): Remove backward-compatibility macro.
20596
20597 2003-01-12  Paul Eggert  <eggert@twinsun.com>
20598
20599         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
20600         to avoid collisions with libcurses and libreadline.
20601         * getstr: Remove.
20602         * MODULES.html.sh: Remove getstr.
20603         * modules/getline: Depend on unlocked-io, not getstr.
20604
20605 2003-01-12  Jim Meyering  <jim@meyering.net>
20606
20607         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
20608
20609 2003-01-10  Bruno Haible  <bruno@clisp.org>
20610
20611         * modules/alloca: Change Makefile.am requirements. Simplify Include
20612         requirements. Add lib/alloca_.h to file list.
20613
20614 2003-01-10  Bruno Haible  <bruno@clisp.org>
20615
20616         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
20617
20618 2003-01-10  Bruno Haible  <bruno@clisp.org>
20619
20620         * lib/alloca_.h: New file.
20621         * lib/getdate.y: Unconditionally include alloca.h.
20622         * lib/makepath.c: Likewise.
20623         * lib/setenv.c: Likewise.
20624         * lib/userspec.c: Likewise.
20625
20626 2003-01-09  Karl Berry  <karl@gnu.org>
20627
20628         * MODULES.html.sh: include `dirname $0` in PATH, to find
20629         gnulib-tool.
20630
20631 2003-01-09  Bruno Haible  <bruno@clisp.org>
20632
20633         * modules/stdbool: Change configure.ac, Makefile.am requirements.
20634         Simplify Include requirements. Add lib/stdbool.h.in to file list.
20635
20636 2003-01-09  Bruno Haible  <bruno@clisp.org>
20637
20638         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
20639
20640 2003-01-09  Bruno Haible  <bruno@clisp.org>
20641
20642         * lib/stdbool.h.in: New file.
20643
20644 2003-01-09  Bruno Haible  <bruno@clisp.org>
20645
20646         * gnulib-tool (func_all_modules): Ignore files ending in ~.
20647         * MODULES.html.sh: Likewise.
20648
20649 2003-01-08  Jim Meyering  <jim@meyering.net>
20650
20651         * lib/full-write.c: Undefine and define-away `const' after inclusion
20652         of errno.h, not before.  Suggestion from Bruno Haible.
20653
20654 2003-01-08  Bruno Haible  <bruno@clisp.org>
20655
20656         * modules/full-read: Depend on full-write.
20657
20658 2003-01-08  Bruno Haible  <bruno@clisp.org>
20659
20660         * lib/safe-read.c: Include specification header first, to ensure its
20661         selfcontainedness.
20662         * lib/full-write.c: Likewise.
20663
20664 2003-01-07  Jim Meyering  <jim@meyering.net>
20665
20666         * lib/full-write.c: Rework so that it may serve to define full_read,
20667         too.
20668         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
20669
20670 2003-01-07  Bruno Haible  <bruno@clisp.org>
20671
20672         * lib/strtoimax.c: Include <stdint.h> as an alternative to
20673         <inttypes.h>.
20674         * lib/xstrtol.h: Likewise.
20675         * lib/xstrtoimax.c: Likewise.
20676         * lib/xstrtoumax.c: Likewise.
20677         * lib/human.h: Likewise.
20678
20679         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
20680         on systems that have <inttypes.h> but not <stdint.h>.
20681
20682 2003-01-07  Bruno Haible  <bruno@clisp.org>
20683
20684         * MODULES.html.sh: Add copyright notice.
20685         (missed_files): Omit CVS directory entries.
20686         (func_module): Make it work with sed-3.02.
20687         * MODULES.txt: Remove file.
20688
20689 2003-01-06  Jim Meyering  <jim@meyering.net>
20690
20691         * lib/version-etc.c: Update year in translatable copyright string.
20692
20693 2003-01-03  Karl Berry  <karl@gnu.org>
20694
20695         * config/config.{guess,sub}: update from prep.
20696
20697 2003-01-02  Karl Berry  <karl@gnu.org>
20698
20699         * doc/COPYING.DOC: belatedly updated to 1.2.
20700
20701 2003-01-01  Karl Berry  <karl@gnu.org>
20702
20703         * gnulib-tool (func_verify_module): report module name $module in
20704         error message, not $1.
20705         * gnulib-tool (create-testdir): don't complain if destdir couldn't
20706         be created, only if it doesn't exist.
20707         * gnulib-tool (last_checkin_date): don't expand the $Date here.
20708
20709 2002-12-31  Paul Eggert  <eggert@twinsun.com>
20710
20711         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
20712
20713 2002-12-31  Paul Eggert  <eggert@twinsun.com>
20714
20715         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
20716         memcmp if strcoll doesn't work.
20717
20718 2002-12-31  Bruno Haible  <bruno@clisp.org>
20719
20720         * lib/utime.c (utime_null): No need to call ftruncate if the file was
20721         nonempty.
20722
20723 2002-12-31  Bruno Haible  <bruno@clisp.org>
20724
20725         * lib/memcoll.c (STRCOLL): New macro.
20726         (memcoll): Use it.
20727
20728 2002-12-31  Bruno Haible  <bruno@clisp.org>
20729
20730         * lib/localcharset.h: New file.
20731         * lib/localcharset.c: Include it.
20732         * lib/unicodeio.c: Likewise.
20733
20734 2002-12-31  Bruno Haible  <bruno@clisp.org>
20735
20736         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
20737         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
20738
20739 2002-12-31  Bruno Haible  <bruno@clisp.org>
20740
20741         * lib/getline.h: Include <stddef.h>, for size_t.
20742
20743         * lib/unicodeio.h: Include <stddef.h>, for size_t.
20744         * lib/unicodeio.c: Don't include <stddef.h>.
20745
20746 2002-12-31  Bruno Haible  <bruno@clisp.org>
20747
20748         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
20749         HAVE_TM_ZONE.
20750
20751 2002-12-24  Karl Berry  <karl@gnu.org>
20752
20753         * config/config.guess: update from prep.
20754
20755 2002-12-24  Bruno Haible  <bruno@clisp.org>
20756
20757         General infrasructure.
20758         * m4/README: Rewritten.
20759         * m4/onceonly.m4: New file.
20760         * m4/onceonly_2_57.m4: New file.
20761
20762         Module atexit.
20763         * m4/atexit.m4: New file.
20764
20765         Module strtod.
20766         * m4/strtod.m4: New file.
20767
20768         Module strtol.
20769         * m4/strtol.m4: New file.
20770
20771         Module strtoul.
20772         * m4/strtoul.m4: New file.
20773
20774         Module memchr.
20775         * m4/memchr.m4: New file.
20776
20777         Module memcmp.
20778         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
20779         (jm_FUNC_MEMCMP): Invoke it.
20780
20781         Module memcpy.
20782         * m4/memcpy.m4: New file.
20783
20784         Module memmove.
20785         * m4/memmove.m4: New file.
20786
20787         Module memset.
20788         * m4/memset.m4: New file.
20789
20790         Module strcspn.
20791         * m4/strcspn.m4: New file.
20792
20793         Module strpbrk.
20794         * m4/strpbrk.m4: New file.
20795
20796         Module strstr.
20797         * m4/strstr.m4: New file.
20798
20799         Module strerror.
20800         * m4/strerror.m4: New file.
20801
20802         Module mktime.
20803         * m4/mktime.m4: Renamed from jm-mktime.m4.
20804         (gl_PREREQ_MKTIME): New macro.
20805         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
20806
20807         Module malloc.
20808         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
20809         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
20810         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
20811
20812         Module realloc.
20813         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
20814         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
20815         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
20816
20817         Module strftime.
20818         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
20819         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
20820         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
20821         gl_TM_GMTOFF.
20822         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
20823
20824         Module xalloc.
20825         * m4/xalloc.m4: New file.
20826
20827         Module alloca.
20828         * m4/alloca.m4: New file.
20829
20830         Module putenv.
20831         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
20832         (jm_FUNC_PUTENV): Invoke it.
20833
20834         Module setenv.
20835         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
20836         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
20837         when invoked twice.
20838         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
20839         gt_FUNC_SETENV.
20840
20841         Module memrchr.
20842         * m4/memrchr.m4: New file.
20843
20844         Module stpcpy.
20845         * m4/stpcpy.m4: New file.
20846
20847         Module strcase.
20848         * m4/strcase.m4: New file.
20849
20850         Module strdup.
20851         * m4/strdup.m4: New file.
20852
20853         Module strnlen.
20854         * m4/strnlen.m4: New file.
20855
20856         Module strndup.
20857         * m4/strndup.m4: New file.
20858
20859         Module xstrtod.
20860         * m4/xstrtod.m4: New file.
20861
20862         Module xstrtol.
20863         * m4/xstrtol.m4: New file.
20864
20865         Module getdate.
20866         * m4/getdate.m4: New file.
20867
20868         Module unlocked-io.
20869         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
20870         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
20871         * m4/jm-glibc-io.m4n: Remove file.
20872
20873         Module long-options.
20874         * m4/long-options.m4: New file.
20875
20876         Module md5.
20877         * m4/md5.m4: New file.
20878
20879         Module sha.
20880         * m4/sha.m4: New file.
20881
20882         Module getstr.
20883         * m4/getstr.m4: New file.
20884
20885         Module getline.
20886         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
20887         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
20888         <sys/types.h>, for size_t. Use the function name gnu_getline, not
20889         simply getline. Infoke gl_PREREQ_GETLINE.
20890
20891         Module obstack.
20892         * m4/obstack.m4: New file.
20893
20894         Module hash.
20895         * m4/hash.m4: New file.
20896
20897         Module readtokens.
20898         * m4/readtokens.m4: New file.
20899
20900         Module strverscmp.
20901         * m4/strverscmp.m4: New file.
20902
20903         Module stdbool.
20904         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
20905         OSF/1.
20906
20907         Module strtoll.
20908         * m4/strtoll.m4: New file.
20909
20910         Module strtoull.
20911         * m4/strtoull.m4: New file.
20912
20913         Module strtoimax.
20914         * m4/strtoimax.m4: New file.
20915
20916         Module strtoumax.
20917         * m4/strtoumax.m4: New file.
20918
20919         Module xstrtoimax.
20920         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
20921         jm_AC_PREREQ_XSTRTOIMAX.
20922         Moved the strtol prerequisites to strtol.m4.
20923         Moved the strtoll prerequisites to strtoll.m4.
20924         Moved the strtoimax prerequisites to strtoimax.m4.
20925
20926         Module xstrtoumax.
20927         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
20928         jm_AC_PREREQ_XSTRTOUMAX.
20929         Moved the strtoul prerequisites to strtoul.m4.
20930         Moved the strtoull prerequisites to strtoull.m4.
20931         Moved the strtoumax prerequisites to strtoumax.m4.
20932
20933         Module chown.
20934         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
20935         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
20936
20937         Module dup2.
20938         * m4/dup2.m4: New file.
20939
20940         Module ftruncate.
20941         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
20942         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
20943
20944         Module getgroups.
20945         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
20946         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
20947
20948         Module gettimeofday.
20949         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
20950         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
20951         gl_PREREQ_GETTIMEOFDAY.
20952
20953         Module mkdir.
20954         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
20955         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
20956
20957         Module mkstemp.
20958         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
20959         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
20960         jm_AC_TYPE_UINTMAX_T.
20961         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
20962
20963         Module stat.
20964         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
20965         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
20966
20967         Module lstat.
20968         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
20969         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
20970
20971         Module timespec.
20972         * m4/timespec.m4 (gl_TIMESPEC): New macro.
20973         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
20974         * m4/st_mtim.m4: Indentation.
20975
20976         Module nanosleep.
20977         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
20978         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
20979         gl_PREREQ_NANOSLEEP.
20980
20981         Module regex.
20982         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
20983         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
20984         (gl_REGEX): New macro.
20985
20986         Module rename.
20987         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
20988         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
20989
20990         Module rmdir.
20991         * m4/rmdir.m4: New file.
20992
20993         Module utime.
20994         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
20995         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
20996         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
20997
20998         Module dirname.
20999         * m4/dirname.m4: New file.
21000
21001         Module getopt.
21002         * m4/getopt.m4: New file.
21003
21004         Module unistd-safer.
21005         * m4/unistd-safer.m4: New file.
21006
21007         Module fnmatch.
21008         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
21009         declaration.
21010         (gl_PREREQ_FNMATCH_EXTRA): New macro.
21011         (gl_FUNC_FNMATCH_POSIX): New macro.
21012         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
21013         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
21014         simply fnmatch.
21015
21016         Module exclude.
21017         * m4/exclude.m4: New file.
21018
21019         Module human.
21020         * m4/human.m4: New file.
21021
21022         Module acl.
21023         * m4/acl.m4: Nop.
21024
21025         Module backupfile.
21026         * m4/backupfile.m4: New file.
21027         * m4/d-ino.m4: Indentation.
21028
21029         Module fsusage.
21030         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
21031         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
21032         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
21033
21034         Module dirfd.
21035         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
21036         requirements.
21037
21038         Module euidaccess.
21039         * m4/euidaccess.m4: New file.
21040
21041         Module file-type.
21042         * m4/file-type.m4: New file.
21043
21044         Module fileblocks.
21045         * m4/fileblocks.m4: New file.
21046
21047         Module filemode.
21048         * m4/filemode.m4: New file.
21049
21050         Module isdir.
21051         * m4/isdir.m4: New file.
21052
21053         Module lchown.
21054         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
21055         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
21056
21057         Module makepath.
21058         * m4/makepath.m4: New file.
21059
21060         Module modechange.
21061         * m4/modechange.m4: New file.
21062
21063         Module mountlist.
21064         * m4/mountlist.m4: New file.
21065         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
21066         Indentation.
21067
21068         Module path-concat.
21069         * m4/path-concat.m4: New file.
21070
21071         Module pathmax.
21072         * m4/pathmax.m4: New file.
21073
21074         Module same.
21075         * m4/same.m4: New file.
21076
21077         Module save-cwd.
21078         * m4/save-cwd.m4: New file.
21079
21080         Module savedir.
21081         * m4/savedir.m4: New file.
21082
21083         Module xgetcwd.
21084         * m4/xgetcwd.m4: New file.
21085         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
21086
21087         Module xreadlink.
21088         * m4/xreadlink.m4: New file.
21089
21090         Module safe-read.
21091         * m4/safe-read.m4: New file.
21092
21093         Module safe-write.
21094         * m4/safe-write.m4: New file.
21095
21096         Module closeout.
21097         * m4/closeout.m4: New file.
21098
21099         Module stdio-safer.
21100         * m4/stdio-safer.m4: New file.
21101
21102         Module getpass.
21103         * m4/getpass.m4: New file.
21104
21105         Module getugroups.
21106         * m4/getugroups.m4: New file.
21107
21108         Module group-member.
21109         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
21110         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
21111
21112         Module idcache.
21113         * m4/idcache.m4: New file.
21114
21115         Module userspec.
21116         * m4/userspec.m4: New file.
21117
21118         Module gettime.
21119         * m4/clock_time.m4: New file.
21120         * m4/gettime.m4: New file.
21121
21122         Module settime.
21123         * m4/settime.m4: New file.
21124
21125         Module posixtm.
21126         * m4/posixtm.m4: New file.
21127
21128         Module gethostname.
21129         * m4/gethostname.m4: New file.
21130
21131         Module canon-host.
21132         * m4/canon-host.m4: New file.
21133
21134         Module gettext.
21135         * m4/codeset.m4: New file, from gettext-0.11.5.
21136         * m4/gettext.m4: New file, from gettext-0.11.5.
21137         * m4/glibc21.m4: New file, from gettext-0.11.5.
21138         * m4/iconv.m4: New file, from gettext-0.11.5.
21139         * m4/intdiv0.m4: New file, from gettext-0.11.5.
21140         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
21141         * m4/inttypes.m4: New file, from gettext-0.11.5.
21142         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
21143         * m4/isc-posix.m4: New file, from gettext-0.11.5.
21144         * m4/lcmessage.m4: New file, from gettext-0.11.5.
21145         * m4/lib-ld.m4: New file, from gettext-0.11.5.
21146         * m4/lib-link.m4: New file, from gettext-0.11.5.
21147         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
21148         * m4/progtest.m4: New file, from gettext-0.11.5.
21149         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
21150         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
21151         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
21152
21153         Module localcharset.
21154         * m4/localcharset.m4: New file.
21155
21156         Module hard-locale.
21157         * m4/hard-locale.m4: New file.
21158
21159         Module mbswidth.
21160         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
21161         onceonly macros.
21162         * m4/mbrtowc.m4: Add comment.
21163
21164         Module memcasecmp.
21165         * m4/memcasecmp.m4: New file.
21166
21167         Module memcoll.
21168         * m4/memcoll.m4: New file.
21169
21170         Module unicodeio.
21171         * m4/unicodeio.m4: New file.
21172
21173         Module rpmatch.
21174         * m4/rpmatch.m4: New file.
21175
21176         Module yesno.
21177         * m4/yesno.m4: New file.
21178
21179         Module exitfail.
21180         * m4/exitfail.m4: New file.
21181
21182         Module c-stack.
21183         * m4/c-stack.m4 (gl_C_STACK): New macro.
21184         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
21185
21186         Module error.
21187         * m4/error.m4 (gl_ERROR): New macro.
21188         (jm_PREREQ_ERROR): Use onceonly macros.
21189
21190         Module fatal.
21191         * m4/fatal.m4: New file.
21192
21193         Module getloadavg.
21194         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
21195         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
21196
21197         Module getpagesize.
21198         * m4/getpagesize.m4: New file.
21199
21200         Module getusershell.
21201         * m4/getusershell.m4: New file.
21202
21203         Module physmem.
21204         * m4/physmem.m4: New file.
21205
21206         Module posixver.
21207         * m4/posixver.m4: New file.
21208
21209         Module quotearg.
21210         * m4/quotearg.m4: New file.
21211
21212         Module quote.
21213         * m4/quote.m4: New file.
21214
21215         Module readutmp.
21216         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
21217
21218         Module sig2str.
21219         * m4/sig2str.m4: New file.
21220
21221         Other.
21222         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
21223         ulonglong.m4.
21224         * m4/intmax_t.m4: New file.
21225         * m4/d-type.m4: Indentation.
21226         * m4/jm-macros.m4: Update.
21227         * m4/prereq.m4 (jm_PREREQ): Update.
21228         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
21229         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
21230         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
21231         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
21232         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
21233         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
21234         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
21235         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
21236         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
21237         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
21238         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
21239         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
21240         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
21241         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
21242         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
21243         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
21244         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
21245         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
21246         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
21247
21248 2002-12-24  Bruno Haible  <bruno@clisp.org>
21249
21250         * MODULES.txt: Update according to m4/ changes.
21251
21252         Module gettext.
21253         * config.rpath: New file, from gettext-0.11.5.
21254
21255         * modules/*: New module descriptions.
21256         * gnulib-tool: New file.
21257         * MODULES.html.sh: New file.
21258
21259 2002-12-21  Karl Berry  <karl@gnu.org>
21260
21261         * doc/fdl.texi: update to version 1.2.
21262
21263 2002-12-19  Karl Berry  <karl@gnu.org>
21264
21265         * config/config.guess: update from prep.
21266
21267 2002-12-18  Bruno Haible  <bruno@clisp.org>
21268
21269         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
21270         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
21271
21272 2002-12-17  Bruno Haible  <bruno@clisp.org>
21273
21274         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
21275         stdlib.h, string.h.
21276
21277 2002-12-17  Bruno Haible  <bruno@clisp.org>
21278
21279         * lib/canon-host.c (strdup): Remove unused declaration.
21280
21281         * lib/fsusage.c: Include full_read.h.
21282         (get_fs_usage): Use full_read instead of safe_read.
21283
21284         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
21285
21286 2002-12-12  Karl Berry  <karl@gnu.org>
21287
21288         * config/config.guess: update from prep.
21289
21290 2002-12-11  Bruno Haible  <bruno@clisp.org>
21291
21292         * m4/setenv.m4: New file, from gettext-0.11.5.
21293
21294 2002-12-11  Bruno Haible  <bruno@clisp.org>
21295
21296         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
21297         not unsetenv().
21298         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
21299         modifications:
21300
21301         2002-12-11  Bruno Haible  <bruno@clisp.org>
21302
21303                 * setenv.c (alloca): Fall back to malloc.
21304                 (freea): New macro.
21305                 (setenv): Use freea() to free memory allocated with alloca().
21306
21307         2002-11-13  Bruno Haible  <bruno@clisp.org>
21308
21309                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
21310                 function declarations.
21311                 * unsetenv.c (unsetenv): Likewise.
21312
21313         2002-03-04  Bruno Haible  <bruno@clisp.org>
21314
21315                 Portability to AIX 4.3.3.
21316                 * unsetenv.c: New file, extracted from setenv.c.
21317                 * setenv.c: Move the unsetenv() function to unsetenv.c.
21318
21319         2001-12-20  Bruno Haible  <bruno@clisp.org>
21320
21321                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
21322                 use malloc instead. For SunOS 4.
21323
21324         2001-12-11  Bruno Haible  <bruno@clisp.org>
21325
21326                 * setenv.c: Declare alloca.
21327                 (compar_fn_t): New typedef.
21328                 (KNOWN_VALUE, STORE_VALUE): Use it.
21329
21330         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
21331         setenv.h.
21332
21333 2002-12-10  Paul Eggert  <eggert@twinsun.com>
21334
21335         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
21336         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
21337         Choose values that are less likely to collide with system fnmatch
21338         options.
21339         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
21340         defined (e.g., a pure POSIX system).
21341         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
21342         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
21343
21344 2002-12-06  Paul Eggert  <eggert@twinsun.com>
21345
21346         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
21347         a pain in practice to deal with generated m4 files.  This change
21348         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
21349
21350         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
21351         and jm-glibc-io.m4, as they are no longer a special case.
21352         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
21353         kludge and the auto-generation stuff.  Check only whether the
21354         functions are declared, not whether they exist, since older hosts
21355         that don't declare the functions can't use the optimization anyway.
21356
21357 2002-12-06  Jim Meyering  <jim@meyering.net>
21358
21359         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
21360
21361         Merge in changes from libc's misc/error.c, in preparation
21362         for the merge of gnulib's changes back into libc.
21363
21364         * lib/error.c (_): Define only if not already defined.
21365         Move definition to follow all #include directives.
21366         Include unlocked-io.h only if !_LIBC.
21367         [_LIBC]: Include <libio/libioP.h>.
21368         [USE_IN_LIBIO]: Include <libio/iolibio.h>
21369         (fflush): Tweak definition to use INTUSE.
21370         (putc): Define.
21371
21372 2002-12-05  Paul Eggert  <eggert@twinsun.com>
21373
21374         * lib/alloca.c [defined emacs]: Include "lisp.h".
21375         (xalloc_die) [defined emacs]: New macro.
21376         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
21377         [! defined emacs]: Include <xalloc.h>.
21378         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
21379         (pointer): Typedef to POINTER_TYPE *.
21380         (malloc): Remove decl; we now always use xmalloc.
21381         (alloca): Use old-style definition, since Emacs needs this.
21382         Check for arithmetic overflow when computing combined size.
21383
21384 2002-12-04  Paul Eggert  <eggert@twinsun.com>
21385
21386         Do not generate unlocked-io.h automatically, since it's easier to
21387         maintain it by hand.
21388
21389         * lib/unlocked-io.h: New file, from GNU diffutils,
21390         but with proper copyright notice and attribution.
21391         * lib/gen-uio: Remove.
21392         * lib/Makefile.am: Add copyright notice.
21393         (libfetish_a_SOURCES): Add unlocked-io.h.
21394         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
21395         (DISTCLEANFILES, io_functions): Remove macros.
21396         (EXTRA_DIST): Remove gen_uio.
21397         (unlocked-io.h): Remove rule.
21398
21399 2002-12-04  Jim Meyering  <jim@meyering.net>
21400
21401         Reflect the fact that stat.c and lstat.c are no longer generated.
21402         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
21403         (DISTCLEANFILES): Likewise.
21404         (EXTRA_DIST): Likewise.
21405         (all_local): Don't depend on stat.c or lstat.c.
21406         (stat.c, lstat.c): Remove rules.
21407         (EXTRA_DIST): Remove xstat.in.
21408
21409         * lib/xstat.in: Remove file.  Contents moved into stat.c.
21410         * lib/stat.c: New file.  Contents mostly from xstat.in.
21411         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
21412         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
21413
21414         * lib/safe-read.c: Rework so that it may serve to define safe_write,
21415         too.
21416         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
21417
21418 2002-12-03  Jim Meyering  <jim@meyering.net>
21419
21420         * lib/safe-read.c, safe-write.c: Change variable names and comments,
21421         but not semantics, to minimize the differences between these two files.
21422         (safe_read): Change comment to mention SAFE_READ_ERROR.
21423
21424         * lib/safe-read.c (IS_EINTR): Define.
21425         (safe_read): Use IS_EINTR in place of in-function cpp directives.
21426
21427 2002-12-02  Jim Meyering  <jim@meyering.net>
21428
21429         * lib/safe-read.c (EINTR): Define.
21430         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
21431         (INT_MAX): Provide fallback.
21432         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
21433
21434         * lib/safe-read.h (SAFE_READ_ERROR): Define.
21435
21436 2002-12-02  Bruno Haible  <bruno@clisp.org>
21437
21438         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
21439         Define, taken from safe-read.c.
21440         (INT_MAX): Provide fallback.
21441         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
21442         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
21443
21444         * lib/safe-read.c (EINTR): Remove definition.
21445         (safe_read): Don't use EINTR if it is absent.
21446
21447 2002-12-01  Jim Meyering  <jim@meyering.net>
21448
21449         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
21450         zero.
21451         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
21452
21453 2002-11-27  Paul Eggert  <eggert@twinsun.com>
21454
21455         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
21456         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
21457         with `if (! (value < limit)) abort ();', for readability.
21458
21459 2002-11-26  Karl Berry  <karl@gnu.org>
21460
21461         * lib/strdup.c: copy from libc again, with jim's ok.
21462         * lib/.cppi-disable: re-add strdup.c
21463
21464 2002-11-25  Karl Berry  <karl@gnu.org>
21465
21466         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
21467         instead of "strtol.c".
21468
21469 2002-11-25  Karl Berry  <karl@gnu.org>
21470
21471         * config/install-sh: update from automake for variable quoting, $0 in
21472         error msgs, etc.
21473
21474         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
21475         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
21476         entry.
21477
21478 2002-11-25  Jim Meyering  <jim@meyering.net>
21479
21480         * lib/mktime.c: Sync from libc, now that it has the latest fix.
21481
21482 2002-11-24  Karl Berry  <karl@gnu.org>
21483
21484         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
21485         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
21486
21487 2002-11-24  Jim Meyering  <jim@meyering.net>
21488
21489         Update from coreutils:
21490
21491         * lib/mktime.c: Merge in changes from libc.
21492
21493         Avoid a link-time failure on some Linux systems.
21494         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
21495         (otherwise).
21496         (__mon_yday): Declare with the STATIC attribute.
21497         (__mktime_internal): Likewise.
21498         Based on a report from Greg Schafer.
21499
21500 2002-11-23  Jim Meyering  <jim@meyering.net>
21501
21502         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
21503         Use `unsigned', not `int', as type of index.
21504
21505         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
21506
21507         * lib/fsusage.c: Remove unneeded parentheses around operands of
21508         `defined'.
21509
21510 2002-11-22  Paul Eggert  <eggert@twinsun.com>
21511
21512         * lib/quotearg.h: Allow multiple inclusion by surrounding with
21513         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
21514         so that we can be included first.
21515         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
21516         * lib/quotearg.c: Include quotearg.h immediately after config.h.
21517         No need to include stddef.h or sys/types.h any more.
21518         Surround local include files with "", not "<>".
21519         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
21520         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
21521         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
21522         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
21523         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
21524         (ISPRINT): Remove; no longer needed now that we assume C89.
21525
21526         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
21527         Preserve errno.
21528
21529         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
21530         quotearg_char): Use SIZE_MAX rather than
21531         (size_t) -1 when we are talking about "infinity".
21532
21533         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
21534
21535 2002-11-22  Paul Eggert  <eggert@twinsun.com>
21536
21537         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
21538         hint that one should use `if (! x) abort ();' rather than `assert
21539         (x);', and anyway it's one less thing to worry about configuring.
21540         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
21541         hash_rehash, hash_insert): Use abort rather than assert.
21542
21543 2002-11-22  Bruno Haible  <bruno@clisp.org>
21544
21545         * lib/safe-read.h: Assume C89. Add comments.
21546         (safe_read): Change return type to size_t.
21547         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
21548         byte counts > SSIZE_MAX correctly.
21549         * lib/safe-write.h: New file.
21550         * lib/safe-write.c: New file.
21551         * lib/full-read.h: New file.
21552         * lib/full-read.c: New file.
21553         * lib/full-write.h: Assume C89. Add comments.
21554         * lib/full-write.c: Include safe-write.h.
21555         (full_write): Rewritten to use safe_write.
21556         Suggested by Jim Meyering and Paul Eggert.
21557
21558 2002-11-21  Jim Meyering  <jim@meyering.net>
21559
21560         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
21561
21562         Merge in changes from the coreutils.
21563
21564         2002-09-25  Paul Eggert  <eggert@twinsun.com>
21565         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
21566         <stdint.h>.
21567         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
21568         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
21569         int.  Work more efficiently if X is the same width as uintmax_t.
21570         Do not compare X to -1, to avoid bogus compiler warning.
21571         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
21572         Don't assume that f_frsize and f_bsize are the same type.
21573
21574         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
21575         warning on FreeBSD.
21576
21577         * lib/makepath.c (make_path): Restore umask *before* creating the final
21578         component.
21579         (make_path): Minor reformatting.
21580
21581         * lib/xmalloc.c: Adjust to work with new autoconf macros,
21582         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
21583         HAVE_MALLOC/HAVE_REALLOC.
21584
21585         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
21586         dummy ones.  At least on GNU/Linux systems, `auto' means something
21587         else.
21588         From Michael Stone.
21589
21590 2002-11-21  Bruno Haible  <bruno@clisp.org>
21591
21592         Remove case insensitive option matching.
21593         * lib/argmatch.h (argcasematch): Remove declaration.
21594         (ARGCASEMATCH): Remove macro.
21595         (__xargmatch_internal): Remove case_sensitive argument.
21596         (XARGMATCH): Update.
21597         (XARGCASEMATCH): Remove macro.
21598         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
21599         case_sensitive argument.
21600         (argcasematch): Remove function.
21601         (__xargmatch_internal): Remove case_sensitive argument.
21602         (main): Use XARGMATCH instead of XARGCASEMATCH.
21603
21604         * lib/xmalloc.c: Change compile-time error message. Add comment about
21605         required autoconf version.
21606
21607 2002-11-20  Paul Eggert  <eggert@twinsun.com>
21608
21609         Merge argmatch cleanups from Bison.  Assume C89.
21610
21611         * lib/argmatch.c: Include config.h here, not in argmatch.h.
21612         Include stdlib.h, for EXIT_FAILURE.
21613         Always include <string.h>, since we assume C89.
21614         (EXIT_FAILURE): Remove pre-C89 bug workaround.
21615         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
21616         Include <stddef.h> instead, since it's all we need for size_t.
21617         (PARAMS): Remove.  All uses removed.
21618         (ARRAY_CARDINALITY): Do not bother to #undef.
21619         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
21620         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
21621         Remove unnecessary parentheses.
21622         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
21623         Insert necessary parentheses.
21624         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
21625         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
21626
21627 2002-11-19  Bruno Haible  <bruno@clisp.org>
21628
21629         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
21630         * lib/mbswidth.h: Include <stddef.h>, for size_t.
21631
21632         * lib/mbswidth.h (PARAMS): Remove macro.
21633         (mbswidth, mbsnwidth): Use ANSI C function declarations.
21634         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
21635
21636         * lib/gcd.h (PARAMS): Remove macro.
21637         (gcd): Use ANSI C function declarations.
21638         * lib/gcd.c (gcd): Likewise.
21639
21640 2002-11-15  Bruno Haible  <bruno@clisp.org>
21641
21642         * lib/strcspn.c: Include <stddef.h>.
21643         (strcspn): Use ANSI C function declaration. Change return type to
21644         size_t. Use NULL.
21645         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
21646         (strpbrk): Use NULL.
21647         * lib/strpbrk.h (PARAMS): Remove macro.
21648         (strpbrk): Use ANSI C function declaration.
21649         * lib/strstr.c: Don't include <sys/types.h>.
21650         * lib/strstr.h (PARAMS): Remove macro.
21651         (strstr): Use ANSI C function declarations.
21652
21653 2002-11-14  Karl Berry  <karl@gnu.org>
21654
21655         * config/mkinstalldirs: `do' on separate line, instead of
21656         `for var; do'.
21657
21658 2002-11-06  Bruno Haible  <bruno@clisp.org>
21659
21660         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
21661         * lib/gcd.c (gcd): Likewise.
21662
21663 2002-11-05  Bruno Haible  <bruno@clisp.org>
21664
21665         * lib/gcd.h: New file, from gettext-0.11.5.
21666         * lib/gcd.c: New file, from gettext-0.11.5.
21667
21668 2002-11-05  Bruno Haible  <bruno@clisp.org>
21669
21670         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21671         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21672         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21673         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
21674
21675         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
21676         <libintl.h>.
21677         * lib/makepath.c: Include gettext.h instead of <locale.h> and
21678         <libintl.h>.
21679
21680         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
21681         * lib/human.c: Include gettext.h instead of <libintl.h>.
21682         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
21683         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
21684         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
21685         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
21686         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
21687         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
21688         (textdomain): Remove definition.
21689         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
21690
21691         * lib/long-options.c: Remove include of <libintl.h> and definition of
21692         _.
21693         * lib/same.c: Remove include of <libintl.h> and definition of _.
21694
21695 2002-11-04  Owen Taylor  <otaylor@redhat.com>
21696
21697         * lib/config.charset: A few additions for Solaris.
21698
21699 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
21700
21701         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
21702         * lib/localcharset.c (locale_charset): Declare as extern "C".
21703
21704 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
21705
21706         * lib/config.charset: msdos in uk_UA uses CP1125.
21707
21708 2002-11-04  Bruno Haible  <bruno@clisp.org>
21709
21710         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
21711         * lib/strcase.h: New file, from GNU gettext-0.11.5.
21712         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
21713         * lib/strstr.h: New file, from GNU gettext-0.11.5.
21714         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
21715
21716 2002-11-04  Bruno Haible  <bruno@clisp.org>
21717
21718         * lib/localcharset.c (locale_charset): Don't return an empty string.
21719
21720 2002-11-04  Bruno Haible  <bruno@clisp.org>
21721
21722         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
21723         aliases.
21724
21725 2002-11-04  Bruno Haible  <bruno@clisp.org>
21726
21727         * lib/config.charset: Update for newest glibc. Add canonical names
21728         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
21729
21730 2002-11-04  Bruno Haible  <bruno@clisp.org>
21731
21732         * lib/config.charset: Add support for NetBSD.
21733
21734 2002-11-04  Bruno Haible  <bruno@clisp.org>
21735
21736         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
21737
21738 2002-11-01  Bruno Haible  <bruno@clisp.org>
21739
21740         * configure.in: Add AC_CONFIG_AUX_DIR call.
21741         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
21742         test/Makefile.
21743         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
21744
21745 2002-09-28  Karl Berry  <karl@gnu.org>
21746
21747         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
21748         installed automake until the next release, since changes have been
21749         made.
21750
21751 2002-09-25  Karl Berry  <karl@gnu.org>
21752
21753         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
21754         * lib/getopt*: copy from libc/posix.
21755         * lib/gettext.h: copy from gettext.
21756         * lib/.cppi-disable: add strdup.c, gettext.h.
21757
21758 2002-09-25  Karl Berry  <karl@gnu.org>
21759
21760         * config/srclist.txt: enable gettext.h check.
21761         * config/config.{guess,sub}: update from prep.
21762         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
21763                 from automake 1.6.3.
21764         See srclist*.
21765
21766 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
21767
21768         * regex.c (PATFETCH): Remove the translating fetch.
21769         (PATFETCH_RAW): Rename to PATFETCH.
21770         (set_image_of_range): New fun.
21771         (SET_RANGE_TABLE_WORK_AREA): Use it.
21772         (regex_compile): Don't translate the pattern chars so eagerly.
21773         Only do it when inserting an `exactn' bytecode or when handling
21774         a char-range.
21775         (mutually_exclusive_p): Avoid empty statement.
21776
21777 2002-07-06  Jim Meyering  <meyering@lucent.com>
21778
21779         * m4/README: Don't mention Makefile.am.in.
21780         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
21781
21782 2002-07-01  Jim Meyering  <meyering@lucent.com>
21783
21784         * lib/c-stack.c: Include sys/time.h.
21785         From Volker Borchert.
21786
21787 2002-06-26  Paul Eggert  <eggert@twinsun.com>
21788
21789         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
21790
21791 2002-06-26  Paul Eggert  <eggert@twinsun.com>
21792
21793         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
21794         New macro.  Use it uniformly instead of
21795         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
21796         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
21797         reported by Vin Shelton.
21798
21799 2002-06-22  Paul Eggert  <eggert@twinsun.com>
21800
21801         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
21802         Do not assume SA_SIGINFO behavior.
21803         Bug reported by Jim Meyering on NetBSD 1.5.2.
21804
21805 2002-06-22  Jim Meyering  <meyering@lucent.com>
21806
21807         * m4/c-stack.m4: New file, from diffutils-2.8.2.
21808         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
21809
21810         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
21811         now that configure.ac uses AC_GNU_SOURCE.
21812         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
21813         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
21814
21815         Update to latest tools.  Suggestions from Paul Eggert.
21816         * m4/stdbool.m4: New file, from diffutils-2.8.2.
21817         * m4/gnu-source.m4: Update from diffutils-2.8.2.
21818         * m4/fnmatch.m4: Likewise.
21819         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
21820         to AC_HEADER_STDBOOL
21821
21822 2002-06-22  Jim Meyering  <meyering@lucent.com>
21823
21824         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
21825         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
21826
21827 2002-06-22  Jim Meyering  <meyering@lucent.com>
21828
21829         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
21830
21831         * lib/exitfail.c, exitfail.h: Likewise.
21832         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
21833
21834         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
21835         of fnmatch.h.
21836         (EXTRA_DIST): Add fnmatch_loop.c.
21837         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
21838
21839         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
21840         * lib/fnmatch.c: Update from diffutils-2.8.2.
21841         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
21842         * lib/fnmatch.h: Remove file.
21843
21844 2002-06-21  Jim Meyering  <meyering@lucent.com>
21845
21846         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
21847         * m4/mbrtowc.m4: Likewise.
21848
21849         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
21850         * m4/mbswidth.m4: Reflect name change:
21851         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
21852         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
21853
21854         * m4/lib-link.m4: Update from gettext-0.11.2.
21855         * m4/gettext.m4: Likewise.
21856
21857         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
21858         From Alfred M. Szmidt.
21859
21860 2002-06-18  Paul Eggert  <eggert@twinsun.com>
21861
21862         * lib/file-type.h: Report an error if neither S_ISREG nor
21863         S_IFREG is defined, instead of using a test specific to glibc
21864         2.2.  This should be safe, since POSIX requires S_ISREG and
21865         Unix Version 7 had S_IFREG.  We don't need to check for
21866         <sys/types.h> since we don't use any symbols that it defines.
21867
21868 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
21869
21870         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
21871         $@-t, so that each temporary file name is unique and valid in the first
21872         8 characters, for operation under DOS.
21873
21874 2002-06-15  Paul Eggert  <eggert@twinsun.com>
21875
21876         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
21877
21878 2002-06-15  Jim Meyering  <meyering@lucent.com>
21879
21880         Work even with DJGPP 2.03, which lacks support for symlinks.
21881         From Richard Dawe.
21882         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
21883         is defined.
21884         * lib/lchown.c (S_ISLNK): Likewise.
21885
21886 2002-06-15  Jim Meyering  <meyering@lucent.com>
21887
21888         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
21889         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
21890         have been included before this file.
21891
21892 2002-06-14  Jim Meyering  <meyering@lucent.com>
21893
21894         * lib/file-type.h: Use the version from diffutils-2.8.2.
21895         * lib/file-type.c: Likewise.
21896
21897 2002-06-07  Jim Meyering  <meyering@lucent.com>
21898
21899         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
21900         They're needed at least for NetBSD 1.5.2.
21901         ($statxfs_includes): Include those same headers.
21902         ($statxfs_includes): Include sys/vfs.h if available.
21903         ($statxfs_includes): Likewise for sys/statvfs.h.
21904         Check for the following members in both structs statfs and statvfs:
21905         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
21906
21907 2002-06-01  Jim Meyering  <meyering@lucent.com>
21908
21909         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
21910         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
21911
21912 2002-05-28  Jim Meyering  <meyering@lucent.com>
21913
21914         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
21915         Reported by Volker Borchert.
21916
21917 2002-05-27  Jim Meyering  <meyering@lucent.com>
21918
21919         Fix a problem seen only on nonconforming systems whereby ls.c's
21920         use of localtime, and then of gettimeofday would cause trouble:
21921         the localtime call used to initialize rpl_gettimeofday's save
21922         mechanism would clobber ls's current local time information so
21923         that in any long listing the first file would always be listed
21924         with date 1970-01-01.  Analysis by Volker Borchert.
21925
21926         * lib/gettimeofday.c (localtime): Undefine.
21927         (rpl_localtime): New function.
21928
21929 2002-05-27  Jim Meyering  <meyering@lucent.com>
21930
21931         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
21932         localtime.
21933
21934         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
21935         use the replacement function; it wouldn't resolve at link time.
21936         Reported by Volker Borchert.
21937
21938 2002-05-22  Jim Meyering  <meyering@lucent.com>
21939
21940         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
21941         file-type.h.
21942         * lib/file-type.h: New file.
21943         * lib/file-type.c (file_type): New file/function.  Extracted from
21944         diffutils.
21945
21946 2002-04-30  Jim Meyering  <meyering@lucent.com>
21947
21948         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
21949
21950 2002-04-29  Paul Eggert  <eggert@twinsun.com>
21951
21952         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
21953
21954 2002-04-29  Paul Eggert  <eggert@twinsun.com>
21955
21956         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
21957         Do not check for alloca.h (no longer used) or stdbool.h (was never
21958         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
21959
21960 2002-04-29  Paul Eggert  <eggert@twinsun.com>
21961
21962         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
21963
21964 2002-04-29  Jim Meyering  <meyering@lucent.com>
21965
21966         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
21967         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
21968         Use AC_FUNC_STRNLEN here instead.
21969
21970         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
21971         With autoconf-2.53a, it's part of AC_PROG_CC.
21972
21973 2002-04-28  Paul Eggert  <eggert@twinsun.com>
21974
21975         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
21976         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
21977
21978 2002-04-28  Paul Eggert  <eggert@twinsun.com>
21979
21980         * lib/sig2str.h, lib/sig2str.c: New files.
21981         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
21982
21983 2002-04-28  Paul Eggert  <eggert@twinsun.com>
21984
21985         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
21986         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
21987         of 127, since 64 is the largest conceivable number for ancient
21988         nonstandard hosts.
21989         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
21990
21991 2002-04-28  Jim Meyering  <meyering@lucent.com>
21992
21993         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
21994
21995 2002-04-24  Jim Meyering  <meyering@lucent.com>
21996
21997         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
21998         (jm_PREREQ): Use it.
21999
22000         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
22001         mach/mach.h fcntl.h.
22002         Check for this function: setlocale.
22003
22004 2002-04-24  Jim Meyering  <meyering@lucent.com>
22005
22006         * lib/gettext.h: New file, from Gettext.
22007         * lib/Makefile.am (INCLUDES): Remove -I../intl.
22008         (libfetish_a_SOURCES): Add gettext.h.
22009
22010 2002-04-16  Jim Meyering  <meyering@lucent.com>
22011
22012         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
22013         ut_pid, ut_id, ut_exit.
22014
22015 2002-04-16  Jim Meyering  <meyering@lucent.com>
22016
22017         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
22018         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
22019         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
22020
22021 2002-04-12  Jim Meyering  <meyering@lucent.com>
22022
22023         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
22024         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
22025         existence of the getmntinfo function.  Needed for Darwin 5.3.
22026
22027         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
22028         This is necessary at least on Darwin 5.3.
22029
22030         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
22031         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
22032         strnlen.o in the library, and that makes some versions of ranlib
22033         object.
22034
22035 2002-04-12  Jim Meyering  <meyering@lucent.com>
22036
22037         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
22038
22039 2002-04-09  Jim Meyering  <meyering@lucent.com>
22040
22041         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
22042         to be more precise.  Rather than saying we're checking whether the
22043         function `works', say what we're testing.
22044         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
22045         Reported by Bruno Haible.
22046
22047 2002-03-10  Jim Meyering  <meyering@lucent.com>
22048
22049         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
22050         Suggestion from Santiago Vila.
22051
22052 2002-03-08  Jim Meyering  <meyering@lucent.com>
22053
22054         * lib/rename.c: Mention that this wrapper is needed also on
22055         mips-dec-ultrix4.4 systems.
22056
22057 2002-03-02  Jim Meyering  <meyering@lucent.com>
22058
22059         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
22060         not HAVE_CLOCK_SETTIME.
22061
22062 2002-02-27  Paul Eggert  <eggert@twinsun.com>
22063
22064         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
22065         Check for clock_settime.
22066
22067 2002-02-27  Paul Eggert  <eggert@twinsun.com>
22068
22069         * lib/nanosleep.h: Rename to....
22070         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
22071
22072         * lib/gettime.c: New file.
22073         * lib/settime.c: New file.
22074         * lib/stime.c: Remove.
22075
22076         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
22077         timespec.h.  Remove nanosleep.h.
22078
22079 2002-02-25  Paul Eggert  <eggert@twinsun.com>
22080
22081         * m4/acl.m4: New file.
22082         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
22083         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
22084
22085 2002-02-25  Paul Eggert  <eggert@twinsun.com>
22086
22087         * lib/acl.c, lib/acl.h: New files.
22088         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
22089
22090 2002-02-24  Jim Meyering  <meyering@lucent.com>
22091
22092         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
22093         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
22094         cause trouble.  Reported by Nelson Beebe.
22095
22096 2002-02-23  Paul Eggert  <eggert@twinsun.com>
22097
22098         * lib/path-concat.c (xpath_concat): Reorder code to pacify
22099         compilers that don't know that xalloc_die never returns.
22100
22101 2002-02-20  Jim Meyering  <meyering@lucent.com>
22102
22103         * lib/getdate.c: Regenerate using bison-1.33.
22104
22105 2002-02-17  Jim Meyering  <meyering@lucent.com>
22106
22107         * config/config.guess (main): Don't use `head -1'; it's no longer
22108         portable. Use `sed 1q' instead.
22109
22110 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
22111
22112         * m4/codeset.m4: Upgrade to gettext-0.11.
22113         * m4/gettext.m4: Upgrade to gettext-0.11.
22114         * m4/glibc21.m4: Upgrade to gettext-0.11.
22115         * m4/iconv.m4: Upgrade to gettext-0.11.
22116         * m4/isc-posix.m4: Upgrade to gettext-0.11.
22117         * m4/lcmessage.m4: Upgrade to gettext-0.11.
22118         * m4/lib-ld.m4: New file, from gettext-0.11.
22119         * m4/lib-link.m4: New file, from gettext-0.11.
22120         * m4/lib-prefix.m4: New file, from gettext-0.11.
22121         * m4/progtest.m4: Upgrade to gettext-0.11.
22122
22123 2002-02-15  Paul Eggert  <eggert@twinsun.com>
22124
22125         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
22126         (jm_PREREQ): Use it.
22127
22128 2002-02-15  Paul Eggert  <eggert@twinsun.com>
22129
22130         * lib/posixver.c, lib/posixver.h: New files.
22131         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
22132
22133 2002-02-02  Paul Eggert  <eggert@twinsun.com>
22134             Bruno Haible  <bruno@clisp.org>
22135
22136         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
22137         (fwrite_success_callback): New declaration.
22138         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
22139         print_unicode_char. Call failure callback instead of error.
22140         (fwrite_success_callback): New function.
22141         (exit_failure_callback): New function.
22142         (fallback_failure_callback): New function.
22143         (print_unicode_char): Call unicode_to_mb.
22144
22145 2002-01-26  Jim Meyering  <meyering@lucent.com>
22146
22147         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
22148         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
22149
22150 2002-01-26  Jim Meyering  <meyering@lucent.com>
22151
22152         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
22153
22154 2002-01-22  Paul Eggert  <eggert@twinsun.com>
22155
22156         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
22157
22158 2002-01-22  Jim Meyering  <meyering@lucent.com>
22159
22160         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
22161         Otherwise, some versions of automake would omit the rule that makes
22162         Makefile from Makefile.in.
22163
22164 2002-01-21  Paul Eggert  <eggert@twinsun.com>
22165
22166         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
22167         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
22168         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
22169         (memcoll): Set errno to zero if there is no error.
22170
22171         * lib/quotearg.c (quotearg_buffer_restyled):
22172         Fix bug with quoting buffers containing NUL when backslashing escapes.
22173         This bug was exposed by the other changes in this patch.
22174         (quotearg_n_options): New arg ARGSIZE.
22175         All callers changed.
22176         (quoting_options_from_style): New function.
22177         (quotearg_n_style): Use it.
22178         (quotearg_n_style_mem): New function.
22179
22180         * lib/quotearg.h (quotearg_n_style_mem): New function.
22181
22182 2002-01-19  Jim Meyering  <meyering@lucent.com>
22183
22184         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
22185         Remove useless quotes: DF_PROG="df".
22186         * m4/strnlen.m4: New file.
22187
22188 2002-01-16  Paul Eggert  <eggert@twinsun.com>
22189
22190         * lib/backupfile.c (ISDIGIT): Comment fix.
22191         * lib/getdate.y (ISDIGIT): Likewise.
22192         * lib/posixtm.c (ISDIGIT, year): Likewise.
22193         * lib/strverscmp.c (ISDIGIT): Likewise.
22194         * lib/userspec.c (ISDIGIT): Likewise.
22195
22196 2002-01-16  Jim Meyering  <meyering@lucent.com>
22197
22198         * lib/getdate.y: Add three semicolons, each just before a closing
22199         brace. Bison (as of version 1.31) no longer papers over that mistake.
22200
22201 2002-01-05  Jim Meyering  <meyering@lucent.com>
22202
22203         * lib/version-etc.c (version_etc_copyright): Update copyright year.
22204
22205 2001-12-19  Paul Eggert  <eggert@twinsun.com>
22206
22207         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
22208         not silently exit merely because the output buffer happens to
22209         have nothing pending.
22210
22211 2001-12-18  Paul Eggert  <eggert@twinsun.com>
22212
22213         See the big note in ../ChangeLog.
22214         * lib/human.c (suffixes): Prefer K to k for 1024.
22215         (generate_suffix_backwards): New function.
22216         (human_readable_inexact): Use it.
22217         * lib/xstrtol.c (__xstrtol): If there is no number but there
22218         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
22219         Accept 'K' as well as 'k'.
22220
22221 2001-12-15  Jim Meyering  <meyering@lucent.com>
22222
22223         * lib/regex.h (__restrict_arr): Update from libc.
22224
22225         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
22226         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
22227         (STREQ): Define.
22228
22229 2001-12-14  Jim Meyering  <meyering@lucent.com>
22230
22231         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
22232         Suggestion from Bruno Haible.
22233
22234 2001-12-10  Jim Meyering  <meyering@lucent.com>
22235
22236         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
22237         xrealloc, Instead, include "xalloc.h".
22238         (initbuffer): Don't cast xmalloc return value to char*.
22239         (readline): Reword comment.
22240         Don't cast xrealloc return value to char*
22241         Return NULL, not 0.
22242
22243 2001-12-09  Jim Meyering  <meyering@lucent.com>
22244
22245         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
22246         about `signed and unsigned type in conditional expression'.
22247         * lib/posixtm.c (posix_time_parse): Likewise.
22248
22249         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
22250
22251         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
22252         to avoid a pedantic warning.
22253
22254         * lib/getstr.c: Don't include assert.h.
22255         (getstr): Remove warning-evoking assertions.
22256         Return -1 if offset parameter is out of bounds.
22257         Change the type of a local from int to size_t.
22258
22259         * lib/strftime.c (my_strftime_localtime_r): Include this function
22260         definition in the `#if ! HAVE_TM_GMTOFF' block.
22261
22262         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
22263         Include xalloc.h instead.
22264
22265 2001-12-02  Jim Meyering  <meyering@lucent.com>
22266
22267         * lib/tempname.c: Don't declare getenv, thus reverting the change of
22268         2001-11-18.  It's no longer necessary, now that stdlib.h is always
22269         included.
22270
22271         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
22272         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
22273
22274 2001-11-30  Akim Demaille  <akim@epita.fr>
22275
22276         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
22277         before being defined.
22278
22279 2001-11-27  Paul Eggert  <eggert@twinsun.com>
22280
22281         * lib/quotearg.h (quotearg_n, quotearg_n_style):
22282         First arg is int, not unsigned.
22283         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
22284         (SIZE_MAX, UINT_MAX): New macros.
22285         (quotearg_n_options): Abort if N is negative.
22286         Avoid overflow check on hosts where size_t is 64 bits and int
22287         is 32 bits, as overflow is impossible there.
22288         Fix off-by-one typo that caused unnecessary reallocation.
22289
22290 2001-11-27  Jim Meyering  <meyering@lucent.com>
22291
22292         * lib/tempname.c: Merge with version from libc.
22293         * lib/regex.c: Likewise.
22294
22295         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
22296         systems for which STDC_HEADERS is 0, it was not included, resulting in
22297         a warning about an integer-to-pointer conversion problem with getenv.
22298         Reported by Volker Borchert.
22299
22300 2001-11-26  Jim Meyering  <meyering@lucent.com>
22301
22302         * lib/gtod.h: Remove file.
22303         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
22304         * lib/gettimeofday.c: Don't include gtod.h.
22305         (GTOD_init): Remove function.
22306         (rpl_gettimeofday): Do its job here instead, rather than aborting.
22307         Suggestion from Volker Borchert.
22308
22309 2001-11-23  Jim Meyering  <meyering@lucent.com>
22310
22311         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
22312         it.
22313         * lib/hash.c (struct hash_table): Define it here instead.
22314
22315 2001-11-22  Jim Meyering  <meyering@lucent.com>
22316
22317         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
22318
22319 2001-11-20  Jim Meyering  <meyering@lucent.com>
22320
22321         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
22322         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
22323
22324 2001-11-19  Jim Meyering  <meyering@lucent.com>
22325
22326         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
22327         directory.  Use "conftestXXXXXX" as the template.
22328         Suggestion from Paul Eggert.
22329
22330         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
22331         immediately, so the test doesn't mistakenly hit the max-open-files
22332         limit.
22333
22334 2001-11-18  Paul Eggert  <eggert@twinsun.com>
22335
22336         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
22337         (TEMPORARIES): New macro.
22338         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
22339         removes an artificial limitation (e.g. HP-UX 10.20, where
22340         TMP_MAX is 17576).
22341
22342 2001-11-18  Jim Meyering  <meyering@lucent.com>
22343
22344         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
22345
22346 2001-11-18  Jim Meyering  <meyering@lucent.com>
22347
22348         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
22349         on SunOS 4.
22350
22351         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
22352         files will be created before anything else.
22353
22354 2001-11-17  Paul Eggert  <eggert@twinsun.com>
22355
22356         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
22357         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
22358
22359 2001-11-17  Jim Meyering  <meyering@lucent.com>
22360
22361         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
22362         Prompted by a report from Bob Proulx.
22363
22364         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
22365         Instead, require UTILS_FUNC_MKSTEMP.
22366
22367 2001-11-17  Jim Meyering  <meyering@lucent.com>
22368
22369         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
22370         Now, that's done as part of AC_FUNC_STRTOD.
22371
22372 2001-11-17  Jim Meyering  <meyering@lucent.com>
22373
22374         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
22375         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
22376         rather than group writable.  Patch by Juan F. Codagnone.
22377
22378         * lib/readtokens.c: Remove explicit declarations of xmalloc and
22379         xrealloc, Instead, include "xalloc.h".
22380
22381         * lib/mountlist.c: Include unlocked-io.h after all system headers.
22382         Remove explicit declarations of xmalloc, xrealloc,
22383         and xstrdup.  Instead, include "xalloc.h".
22384
22385         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
22386         unlocked-io.h.
22387         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
22388         Likewise.
22389         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
22390
22391         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
22392         Reported by Padraig Brady.
22393
22394         * lib/mkstemp.c: #undef mkstemp.
22395         Include config.h.
22396         (rpl_mkstemp): Rename from mkstemp.
22397         Protoize.
22398
22399 2001-11-16  Jim Meyering  <meyering@lucent.com>
22400
22401         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
22402         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
22403         determine the amount of total physical memory, use pstat_getstatic.
22404         HPUX-11 doesn't define _SC_PHYS_PAGES.
22405         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
22406         If sysconf couldn't be used to determine the amount of available
22407         physical memory, use both pstat_getstatic and pstat_getdynamic.
22408         Based on a patch from Bob Proulx.
22409
22410 2001-11-10  Jim Meyering  <meyering@lucent.com>
22411
22412         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
22413         (jm_PREREQ): Use it.
22414
22415 2001-11-09  Jim Meyering  <meyering@lucent.com>
22416
22417         * m4/jm-macros.m4: Require autoconf-2.52f.
22418         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
22419         Use these AC_-prefixed names, not the AM_-prefixed ones.
22420
22421         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
22422
22423 2001-11-05  Jim Meyering  <meyering@lucent.com>
22424
22425         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
22426
22427 2001-11-04  Jim Meyering  <meyering@lucent.com>
22428
22429         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
22430         $DEFS.
22431
22432 2001-11-03  Jim Meyering  <meyering@lucent.com>
22433
22434         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
22435         of AC_DEFUN.
22436
22437         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
22438         know the name of the variable in the macro definition.
22439
22440 2001-11-03  Jim Meyering  <meyering@lucent.com>
22441
22442         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
22443         in argmatch_to_argument call.
22444
22445         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
22446         argument.
22447
22448         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
22449         e.g., a fault due to an attempt to free a NULL pointer.
22450
22451 2001-11-01  Jim Meyering  <meyering@lucent.com>
22452
22453         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
22454         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
22455
22456 2001-11-01  Jim Meyering  <meyering@lucent.com>
22457
22458         * lib/dirfd.c, lib/dirfd.h: New files.
22459         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
22460
22461         * lib/hash.c (hash_print) [TESTING]: Clean up.
22462
22463 2001-10-22  Paul Eggert  <eggert@twinsun.com>
22464
22465         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
22466         to avoid a warning if -Wall.
22467
22468 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
22469
22470         * README: New file
22471         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
22472         (per RMS's instructions, this is now the canonical source)
22473         * lgpl/, gpl/: New directories.
22474
22475 2001-10-21  Paul Eggert  <eggert@twinsun.com>
22476
22477         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
22478
22479 2001-10-21  Jim Meyering  <meyering@lucent.com>
22480
22481         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
22482         this code would end up calling gettext even in packages built
22483         with --disable-nls.
22484         * lib/getopt.c (_): Likewise.
22485         * lib/regex.c (_): Likewise.
22486
22487 2001-10-20  Paul Eggert  <eggert@twinsun.com>
22488
22489         * m4/error.m4 (jm_PREREQ_ERROR):
22490         Do not invoke AC_CHECK_FUNCS with strerror_r, as
22491         AC_FUNC_STRERROR_R does that.
22492         Check for strerror declaration.
22493
22494         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
22495         are supposed to have them these days.
22496         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
22497         Merge changes from latest Autoconf CVS.
22498         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
22499         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
22500         POSIX decided to standardize on the int flavor of strerror_r.
22501
22502 2001-10-20  Paul Eggert  <eggert@twinsun.com>
22503
22504         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
22505         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
22506         Use strerror_r that is only a macro, even if it is not a function.
22507         (strerror): Check for HAVE_DECL_STRERROR before declaring.
22508         (private_strerror): Use prototypes, not old-style function definition.
22509         (print_errno_message): New function.
22510         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
22511         char*-flavored one.
22512         (error_tail, error, error_at_line): Use it.
22513
22514 2001-10-11  Jim Meyering  <meyering@lucent.com>
22515
22516         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
22517         and quote_n (1, ... to avoid clobbering a buffer.
22518
22519 2001-10-05  Jim Meyering  <meyering@lucent.com>
22520
22521         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
22522         hash-pjw.h.
22523         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
22524         * lib/hash-pjw.h: New file.
22525
22526 2001-09-30  Jim Meyering  <meyering@lucent.com>
22527
22528         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
22529         `struct fsstat' has the `f_fstypename' member.
22530         Use that to define FS_TYPE, which is now used to make
22531         the getfsstat link test tighter.
22532
22533 2001-09-30  Jim Meyering  <meyering@lucent.com>
22534
22535         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
22536         Include <sys/ucred.h>, for Apple Darwin.
22537         Include sys/mount.h and sys/fs_types.h only if available.
22538         (FS_TYPE): Define.
22539         (read_filesystem_list): Use FS_TYPE.
22540
22541 2001-09-29  Paul Eggert  <eggert@twinsun.com>
22542
22543         * lib/exclude.c (excluded_filename): 0 -> false, since it's
22544         a boolean context.
22545
22546 2001-09-29  Jim Meyering  <meyering@lucent.com>
22547
22548         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
22549         [one-argument getmntent function]): Include stdio.h before mntent.h.
22550         SunOS 4.1.x needs it for the declaration of `FILE'.
22551         Patch by Volker Borchert.
22552
22553         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
22554         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
22555         sys/fs_types.h, and make the link-test for getfsstat guard #include
22556         directives with appropriate #if HAVE_*_H tests so that we can
22557         detect getfsstat on Apple Darwin1.3.7 systems.
22558         Reported by Nelson Beebe.
22559         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
22560
22561 2001-09-28  Paul Eggert  <eggert@twinsun.com>
22562
22563         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
22564         #defines strtoimax.  Also treat the other strto* functions
22565         like strtoimax.
22566
22567         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
22568         Check for strtoul and strtoumax,
22569         as those declarations are made even in the signed case.
22570         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
22571         Likewise, for strtol and strtoimax.
22572
22573 2001-09-28  Paul Eggert  <eggert@twinsun.com>
22574
22575         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
22576         #defines strtoimax.  Also treat the other strto* functions
22577         like strtoimax.
22578
22579         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
22580         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
22581         (strtoimax, strtoumax): Do not declare if already defined as a macro.
22582
22583 2001-09-26  Jim Meyering  <meyering@lucent.com>
22584
22585         Most macros in unlocked-io.h had the wrong number of arguments.
22586         * lib/gen-uio: New script.
22587         (USE_UNLOCKED_IO): Define to 1 if not already defined.
22588         * lib/unlocked-io.hin: Remove file.
22589         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
22590         rather than trying to embed it here.
22591         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
22592         Reported by Padraig Brady.
22593
22594 2001-09-25  Volker Borchert  <bt@teknon.de>
22595
22596         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
22597         `result'.
22598
22599 2001-09-24  Jim Meyering  <meyering@lucent.com>
22600
22601         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
22602
22603 2001-09-23  Jim Meyering  <meyering@lucent.com>
22604
22605         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
22606         instead of the mere test for existence of mntent.h.  The latter
22607         would get a false-positive on AIX 3.4 systems.
22608         In the outer getmntent if-block, don't die if neither of the getmntent
22609         tests succeeds.  Instead, just fall through and continue with the
22610         remaining tests.
22611
22612 2001-09-23  Jim Meyering  <meyering@lucent.com>
22613
22614         * lib/mountlist.c: Remove useless parentheses in #if directives.
22615         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
22616         the deprecated MOUNTED symbol is no longer defined in mntent.h.
22617
22618 2001-09-22  Jim Meyering  <meyering@lucent.com>
22619
22620         * m4/gettext.m4: New file.  From gettext.
22621         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
22622         * m4/progtest.m4: Likewise
22623         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
22624         * m4/glibc21.m4: Likewise.
22625
22626         * m4/libintl.m4: Remove.  No longer used.
22627
22628 2001-09-22  Jim Meyering  <meyering@lucent.com>
22629
22630         * lib/localcharset.c: Update from latest gettext.
22631         * lib/config.charset: Likewise.
22632
22633 2001-09-20  Jim Meyering  <meyering@lucent.com>
22634
22635         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
22636         strtoimax.
22637         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
22638         strtoumax.
22639
22640 2001-09-20  Jim Meyering  <meyering@lucent.com>
22641
22642         * lib/xstrtol.c (strtoimax): Guard declaration with
22643         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
22644         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
22645         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
22646         (strtoumax): Likewise, for completeness (it wasn't necessary).
22647
22648 2001-09-17  Paul Eggert  <eggert@twinsun.com>
22649
22650         * lib/strtoimax.c (HAVE_LONG_LONG):
22651         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
22652         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
22653         to work around bug in IBM C compiler.
22654
22655 2001-09-17  Jim Meyering  <meyering@lucent.com>
22656
22657         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
22658         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
22659         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
22660         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
22661         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
22662         whenever the right hand side need not be expanded by the shell.
22663
22664 2001-09-16  Paul Eggert  <eggert@twinsun.com>
22665
22666         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
22667         library.  It's not correct, as some older glibcs are buggy.
22668         fnmatch wasn't fixed until glibc 2.2.
22669
22670         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
22671         special shell magic here.
22672
22673 2001-09-16  Jim Meyering  <meyering@lucent.com>
22674
22675         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
22676         * m4/jm-macros.m4: Require it.
22677
22678 2001-09-16  Jim Meyering  <meyering@lucent.com>
22679
22680         * lib/mkdir.c: New file.
22681
22682 2001-09-15  Jim Meyering  <meyering@lucent.com>
22683
22684         * m4/jm-macros.m4: Check for help2man.
22685
22686 2001-09-11  Jim Meyering  <meyering@lucent.com>
22687
22688         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
22689         The body, by Paul Eggert, was moved here from configure.in.
22690         * m4/jm-macros.m4: Require UTILS_HOST_OS.
22691
22692 2001-09-04  Paul Eggert  <eggert@twinsun.com>
22693
22694         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
22695         (jm_PREREQ): Use it.
22696
22697 2001-09-04  Paul Eggert  <eggert@twinsun.com>
22698
22699         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
22700         Use ssize_t, not int, to store result of readlink.
22701         Check for ssize_t overflow as well as size_t overflow,
22702         as POSIX says the result of readlink is implementation-defined
22703         when ssize_t overflows.
22704         Remove unnecessary cast to char*.
22705         Use free+malloc instead of realloc, as the storage doesn't need
22706         to be preserved and it's clearer and can be more efficient that way.
22707         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
22708         * lib/xreadlink.h (xreadlink): Update prototype.
22709
22710 2001-09-04  Paul Eggert  <eggert@twinsun.com>
22711
22712         * lib/xgetcwd.c: Revert some of the previous change; intead,
22713         fix the HAVE_GETCWD_NULL code to behave more like the
22714         !HAVE_GETCWD_NULL code used to.
22715
22716         Include "xalloc.h".
22717         (xgetcwd): Do not return NULL when memory is exhausted; instead,
22718         invoke xalloc_die.
22719
22720 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22721
22722         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
22723         sys/param.h, as pathmax.h includes them.
22724
22725 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22726
22727         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
22728         (jm_PREREQ_XGETCWD): New macro.
22729
22730         * m4/getcwd.m4: New file.
22731
22732 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22733
22734         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
22735         like the HAVE_GETCWD_NULL code.
22736         Include pathmax.h if not HAVE_GETCWD.
22737         Do not include xalloc.h.
22738         (INITIAL_BUFFER_SIZE): New symbol.
22739         Do not use xmalloc / xrealloc, since the caller is responsible for
22740         handling errors.  Preserve errno around `free' during failure.
22741         Do not overrun buffer when using getwd.
22742
22743 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22744
22745         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
22746         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
22747         getcwd (NULL, 0).
22748
22749 2001-09-03  Paul Eggert  <eggert@twinsun.com>
22750
22751         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
22752         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
22753         spotted by Jim Meyering.
22754
22755 2001-09-03  Jim Meyering  <meyering@lucent.com>
22756
22757         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
22758         failure.
22759
22760 2001-09-02  Jim Meyering  <meyering@lucent.com>
22761
22762         * lib/error.c: Update from GNU libc.
22763
22764 2001-09-01  Jim Meyering  <meyering@lucent.com>
22765
22766         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
22767         Used by df.
22768
22769 2001-09-01  Jim Meyering  <meyering@lucent.com>
22770
22771         * lib/xreadlink.c: New file.
22772         * lib/xreadlink.h: New file.
22773         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
22774         xreadlink.h.
22775
22776         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
22777         doesn't conflict with sparc Solaris 7's definition in
22778         /usr/include/sys/int_types.h.
22779
22780         * lib/exclude.c: Use `""', not `<>' to #include non-system header
22781         files.
22782         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
22783         and strncasecmp as r-values.  Unixware didn't have declarations.
22784
22785 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22786
22787         * lib/xstrtol.h: Add copyright notice.
22788         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
22789         LONGINT_INVALID_SUFFIX_CHAR.
22790
22791 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22792
22793         * lib/xstrtol.c (strtoimax): New decl.
22794
22795 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22796
22797         * lib/xgetcwd.c: Don't include pathmax.h.
22798         Include stdlib.h and unistd.h if available.
22799         Include xalloc.h.
22800         (xmalloc, xstrdup, free): Remove decls.
22801         (xgetcwd): Don't assume sizes fit in unsigned.
22802         Check for overflow when computing sizes.
22803         Simplify reallocation code.
22804
22805 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22806
22807         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
22808         a directory's st_size can have an arbitrary value, so the old
22809         usage could waste an arbitrary amount of memory.  All uses
22810         changed.
22811         * lib/savedir.h: Update prototype.
22812
22813 2001-08-31  Paul Eggert  <eggert@twinsun.com>
22814
22815         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
22816
22817         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
22818         old strtoimax.c.
22819
22820         Also, make the following further changes to make this file's
22821         configuration more similar to that of strtol.c:
22822         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
22823         (strtoumax, uintmax_t, strtoull, strtol): Remove.
22824         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
22825         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
22826         changed to signed values.
22827
22828         And make the following changes as well:
22829         Fix copyright notice, as 1999 was missing.
22830         (verify): New macro.
22831         (strtoimax): Check sizes at compile-time, not run-time.
22832         Prefer strtol to strtoll if both work.
22833         (main): Remove; it was not that useful and was a pain to maintain.
22834
22835         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
22836
22837 2001-08-31  Jim Meyering  <meyering@lucent.com>
22838
22839         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
22840         Use an initial, malloc'd, buffer of length 128 rather than
22841         a statically allocated one of length 1024.
22842
22843 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22844
22845         Simplify code, partly by assuming autoconf 2.52 semantics.
22846
22847         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
22848
22849         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
22850         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
22851         All uses removed.
22852         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
22853         Move AC_REQUIRE to next-to-top level, to avoid confusion.
22854         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
22855         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
22856         jm_AC_HEADER_INTTYPES_H.
22857         * m4/jm-macros.m4 (jm_MACROS): Likewise.
22858
22859         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
22860
22861         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
22862         Quote first arg of AC_DEFUN.
22863         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
22864         since they are needed to parse the include file even if we need
22865         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
22866         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
22867         but with opposite signedness.
22868
22869 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22870
22871         Merge 'exclude' changes from tar 1.13.22.
22872         This fixes one or two unlikely storage allocation overflow bugs,
22873         but doesn't change user-visible behavior otherwise.
22874
22875 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22876
22877         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
22878         (jm_PREREQ_EXCLUDE): New macro.
22879
22880 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22881
22882         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
22883         tm to be declared.
22884
22885 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22886
22887         * lib/hash.c: Remove '2001' from copyright notice.
22888
22889 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22890
22891         * lib/full-write.h: New file.
22892         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
22893         * lib/full-write.c: Correct credits, as cccp.c no longer
22894         exists and anyway it was so heavily changed from the old cccp
22895         code as to be unrecognizable.  Include full-write.h.
22896         (full_write) Return size_t, with short writes meaning failure.
22897         All callers changed.  This fixes a bug with large buffers
22898         on 64-bit hosts.
22899         * lib/utime.c: Include full-write.h.
22900
22901 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22902
22903         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
22904         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
22905         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
22906         Include if available.
22907         (<xalloc.h>): Include
22908         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
22909         (verify): New macro.  Use it to verify that EXCLUDE macros do not
22910         collide with FNM macros.
22911         (struct patopts): New struct.
22912         (struct exclude): Use it, as exclude patterns now come with options.
22913         (new_exclude): Support above changes.
22914         (new_exclude, add_exclude_file):
22915         Initial size must now be a power of two to simplify overflow checking.
22916         (free_exclude, fnmatch_no_wildcards): New function.
22917         (excluded_filename): No longer requires options arg, as the options
22918         are determined by add_exclude.  Now returns bool, not int.
22919         (excluded_filename, add_exclude):
22920         Add support for the fancy new exclusion options.
22921         (add_exclude, add_exclude_file): Now takes int options arg.
22922         Check for arithmetic overflow when computing sizes.
22923         (add_exclude_file): xrealloc might modify errno, so don't
22924         realloc until after errno might be used.
22925
22926         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
22927         New macros.
22928         (free_exclude): New decl.
22929         (add_exclude, add_exclude_file): Now takes int options arg.
22930         (excluded_filename): No longer requires options arg, as the options
22931         are determined by add_exclude.  Now returns bool, not int.
22932
22933 2001-08-30  Paul Eggert  <eggert@twinsun.com>
22934
22935         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
22936
22937 2001-08-27  Jim Meyering  <meyering@lucent.com>
22938
22939         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
22940
22941         * lib/version-etc.c (N_): Remove definition.
22942         Revert most of last change.
22943         Instead, simply don't mark the `Copyright...' string for translation.
22944         Based on advice from Paul Eggert.
22945
22946         * lib/strtoxmax.c: Tweak comment.
22947
22948 2001-08-26  Jim Meyering  <meyering@lucent.com>
22949
22950         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
22951
22952         * m4/xstrtoimax.m4: New file.
22953         * m4/xstrtoumax.m4: Add comments explaining why we
22954         AC_REPLACE_FUNCS(strtol).
22955
22956 2001-08-26  Jim Meyering  <meyering@lucent.com>
22957
22958         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
22959         of copyright with `%s' so translators don't get an untranslated
22960         message in 2002.
22961         (COPYRIGHT_YEAR): Define.
22962         (version_etc): Use fprintf rather than fputs.
22963         Suggestion from Ulrich Drepper.
22964
22965         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
22966
22967         * lib/strtoll.c: New file, from GNU libc.
22968         * lib/xstrtoimax.c: New file.
22969
22970         * lib/xstrtol.h: Add xstrtoimax.
22971         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
22972         * lib/strtoimax.c: New file.  Likewise, but first define
22973         STRTOUXMAX_SIGNED.
22974
22975         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
22976         ...
22977         * lib/strtoxmax.c: ... then renamed to this.
22978
22979 2001-08-18  Paul Eggert  <eggert@twinsun.com>
22980
22981         * m4/inttypes.m4: Add AC_PREREQ(2.13).
22982         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
22983         (jm_AC_TYPE_INTMAX_T): New macro.
22984         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
22985
22986         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
22987
22988         * m4/longlong.m4: Renamed from ulonglong.m4.
22989         * m4/inttypes.m4: Renamed from inttypes_h.m4.
22990         * m4/uintmax_t.m4: Removed.
22991
22992 2001-08-13  Paul Eggert  <eggert@twinsun.com>
22993
22994         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
22995         Port to Solaris 8, where 'sed' requires a space after the 'r'
22996         command, and where sh dislikes "$/".  Clean up the spacing a bit.
22997         Redirect output to $tmp just once.
22998
22999 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
23000
23001         * lib/addext.c (<errno.h>): Include.
23002         (errno): Declare if not defined.
23003         (addext): Work correctly when pathconf returns -1 and leaves
23004         errno alone because there is no limit.  Also, work even if
23005         pathconf returns a value greater than SIZE_MAX.
23006
23007 2001-08-12  Jim Meyering  <meyering@lucent.com>
23008
23009         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
23010         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
23011         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
23012         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
23013         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
23014         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
23015         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
23016         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
23017         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
23018         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
23019         utime.m4, utimes.m4, xstrtoumax.m4:
23020         Quote the first argument in each use of AC_DEFUN.
23021
23022 2001-08-12  Jim Meyering  <meyering@lucent.com>
23023
23024         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
23025         Simply `return getcwd (NULL, 0);'.
23026         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
23027         Use 1300 as initial value for length, not PATH_MAX.
23028
23029         * lib/pathmax.h: Clean up cpp syntax.
23030
23031 2001-08-12  Jim Meyering  <meyering@lucent.com>
23032
23033         * lib/gettimeofday.c: New file.
23034         * lib/gtod.h: New file.
23035         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
23036
23037 2001-08-05  Jim Meyering  <meyering@lucent.com>
23038
23039         * m4/jm-macros.m4: Require autoconf-2.52.
23040
23041 2001-08-04  Jim Meyering  <meyering@lucent.com>
23042
23043         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
23044         stmt, to get in sync with glibc.
23045
23046 2001-08-03  Paul Eggert  <eggert@twinsun.com>
23047
23048         The following changes are from gettext 0.10.39 as maintained by
23049         Bruno Haible.
23050
23051         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
23052         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
23053         with inverted sense.  All uses changed.
23054
23055         * lib/mbswidth.c: Don't include <limits.h>.
23056         Include <stdlib.h> and <string.h> unconditionally.
23057         (iswcntrl, mbsinit, ISCNTRL): New macros.
23058         (mbsnwidth): Use K&R style function declarations.
23059         Don't bother checking for MB_LEN_MAX == 1, since the compiler
23060         can optimize it when MB_CUR_MAX == 1.
23061         The width of control characters is zero, not 1.
23062
23063 2001-08-03  Paul Eggert  <eggert@twinsun.com>
23064
23065         The following changes are from gettext 0.10.39 as maintained by
23066         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
23067
23068         * m4/codeset.m4: Upgrade to serial AM1.
23069         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
23070         all uses changed.  Quote first arg of AC_DEFUN.
23071         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
23072
23073         * m4/iconv.m4: Upgrade to serial AM2.
23074         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
23075         Add --with-libconv-prefix.
23076         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
23077         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
23078         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
23079         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
23080         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
23081
23082         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
23083         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
23084         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
23085         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
23086         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
23087         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
23088         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
23089         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
23090         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
23091
23092         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
23093         string.h any more.
23094
23095         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
23096         not the default value.
23097
23098         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
23099         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
23100         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
23101         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
23102         Also check for iswcntrl, used for wcwidth fallback.
23103         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
23104         to Autoconf 2.13.
23105
23106 2001-08-03  Jim Meyering  <meyering@lucent.com>
23107
23108         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
23109         as it was in the original.  Reported by Paul Eggert.
23110
23111 2001-07-16  Jim Meyering  <meyering@lucent.com>
23112
23113         * m4/gettimeofday.m4: New file.
23114         Prompted by a report from Bernhard Baehr.
23115
23116 2001-07-15  Jim Meyering  <meyering@lucent.com>
23117
23118         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
23119         stuff. Now it's in ../Makefile.cfg.
23120
23121 2001-07-15  Jim Meyering  <meyering@lucent.com>
23122
23123         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
23124         (BUILT_SOURCES): Add unlocked-io.h.
23125         (io_functions): Define.
23126         (unlocked-io.h): New rule.
23127         (DISTCLEANFILES): Add unlocked-io.h.
23128         (all-local): Depend on unlocked-io.h, to ensure it is created.
23129
23130         * lib/unlocked-io.hin: New file
23131
23132         * lib/regex.c: Update from glibc.
23133
23134 2001-07-05  Jim Meyering  <meyering@lucent.com>
23135
23136         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
23137         recommendation.
23138         (libfetish_a_SOURCES): Put all .h files here instead.
23139         Remove a thus-exposed (better checks in automake) duplicate and
23140         two unnecessary .h files.
23141
23142 2001-07-04  Jim Meyering  <meyering@lucent.com>
23143
23144         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
23145         that generates jm-glibc-io.m4 so that it doesn't trigger any make
23146         distcheck failure.
23147
23148 2001-07-02  Jim Meyering  <meyering@lucent.com>
23149
23150         The following changes were prompted by suggestions from Bruno Haible.
23151
23152         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
23153         is now generated.
23154         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
23155         definition of EXTRA_DIST.
23156         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
23157         ensure that the generated file is created/updated whenever the list
23158         of $(unlocked_functions) is changed.
23159         (jm-glibc-io.m4): New rule.
23160         (unlocked-io.h): New rule -- currently unused.
23161
23162 2001-06-24  Jim Meyering  <meyering@lucent.com>
23163
23164         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
23165         unmatched right bracket, rather than kludging it with an extra,
23166         falsely-matching quote in a comment.  Patch by Akim Demaille.
23167
23168 2001-06-11  Jim Meyering  <meyering@lucent.com>
23169
23170         * lib/regex.c: Update from GNU libc.
23171
23172 2001-05-27  Jim Meyering  <meyering@lucent.com>
23173
23174         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
23175         Check for ut_type in struct utmp.
23176
23177 2001-05-27  Jim Meyering  <meyering@lucent.com>
23178
23179         * lib/readutmp.h (UT_TYPE): Define.
23180
23181 2001-05-24  Jim Meyering  <meyering@lucent.com>
23182
23183         * lib/argmatch.c: Include "quote.h".
23184         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
23185         quote function.  Reported by Göran Uddeborg.
23186
23187 2001-05-22  Jim Meyering  <meyering@lucent.com>
23188
23189         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
23190         now that we use the package-supplied version unconditionally.
23191         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
23192
23193 2001-05-21  Jim Meyering  <meyering@lucent.com>
23194
23195         * m4/regex.m4: Change a couple backticks to single quotes to avoid
23196         shell syntax errors.
23197
23198 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
23199
23200         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
23201
23202 2001-05-20  Paul Eggert  <eggert@twinsun.com>
23203
23204         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
23205         Don't bother to check library strftime, since
23206         we'll be using our own my_strftime function anyway.
23207         Define my_strftime instead of strftime.
23208
23209 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
23210
23211         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
23212         which is not yet declared.
23213
23214 2001-05-15  Jim Meyering  <meyering@lucent.com>
23215
23216         * m4/regex.m4: Use proper quoting so brackets appear in the test
23217         program.
23218         Reported by, and with help from, Bruno Haible.
23219
23220 2001-05-13  Jim Meyering  <meyering@lucent.com>
23221
23222         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
23223         undefined.
23224
23225 2001-05-11  Paul Eggert  <eggert@twinsun.com>
23226
23227         dirname code cleanup.  base_name now behaves more compatibly
23228         with POSIX basename when given file names that have trailing
23229         slashes, and similarly for dir_name.  Add new primitives
23230         base_len and dir_len.  Put the directory-name-related decls
23231         into dirname.h.
23232
23233         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
23234         * lib/backupfile.c (base_name): Likewise.
23235         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
23236         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
23237         * lib/makepath.c (strip_trailing_slashes): Likewise.
23238         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
23239         ISSLASH): Likewise.
23240         * lib/rename.c (strip_trailing_slashes): Likewise.
23241         * lib/same.c (base_name): Likewise.
23242         * lib/stripslash.c (ISSLASH): Likewise.
23243
23244         * lib/addext.c: Include <dirname.h> after size_t is defined.
23245         * lib/backupfile.c: Likewise.
23246
23247         * lib/addext.c (addext): Use base_len to trim redundant
23248         trailing slashes instead of doing it ourselves.
23249         But do not trim the last slash if it is not redundant.
23250
23251         * lib/backupfile.c (find_backup_file_name,
23252         max_backup_version): Use base_len instead of rolling it ourselves.
23253         Handle the case of "" and (on DOS) "C:" correctly.
23254
23255         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
23256         needed. Include <string.h>, <dirname.h>.
23257         (base_name): Allow file names ending in slashes, other than names
23258         that are all slashes.  In this case, return the basename followed
23259         by the slashes.  This is more general, and can be used in places
23260         where the original base_name purposely had an assertion failure.
23261         (base_len): New function.
23262
23263         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
23264         Do not include <assert.h>; no longer needed.
23265         Include xalloc.h.
23266         (memrchr): Remove decl.
23267         (dir_name_r): Remove.
23268         (dir_len): Renamed from dirlen.  All callers changed.
23269         Rewrite in terms of base_name, for simplicity and consistency.
23270         (dir_name): Never return NULL.  All callers changed.
23271         Do not include <stdlib.h> in test program; no longer needed.
23272         return 0; is fine for test program.
23273
23274         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
23275         New macros.
23276         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
23277
23278         * lib/path-concat.c (path_concat): Use base_len to compute
23279         base length, not strlen; this means we cannot rely on memcpy
23280         to null-terminate.
23281
23282         * lib/same.c (STREQ): Remove.
23283         (same_name): Handle the case where the basename ends in trailing '/'.
23284
23285         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
23286         a slash was stripped.  Do not strip the last slash after a
23287         file system prefix.
23288
23289 2001-05-11  Paul Eggert  <eggert@twinsun.com>
23290
23291         * lib/Makefile.am (libfetish_a_SOURCES):
23292         Add strftime.c, since we now compile it on all hosts.
23293
23294         * lib/strftime.c (my_strftime):
23295         Define to nstrftime if emacs, but only if my_strftime is not defined.
23296         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
23297         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
23298         Add one more extra argument: a nanoseconds value.
23299         All uses changed.
23300         (ns): New macro.
23301         (my_strftime function): Add %N format.
23302         (emacs_strftimeu): Renamed from emacs_strftime,
23303         with extra ut argument.
23304
23305 2001-05-09  Paul Eggert  <eggert@twinsun.com>
23306
23307         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
23308
23309 2001-04-21  Jim Meyering  <meyering@lucent.com>
23310
23311         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
23312         doesn't interfere.
23313
23314 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
23315
23316         * m4/ftruncate.m4: Check for chsize.
23317         Link with ftruncate.o unconditionally if ftruncate is missing.
23318         This was required when cross-compiling to i586-mingw32msvc.
23319
23320 2001-04-08  Jim Meyering  <meyering@lucent.com>
23321
23322         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
23323         recomputed; that's necessary when the offset spans a DST transition.
23324         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
23325
23326 2001-04-02  Jim Meyering  <meyering@lucent.com>
23327
23328         * lib/regex.h, regex.c: Update from GNU libc.
23329
23330 2001-03-24  Jim Meyering  <meyering@lucent.com>
23331
23332         * m4/jm-macros.m4: Require autoconf-2.49d.
23333
23334 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
23335
23336         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
23337
23338 2001-03-19  Paul Eggert  <eggert@twinsun.com>
23339
23340         * lib/version-etc.c (version_etc_copyright): Update to 2001.
23341
23342 2001-03-17  Jim Meyering  <meyering@lucent.com>
23343
23344         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
23345         now that the version in autoconf is equivalent.
23346         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
23347
23348         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
23349         Suggestion from Akim Demaille.
23350
23351         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
23352         (jm_PREREQ_TEMPNAME): New function.
23353
23354 2001-03-16  Paul Eggert  <eggert@twinsun.com>
23355
23356         * lib/tempname.c (uint64_t): Define to uintmax_t if
23357         not defined, and if UINT64_MAX is not defined.
23358         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
23359         Reported by John David Anglin.
23360
23361 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
23362
23363         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
23364         resolve alias if codeset is empty.
23365         * lib/config.charset (BeOS): Use wildcard syntax.
23366
23367 2001-03-13  Jim Meyering  <meyering@lucent.com>
23368
23369         * lib/path-concat.c (path_concat)
23370         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
23371         concatenating e.g., `C:' and `foo'.
23372         From Bruno Haible.
23373
23374 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
23375
23376         * lib/localcharset.c (locale_charset): Don't use
23377         setlocale(LC_CTYPE,NULL). Don't return NULL.
23378         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
23379
23380 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
23381
23382         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
23383         support for DOS/DJGPP.
23384
23385 2001-03-01  Paul Eggert  <eggert@twinsun.com>
23386
23387         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
23388         lacks mkstemp.  Compile our own tempname.c if we compile our own
23389         mkstemp.c, as mkstemp relies on tempname.
23390
23391 2001-03-01  Jim Meyering  <meyering@lucent.com>
23392
23393         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
23394         AH_VERBATIM really does output its argument verbatim.
23395
23396 2001-02-28  Paul Eggert  <eggert@twinsun.com>
23397
23398         * lib/Makefile.am (libfetish_a_SOURCES):
23399         Add dup-safer.c, fopen-safer.c.
23400         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
23401
23402         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
23403         * lib/unistd-safer.h: New files.
23404
23405 2001-02-25  Paul Eggert  <eggert@twinsun.com>
23406
23407         The mkstemp replacement is taken from glibc 2.2.2, with some
23408         portability fixes for use outside glibc, as follows:
23409
23410         * lib/tempname.c (struct_stat64): New macro.
23411         (direxists, __gen_tempname): Use it.
23412         This avoids a portability problem with Solaris 8.
23413
23414         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
23415         (<stddef.h>, <stdint.h>, <string.h>):
23416         Include only if STDC_HEADERS || _LIBC.
23417         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
23418         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
23419         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
23420         (__set_errno): Define this macro if <errno.h> doesn't.
23421         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
23422         Define these macros if <stdio.h> doesn't.
23423         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
23424         Define these macros if <sys/stat.h>
23425         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
23426         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
23427         __xstat64): Define if not _LIBC.
23428         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
23429         (__gen_tempname): Invoke gettimeofday only if
23430         HAVE_GETTIMEOFDAY || _LIBC;
23431         otherwise, fall back on plain "time".
23432         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
23433
23434         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
23435
23436         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
23437
23438 2001-02-18  Paul Eggert  <eggert@twinsun.com>
23439
23440         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
23441
23442 2001-02-17  Paul Eggert  <eggert@twinsun.com>
23443
23444         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
23445         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
23446         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
23447         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
23448
23449 2001-02-17  Paul Eggert  <eggert@twinsun.com>
23450
23451         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
23452         Remove workaround macros for hosts that have mbrtowc but not
23453         mbstate_t, as we now insist on proper declarations for both
23454         before using mbrtowc.
23455
23456 2001-02-17  Jim Meyering  <meyering@lucent.com>
23457
23458         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
23459         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
23460         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
23461         UnixWare 7.1.1.
23462
23463         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
23464         rather than AC_CACHE_VAL.
23465
23466 2001-02-17  Jim Meyering  <meyering@lucent.com>
23467
23468         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
23469         around included file name.
23470
23471         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
23472
23473         * lib/strftime.c: Update from GNU libc (the only changes were to
23474         comments).
23475
23476 2001-02-17  Jim Meyering  <meyering@lucent.com>
23477
23478         * lib/regex.c: Update from libc.
23479
23480 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
23481
23482         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
23483         clash.
23484
23485 2001-02-16  Paul Eggert  <eggert@twinsun.com>
23486
23487         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
23488         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
23489         Reported by Mark Hounschell via Paul Eggert.
23490
23491 2001-02-07  Jim Meyering  <meyering@lucent.com>
23492
23493         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
23494
23495 2001-02-05  Jim Meyering  <meyering@lucent.com>
23496
23497         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
23498         it includes the patch required for `large file' support with at least
23499         HP-UX's 10.20 /bin/cc.
23500
23501 2001-02-03  Jim Meyering  <meyering@lucent.com>
23502
23503         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
23504         AS_IF, now that it works once again (mysteriously).
23505         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
23506
23507 2001-01-30  Jim Meyering  <meyering@lucent.com>
23508
23509         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
23510         * m4/chown.m4: Rename conftestchown to conftest.chown.
23511         * m4/rename.m4: s/conftestdir/conftest.d1/ and
23512         s/conftestdir2/conftest.d2/.
23513         * m4/utimes.m4: s/conftestdata/conftest.data/
23514         Inspired by Pavel Roskin's change in autoconf.
23515
23516 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
23517
23518         * lib/config.charset: Update for FreeBSD 4.2.
23519
23520 2001-01-27  Jim Meyering  <meyering@lucent.com>
23521
23522         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
23523         a use of AS_IF.
23524         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
23525
23526 2001-01-26  Jim Meyering  <meyering@lucent.com>
23527
23528         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
23529         quotearg.c includes it.
23530
23531 2001-01-26  Jim Meyering  <meyering@lucent.com>
23532
23533         * lib/quotearg.c: Include stddef.h.
23534         * lib/quote.c: Include stddef.h.
23535         Reported by Axel Kittenberger.
23536
23537         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
23538         line in double quotes so that it evokes a better diagnostic.
23539         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
23540         Reported by Axel Kittenberger.
23541
23542 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
23543
23544         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
23545         as if it was a `charset'.
23546
23547 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
23548
23549         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
23550         has const.
23551
23552 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
23553
23554         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
23555         to avoid a warning.  Add back 'const' to inptr.
23556
23557 2001-01-20  Jim Meyering  <meyering@lucent.com>
23558
23559         Be sure that headers are checked before used in code compiled
23560         for the type checks.
23561         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
23562         In place of that, invoke jm_CHECK_ALL_TYPES.
23563         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
23564         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
23565         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
23566         The check for ssize_t was mistakenly run before the test for unistd.h.
23567
23568         The configure-time check for stdbool.h was missing.
23569         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
23570         (jm_PREREQ_HASH): New function.
23571
23572 2001-01-17  Jim Meyering  <meyering@lucent.com>
23573
23574         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
23575         for autoconf-2.49c.
23576         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
23577
23578 2001-01-16  Jim Meyering  <meyering@lucent.com>
23579
23580         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
23581         From Bruno Haible.
23582
23583 2001-01-14  Jim Meyering  <meyering@lucent.com>
23584
23585         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
23586         foo and bar.  Create conftestdir/ in the script, not in the C code.
23587         Remove directories in the script, not in the C code.
23588         Remove conftestdir{,2} before trying to create the directory.
23589         Make the entire configure script fail if the mkdir fails.
23590
23591 2001-01-14  Jim Meyering  <meyering@lucent.com>
23592
23593         * lib/rename.c: New file.  From Volker Borchert.
23594         Include stdlib.h, string.h or strings.h, and xalloc.h.
23595         Use strip_trailing_slashes rather than open-coding it.
23596
23597 2001-01-03  Paul Eggert  <eggert@twinsun.com>
23598
23599         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
23600
23601 2001-01-03  Jim Meyering  <meyering@lucent.com>
23602
23603         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
23604         of local `inptr' to avoid warning with some system declarations of
23605         iconv.
23606
23607 2001-01-02  Volker Borchert  <bt@teknon.de>
23608
23609         * m4/rename.m4: New file.
23610         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
23611
23612 2001-01-01  Jim Meyering  <meyering@lucent.com>
23613
23614         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
23615         even on systems with utmpx.h.  It's necessary for the declaration of
23616         utmp's ut_user member.  Reported by Andreas Jaeger.
23617
23618         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
23619         available. They are required for the declarations of getgrgid and
23620         getpwuid resp.
23621         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
23622         Reported by Andreas Jaeger.
23623
23624 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
23625
23626         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
23627         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
23628         so `make install' also works in VPATH builds.
23629
23630 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
23631
23632         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
23633         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
23634         can be used in subdirectories.
23635
23636 2000-12-29  Paul Eggert  <eggert@twinsun.com>
23637
23638         * lib/modechange.c: Do not assume that mode_t uses the
23639         traditional octal encoding.  E.g. "chmod 1 FOO" should set
23640         the other-execute bit of FOO even if S_IXOTH != 1.
23641
23642         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
23643         WOTH, XOTH, ALLM): New macros.
23644         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
23645          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
23646         Use them.
23647         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
23648         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
23649         (mode_compile):
23650         No need to use uintmax_t; unsigned long is long enough.
23651         Don't bother to get suffix since we don't use it.
23652
23653 2000-12-26  Jim Meyering  <meyering@lucent.com>
23654
23655         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
23656         better with autoheader.
23657
23658 2000-12-24  Jim Meyering  <meyering@lucent.com>
23659
23660         * lib/hash.c (is_prime): Return explicit boolean values.
23661         (hash_get_first): Return NULL to appease Irix5.6's 89.
23662         Reported by Nelson Beebe.
23663
23664 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
23665
23666         * lib/localcharset.c (locale_charset): Add support for Win32.
23667
23668 2000-12-18  Paul Eggert  <eggert@twinsun.com>
23669
23670         * lib/physmem.h, lib/physmem.c: New files.
23671
23672         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
23673         (noinst_HEADERS): Add physmem.h.
23674
23675         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
23676         't' for compatibility with Solaris 8 sort.
23677
23678 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
23679
23680         * lib/config.charset: Add support for BeOS.
23681
23682 2000-12-17  Jim Meyering  <meyering@lucent.com>
23683
23684         * m4/dos.m4 (jm_AC_DOS): New file and macro.
23685         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
23686
23687 2000-12-16  Jim Meyering  <meyering@lucent.com>
23688
23689         This bug had a serious impact on chown: `chown N:M FILE' (for integer
23690         N and M) would have treated it like `chown N:N FILE'.
23691
23692         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
23693
23694 2000-12-16  Jim Meyering  <meyering@lucent.com>
23695
23696         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
23697         SHELLS_FILE to a file name that's useful on djgpp systems.
23698         Include stdlib.h.
23699         (ADDITIONAL_DEFAULT_SHELLS): Define.
23700         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
23701         Based mostly on a patch from Prashant TR.
23702
23703 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
23704
23705         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
23706         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
23707         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
23708
23709 2000-12-08  Andreas Schwab  <schwab@suse.de>
23710
23711         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
23712         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
23713
23714 2000-12-07  Jim Meyering  <meyering@lucent.com>
23715
23716         * lib/stripslash.c (ISSLASH): Define.
23717         (strip_trailing_slashes): Use ISSLASH rather than comparing against
23718         `/'.
23719         From Prashant TR.
23720
23721         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
23722         (dir_name_r): Declare this function as static.
23723         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
23724         manifest itself on a name containing a mix of slashes and
23725         backslashes.
23726         Make this function work with names starting with a DOS-style
23727         drive letter and colon prefix.
23728         (dir_name): Append `.' if necessary.
23729         Based mostly on patches from Prashant TR and Eli Zaretskii.
23730
23731         * lib/dirname.h (dir_name_r): Remove prototype.
23732
23733 2000-12-06  Paul Eggert  <eggert@twinsun.com>
23734
23735         * m4/off_t-format.m4: Remove this file.
23736         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
23737
23738 2000-12-06  Jim Meyering  <meyering@lucent.com>
23739
23740         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
23741         replacement strtoull, we may well need the replacement strtoul, too.
23742         Check for declarations of strtoul and strtoull.
23743         Check for strtol.  Mainly as a cue to cause automake to include
23744         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
23745         Check for limits.h -- strtol.c needs it.
23746
23747 2000-12-05  Jim Meyering  <meyering@lucent.com>
23748
23749         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
23750
23751 2000-12-04  Jim Meyering  <meyering@lucent.com>
23752
23753         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
23754         Also include memory.h, stdlib.h, unistd.h if appropriate.
23755         Reported by Andreas Jaeger (conflicting declaration of malloc).
23756
23757 2000-12-02  Jim Meyering  <meyering@lucent.com>
23758
23759         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
23760         * m4/jm-macros.m4 (jm_MACROS): require it.
23761
23762 2000-12-02  Jim Meyering  <meyering@lucent.com>
23763
23764         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
23765
23766 2000-12-01  Paul Eggert  <eggert@twinsun.com>
23767
23768         * lib/memrchr.c: Include <config.h> before any system include file.
23769
23770 2000-11-30  Jim Meyering  <meyering@lucent.com>
23771
23772         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
23773
23774 2000-11-30  Jim Meyering  <meyering@lucent.com>
23775
23776         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
23777
23778 2000-11-29  Paul Eggert  <eggert@twinsun.com>
23779
23780         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
23781
23782 2000-11-26  Jim Meyering  <meyering@lucent.com>
23783
23784         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
23785
23786 2000-11-22  Paul Eggert  <eggert@twinsun.com>
23787
23788         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
23789         size of (size_t) -1; it's not portable.
23790
23791 2000-11-17  Jim Meyering  <meyering@lucent.com>
23792
23793         * lib/strstr.c: Update from GNU libc.
23794
23795 2000-11-17  Akim Demaille  <akim@epita.fr>
23796
23797         * lib/obstack.h: Formatting changes.
23798         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
23799         prevent type checking.
23800         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
23801         cast the value to (void *): assigning a `foo *' to a `void *'
23802         variable is valid.
23803         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
23804
23805 2000-11-16  Jim Meyering  <meyering@lucent.com>
23806
23807         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
23808
23809 2000-11-11  Jim Meyering  <meyering@lucent.com>
23810
23811         * lib/error.c: Add a couple #includes, merging from GNU libc version.
23812
23813 2000-11-10  Jim Meyering  <meyering@lucent.com>
23814
23815         * lib/obstack.h: Update from GNU libc.
23816         * lib/obstack.c: Likewise.
23817
23818 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
23819
23820         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
23821
23822 2000-11-06  Paul Eggert  <eggert@twinsun.com>
23823
23824         * lib/getusershell.c (setusershell): Use rewind rather than
23825         fseek/fseeko, to avoid configuration hassles with fseeko.
23826         Don't bother opening SHELLS_FILE if shellstream is NULL;
23827         it's not necessary.
23828
23829 2000-11-05  Jim Meyering  <meyering@lucent.com>
23830
23831         * lib/makepath.h (make_dir): Declare.
23832         * lib/makepath.c (make_dir): Remove `static' attribute.
23833         Tweak a comment.
23834
23835 2000-11-04  Jim Meyering  <meyering@lucent.com>
23836
23837         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
23838
23839 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
23840
23841         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
23842         last one in a bucket, advance to the next bucket.
23843
23844 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
23845
23846         * lib/fnmatch.c: Do not comment out all the code if we are using
23847         the GNU C library, because in some cases we are replacing buggy
23848         code in the GNU C library itself.
23849
23850 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
23851
23852         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
23853         (regex_compile): Catch bogus \(\1\).
23854
23855 2000-10-30  Paul Eggert  <eggert@twinsun.com>
23856
23857         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
23858         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
23859         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
23860
23861 2000-10-30  Paul Eggert  <eggert@twinsun.com>
23862
23863         * lib/error.h, getline.h, modechange.h:
23864         Remove "2000" from Copyright line, as the file hasn't been
23865         changed this year other than in the copyright notice.
23866
23867         * lib/xalloc.h: Add "2000" to Copyright line, as this file
23868         was changed this year.
23869
23870 2000-10-29  Jim Meyering  <meyering@lucent.com>
23871
23872         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
23873         renaming.
23874         * m4/ls-mntd-fs.m4: Likewise
23875
23876 2000-10-29  Jim Meyering  <meyering@lucent.com>
23877
23878         * lib/xstat.in: Fix grammar in comment.
23879
23880 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
23881
23882         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
23883         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
23884         doesn't define __restrict_arr.
23885
23886 2000-10-28  Jim Meyering  <meyering@lucent.com>
23887
23888         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
23889         (jm_PREREQ_MEMCHR): New function.
23890
23891 2000-10-28  Jim Meyering  <meyering@lucent.com>
23892
23893         * lib/memchr.c: Update from libc.
23894         Adjust for portability:
23895         [HAVE_STDLIB_H]: Include stdlib.h.
23896         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
23897         Undef __memchr, too.
23898         [!weak_alias]: Define __memchr to memchr.
23899
23900         * lib/regex.c: Update from libc.
23901         * lib/regex.h: Likewise.
23902         * lib/getopt1.c: Likewise.
23903         * lib/memcmp.c: Likewise.
23904
23905         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
23906         Avoid using fseek, when possible -- it's broken by design.
23907         Patch by Ulrich Drepper.
23908
23909 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
23910
23911         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
23912         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
23913         Giving in to popular pressure to shut up the compiler with casts.
23914
23915 2000-10-26  Jim Meyering  <meyering@lucent.com>
23916
23917         * lib/strftime.c: Update from libc.
23918
23919 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
23920
23921         * regex.c: More `unsigned char' -> `re_char' changes.
23922         Also change several `int' into `re_wchar_t'.
23923         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
23924         (PUSH_FAILURE_POINTER): Don't cast any more.
23925         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
23926         We want GCC to complain, since this piece of code makes
23927         re_match non-reentrant, which *should* be fixed.
23928         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
23929         (EXTEND_BUFFER): Use RETALLOC.
23930         (SET_LIST_BIT): Don't cast.
23931         (re_wchar_t): New type.
23932         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
23933         that those two functions will always properly return.
23934         (IMMEDIATE_QUIT_CHECK): Cast to void.
23935         (analyse_first): Use recursion rather than an explicit stack.
23936         (re_compile_fastmap): Can't fail anymore.
23937         (re_search_2): Don't check re_compile_fastmap for failure.
23938         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
23939         Now also sets the new value (passed in a new argument).
23940         (re_match_2_internal): Use it.
23941         Also, use a new var `reg' of type size_t when looping through regs
23942         rather than reuse the inappropriate `mcnt'.
23943
23944 2000-10-25  Jim Meyering  <meyering@lucent.com>
23945
23946         * lib/obstack.c: Update from libc.
23947
23948 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
23949
23950         * regex.c (regex_compile): Change the way of handling a range from
23951         a char less than 256 to a char not less than 256.
23952
23953 2000-10-24  Andrew Innes  <andrewi@gnu.org>
23954
23955         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
23956         NT-Emacs only.
23957         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
23958         so that re_search functions only quit when callers expect them to.
23959
23960 2000-10-23  Jim Meyering  <meyering@lucent.com>
23961
23962         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
23963         wrong.  That set_locale call must not have any side effects.
23964         From Paul Eggert.
23965
23966 2000-10-22  Jim Meyering  <meyering@lucent.com>
23967
23968         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
23969         [CYCLIC]: Remove now-unused definition.
23970
23971         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
23972         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
23973         Suggestion from Ulrich Drepper.
23974
23975 2000-10-21  Jim Meyering  <meyering@lucent.com>
23976
23977         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
23978         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
23979         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
23980
23981 2000-10-21  Jim Meyering  <meyering@lucent.com>
23982
23983         * lib/dirname.c (memrchr): Declare if necessary.
23984         (dir_name): Remove the restriction that there be no
23985         trailing slashes.  Now, this code skips past them, effectively
23986         ignoring them.
23987         [TEST_DIRNAME] (main): New unit tests.
23988
23989         * lib/memrchr.c: New file from GNU libc.
23990         Undef __memrchr, too.
23991         [!weak_alias]: Define __memrchr to memrchr.
23992         Guard weak_alias use with `#ifdef weak_alias'.
23993
23994 2000-10-21  Jim Meyering  <meyering@lucent.com>
23995
23996         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
23997         (dir_name): Use dir_name_r.
23998         * lib/dirname.h (dir_name_r): Declare it.
23999
24000 2000-10-17  Jim Meyering  <meyering@lucent.com>
24001
24002         * lib/quote.h (PARAMS): Define and use.
24003         Reported by Akim Demaille.
24004
24005         * lib/getopt.c: Update from libc.
24006
24007 2000-10-16  Jim Meyering  <meyering@lucent.com>
24008
24009         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
24010         setlocale.
24011         From Jan Fedak.
24012
24013 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
24014
24015         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
24016
24017 2000-09-25  Jim Meyering  <meyering@lucent.com>
24018
24019         * lib/md5.h (rol): Define (from GnuPG).
24020
24021         * lib/sha.c: Give credit (GnuPG) where due.
24022         (M): Use rol rather than open-coding it.
24023         Add a FIXME comment.
24024
24025 2000-09-21  Jim Meyering  <meyering@lucent.com>
24026
24027         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
24028         Reported by Michael Stone.
24029
24030 2000-09-20  Jim Meyering  <meyering@lucent.com>
24031
24032         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
24033         (noinst_HEADERS): Add sha.h.
24034         Based on code from Scott G. Miller and from GnuPG.
24035
24036 2000-09-18  Jim Meyering  <meyering@lucent.com>
24037
24038         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
24039         LIBS. Otherwise, everyone ends up linking with -lelf for some
24040         configurations.
24041         Reported by Mike Stone.
24042
24043 2000-09-15  Jim Meyering  <meyering@lucent.com>
24044
24045         * lib/regex.c: Update from libc.
24046
24047 2000-09-10  Jim Meyering  <meyering@lucent.com>
24048
24049         * lib/getopt.c (_getopt_internal): Update from glibc.
24050
24051 2000-09-09  Jim Meyering  <meyering@lucent.com>
24052
24053         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
24054         think it should be used as a general replacement for isascii.
24055         * lib/fnmatch.c: Likewise.
24056         * lib/mbswidth.c: Likewise
24057         * lib/regex.c: Likewise.
24058
24059         Don't use atoi.
24060         * lib/userspec.c: Include sys/param.h and limits.h.
24061         Include xstrtol.h.
24062         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
24063         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
24064         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
24065         UID, GID.  Check range.
24066
24067 2000-09-06  Jim Meyering  <meyering@lucent.com>
24068
24069         * lib/getopt.c (_getopt_internal): Update from glibc.
24070
24071 2000-08-30  Jim Meyering  <meyering@lucent.com>
24072
24073         * lib/strftime.c: Merge in changes from GNU libc.
24074
24075 2000-08-26  Jim Meyering  <meyering@lucent.com>
24076
24077         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
24078         * m4/fpending.m4: New file.
24079
24080 2000-08-26  Jim Meyering  <meyering@lucent.com>
24081
24082         * lib/closeout.c: Include "__fpending.h".
24083         (close_stdout_status): Return right away if there's nothing to flush.
24084
24085         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
24086         * lib/__fpending.c: New file.
24087         * lib/__fpending.h: New file.
24088
24089 2000-08-20  Jim Meyering  <meyering@lucent.com>
24090
24091         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
24092         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
24093         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
24094
24095 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
24096
24097         Improve fileutils installation on systems where running
24098         programs (like install) can't be unlinked.
24099         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
24100         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
24101
24102 2000-08-07  Paul Eggert  <eggert@twinsun.com>
24103
24104         Standardize on "memory exhausted" instead of "Memory exhausted"
24105         or "virtual memory exhausted".
24106         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
24107         "virtual memory exhausted".
24108         * lib/same.c (same_name): Invoke xalloc_die instead of printing
24109         our own message.
24110         * lib/userspec.c (parse_user_spec): Likewise.
24111         * lib/bumpalloc.h: comment fix
24112         * lib/same.c, userspec.c: Include xalloc.h.
24113
24114         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
24115         not char *const and pointing to a constant array.
24116         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
24117         (xrealloc): Comment fix.
24118
24119         * lib/userspec.c (parse_user_spec):
24120         Don't translate a message until just before returning,
24121         to avoid unnecessary translation.
24122
24123 2000-08-07  Jim Meyering  <meyering@lucent.com>
24124
24125         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
24126         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
24127         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
24128         getgroups.c, gethostname.c, getopt.h, group-member.c,
24129         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
24130         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
24131         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
24132         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
24133         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
24134         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
24135         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
24136         yesno.c: Back out Copyright date changes for each file with no change
24137         this year.  This eases coordination with other programs using the same
24138         source code modules.  From Paul Eggert.
24139
24140 2000-08-06  Paul Eggert  <eggert@twinsun.com>
24141
24142         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
24143         not char, for compatibility with glibc 2.1.3 strftime.c.
24144
24145 2000-08-03  Greg McGary  <greg@mcgary.org>
24146
24147         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
24148         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
24149         (EXTEND_BUFFER): Use them.
24150
24151 2000-08-01  Jim Meyering  <meyering@lucent.com>
24152
24153         * lib/dirname.c (ISSLASH): Define.
24154         (BACKSLASH_IS_PATH_SEPARATOR): Define.
24155         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
24156         both `\' and `/' may be use as path separators.
24157         Based on a patch from Prashant TR.
24158
24159 2000-07-31  Paul Eggert  <eggert@twinsun.com>
24160
24161         * lib/quotearg.c (quotearg_n_options): Don't make the initial
24162         slot vector a constant, since it might get modified.
24163
24164 2000-07-31  Jim Meyering  <meyering@lucent.com>
24165
24166         * lib/xmalloc.c: Use `virtual memory exhausted', not
24167         `Memory exhausted'.
24168         * lib/obstack.c (print_and_abort): Likewise.
24169
24170 2000-07-30  Paul Eggert  <eggert@twinsun.com>
24171
24172         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
24173         buffer, so that the caller can always quote one small
24174         component of a "memory exhausted" message in slot 0.
24175         From a suggestion by Jim Meyering.
24176
24177 2000-07-30  Jim Meyering  <meyering@lucent.com>
24178
24179         * lib/makepath.c (make_path): Quote the other instance, too.
24180
24181         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
24182         (STATIC_BUF_SIZE): Define.
24183         (quotearg_n_options): Use only statically allocated storage when
24184         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
24185         than STATIC_BUF_SIZE.
24186
24187 2000-07-29  Jim Meyering  <meyering@lucent.com>
24188
24189         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
24190         * lib/dirname.c (dir_name): Likewise.
24191
24192         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
24193         `/'.
24194
24195         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
24196         (dir_name): Assert that there are no trailing slashes.
24197
24198 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
24199
24200         * lib/mbswidth.h (mbswidth): Add a flags argument.
24201         (mbswidth): New declaration.
24202         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
24203         * lib/mbswidth.c (mbswidth): Add a flags argument.
24204         (mbsnwidth): New function.
24205
24206 2000-07-24  Jim Meyering  <meyering@lucent.com>
24207
24208         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
24209
24210 2000-07-23  Paul Eggert  <eggert@twinsun.com>
24211
24212         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
24213
24214 2000-07-23  Paul Eggert  <eggert@twinsun.com>
24215
24216         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
24217         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
24218         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
24219         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
24220         invoke multibyte primitives.
24221
24222 2000-07-23  Paul Eggert  <eggert@twinsun.com>
24223
24224         * lib/quotearg.c:
24225         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
24226         so that mbstate_t is always defined.
24227
24228         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
24229         be 1 in at least one GCC installation, and this configuration
24230         error is likely to be common.  Ignoring MB_LEN_MAX hurts
24231         performance on hosts that have mbrtowc but have only unibyte
24232         locales, but I assume these hosts are rare.
24233
24234 2000-07-23  Paul Eggert  <eggert@twinsun.com>
24235
24236         * lib/mbswidth.c (_XOPEN_SOURCE):
24237         Don't define; this causes problems on Solaris 7.
24238         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
24239
24240 2000-07-23  Jim Meyering  <meyering@lucent.com>
24241
24242         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
24243         too: getgrgid, getpwuid, getuid.
24244
24245 2000-07-23  Jim Meyering  <meyering@lucent.com>
24246
24247         * lib/basename.c (base_name): Add an assertion.
24248
24249 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
24250
24251         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
24252         shadow its mbsinit function.
24253
24254 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
24255
24256         * lib/mbswidth.h: New file.
24257         * lib/mbswidth.c: New file.
24258         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
24259         (noinst_HEADERS): Add mbswidth.h.
24260
24261 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
24262
24263         * lib/config.charset: Add support for FreeBSD. Improve support for
24264         HP-UX and IRIX 6.
24265
24266 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
24267
24268         * m4/mbswidth.m4: New file.
24269         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
24270
24271 2000-07-15  Jim Meyering  <meyering@lucent.com>
24272
24273         * lib/makepath.c: Include quote.h.
24274         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
24275         corresponding argument in a `quote (...)' call.
24276         Give better diagnostics.
24277
24278         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
24279         (noinst_HEADERS): Add quote.h.
24280
24281         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
24282         from tar's src/misc.c.
24283         * lib/quote.h: New file.  Prototypes for same.
24284
24285 2000-07-14  Paul Eggert  <eggert@twinsun.com>
24286
24287         From a suggestion by Bruno Haible.
24288         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
24289         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
24290         to decide whether to define the BeOS workaround macro;
24291         this adjusts to the change to AC_MBSTATE_T.
24292
24293 2000-07-14  Jim Meyering  <meyering@lucent.com>
24294
24295         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
24296         jm_AC_TYPE_UINTMAX_T.
24297
24298 2000-07-13  Paul Eggert  <eggert@twinsun.com>
24299
24300         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
24301
24302         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
24303         quotearg_buffer_restyled): Add support for
24304         clocale_quoting_style.  Undo previous change to
24305         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
24306         and "{RIGHT QUOTATION MARK}" msgids.
24307
24308 2000-07-10  Paul Eggert  <eggert@twinsun.com>
24309
24310         From a suggestion by Bruno Haible.
24311         * m4/mbstate_t.m4 (AC_MBSTATE_T):
24312         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
24313         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
24314         and mbstate_t, to a single-part test that simply defines mbstate_t.
24315         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
24316         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
24317
24318 2000-07-10  Jim Meyering  <meyering@lucent.com>
24319
24320         * m4/strerror_r.m4: Mirror the correction made in autoconf.
24321
24322         * m4/gnu-source.m4: Output to confdefs.h directly.
24323         Suggestion from Akim Demaille.
24324
24325 2000-07-09  Paul Eggert  <eggert@twinsun.com>
24326
24327         The old behavior of quoting `like this' doesn't look good with
24328         newer, ISO-style fonts.  See:
24329         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
24330
24331         Instead, quote "like this" by default.  Let the translator
24332         tailor the locale-specific quoting behavior by providing
24333         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
24334
24335         * lib/quotearg.c (N_): New macro.
24336         (gettext_default): New function.
24337         (quotearg_buffer_restyled): Use
24338         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
24339         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
24340
24341 2000-07-09  Jim Meyering  <meyering@lucent.com>
24342
24343         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
24344         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
24345
24346         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
24347         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
24348
24349 2000-07-09  Jim Meyering  <meyering@lucent.com>
24350
24351         * lib/Most files: Update copyright dates to include 2000.
24352
24353 2000-07-08  Jim Meyering  <meyering@lucent.com>
24354
24355         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
24356         if not defined.
24357         (xgethostname): Remove now-unnecessary #ifdef.
24358         Move declaration of `err' into loop where it's used.
24359
24360 2000-07-05  Paul Eggert  <eggert@twinsun.com>
24361         and Bruno Haible  <haible@clisp.cons.org>
24362
24363         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
24364         only if the test for an object-type mbstate_t fails.  This
24365         prevents us from mistakenly reporting that mbstate_t is a
24366         system object type after we "#define mbstate_t int" to work
24367         around its lack.
24368
24369 2000-07-05  Paul Eggert  <eggert@twinsun.com>
24370         and Bruno Haible  <haible@clisp.cons.org>
24371
24372         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
24373
24374 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
24375
24376         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
24377         to strerror_r.
24378         Include <ctype.h> for use of isalpha.
24379
24380 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
24381
24382         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
24383         by allocating a larger buffer. Test the gethostname return value for
24384         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
24385         returns an error and ENAMETOOLONG isn't defined.
24386
24387 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
24388
24389         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
24390         dimension.
24391
24392 2000-07-04  Jim Meyering  <meyering@lucent.com>
24393
24394         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
24395         of the deprecated AC_CHECKING.
24396
24397 2000-07-04  Jim Meyering  <meyering@lucent.com>
24398
24399         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
24400         Reported by Bruno Haible.
24401
24402 2000-07-04  Jim Meyering  <meyering@lucent.com>
24403
24404         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
24405         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
24406         lacks mbrtowc.
24407
24408 2000-07-03  Paul Eggert  <eggert@twinsun.com>
24409
24410         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
24411         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
24412
24413 2000-07-03  Paul Eggert  <eggert@twinsun.com>
24414         and Bruno Haible  <haible@clisp.cons.org>
24415
24416         * lib/quotearg.c (mbrtowc):
24417         Assign to *pwc, and return 1 only if result is nonzero.
24418         (iswprint): Use ISPRINT when substituting our own mbrtowc.
24419
24420 2000-07-03  Jim Meyering  <meyering@lucent.com>
24421
24422         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
24423
24424 2000-07-03  Jim Meyering  <meyering@lucent.com>
24425
24426         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
24427         This is necessary to get a definition of e.g., UTMP_FILE on
24428         HP-UX 10.20.
24429         From Bob Proulx.
24430
24431 2000-07-02  Jim Meyering  <meyering@lucent.com>
24432
24433         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
24434
24435         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
24436         AC_LIBOBJ(function_name).
24437         * m4/chown.m4: Likewise.
24438         * m4/fnmatch.m4: Likewise.
24439         * m4/ftruncate.m4: Likewise.
24440         * m4/getgroups.m4: Likewise.
24441         * m4/getline.m4: Likewise.
24442         * m4/group-member.m4: Likewise.
24443         * m4/jm-macros.m4: Likewise.
24444         * m4/lstat.m4: Likewise.
24445         * m4/malloc.m4: Likewise.
24446         * m4/memcmp.m4: Likewise.
24447         * m4/nanosleep.m4: Likewise.
24448         * m4/putenv.m4: Likewise.
24449         * m4/realloc.m4: Likewise.
24450         * m4/regex.m4: Likewise.
24451         * m4/stat.m4: Likewise.
24452         * m4/strftime.m4: Likewise.
24453
24454 2000-07-02  Jim Meyering  <meyering@lucent.com>
24455
24456         * lib/quotearg.c (mbstate_t): Don't define here.
24457
24458 2000-07-02  Jim Meyering  <meyering@lucent.com>
24459
24460         * lib/nanosleep.c (SIGCONT): Define if not already defined.
24461
24462 2000-07-01  Jim Meyering  <meyering@lucent.com>
24463
24464         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
24465
24466 2000-07-01  Jim Meyering  <meyering@lucent.com>
24467
24468         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
24469         problem.
24470
24471 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
24472
24473         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
24474         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
24475
24476 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
24477
24478         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
24479         per change in ../m4/ls-mntd-fs.m4.
24480         (read_filesystem_list): Ignore symbolic links.
24481
24482 2000-06-29  Jim Meyering  <meyering@lucent.com>
24483
24484         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
24485         for declaration of strcmp.
24486
24487         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
24488
24489         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
24490         Avoid warning by casting result to `char *' to remove `const'.
24491
24492 2000-06-28  Jim Meyering  <meyering@lucent.com>
24493
24494         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
24495         included by quotearg.c, for which we perform this test.  From
24496         Bruno Haible.
24497
24498 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
24499
24500         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
24501         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
24502         <utmpx.h> exists, put readutmp.o into LIBOBJS.
24503
24504 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
24505
24506         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
24507
24508 2000-06-26  Paul Eggert  <eggert@twinsun.com>
24509
24510         savedir now sets errno on failure and invokes xmalloc to get memory.
24511         Fix a couple of other minor bugs while we're at it.
24512
24513         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
24514         (NAMLEN): Remove macro.
24515         (malloc, realloc): Remove decls.
24516         (stpcpy): Likewise.
24517         ("xalloc.h"): Include.
24518         (NAME_SIZE_DEFAULT): New macro.
24519         (savedir): Use xmalloc / xrealloc to allocate memory.
24520         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
24521         Skip "" directory entries.
24522         Use strlen to calculate directory entry length, since the old method
24523         is rarely used these days and isn't worth supporting.
24524         Don't use a pointer after freeing it.
24525         Check for integer overflow when calculating allocation size.
24526         Use memcpy to copy entries, instead of stpcpy.
24527         Set errno properly when returning NULL.
24528         Check for readdir error.
24529
24530 2000-06-26  Jim Meyering  <meyering@lucent.com>
24531
24532         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
24533
24534 2000-06-25  Jim Meyering  <meyering@lucent.com>
24535
24536         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
24537         Linux header bug when _XOPEN_SOURCE is defined to 500.
24538
24539 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
24540
24541         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
24542         deficiency.
24543
24544 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
24545
24546         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
24547         Include xalloc.h.
24548         Don't include <stdlib.h>.  Don't declare malloc, realloc.
24549
24550 2000-06-24  Jim Meyering  <meyering@lucent.com>
24551
24552         * m4/strerror_r.m4: Revive this file -- to try out an experimental
24553         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
24554         for which strerror does return char*, but which lacks a conveniently
24555         accessible declaration of the function.  If the compile-test says
24556         strerror_r doesn't work, then resort to a `run'-test that works on
24557         BeOS and segfaults on DEC Unix.
24558
24559 2000-06-24  Jim Meyering  <meyering@lucent.com>
24560
24561         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
24562
24563 2000-06-23  Paul Eggert  <eggert@twinsun.com>
24564
24565         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
24566         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
24567
24568 2000-06-23  Paul Eggert  <eggert@twinsun.com>
24569
24570         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
24571         (mbrtowc, mbstate_t): Define substitutes if
24572         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
24573         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
24574         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
24575
24576 2000-06-23  Jim Meyering  <meyering@lucent.com>
24577
24578         * m4/afs.m4: Add missing AC_MSG_RESULT.
24579         Reported by Bruno Haible.
24580
24581         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
24582         Suggestion from Bruno Haible.
24583
24584 2000-06-23  Jim Meyering  <meyering@lucent.com>
24585
24586         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
24587
24588 2000-06-21  Jim Meyering  <meyering@lucent.com>
24589
24590         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
24591
24592 2000-06-21  Jim Meyering  <meyering@lucent.com>
24593
24594         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
24595         (noinst_HEADERS): Add getstr.h.
24596
24597         * lib/getline.c (getstr): Move into a separate file.
24598         * lib/getstr.c (getstr): New file, extracted from getline.c, with
24599         the following changes: new parameter, delim2; both delim[12]
24600         parameters have type `int', not `char'.  The latter would lose
24601         with 8-bit delimiters.
24602         * lib/getstr.h: New file.
24603
24604 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
24605
24606         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
24607         than 1024, return a memory chunk of least possible size, instead
24608         of size PATH_MAX + 2. In the loop, increment the size proportionally.
24609         Use free/xmalloc instead of xrealloc to avoid copying for very long
24610         paths.
24611
24612 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
24613
24614         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
24615         the empty string.
24616
24617 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
24618
24619         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
24620         address, not strdup.  Include <stdlib.h> and don't declare free().
24621
24622 2000-06-19  Jim Meyering  <meyering@lucent.com>
24623
24624         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
24625
24626 2000-06-18  Jim Meyering  <meyering@lucent.com>
24627
24628         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
24629
24630         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
24631         `checking whether...' message to be consistent with that of the
24632         lstat test.
24633
24634 2000-06-18  Jim Meyering  <meyering@lucent.com>
24635
24636         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
24637         Besides, these days every porting target provides a mkdir function.
24638
24639         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
24640         needed. (this snippet comes from src/system.h).
24641
24642 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
24643
24644         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
24645
24646 2000-06-15  Paul Eggert  <eggert@twinsun.com>
24647
24648         * lib/human.c (adjust_value): New function.
24649         (human_readable_inexact): Apply rounding style even when
24650         printing approximate values.
24651
24652 2000-06-14  Paul Eggert  <eggert@twinsun.com>
24653
24654         * lib/human.c (human_readable_inexact): Allow an input block
24655         size that is not a multiple of the output block size, and vice versa.
24656         Reported by Piergiorgio Sartor.
24657
24658 2000-06-14  Paul Eggert  <eggert@twinsun.com>
24659
24660         * lib/getdate.y (get_date): Apply relative times after time
24661         zone indicator, not before.  Reported by Todd A. Jacobs.
24662
24663 2000-06-13  Jim Meyering  <meyering@lucent.com>
24664
24665         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
24666
24667         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
24668
24669 2000-06-12  Paul Eggert  <eggert@twinsun.com>
24670
24671         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
24672
24673 2000-06-12  Jim Meyering  <meyering@lucent.com>
24674
24675         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
24676         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
24677         optional argument.
24678         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
24679         the optional argument, `lib'.
24680
24681 2000-06-08  Jim Meyering  <meyering@lucent.com>
24682
24683         * m4/largefile.m4: Remove file (now that it's part of autoconf).
24684
24685 2000-06-04  Paul Eggert  <eggert@twinsun.com>
24686
24687         Rewrite largefile configuration so that we don't need to run
24688         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
24689         AC_CANONICAL_HOST in configure.in -- jmm]
24690
24691         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
24692         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
24693         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
24694         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
24695         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
24696         All uses changed.
24697         Instead of inspecting the output of getconf, try to compile the
24698         test program without and with the macro definition.
24699         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
24700         for getconf.  Instead, check for the needed flags by compiling
24701         test programs.
24702
24703 2000-06-04  Paul Eggert  <eggert@twinsun.com>
24704
24705         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
24706
24707 2000-06-04  Jim Meyering  <meyering@lucent.com>
24708
24709         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
24710         SunOS 4.1.4 for which gid_t is an unsigned type.
24711
24712 2000-06-03  Jim Meyering  <meyering@lucent.com>
24713
24714         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
24715         now that autoconf requires that.
24716
24717         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
24718         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
24719         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
24720
24721 2000-06-03  Jim Meyering  <meyering@lucent.com>
24722
24723         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
24724
24725 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
24726
24727         * m4/glibc21.m4: New file.
24728         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
24729
24730 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
24731
24732         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
24733         newer, don't install charset.alias.
24734         * lib/config.charset: Change the Linux/glibc rules so they become empty
24735         on glibc-2.1 or newer.
24736
24737 2000-06-02  Jim Meyering  <meyering@lucent.com>
24738
24739         * lib/mountlist.c: Back out last change.  Instead, do this...
24740         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
24741         me_dummy member using the same `ignore'-testing code.
24742         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
24743         fs_type strings.
24744         From Mark D. Roth.
24745
24746 2000-05-29  Jim Meyering  <meyering@lucent.com>
24747
24748         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
24749         mounts with the `ignore' attribute.  Based on a patch from
24750         Mark D. Roth.
24751
24752 2000-05-28  Jim Meyering  <meyering@lucent.com>
24753
24754         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
24755         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
24756         * m4/stat.m4: Likewise.
24757         * m4/lstat.m4: Likewise.
24758         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
24759
24760         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
24761         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
24762
24763 2000-05-26  Jim Meyering  <meyering@lucent.com>
24764
24765         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
24766
24767 2000-05-24  Jim Meyering  <meyering@lucent.com>
24768
24769         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
24770         autoconf requires that.
24771         * m4/lib-check.m4: Likewise.
24772         * m4/jm-macros.m4: Likewise.
24773         * m4/strftime.m4: Likewise.
24774
24775         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
24776         AC_CHECK_DECLS, now that autoconf requires that.
24777
24778 2000-05-22  Jim Meyering  <meyering@lucent.com>
24779
24780         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
24781         * m4/lstat.m4: Likewise.
24782
24783 2000-05-22  Jim Meyering  <meyering@lucent.com>
24784
24785         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
24786
24787 2000-05-20  Jim Meyering  <meyering@lucent.com>
24788
24789         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
24790         (jm_PREREQ): Use it.
24791
24792 2000-05-18  Jim Meyering  <meyering@lucent.com>
24793
24794         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
24795         back, too, since it may have been modified by allocate_entry.
24796         (hash_delete): Rewrite to use neither the assignment operator
24797         nor the comma operator in an if-expression.
24798
24799 2000-05-15  Paul Eggert  <eggert@twinsun.com>
24800
24801         * lib/closeout.c:
24802         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
24803         Remove; no longer needed.
24804         "quotearg.h": Add include.
24805         (file_name): Do not bother to explicitly initialize to NULL; it's less
24806         efficient on some hosts.
24807         (close_stdout_status): Remove test as to whether stdout was already
24808         closed; it breaks for the case "echo x | sort >&-".
24809         Quote file name colons.
24810         Do not assume that _("write error") lacks format strings.
24811
24812 2000-05-15  Jim Meyering  <meyering@lucent.com>
24813
24814         * lib/version-etc.c (version_etc_copyright): Update the copyright
24815         string used in all --version output.
24816
24817 2000-05-14  Jim Meyering  <meyering@lucent.com>
24818
24819         * lib/closeout.c (close_stdout_set_file_name): New function.
24820         (close_stdout_status): Use new file-scoped global.
24821         Return right away if fstat says the stdout file descriptor is invalid.
24822         * lib/closeout.h (close_stdout_set_file_name): Declare.
24823
24824 2000-05-10  Jim Meyering  <meyering@lucent.com>
24825
24826         * lib/closeout.c [default_exit_status]: New file-scoped variable.
24827         (close_stdout_set_status): New function.
24828         * lib/closeout.h (close_stdout_set_status): Declare.
24829
24830 2000-05-09  Jim Meyering  <meyering@lucent.com>
24831
24832         * m4/gettext.m4: Rename this...
24833         * m4/libintl.m4: ...to this.
24834
24835 2000-05-08  Jim Meyering  <meyering@lucent.com>
24836
24837         * lib/long-options.c: Don't include closeout.h.
24838         (parse_long_options): Don't call close_stdout for --version.
24839
24840 2000-05-06  Paul Eggert  <eggert@twinsun.com>
24841
24842         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
24843         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
24844         2.1.3 bug.  This avoids a clash when files like regex.c define
24845         _GNU_SOURCE.
24846
24847 2000-05-06  Jim Meyering  <meyering@lucent.com>
24848
24849         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
24850         (AC_REPLACE_FUNCS): Add strnlen.
24851
24852         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
24853         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
24854
24855         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
24856         AC_SEARCH_LIBS call for nanosleep.
24857         (LIB_NANOSLEEP): Set and AC_SUBST.
24858
24859 2000-05-06  Jim Meyering  <meyering@lucent.com>
24860
24861         * lib/strnlen.c: Undefine __strnlen and strnlen.
24862         [!weak_alias]: Define __strnlen to strnlen.
24863
24864         * lib/atexit.c: New file, from libiberty.
24865
24866 2000-05-06  Jim Meyering  <meyering@lucent.com>
24867
24868         * lib/closeout.c (close_stdout_status): Also check for errors on the
24869         stderr stream.
24870
24871 2000-05-05  Jim Meyering  <meyering@lucent.com>
24872
24873         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
24874         AC_SEARCH_LIBS call for clock_gettime.
24875         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
24876
24877         * m4/search-libs.m4: Update from autoconf.
24878
24879         su doesn't work on Solaris 2.6.
24880         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
24881         <shadow.h>.  Reported by Dragos Harabor.
24882
24883 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
24884
24885         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
24886         memcpy instead of xmalloc, xrealloc, path_concat.
24887         (locale_charset): Treat empty environment variables as absent.
24888         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
24889
24890 2000-05-04  Jim Meyering  <meyering@lucent.com>
24891
24892         * lib/getopt.c: Update from glibc.
24893         * lib/obstack.c: Likewise.
24894         * lib/obstack.h: Likewise.
24895         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
24896         file
24897
24898         * lib/regex.h: Likewise.
24899         * lib/strndup.c: Likewise.
24900         * lib/strnlen.c: New file, from glibc.
24901
24902 2000-05-03  Jim Meyering  <meyering@lucent.com>
24903
24904         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
24905
24906 2000-05-02  Paul Eggert  <eggert@twinsun.com>
24907
24908         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
24909         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
24910         compile-time test, rather than inspecting host and OS, to
24911         decide whether to define _LARGEFILE_SOURCE.
24912
24913 2000-05-01  Jim Meyering  <meyering@lucent.com>
24914
24915         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
24916
24917         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
24918         Based on a patch from Bruno Haible.
24919
24920 2000-05-01  Jim Meyering  <meyering@lucent.com>
24921
24922         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
24923
24924 2000-04-29  Jim Meyering  <meyering@lucent.com>
24925
24926         * lib/path-concat.c: Declare strdup only if it's not defined.
24927         * lib/canon-host.c: Likewise.
24928
24929 2000-04-28  Jim Meyering  <meyering@lucent.com>
24930
24931         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
24932         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
24933         is included first, then limits.h is included by locale.h by libintl.h.
24934         From John David Anglin.
24935
24936 2000-04-25  Jim Meyering  <meyering@lucent.com>
24937
24938         * lib/makepath.c (S_IRWXUGO): Define.
24939         (make_path): Always perform explicit chmod if MODE specifies any
24940         of the `special' permission bits.  Prompted by a bug report against
24941         install from Mate Wierdl and Joost van Baal.
24942
24943 2000-04-18  Jim Meyering  <meyering@lucent.com>
24944
24945         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
24946         (jm_PREREQ): Use it.
24947
24948 2000-04-18  Jim Meyering  <meyering@lucent.com>
24949
24950         * lib/README: New file.
24951
24952         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
24953         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
24954
24955 2000-04-17  Jim Meyering  <meyering@lucent.com>
24956
24957         Get it right :-)
24958         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
24959         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
24960         Suggestion from Akim Demaille.
24961
24962 2000-04-17  Jim Meyering  <meyering@lucent.com>
24963
24964         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
24965         the definition of it to rpl_strftime also defined-away the system's
24966         declaration.
24967
24968 2000-04-15  Jim Meyering  <meyering@lucent.com>
24969
24970         Use `C' to denote so-called `contiguous' files, the same way
24971         that tar does.
24972         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
24973         (ftypelet): Use S_ISCTG.
24974         From Michael Deutschmann.
24975
24976 2000-04-14  Jim Meyering  <meyering@lucent.com>
24977
24978         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
24979         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
24980         clobbered.
24981
24982 2000-04-14  Jim Meyering  <meyering@lucent.com>
24983
24984         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
24985
24986 2000-04-13  Jim Meyering  <meyering@lucent.com>
24987
24988         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
24989         AH_VERBATIM to insert required #ifndef into config.h.in.
24990         Suggestion from Akim Demaille.
24991
24992 2000-04-12  Jim Meyering  <meyering@lucent.com>
24993
24994         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
24995         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
24996         Christian Krackowizer.
24997
24998         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
24999         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
25000         (AC_SYS_LARGEFILE): Require.
25001         (AM_C_PROTOTYPES): Require.
25002
25003 2000-04-08  Jim Meyering  <meyering@lucent.com>
25004
25005         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
25006         names don't conflict.  Reported by Eli Zaretskii.
25007
25008 2000-04-07  Jim Meyering  <meyering@lucent.com>
25009
25010         * lib/putenv.c: Move inclusion of errno.h so it follows that of
25011         sys/types.h, to work around system header problems on AIX 3.2.5.
25012         From Bruno Haible.
25013
25014 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
25015
25016         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
25017         bug.  Deal with the different error behavior of Irix iconv.
25018
25019 2000-04-05  Paul Eggert  <eggert@twinsun.com>
25020
25021         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
25022         IRIX if the installer said otherwise.
25023
25024 2000-04-05  Jim Meyering  <meyering@lucent.com>
25025
25026         Portability tweaks required for ultrix4.3.
25027         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
25028         (jm_CHECK_DECLS): Add getutent to the list of functions.
25029         (_jm_DECL_HEADERS): Add utmpx.h.
25030         From John David Anglin.
25031
25032         * m4/strftime.m4: Back out the 2000-04-02 change.
25033         Instead of that change, simply undefine putenv in the test program.
25034
25035 2000-04-05  Jim Meyering  <meyering@lucent.com>
25036
25037         Portability tweaks required for ultrix4.3.
25038         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
25039         getutent.
25040         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
25041         * lib/canon-host.c: Declare strdup.
25042         * lib/path-concat.c: Likewise.
25043         From John David Anglin.
25044
25045 2000-04-04  Jim Meyering  <meyering@lucent.com>
25046
25047         Be more DOS 8.3-friendly.
25048         * lib/ref-add.sin: Renamed from ref-add.sed.in.
25049         * lib/ref-del.sin: Renamed from ref-del.sed.in.
25050         * lib/Makefile.am: Reflect renaming.
25051         Reported by Eli Zaretskii.
25052
25053         Use a temporary file name that won't clash with `charset.alias'
25054         in the DOS 8.3 name space.
25055         * lib/Makefile.am (charset_tmp): Define.
25056         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
25057         (uninstall-local): Likewise.
25058         Reported by Eli Zaretskii.
25059
25060 2000-04-03  Jim Meyering  <meyering@lucent.com>
25061
25062         * m4/gettext.m4: Fix typo in comment.
25063
25064         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
25065         textutils/configure.in).  Suggestion from Paul Eggert.
25066         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
25067
25068 2000-04-02  Paul Eggert  <eggert@twinsun.com>
25069
25070         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
25071         variable in the shell rather than using putenv, which isn't
25072         portable.  This avoids the configure-time inter-test dependency
25073         on the potentially-renamed putenv function.
25074
25075 2000-03-30  Paul Eggert  <eggert@twinsun.com>
25076
25077         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
25078         before checking struct stat.st_blksize, so that
25079         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
25080
25081 2000-03-29  Paul Eggert  <eggert@twinsun.com>
25082
25083         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
25084         since strftime.c uses HAVE_STRFTIME to decide whether to use
25085         the underlying strftime.
25086
25087 2000-03-29  Paul Eggert  <eggert@twinsun.com>
25088
25089         * lib/time/strftime.c (my_strftime): Make sure we call the system
25090         strftime, not ourselves, when invoking the underlying strftime.
25091
25092 2000-03-24  Jim Meyering  <meyering@lucent.com>
25093
25094         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
25095         (charset_alias): Define.
25096         (install-exec-local): Factor out common code.
25097         (uninstall-local): Split lines longer than 80.
25098         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
25099         (SUFFIXES): Define.
25100         (.sed.in.sed): New rule.  Don't redirect directly to $@.
25101         (CLEANFILES): Add ref-add.sed and ref-del.sed.
25102
25103 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
25104
25105         * lib/config.charset: Output a line containing "Packages using this
25106         file".
25107         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
25108         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
25109         ref-del.sed): New rules.
25110
25111 2000-03-17  Jim Meyering  <meyering@lucent.com>
25112
25113         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
25114         Otherwise, include <strings.h>
25115
25116 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
25117
25118         * lib/unicodeio.c (utf8_wctomb): New function.
25119         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
25120         format instead of in UCS-4 with platform dependent endianness.
25121
25122 2000-03-10  Jim Meyering  <meyering@lucent.com>
25123
25124         * m4/lib-check.m4: Look for getspnam in -lgen, too.
25125         From Marco Franzen.
25126
25127 2000-03-07  Paul Eggert  <eggert@twinsun.com>
25128
25129         * lib/savedir.c (savedir): Work even if directory size is
25130         negative; this can happen with some screwy NFS configurations.
25131
25132 2000-03-06  Jim Meyering  <meyering@lucent.com>
25133
25134         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
25135         if it's NULL (because we ran out of memory).  From Bruno Haible.
25136
25137 2000-03-05  Jim Meyering  <meyering@lucent.com>
25138
25139         * lib/localcharset.c ("path-concat.h"): Include.
25140         (get_charset_aliases): Use path_concat instead of ANSI string
25141         concatenation.
25142
25143         * lib/unicodeio.h (PARAMS): Define.
25144         Use it to guard prototype.
25145
25146 2000-03-04  Jim Meyering  <meyering@lucent.com>
25147
25148         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
25149         for lib/localcharset.c.
25150
25151 2000-03-04  Jim Meyering  <meyering@lucent.com>
25152
25153         * lib/Makefile.am (install-exec-local): Create $(libdir) before
25154         installing into it.
25155         (uninstall-local): Uncomment this rule so `make distcheck' works
25156         once again.
25157
25158         * lib/unicodeio.c (<errno.h>): Include it.
25159         (errno): Declare if not defined.
25160
25161         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
25162
25163         * lib/config.charset: New version, incorporating remarks from a linux
25164         i18n mailing list.  From Bruno Haible.
25165
25166 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
25167
25168         * m4/codeset.m4: New file.
25169         * m4/iconv.m4: New file.
25170         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
25171
25172 2000-03-03  Jim Meyering  <meyering@lucent.com>
25173
25174         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
25175
25176 2000-03-02  Jim Meyering  <meyering@lucent.com>
25177
25178         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
25179         the messages come out on separate lines.
25180
25181         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
25182         rather than jm_CHECK_DECLARATIONS.
25183         * m4/decl.m4: Remove now-unused file.
25184
25185         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
25186         geteuid.
25187
25188 2000-03-02  Jim Meyering  <meyering@lucent.com>
25189
25190         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
25191
25192 2000-03-01  Jim Meyering  <meyering@lucent.com>
25193
25194         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
25195         * lib/unicodeio.c: Likewise.
25196
25197 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
25198
25199         * lib/config.charset: New file.
25200         * lib/localcharset.c: New file.
25201         * lib/unicodeio.h, lib/unicodeio.c: New files.
25202         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
25203         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
25204         (noinst_HEADERS): Add unicodeio.h.
25205         (all-local, install-exec-local, charset.alias): New targets.
25206
25207 2000-02-28  Paul Eggert  <eggert@twinsun.com>
25208
25209         * lib/quotearg.c (ALERT_CHAR): New macro.
25210         (quotearg_buffer_restyled): Use it.
25211
25212 2000-02-27  Jim Meyering  <meyering@lucent.com>
25213
25214         * m4/check-decl.m4: Add getenv to the list.
25215
25216 2000-02-27  Jim Meyering  <meyering@lucent.com>
25217
25218         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
25219         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
25220
25221         * lib/backupfile.c: Guard inclusion of stdlib.h with
25222         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
25223         Declare malloc if needed.
25224
25225         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
25226         `#ifndef HAVE_DECL..'
25227         now that autoconf always defines the HAVE_DECL_ symbols.
25228         * lib/human.c: Likewise.
25229         * lib/same.c: Likewise.
25230         * lib/strtoumax.c: Likewise.
25231
25232         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
25233         declaration check was not run.
25234         * lib/hash.c: Likewise.
25235         * lib/human.c: Likewise.
25236         * lib/same.c: Likewise.
25237         * lib/strtoumax.c: Likewise.
25238
25239         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
25240         `.', then first look up the entire `.'-containing string as a login
25241         name.
25242
25243 2000-02-23  Jim Meyering  <meyering@lucent.com>
25244
25245         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
25246         in place of my hack.
25247
25248 2000-02-18  Paul Eggert  <eggert@twinsun.com>
25249
25250         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
25251         (textint): New typedef.
25252         (parser_control): Member year changed from int to textint.
25253         All uses changed.
25254         (YYSTYPE): Removed; replaced by %union with int and textint members.
25255         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
25256         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
25257         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
25258         (tSNUMBER, tUNUMBER): Now of type <textintval>.
25259         (date, number, to_year): Use width of number in digits, not its value,
25260         to determine whether it's a 2-digit year, or a 2-digit time.
25261         (yylex): Store number of digits of numeric tokens.
25262         Reported by John Kendall.
25263
25264         (parser_control): Changed from struct parser_control to typedef (for
25265         consistency).  All uses changed.
25266
25267         (tID): Removed; not used.
25268         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
25269
25270 2000-02-14  Paul Eggert  <eggert@twinsun.com>
25271
25272         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
25273         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
25274
25275 2000-02-12  Jim Meyering  <meyering@lucent.com>
25276
25277         * lib/userspec.c (ISDIGIT): Define it.
25278         (isdigit): Remove definition.
25279         (is_number): Use ISDIGIT, not isdigit.
25280         <libintl.h>: Include.
25281         (_ and N_): Define.
25282         (parse_user_spec): Mark translatable strings.
25283
25284 2000-02-10  Jim Meyering  <meyering@lucent.com>
25285
25286         With these changes, nanosleep.[ch] are finally enough like the other
25287         lib/* replacement files to compile on a few more losing systems.
25288
25289         * lib/nanosleep.h: Don't include config.h.
25290         Remove prototype from declaration of nanosleep.
25291         (PARAMS): Remove now-unneeded definition.
25292         * lib/nanosleep.c: #undef nanosleep.
25293         (rpl_nanosleep): Rename from nanosleep.
25294
25295 2000-02-10  Jim Meyering  <meyering@lucent.com>
25296
25297         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
25298         gnu_nanosleep to rpl_nanosleep.
25299
25300 2000-02-09  Jim Meyering  <meyering@lucent.com>
25301
25302         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
25303         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
25304
25305 2000-02-08  Akim Demaille  <akim@epita.fr>
25306
25307         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
25308         `[' and `]' and remove uses of `changequote'.
25309         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
25310         (AC_SYS_LARGEFILE): Likewise.
25311         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
25312         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
25313         of changequote.
25314         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
25315         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
25316         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
25317         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
25318
25319 2000-02-05  Jim Meyering  <meyering@lucent.com>
25320
25321         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
25322         Remove explicit use of AC_HEADER_TIME.  It is required by
25323         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
25324         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
25325         in autoconf whereby the expansion of the latter ended up preceding
25326         the expansion of its prerequisite, AC_HEADER_TIME.
25327         Reported by Volker Borchert.
25328
25329 2000-02-03  Jim Meyering  <meyering@lucent.com>
25330
25331         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
25332
25333 2000-02-03  Jim Meyering  <meyering@lucent.com>
25334
25335         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
25336         rather than with `#if HAVE_UTMPNAME'.
25337
25338 2000-02-02  Jim Meyering  <meyering@lucent.com>
25339
25340         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
25341         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
25342         Reported by Eli Zaretskii.
25343
25344 2000-02-01  Jim Meyering  <meyering@lucent.com>
25345
25346         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
25347
25348 2000-01-31  Jim Meyering  <meyering@lucent.com>
25349
25350         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
25351         functions.  Add the time.h and sys/time.h headers along with the
25352         AC_REQUIRE'ment of AC_HEADER_TIME.
25353
25354 2000-01-31  Jim Meyering  <meyering@lucent.com>
25355
25356         * lib/nanosleep.h (nanosleep): Guard declaration with
25357         `#if ! HAVE_DECL_NANOSLEEP'.
25358         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
25359         the declaration in that vendor's sys/timers.h.
25360         Reported by Christian Krackowizer.
25361
25362         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
25363         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
25364         (ISPRINT): Likewise.
25365         Reported by Tom Tromey.
25366
25367 2000-01-30  Jim Meyering  <meyering@lucent.com>
25368
25369         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
25370
25371         * m4/prereq.m4 (utmp_includes): Define.
25372         Check for ut_user and ut_name members in both struct utmpx
25373         and struct utmp.
25374
25375 2000-01-30  Jim Meyering  <meyering@lucent.com>
25376
25377         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
25378         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
25379         header files where only utmpx.ut_user is declared.
25380
25381         * lib/readutmp.h (UT_USER): Define.
25382
25383 2000-01-29  Jim Meyering  <meyering@lucent.com>
25384
25385         * m4/lib-check.m4: New file containing library-related checks from
25386         fileutils and sh-utils (textutils had none).
25387
25388 2000-01-28  Jim Meyering  <meyering@lucent.com>
25389
25390         * m4/perl.m4: Change format of warning message to look more like that
25391         from the missing script.  Suggestion from François Pinard.
25392
25393 2000-01-25  Jim Meyering  <meyering@lucent.com>
25394
25395         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
25396         well as time.h in the compile check.
25397         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
25398         Fix typo in cross-compiling case: s/yes/no/.
25399
25400 2000-01-23  Jim Meyering  <meyering@lucent.com>
25401
25402         * m4/jm-macros.m4: Move df-related tests here from
25403         fileutils/configure.in
25404
25405         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
25406         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
25407
25408         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
25409         s/space/ac_fsusage_space/.
25410         (jm_FILE_SYSTEM_USAGE): Take two parameters.
25411
25412         * m4/ftruncate.m4: New file (derived from part of
25413         fileutils/configure.in).
25414         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
25415         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
25416
25417         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
25418         AC_SUBST these here, rather than just in sh-util/configure.in, so
25419         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
25420         all the same.
25421         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
25422         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
25423         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
25424         (AC_SUBST(POW_LIBM)): Likewise.
25425         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
25426
25427 2000-01-23  Jim Meyering  <meyering@lucent.com>
25428
25429         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
25430         obstack.c.
25431
25432 2000-01-22  Jim Meyering  <meyering@lucent.com>
25433
25434         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
25435
25436         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
25437
25438         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
25439         configure.in
25440         (AC_CHECK_HEADERS): Likewise for sh-utils.
25441         (AC_CHECK_HEADERS): Likewise for textutils.
25442         Merge the three lists of headers.
25443
25444         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
25445         from fileutils' configure.in.
25446
25447         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
25448         code. Moved tests into their own function (_jm_DECL_HEADERS) in
25449         check-decl.m4.
25450
25451         * m4/check-decl.m4: Use #if rather than #ifdef.
25452         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
25453         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
25454         (_jm_DECL_HEADERS): Define new function.
25455         (jm_CHECK_DECLARATIONS): Require it.
25456
25457 2000-01-22  Jim Meyering  <meyering@lucent.com>
25458
25459         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
25460         [! HAVE_DECL_STRTOULL]: Declare strtoull.
25461         Required for some AIX systems.  Reported by Christian Krackowizer.
25462         [TESTING] (main): New function.
25463
25464         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
25465         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
25466         letters.
25467
25468         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
25469         iswprint.
25470
25471         * lib/strverscmp.c (ISDIGIT): Define.
25472         (strverscmp): Use ISDIGIT, not isdigit.
25473
25474 2000-01-19  Jim Meyering  <meyering@lucent.com>
25475
25476         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
25477         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
25478         defines `struct timespec' in <sys/time.h>
25479
25480         * m4/c-bs-a.m4: Remove uses of changequote altogether.
25481         Thanks to Akim for explaining.
25482
25483 2000-01-17  Paul Eggert  <eggert@twinsun.com>
25484
25485         * lib/nanosleep.c (nanosleep):
25486         Don't use SA_INTERRUPT to decide whether to call sigaction, as
25487         POSIX.1 doesn't require SA_INTERRUPT and some systems
25488         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
25489         it's been part of POSIX.1 since day 1 (in 1988).
25490
25491 2000-01-17  Jim Meyering  <meyering@lucent.com>
25492
25493         * lib/interlock: Remove unused file.  Reported by François Pinard.
25494
25495 2000-01-16  Paul Eggert  <eggert@twinsun.com>
25496
25497         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
25498         alert, backslash, formfeed, and vertical tab unnecessarily in
25499         shell quoting style.
25500
25501 2000-01-16  Jim Meyering  <meyering@lucent.com>
25502
25503         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
25504         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
25505         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
25506         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
25507
25508 2000-01-16  Jim Meyering  <meyering@lucent.com>
25509
25510         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
25511         because the latter didn't work.
25512
25513 2000-01-15  Jim Meyering  <meyering@lucent.com>
25514
25515         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
25516         (AC_REPLACE_FUNCS): Add memcpy and memset.
25517         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
25518         Add strpbrk.
25519         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
25520
25521 2000-01-12  Jim Meyering  <meyering@lucent.com>
25522
25523         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
25524         (jm_PREREQ): Use it.
25525         (jm_PREREQ_READUTMP): New macro.
25526         (jm_PREREQ): Use it.
25527
25528 2000-01-11  Paul Eggert  <eggert@twinsun.com>
25529
25530         Quote multibyte characters correctly.
25531         * m4/c-bs-a.m4: New file.
25532         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
25533         (jm_PREREQ): Use it.
25534
25535 2000-01-11  Paul Eggert  <eggert@twinsun.com>
25536
25537         * m4/uintmax_t.m4: Port to autoconf 2.13.
25538
25539 2000-01-08  Jim Meyering  <meyering@ascend.com>
25540
25541         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
25542         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
25543
25544 2000-01-04  Jim Meyering  <meyering@ascend.com>
25545
25546         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
25547         jm_STRUCT_DIRENT_D_TYPE.
25548         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
25549         jm_STRUCT_DIRENT_D_INO.
25550         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
25551         jm_STRUCT_UTIMBUF.
25552         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
25553         renamings.
25554         * m4/utime.m4: Likewise.
25555
25556         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
25557         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
25558
25559 2000-01-03  Paul Eggert  <eggert@twinsun.com>
25560
25561         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
25562         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
25563
25564 2000-01-02  Jim Meyering  <meyering@ascend.com>
25565
25566         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
25567         remember if this is necessary.
25568
25569 1999-12-26  Jim Meyering  <meyering@ascend.com>
25570
25571         * m4/jm-macros.m4: Use it here.
25572         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
25573
25574 1999-12-23  Jim Meyering  <meyering@ascend.com>
25575
25576         * m4/jm-macros.m4: Check for clock_gettime (moved from
25577         fileutils/configure.in)
25578         Check for gettimeofday.
25579
25580 1999-12-20  Jim Meyering  <meyering@ascend.com>
25581
25582         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
25583         autoconf-2.14a-1999-12-20.
25584
25585 1999-12-19  Jim Meyering  <meyering@ascend.com>
25586
25587         * m4/lstat-slash.m4: New file.
25588         * m4/jm-macros.m4: Use the new macro:
25589         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
25590
25591 1999-12-07  Jim Meyering  <meyering@ascend.com>
25592
25593         * m4/perl.m4: Require that File::Compare be available, too.
25594         Too many systems seem to lack it.
25595
25596         * m4/strftime.m4: Add checks for most of the cpp macros tested in
25597         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
25598
25599 1999-11-18  Paul Eggert  <eggert@twinsun.com>
25600
25601         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
25602         problem with the QNX 4.25 shell, which doesn't propagate exit
25603         status of failed commands inside shell assignments.
25604
25605 1999-11-17  Jim Meyering  <meyering@ascend.com>
25606
25607         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
25608
25609 1999-11-07  Jim Meyering  <meyering@ascend.com>
25610
25611         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
25612
25613 1999-11-06  Jim Meyering  <meyering@ascend.com>
25614
25615         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
25616         * m4/jm-macros.m4 (jm_MACROS): Use it here.
25617
25618 1999-11-05  Jim Meyering  <meyering@ascend.com>
25619
25620         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
25621         configure.in of textutils, fileutils, and sh-utils into this one
25622         (shared between those packages) file.
25623         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
25624         AC_STRUCT_ST_BLKSIZE.
25625
25626 1999-11-03  Jim Meyering  <meyering@ascend.com>
25627
25628         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
25629         of AC_CHECK_TYPE checks includes unistd.h.
25630         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
25631         Suggestion from Akim Demaille.
25632
25633 1999-10-30  Jim Meyering  <meyering@ascend.com>
25634
25635         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
25636         m4-quoted string.
25637         * m4/ls-mntd-fs.m4: Likewise.
25638         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
25639         * m4/jm-winsz1.m4: Likewise.
25640
25641         * m4/const.m4: Remove file, since the fix made it into the experimental
25642         version of autoconf.
25643         * m4/mktime.m4: Likewise.
25644
25645         * m4/check-type.m4: Remove file, now that the latest version of
25646         AC_CHECK_TYPE takes a third arg to specify additional #includes.
25647
25648         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
25649         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
25650         AC_CHECK_TYPE.
25651
25652 1999-10-04  Jim Meyering  <meyering@ascend.com>
25653
25654         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
25655
25656 1999-09-22  Paul Eggert  <eggert@twinsun.com>
25657
25658         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
25659         2.95.1 bug with HP-UX 10.20.
25660
25661 1999-09-17  Jim Meyering  <meyering@ascend.com>
25662
25663         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
25664         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
25665         due to missing strdup (against sh-utils-2.0).
25666
25667 1999-08-29  Jim Meyering  <meyering@ascend.com>
25668
25669         * m4/jm-macros.m4: Require jm_BISON.
25670         * m4/bison.m4: New file.
25671
25672 1999-08-17  Paul Eggert  <eggert@twinsun.com>
25673
25674         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
25675         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
25676
25677 1999-08-05  Jim Meyering  <meyering@ascend.com>
25678
25679         * m4/getline.m4: Rename test file from conftestdata to conftest.data
25680         to avoid conflicts with `conftest' on 8+3 filesystems.
25681         Suggestion from Eli Zaretskii.
25682
25683 1999-08-04  Jim Meyering  <meyering@ascend.com>
25684
25685         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
25686         fileutils and sh-utils (textutils's getline test was inadequate).
25687         (AM_FUNC_GETLINE): Run this test.
25688         (AC_CHECK_FUNCS): Check for getdelim.
25689         Reported by Bob Proulx.
25690
25691 1999-08-02  Jim Meyering  <meyering@ascend.com>
25692
25693         * m4/jm-macros.m4: Add a comment.
25694
25695 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25696
25697         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
25698         <inttypes.h> defines strtoumax as a macro (and not as a
25699         function).
25700
25701 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25702
25703         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
25704         that we can shift, multiply and divide unsigned long long
25705         values; Ultrix cc can't do it.
25706
25707 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25708
25709         * m4/mktime.m4: New file, which is a preview of what should appear
25710         in the next public autoconf release.
25711
25712 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25713
25714         * m4/lfs.m4: Remove this file.
25715         * m4/largefile.m4: New file.  It contains the old contents of
25716         lfs.m4, except that all names with prefix AC_LFS have been
25717         changed to use the prefix AC_SYS_LARGEFILE instead, to be
25718         compatible with future autoconf versions.  Also, some minor m4
25719         quoting problems have been fixed.
25720
25721 1999-08-01  Paul Eggert  <eggert@twinsun.com>
25722
25723         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
25724         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
25725         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
25726         and simplify the shell code.
25727
25728 1999-08-01  Jim Meyering  <meyering@ascend.com>
25729
25730         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
25731         m4.
25732
25733 1999-07-20  Jim Meyering  <meyering@ascend.com>
25734
25735         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
25736
25737 1999-07-15  Jim Meyering  <meyering@ascend.com>
25738
25739         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
25740
25741 1999-05-22  Jim Meyering  <meyering@ascend.com>
25742
25743         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
25744
25745 1999-05-20  Jim Meyering  <meyering@ascend.com>
25746
25747         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
25748         Add a colon after each `then' in case $4 is empty.
25749
25750 1999-05-16  Jim Meyering  <meyering@ascend.com>
25751
25752         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
25753
25754 1999-05-10  Jim Meyering  <meyering@ascend.com>
25755
25756         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
25757
25758         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
25759         AC_FUNC_MKTIME.
25760
25761 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
25762
25763         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
25764
25765 1999-05-04  Paul Eggert  <eggert@twinsun.com>
25766
25767         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
25768         not CPPFLAGS, so that linking works correctly in IRIX.
25769
25770 1999-04-30  Paul Eggert  <eggert@twinsun.com>
25771
25772         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
25773
25774 1999-04-20  Paul Eggert  <eggert@twinsun.com>
25775
25776         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
25777         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
25778         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
25779         jm_AC_TYPE_UNSIGNED_LONG_LONG.
25780         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
25781
25782         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
25783
25784 1999-04-20  Jim Meyering  <meyering@ascend.com>
25785
25786         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
25787         AC_REPLACE xstroull if necessary.  From Paul Eggert.
25788         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
25789
25790 1999-04-18  Jim Meyering  <meyering@ascend.com>
25791
25792         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
25793         * m4/jm-macros.m4: Use it.
25794
25795 1999-04-06  Jim Meyering  <meyering@ascend.com>
25796
25797         * m4/strftime.m4: Remove test for %f.
25798
25799 1999-03-29  Jim Meyering  <meyering@ascend.com>
25800
25801         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
25802         superset of the AC_TYPE_* checks in the textutils, fileutils,
25803         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
25804         AC_TYPE_PID_T.
25805
25806 1999-03-28  Jim Meyering  <meyering@ascend.com>
25807
25808         * m4/jm-macros.m4: Define GNU_PACKAGE here.
25809         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
25810         replaced e.g., in the *.sh files of the sh-utils.
25811
25812 1999-03-20  Jim Meyering  <meyering@ascend.com>
25813
25814         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
25815         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
25816         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
25817
25818 1999-03-19  Jim Meyering  <meyering@ascend.com>
25819
25820         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
25821
25822 1999-03-12  Jim Meyering  <meyering@ascend.com>
25823
25824         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
25825
25826 1999-03-07  Jim Meyering  <meyering@ascend.com>
25827
25828         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
25829         declared.
25830
25831 1999-02-17  Jim Meyering  <meyering@ascend.com>
25832
25833         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
25834         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
25835
25836 1999-02-07  Jim Meyering  <meyering@ascend.com>
25837
25838         * m4/group-member.m4: New file -- extracted from sh-utils'
25839         configure.in.
25840
25841         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
25842         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
25843
25844 1999-02-06  Jim Meyering  <meyering@ascend.com>
25845
25846         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
25847         * m4/fnmatch.m4: Likewise.
25848         * m4/getgroups.m4: Likewise.
25849         * m4/lstat.m4: Likewise.
25850         * m4/malloc.m4: Likewise.
25851         * m4/putenv.m4: Likewise.
25852         * m4/realloc.m4: Likewise.
25853         * m4/regex.m4: Likewise.
25854         * m4/stat.m4: Likewise.
25855         * m4/strftime.m4: Likewise.
25856         Suggestion from Alain Magloire.
25857
25858         * m4/chown.m4: Use `.$ac_objext', not `.o'.
25859         * m4/fnmatch.m4: Likewise.
25860         * m4/getgroups.m4: Likewise.
25861         * m4/getline.m4: Likewise.
25862         * m4/lstat.m4: Likewise.
25863         * m4/malloc.m4: Likewise.
25864         * m4/memcmp.m4: Likewise.
25865         * m4/putenv.m4: Likewise.
25866         * m4/realloc.m4: Likewise.
25867         * m4/regex.m4: Likewise.
25868         * m4/stat.m4: Likewise.
25869         * m4/strftime.m4: Likewise.
25870         Suggestion from Alain Magloire.
25871
25872         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
25873         an argument.
25874
25875         * m4/regex.m4: Add a run-time Test for proper operation of
25876         re_compile_pattern.
25877
25878 1999-01-31  Jim Meyering  <meyering@ascend.com>
25879
25880         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
25881
25882 1999-01-30  Jim Meyering  <meyering@ascend.com>
25883
25884         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
25885
25886         * m4/jm-mktime.m4: Make this a wrapper around the official
25887         AM_FUNC_MKTIME rather than my private copy, now that the official one
25888         is up to date.
25889         * m4/mktime.m4: Remove file.
25890
25891         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
25892         * m4/uptime.m4: Likewise.
25893         * m4/uintmax_t.m4: Likewise.
25894
25895 1999-01-28  Jim Meyering  <meyering@ascend.com>
25896
25897         * m4/jm-macros.m4: Use jm_AFS.
25898         * m4/afs.m4: New file (from fileutils' configure.in).
25899
25900         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
25901         * m4/chown.m4: Likewise.
25902         * m4/d-ino.m4: Likewise.
25903         * m4/d-type.m4: Likewise.
25904         * m4/fnmatch.m4: Likewise.
25905         * m4/getgroups.m4: Likewise.
25906         * m4/gettext.m4: Likewise.
25907         * m4/jm-mktime.m4: Likewise.
25908         * m4/jm-winsz2.m4: Likewise.
25909         * m4/lcmessage.m4: Likewise.
25910         * m4/ls-mntd-fs.m4: Likewise.
25911         * m4/malloc.m4: Likewise.
25912         * m4/memcmp.m4: Likewise.
25913         * m4/putenv.m4: Likewise.
25914         * m4/realloc.m4: Likewise.
25915         * m4/st_mtim.m4: Likewise.
25916         * m4/strftime.m4: Likewise.
25917
25918 1999-01-16  Jim Meyering  <meyering@ascend.com>
25919
25920         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
25921         (ARGMATCH_DIE_DECL): Define.
25922
25923 1999-01-12  Jim Meyering  <meyering@ascend.com>
25924
25925         * m4/Makefile.am.in: Rewrite to avoid using fmt.
25926         Reported by Lars Hecking.
25927
25928 1999-01-10  Jim Meyering  <meyering@ascend.com>
25929
25930         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
25931         gross kludge.
25932         * m4/inttypes_h.m4: Likewise.
25933         * m4/lstat.m4: Likewise.
25934         * m4/malloc.m4: Likewise.
25935         * m4/readdir.m4: Likewise.
25936         * m4/realloc.m4: Likewise.
25937         * m4/st_dm_mode.m4: Likewise.
25938         * m4/stat.m4: Likewise.
25939         * m4/utimbuf.m4: Likewise.
25940         * m4/utimes.m4: Likewise.
25941
25942         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
25943         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
25944         comments in config.h.in are meaningful.
25945
25946         * m4/jm-macros.m4: Require autoconf-2.13 here.
25947
25948         * m4/regex.m4: By default, don't use the included regex.c on systems
25949         with glibc 2.  Suggestion from Uli Drepper.
25950
25951 1999-01-02  Jim Meyering  <meyering@ascend.com>
25952
25953         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
25954
25955 1998-12-18  Jim Meyering  <meyering@ascend.com>
25956
25957         * m4/Makefile.am.in (Makefile.am): Simplify rule.
25958         Based on a suggestion from Lars Hecking.
25959
25960 1998-11-16  Paul Eggert  <eggert@twinsun.com>
25961
25962         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
25963
25964 1998-11-16  Jim Meyering  <meyering@ascend.com>
25965
25966         * m4/lfs.m4: Double-quote the `uname...` expression.
25967
25968 1998-11-14  Jim Meyering  <meyering@ascend.com>
25969
25970         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
25971         * m4/stat.m4: Likewise.
25972
25973 1998-11-03  Jim Meyering  <meyering@ascend.com>
25974
25975         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
25976         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
25977
25978 1998-10-18  Jim Meyering  <meyering@ascend.com>
25979
25980         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
25981
25982 1998-10-17  Jim Meyering  <meyering@ascend.com>
25983
25984         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
25985         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
25986         calls for those previously hard-coded headers.  Instead, take a new
25987         parameter.
25988         (jm_CHECK_DECLARATIONS): Reflect interface change.
25989         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
25990         (jm_CHECK_DECL_LOCALTIME_R): New macro.
25991
25992         * m4/mktime.m4: Test for spring-forward gap before long-running test.
25993
25994 1998-10-14  Jim Meyering  <meyering@ascend.com>
25995
25996         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
25997         instead of "TZ=America/Vancouver".  From Paul Eggert.
25998
25999 1998-10-11  Jim Meyering  <meyering@ascend.com>
26000
26001         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
26002         This adds a test for a recently added compatibility fix for mktime.c.
26003         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
26004
26005 1998-09-27  Jim Meyering  <meyering@ascend.com>
26006
26007         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
26008
26009         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
26010         ../configure.in, including a change from Gordon Matzigkeit to allow
26011         cross-compiling for the Hurd.
26012
26013         * m4/glibc.m4: New file/macro to test for the GNU C Library
26014         versions 1 and 2.  From Gordon Matzigkeit.
26015         Indent.
26016
26017 1998-09-21  Jim Meyering  <meyering@ascend.com>
26018
26019         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
26020
26021 1998-08-18  Paul Eggert  <eggert@twinsun.com>
26022
26023         Port nanosecond-resolution times to UnixWare 2.1.2 and
26024         pedantic Solaris 2.6.
26025
26026         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
26027         AC_STRUCT_ST_MTIM.
26028         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
26029         Generate name of ns member, instead of just 1 or undef.
26030         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
26031
26032 1998-08-15  Jim Meyering  <meyering@ascend.com>
26033
26034         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
26035         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
26036         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
26037         instead of jm_TYPE_SSIZE_T.
26038
26039 1998-08-12  Jim Meyering  <meyering@ascend.com>
26040
26041         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
26042
26043 1998-08-02  Jim Meyering  <meyering@ascend.com>
26044
26045         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
26046         in acconfig.h manually.
26047
26048 1998-07-31  Paul Eggert  <eggert@twinsun.com>
26049
26050         * m4/st_mtim.m4: New file.
26051
26052 1998-07-28  Jim Meyering  <meyering@ascend.com>
26053
26054         * m4/utimes.m4: Undef stat.
26055
26056 1998-07-25  Jim Meyering  <meyering@ascend.com>
26057
26058         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
26059         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
26060
26061 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
26062
26063         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
26064         uid and gid actually remain unchanged.
26065
26066 1998-07-07  Jim Meyering  <meyering@ascend.com>
26067
26068         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
26069
26070 1998-07-04  Jim Meyering  <meyering@ascend.com>
26071
26072         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
26073         to prove that this macro can be used in packages without regex.c.
26074
26075 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
26076
26077         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
26078         is to be used.
26079
26080 1998-07-03  Jim Meyering  <meyering@ascend.com>
26081
26082         * m4/gettext.m4: Add -lintl if it's found to be necessary.
26083
26084         * m4/gettext.m4: New file -- from gettext-0.10.35.
26085         * m4/lcmessage.m4: Likewise.
26086         * m4/progtest.m4: Likewise.
26087
26088         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
26089         * m4/jm-macros.m4: Require the new macro.
26090
26091 1998-06-29  Jim Meyering  <meyering@ascend.com>
26092
26093         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
26094         for the definition of NGROUPS (used in a system header included
26095         by sys/mount.h).
26096
26097 1998-06-28  Jim Meyering  <meyering@ascend.com>
26098
26099         * m4/ls-mntd-fs.m4: New file.
26100         * m4/fstypename.m4: New file.
26101
26102         * m4/jm-macros.m4: Require the new macro.
26103         * m4/jm-glibc-io.m4: New file.
26104
26105 1998-05-19  Jim Meyering  <meyering@ascend.com>
26106
26107         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
26108         * m4/lchown.m4: New file.
26109
26110         * m4/Makefile.am.in: New file.
26111         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
26112
26113 1998-05-14  Jim Meyering  <meyering@ascend.com>
26114
26115         * m4/Makefile.am (EXTRA_DIST): Add them.
26116         * m4/jm-macros.m4: New file.
26117         * m4/utimbuf.m4: New file.
26118
26119 1998-05-12  Jim Meyering  <meyering@ascend.com>
26120
26121         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
26122
26123 1998-05-11  Jim Meyering  <meyering@ascend.com>
26124
26125         * m4/isc-posix.m4: New file.
26126
26127 1998-05-10  Jim Meyering  <meyering@ascend.com>
26128
26129         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
26130
26131 1998-05-09  Jim Meyering  <meyering@ascend.com>
26132
26133         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
26134         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
26135         with automake.
26136
26137         * m4/ssize_t.m4: New file.
26138         * m4/mktime.m4: Remove file -- the new automake has this now.
26139
26140 1998-04-26  Jim Meyering  <meyering@ascend.com>
26141
26142         * m4/assert.m4: New file.
26143         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
26144
26145 1998-04-05  Jim Meyering  <meyering@ascend.com>
26146
26147         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
26148         (jm_PREREQ): Use it here.
26149
26150 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
26151
26152         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
26153         in acconfig.h.
26154
26155 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
26156
26157         * m4/prereq.m4: New file.
26158         * m4/error.m4: New file.
26159         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
26160
26161 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
26162
26163         * m4/getline.m4: Don't set am_cv_func_working_getline before the
26164         cache-check for the same variable -- that defeated the purpose of
26165         the test; the test program was never run.  This was a problem only
26166         on systems with losing getline functions -- HP-UX 10.20 is one.
26167         Reported by Bjorn Helgaas.
26168
26169 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
26170
26171         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
26172
26173 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
26174
26175         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
26176
26177         * m4/const.m4: New file.  Use an initializer in this declaration
26178         typedef int charset[2]; const charset x;
26179         Reported by Bob Glickstein.
26180
26181 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
26182
26183         * m4/chown.m4: Fix reversed types on -1 args to chown.
26184         From Kaveh Ghazi.
26185
26186 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
26187
26188         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
26189         Add lseek and memchr.
26190
26191         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
26192         T.E.Dickey <dickey@clark.net> said that some older preprocessors
26193         have a 20-character limit on names.
26194
26195 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
26196
26197         * m4/inttypes_h.m4: New file.
26198         * m4/uintmax_t.m4: New file.
26199         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
26200
26201 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
26202   Free Software Foundation, Inc.
26203 Copying and distribution of this file, with or without modification,
26204 are permitted provided the copyright notice and this notice are preserved.